Моделирование случайных сигналов
К сожалению, анализ системы далеко не всегда можно выполнить теоретически. Это особенно актуально для нелинейных систем. В этом случае единственным методом остается имитационное моделирование. Поэтому важно уметь моделировать случайные процессы, действующие на систему: возмущения (например, влияние ветра и волн на судно) и помехи измерения (погрешности измерительной системы).
Обычно задана спектральная плотность и требуется получить процесс, имеющий такую спектральную плотность.
Вспомним, что спектральная плотность неотрицательна для любой частоты. Тогда функция , полученная при подстановке
в
, неотрицательна на мнимой оси, то есть при
для всех
. Можно доказать, что в этом случае ее можно представить в виде произведения
, то есть в форме (6). При этом всегда можно выбрать передаточную функцию
так, чтобы она была устойчивой (не имела полюсов в правой полуплоскости) и минимально-фазовой (не имела нулей в правой полуплоскости). Такой переход от
к
называется факторизацией (англ. разложение на множители).
Как следует из (6), если на вход звена с передаточной функцией подать единичный белый шум, процесс на выходе будет иметь заданную спектральную плотность
. Функция
называется передаточной функцией формирующего фильтра.
Проще всего моделировать процессы с рациональной спектральной плотностью. Например, одна из моделей морского волнения описывается спектром
,
где – дисперсия волновой ординаты,
– коэффициент затухания и
– частота максимума спектра. Заменяя
на
, получаем
.
Очевидно, что формирующий фильтр будет иметь передаточную функцию вида
,
так что
.
Приравнивая коэффициенты числителя и знаменателя и
, сразу находим:
,
,
.
В более сложных случаях факторизация выполняется с помощью численных методов. Нужно разложить на простейшие сомножители числитель и знаменатель и включить в
только те множители, корни которых находятся в левой полуплоскости.
Итак, формирующий фильтр мы построили. Теперь остается один очень практический вопрос: как получить белый шум, который, как известно, является сигналом с бесконечной энергией? Вспомним, что белый шум – это только вспомогательный сигнал, который, проходя через систему с передаточной функцией , генерирует сигнал с заданной спектральной плотностью. Оказывается, можно заменить его на другой сигнал (который просто получить на компьютере), и при этом спектральная плотность выхода оказывается достаточно близка к заданной.
Известно, что на компьютере легко получить случайную последовательность чисел с равномерным или нормальным распределением. По этим числам можно построить ступенчатый сигнал, фиксируя каждое значение в течение некоторого времени :
![]() | ![]() |
Теоретически эти числа некоррелированы; при этом можно показать, что корреляционная функция ступенчатого сигнала – треугольная (см. рисунок справа). При
она равна дисперсии
последовательности случайных чисел, а при
обращается в нуль (потому что моменты времени
и
находятся на разных интервалах и, следовательно, соответствующие значения некоррелированы). Число
называют интервалом корреляции – так называется интервал, после которого можно считать корреляционную функцию (примерно) равной нулю.
Взяв преобразование Фурье от корреляционной функции
получаем спектральную плотность
.
Вычисляя предел этой функции при , находим
, так что при выборе
это значение равно 1 (как у белого шума). Заметим, что
, когда
, то есть
при любом целом
. Форма спектральной плотности показана на рисунке ниже (здесь и далее принимается
):
![]() |
Конечно, это далеко не белый шум, у которого спектральная плотность должна быть постоянной на всех частотах. Тем не менее, при уменьшении интервала корреляции «колокол» расширяется, и для низких частот можно считать, что
. В пределе при
спектр стремится к равномерному спектру единичного белого шума. Далее будет показано, что при грамотном выборе
такой сигнал можно использовать в качестве источника вместо белого шума.
Для примера предположим, что нужно получить сигнал со спектральной плотностью , то есть формирующий фильтр имеет передаточную функцию
. В качестве входного сигнала для этого звена будем использовать описанный выше ступенчатый сигнал при
с. На рисунке приведены графики спектральной плотности ступенчатого сигнала (синяя линия), желаемой спектральной плотности (сплошная зеленая линия) и фактической спектральной плотности выхода (штриховая линия).
|
![Моделирование случайных сигналов Моделирование случайных сигналов - student2.ru](/images/matematika/modelirovanie-sluchaynykh-signalov-456804-59.gif)
По графику видно, что в существенной полосе частот (где частотная характеристика звена ненулевая) спектр входного сигнала существенно неравномерный, поэтому желаемый и фактический спектры на выходе системы немного различаются в области высоких частот. Приняв , имеем совершенно другую картину:
|
![Моделирование случайных сигналов Моделирование случайных сигналов - student2.ru](/images/matematika/modelirovanie-sluchaynykh-signalov-456804-61.gif)
Спектр входного сигнала в интересующей нас области практически равномерный, в спектр реального выхода практически точно совпадает с заданным.
Очевидно, что при выборе нужно учитывать частотные свойства формирующего фильтра, точнее, полосу частот, где его частотная характеристика достаточно отличается от нуля. Для этого используют понятие полосы пропускания системы
– так называется частота, для которой амплитудная частотная характеристика уменьшается на 3 дБ (децибела) в сравнении с максимальным значением (составляет примерно 0,708 от максимума). Разработчики Matlab рекомендуют при моделировании использовать значение
.
В нашем случае амплитудно-частотная характеристика (апериодического звена) имеет вид , ее максимум равен 1 (при
), поэтому полоса пропускания определяется равенством
. Отсюда следует
, так что
.