Разработка моделей случайных сигналов
В статье рассматривается методика разработки моделей сигналов со случайными флуктуациями параметров для использования в системах схемотехнического моделирования радиоэлектронных устройств. Материал статьи может оказаться полезным разработчикам систем передачи дискретных сообщений.
Настоящая публикация завершает цикл статей [1–7] по моделированию различного рода сигналов и преднамеренных помех с использованием программной среды MathCAD. В ней автор ставит цель: показать методику использования разработанных ранее моделей для получения временных представлений сигналов, наиболее полно соответствующих реальным сигналам с учетом особенностей распространения радиоволн в каналах связи.
Реальные каналы связи весьма многообразны и определяются большим числом факторов, влияющих на проходящие через канал сигналы. В современных работах [9–11], посвященных моделированию радиоканалов, как правило, выделяют каналы с детерминированными параметрами и аддитивными помехами, каналы со случайными параметрами и аддитивными помехами и каналы со случайной структурой.
Модель случайного сигнала в канале с детерминированными параметрами и аддитивными помехами
В канале с детерминированными параметрами и аддитивными помехами наблюдаемый сигнал u (t), поступающий на вход приемного устройства, представляется в виде суммы [9]:
где c (t) — процесс, зависящий от сигнала s (t), подаваемого на вход радиоканала; ξ(t) — случайный процесс, не зависящий от сигнала s (t), который моделирует аддитивную помеху или шум. При этом преобразование сигнала s (t) в процесс c (t) детерминировано, то есть отсутствуют неаддитивные случайные помехи. Рассмотренные в работах [1–5] модели сигналов могут выступать в роли процесса c (t), который, по сути, является детерминированным сигналом для данной модели радиоканала. В качестве случайного процесса ξ(t), не зависящего от сигнала s (t), могут использоваться модели шумов (белый, гауссовский, негауссовский), преднамеренные помехи, подробно рассмотренные в работах [6–7], а также широко распространенная в радиосвязи и радионавигации модель в виде аддитивной смеси узкополосных случайных процессов вида [10]:
где an (t), φn (t) — случайные амплитуда и фаза слагаемых результирующего процесса ξ(t).
Рассмотрим методику построения моделей для случайных сигналов систем передачи дискретных сообщений в программной среде MathCAD. При этом в контексте данной работы под определением «случайный сигнал» будем понимать какую-либо последовательность радиоимпульсов, параметры которых подвержены случайному изменению в зависимости от рассматриваемой модели радиоканала. В процессе моделирования нам понадобятся следующие процедуры и функции программной среды MathCAD, позволяющие вычислять статистические оценки случайных последовательностей [8]:
mean (A) — возвращает среднее значение элементов массива А размерности m×n согласно формуле:
median (A) — возвращает медиану элементов m×n массива А. Если А имеет четное число элементов, медиана определяется как среднее арифметическое двух центральных величин;
var(A) — возвращает дисперсию элементов массива А размерности m×n сoгласно формуле:
cvar (A, В) — возвращает ковариацию элементов массивов А и В размерноcти m×n согласно формуле:
где черта указывает на комплексно-сопряженную величину;
stdev (A) — возвращает среднеквадратичное отклонение (квадратный корень из дисперсии) элементов m×n массива А;
соrr (А, В) — возвращает скаляр: коэффициент корреляции для двух m×n массивов А и В. Генерацию массивов со случайными значениями можно осуществить, используя следующие процедуры [8]:
rbeta (m, s1, s2) — возвращает вектор m случайных чисел, имеющих бета-распределение, где s1, s2>0 есть параметры формы;
rbinom (m, n, p) — возвращает вектор m случайных чисел, имеющих биномиальное распределение, где 0≤p≤1 и n есть натуральное число;
rchisq (m, d) — возвращает вектор m случайных чисел, имеющих распределение хи-квадрат, где d>0 есть число степеней свободы;
rexp (m, r) — возвращает вектор m случайных чисел, имеющих экспоненциальное распределение, где r>0 — параметр распределения;
rF (m, d1, d2) — возвращает вектор m случайных чисел, имеющих F–paспределение, где d1, d2>0 есть числа степеней свободы;
rnorm (m, μ, σ) — возвращает вектор m случайных чисел, имеющих нормальное распределение, σ>0;
rpois (m, λ) — возвращает вектор m случайных чисел, имеющих распределение Пуассона, λ>0;
runif (m, a, b) — возвращает вектор m случайных чисел, имеющих равномерное распределение, в котором b и а являются граничными точками интервала, а < b;
rweibull (m, s) — возвращает вектор m случайных чисел, имеющих распределение Вейбулла, в котором s>0 является параметром формы.
Для визуальной оценки законов распределения случайных величин (построения гистограмм) необходимо будет использовать функцию hist (int, A). Она возвращает вектор частот, с которыми величины, содержащиеся в векторе А, попадают в интервалы вектора int. Элементы в А и int должны быть вещественными. MathCAD интерпретирует int как набор точек, определяющих последовательность интервалов в гистограмме. Результатом этой функции является вектор ƒ, в котором ƒi есть число значений в А, удовлетворяющих условию:
Разработаем алгоритмическую модель случайного сигнала (1) с фазовой телеграфией (ФТ) и аддитивным белым шумом, спектральная плотность мощности которого постоянна на всех частотах (модель ФТ сигнала подробно рассмотрена в работе [3]). Математическая модель стационарного белого шума обычно описывает широкополосную гладкую помеху или тепловые шумы, создаваемые флуктуацией электронов в проводниках. Для генерации стационарного белого шума воспользуемся функцией runif (m, a, b), число значений которой m зададим равным числу отсчетов моделируемого сигнала. Сложение сигнала и шума будем осуществлять в частотной области с учетом весового коэффициента (отношения сигнал/шум), так как исходя из математической модели белого шума постоянной (равномерной) является его спектральная плотность мощности, и, следовательно, сформированный нами вектор случайных значений соответствует амплитудному спектру шума. Приведенный ниже фрагмент программного кода MathCAD формирует случайный ФТ сигнал с аддитивным белым шумом в соответствии с рассмотренным алгоритмом (рис. 1).
Поясним введенные идентификаторы программы. В первой строке задаем число отсчетов модели Nt, диапазон изменения индексной переменной j, а также формируем массивы времени t и частоты ƒ. Во второй строке программного кода задаем несущую частоту сигнала ƒ0 и длительность элементарного импульса ti в последовательности сигнала. Затем переводим длительность элементарного импульса в число отсчетов dL и с использованием этой переменной задаем приращение индексной переменной h, соответствующей моментам начала импульсов в последовательности сигнала, а также формируем приращение индексной переменной rh для постоянства амплитуд импульсов на протяжении интервалов dL. В четвертой строке формируем случайную последовательность у с равномерным распределением в интервале от –1 до 1 для генерации на ее основе фрагмента сигнала. Следует отметить, что в первичной импульсной последовательности а, сформированной на основе массива у, закон распределения амплитуд импульсов не будет равномерным, так как в массиве Y мы «выхватываем» случайные значения в моменты времени j=h и «растягиваем» их на длительность импульса. Но в данной модели радиоканала этот факт не существенен, далее мы вернемся к процедуре формирования случайных параметров сигнала при моделировании каналов со случайными параметрами и аддитивными помехами. В пятой строке приведенного программного кода формируем фазоманипулированный сигнал d в соответствии с алгоритмом, рассмотренным в работе [3]. В шестой строке формируем реализацию белого шума Q1, задаем его уровень am и выполняем обратное альтернативное преобразование Фурье для наблюдения временного представления шумовой помехи. В двух последних строках кода вычисляем комплексный спектр аддитивного сигнала SS и выполняем обратное альтернативное преобразование Фурье для наблюдения временного представления результирующего сигнала ds. На рис. 2 представлены результаты моделирования принимаемого из детерминированного канала ФТ-сигнала с аддитивным белым шумом.
Построим гистограмму распределения случайных значений массива Q1 для визуальной оценки закона распределения спектральной плотности мощности белого шума, воспользовавшись функцией hist (int, А). Для этого введем следующий программный код (листинг 1):
В первой строке кода определяем минимальное и максимальное значение сформированного вектора случайных чисел, затем в переменные MMIN и MMAX помещаем результаты округления переменных MIN и MAX. Задаем число интервалов К и приращение индексной переменной k1, после чего в третьей строке программного кода формируем вектор интервалов с идентификатором int. На рис. 3а представлена гистограмма распределения случайных значений вектора Q1, которая подтверждает то, что мы сформировали последовательность чисел с равномерным законом распределения, — это и есть модель белого шума с постоянной на всех частотах спектральной плотностью мощности. На рис. 3б представлена гистограмма распределения временных отсчетов белого шума, полученная путем вычисления программного кода листинга 1 для переменной Qb (временного представления белого шума), из которой видно, что закон распределения вектора Qb уже не является равномерным.
Для формирования аддитивного гауссовского шума необходимо воспользоваться функцией rnorm (m, μ, σ), возвращающей вектор случайных чисел с нормальным (гауссовским) законом распределения. Для моделирования случайного сигнала в канале с аддитивным негауссовским шумом пользователю необходимо будет воспользоваться одной из функций генерации случайных векторов, описанных выше.
Для разработки модели временного представления узкополосной помехи в виде аддитивной суммы нескольких случайных процессов (2) построим моделирующий алгоритм, формирующий флуктуации амплитуд an(t) и фаз φn(t) в зависимости от введенных параметров — законов распределения амплитуд Van(t) и фаз Vφn(t), диапазонов флуктуаций амплитуд Tan(t) и фаз Tφn(t), длительности фрагментов составляющих с фиксированным значением амплитуд Tan(t) и фаз Tφn(t), весовых коэффициентов слагаемых Mn результирующего процесса ξ(t). Тогда модель (2) с учетом указанных параметров примет вид:
Для формирования результирующего случайного процесса необходимо сгенерировать последовательности случайных амплитуд an(Van(t), Δan(t), Tan(t)) и фаз φn(Vφn(t), Δφn(t), Tφn(t)), а затем в соответствии с выражением (7) получить реализацию случайного процесса ξ(t) и выполнить суммирование с реализацией сигнала s(t). Модифицируем программный код, представленный на рис. 1, следующим образом (листинг 2):
Пусть в формировании узкополосного случайного процесса участвует пять составляющих. Зададим приращение индексной переменной z и сформируем случайные флуктуации амплитуд для каждого процесса am и случайные уровни фазовых флуктуаций as. Далее зададим центральные частоты процессов ƒ01–ƒ05 и сформируем пять независимых реализаций процессов Q1–Q5 с нормальным законом распределения (параметры формы μ=0, σ=1). Для того чтобы каждый раз при запуске вычислений генерировались новые реализации векторов, в выражениях для Q2–Q5 сделаны ссылки на предыдущие процессы Q1–Q4 (в частности элементы этих векторов с индексом 1) в параметре числа элементов векторов. Установив маркер в поле выражения Q1 и запустив вычисления, мы получим сгенерированные заново реализации остальных процессов. Так как число элементов вектора должно быть целым, следует отбросить дробную часть с помощью процедуры floor (QХ1) и «сделать запас» на десять элементов. Это позволит избежать останова вычислений при некоторых реализациях процессов Q2–Q5, которые будут содержать число элементов, меньшее, чем модельный параметр Nt (уменьшение числа отсчетов может давать слагаемое floor (QХ1), взятое с отрицательным знаком). Теперь сформируем реализации узкополосных процессов q1–q5, используя выражение (7), вычислим их сумму и добавим результирующий процесс к сигналу d. Листинг 3 демонстрирует реализацию рассмотренных операций в программной среде MathCAD.
На рис. 4 представлены результаты моделирования принимаемого из детерминированного канала ФТ-сигнала с узкополосной помехой, сформированной в соответствии с моделью (7).
Рассмотрим, каким образом теперь передать результаты моделирования случайного сигнала в систему схемотехнического моделирования DesignLAB (или последнюю версию этого пакета OrCAD). В этих системах предусмотрен источник сигнала из файла, при этом данные в файле необходимо представить в следующем формате [12]:
Для того чтобы сигнал выглядел в файле подобным образом, добавим в нашу модель следующий программный код (листинг 4):
Поясним введенные обозначения. Индексная переменная i участвует в формировании двумерного массива sig по правилу: если i=0, то в [0, j] элемент массива записываем отсчет времени tj, а если не равен нулю (равен 1) — то в элемент с индексами [1, j] записываем отсчет сигнала dj. Затем формируем файл с именем sig.dat, он будет размещаться в том же каталоге, что и наш файл с моделью. Следует также сказать о том, что для правильной записи результатов моделирования в файл необходимо в программе MathCAD установить следующие значения системных параметров PRN File Settings: Precision (точность отображения) = 10, Column Width (ширина столбца) = 20. Покажем теперь, как выполнить ввод и моделирование испытательной схемы для проверки модели сигнала в системе схемотехнического моделирования. Введем схему, показанную на рис. 2 (см. «КиТ» № 7ґ2007, с. 158).
В качестве источника сигнала воспользуемся компонентом VPWL_FILE [12] (источник напряжения, заданный в файле) и установим значение его атрибута File=sig.dat. Сохраним собранную схему, поместив в папку со схемой файл sig.dat, зададим параметры директивы временного анализа и выполним моделирование. В окне программы Probe системы DesignLAB мы увидим точно такой же аддитивный сигнал, который первоначально был создан нами с помощью программы MathCAD (рис. 5).
Убедиться в соответствии спектральных характеристик исходного случайного сигнала, созданного в программной среде MathCAD, и сигнала из внешнего источника в системе схемотехнического моделирования DesignLAB можно, выполнив быстрое преобразование Фурье (кнопка FFT) (рис. 6).
Модель сигнала в канале со случайными параметрами и аддитивными помехами
К данной группе моделей относятся случайные сигналы в каналах с неопределенной фазой и гауссовской аддитивной помехой, с неопределенной фазой и аддитивным коррелированным гауссовским шумом, с неопределенной фазой и амплитудой, с неопределенной фазой и случайной средней частотой [9]. Например, математическая модель канала с неопределенными амплитудой, фазой и гауссовской аддитивной помехой с равномерным спектром может быть представлена следующим выражением [9]:
где N — число символов, переданных в сеансе связи; μ — известный при приеме коэффициент передачи канала; τ — известное при приеме время запаздывания сигнала; sk и φk — случайные амплитуда и начальная фаза k-го элемента, независимые от амплитуд и начальных фаз других символов. При этом комплексный сигнал представляется в аналитическом виде, когда с действительной частью s(t) сопряжена мнимая часть s(t), полученная посредством преобразования Гильберта [9]. Анализируя выражение (8), можно сказать, что известные параметры μ и τ мы можем учесть соответствующим образом в программном коде модели, представленной на рис. 1. В отличие от предыдущей модели, случайность теперь должна быть заложена в параметры сигнала, а именно в фазу и амплитуду.
Для формирования амплитудных флуктуаций сигнала, очевидно, следует получить вектор случайных значений с соответствующим законом распределения, а затем установить амплитуды импульсов фрагмента сигнала равными сформированному вектору. Это общий подход, который мы будем применять и для формирования флуктуаций других параметров сигнала (частоты, фазы, положения импульсов на временной оси), однако при более детальном рассмотрении такого алгоритма становятся очевидны некоторые различия в способах модификации соответствующих параметров сигналов. Так, в частности, при формировании вектора случайных значений для флуктуации амплитуд количество элементов вектора должно соответствовать числу импульсов в моделируемом фрагменте сигнала. При этом следует обеспечить возможность вариации этого параметра модели при изменении длительности элементарного импульса. Приводимый ниже программный код (листинг 5) обеспечит нам флуктуации амплитуд ФТ-сигнала с заданным законом распределения (например, равномерным) в соответствии с вышерассмотренным требованием:
Поясним идентификаторы модели. Во второй строке программного кода задаем несущую частоту ФТ-сигнала ƒ0, длительность элементарного импульса ti и рассчитываем количество импульсов в моделируемом фрагменте сигнала kol (для заданных параметров в модели формируется 100 импульсов). В третьей строке пересчитываем длительность одиночного импульса в количество отсчетов dL, задаем приращение индексной переменной rh на длительность импульса и переменной k на количество моделируемых импульсов. Затем в переменной sa формируем вектор случайных амплитуд импульсов с равномерным законом распределения, вводим уровень флуктуаций kp и в переменной Sa пересчитываем случайные амплитуды импульсов так, чтобы на протяжении длительности импульса его амплитуда была постоянной. В пятой строке вводим вспомогательный вектор а, на его фоне мы увидим случайные приращения амплитуд импульсов вектора а1. В последней строке программного кода модели формируем фазоманипулированный сигнал со случайными флуктуациями амплитуды, подчиненными равномерному закону распределения. Единственное, что осталось сделать — сформировать шумовую помеху с равномерной плотностью спектральной мощности Q1, вычислить ее временное представление Qb и добавить его к сигналу d (листинг 6):
На рис. 7 показаны результаты моделирования первичных (а и а1 — со случайной амплитудой импульсов) и фазоманипулированных сигналов (d и d1 — с аддитивным белым шумом).
Аналогично можно получить временные последовательности с другими случайными параметрами. Так, например, для формирования фазоманипулированного сигнала со случайной амплитудой и фазой следует добавить в модель следующий программный код (листинг 7).
Предварительно задав уровень фазовых флуктуаций ƒp, к каждому отсчету сигнала мы добавляем постоянный на протяжении одного импульса фазовый сдвиг, который берем из сформированного ранее массива Sa.
Для формирования фазоманипулированного сигнала со случайной амплитудой и частотным сдвигом следует добавить в модель программный код (листинг 8), предварительно задав уровень частотных флуктуаций ƒƒ.
На рис. 8 представлены результаты моделирования фазоманипулированных сигналов со случайной амплитудой (временное представление d, спектральное представление b), со случайной амплитудой и фазовым сдвигом внутри импульса (d1 и b1 соответственно), со случайной амплитудой и частотным сдвигом внутри импульса (d2 и b2 соответственно). Для того чтобы убедиться в наличии сформированных флуктуаций параметров ФТ-сигналов, пока не будем добавлять к временным представлениям аддитивную составляющую шума.
Анализируя приводимые графики временного представления сигналов со случайной амплитудой и фазой, можно отчетливо увидеть фазовые внутриимпульсные флуктуации и их влияние на амплитудный спектр сигнала. Частотные флуктуации на временном представлении сигнала не столь заметны, однако анализ спектрального представления фазоманипулированного сигнала с внутриимпульсным сдвигом частоты позволяет сделать вывод о «расползании» основного и боковых лепестков спектра сигнала.
Модель сигнала в канале со случайной структурой
Среди моделей каналов со случайной структурой различают каналы со случайной фазой, с нестабильностью и доплеровским сдвигом частоты, с дискретной многолучевостью и с селективными замираниями [9]. Модели этих каналов достаточно сложны, и при построении решающих схем (РС), как правило, пользуются «Марковским подходом», когда РС распадается на схему оценки параметров предшествующего элемента сигнала (или сеанса связи) и схему принятия решения. При этом соответствующей моделью случайного сигнала в этом случае является сигнал со случайными параметрами и неизвестным временем прихода. Поэтому, используя полученные ранее модели сигналов со случайными параметрами, необходимо разработать алгоритм, вносящий случайность во время прихода (начала) импульсов и их длительность. Так, например, дискретные сигналы с нестабильностью и доплеровским сдвигом частоты, описываемые моделью:
можно будет получить, комбинируя флуктуации несущей частоты внутри импульса и флуктуации времени начала импульса. В выражении (9) введены следующие обозначения:
где ωд(t) — случайное изменение частоты, обусловленное эффектом Доплера; ωн(t) — случайное изменение частоты за счет нестабильностей генераторов в передатчике и приемнике; ξ(t) — белый шум; Т — длительность элемента сигнала, являющаяся в данном канале случайной величиной, что, однако, не показано в модели (9). Используя алгоритмический способ моделирования случайного сигнала, мы сформируем последовательность импульсов, длительности которых будут распределены в соответствии с заданным статистическим законом. Алгоритм сжатия-растяжения временного представления сигнала подробно рассмотрен в статье [7] при разработке модели алгоритмической помехи. Суть его заключается в следующем: для растяжения сигнала d(t) во времени текущий j-отсчет следует заменить (j—b)-отсчетом, который предшествовал заданному на некоторый интервал b (в нашем случае он должен быть случайным на протяжении длительности одного импульса). Математическая операция такой процедуры запишется следующим образом:
Для получения сжатой копии сигнала текущий j-отсчет следует заменить (j+b)-отсчетом, который следует за данным через некоторый интервал b:
Теперь, если сопоставить случайные положительные значения вектора Sa растяжению сигнала, что, в свою очередь, приведет и к задержке импульсов по сравнению с исходным сигналом, а отрицательные значения — сжатию (уменьшению задержки), получим программный код (листинг 9).
Некоторые идентификаторы листинга 9 требуют пояснений. Массивы а и d представляют собой первичный и фазоманипулированный сигналы, сформированные на основе случайных значений массива Sa. Идентификатор b1—индексный массив, полученный также на основе Sa, значения которого и будут определять направление и величину сдвига. На его основе мы формируем случайный первичный сигнал as, у которого длительность импульсов и время их задержки связаны с массивом b1, а, следовательно, и с законом распределения случайных значений массива Sa. В идентификаторе dsмы формируем ФТ-сигнал со случайной задержкой и флуктуациями длительностей импульсов в соответствии с выражениями (10,11). На представленном рис. 9 отчетливо видны изменения длительностей импульсов и относительных временных сдвигов в результирующем сигнале ds по сравнению с исходным фазоманипулированным сигналом d.
Применяя рассмотренные в статье алгоритмы формирования случайных сигналов, читатель сможет самостоятельно создавать (или модифицировать приводимые) модели случайных сигналов и использовать их при моделировании систем передачи дискретных сообщений.
Модели случайных сигналов, рассмотренные в статье, можно посмотреть на сайте журнала http://www.power-e.ru/files/models_part_8.rar Для их открытия и моделирования необходимо наличие установленной на ПК системы MathCAD 11.
Литература
- Антипенский Р. Разработка моделей первичных сигналов в программной среде MathCAD // Компоненты и технологии. 2007. № 3.
- Антипенский Р. Разработка моделей сигналов с аналоговой модуляцией // Компоненты и технологии. 2007. № 5.
- Антипенский Р. Разработка моделей сигналов с дискретной модуляцией // Компоненты и технологии. 2007. № 6.
- Антипенский Р. Разработка моделей сложных сигналов // Компоненты и технологии. 2007. № 7.
- Антипенский Р. Разработка моделей импульсно-модулированных сигналов // Компоненты и технологии. 2007. № 8.
- Антипенский Р. Разработка моделей преднамеренных помех системам аналоговой связи // Компоненты и технологии. 2007. № 9.
- Антипенский Р. Разработка моделей преднамеренных помех сигналам с дискретной модуляцией // Компоненты и технологии. 2007. № 10.
- Saffe R. C. Random Signals for Engineers using MATLAB and Mathcad. Springer — Verlag, 2000.
- Коржик В. И., Финк Л. М., Щелкунов К. Н. Расчет помехоустойчивости систем передачи дискретных сообщений. М.: Радио и связь, 1981.
- Антипенский Р. В., Марек Я. Л., Шляхин В. М. Статистические свойства аддитивной смеси узкополосных помех // Телекоммуникации. 2002. № 11.
- Борисов В. И., Зинчук В. М. Помехозащищенность систем радиосвязи с расширением спектра сигналов методом псевдослучайной перестройки рабочей частоты. М.: Радио и связь, 2000.
- Разевиг В. Д. Система сквозного проектирования электронных устройств DesignLab 8.0. М.: Солон, 1999.