3. Скользящее суммирование
Преобразование
отсчетов
дискретного белого шума в отсчеты
окрашенного шума описывается дискретной
сверткой – аналогом свертки (1)
,
,
(9)
-
число отсчетов весовой функции. Исходная
окрашиваемая последовательность
генерируется функцией RANDN(1,M),
,
N
– число генерируемых чисел
.
Число
формируется
перемножениями отсчетов весовой функции
с отсчетами
и суммированием произведений. В
формировании следующего
принимают участие отсчеты
,
начиная с
,
и добавляется следующее
.
Отсчеты
как бы скользят влево по отношению к
“неподвижной” весовой функции
.
Этим объясняется название дискретной
свертки (9) – скользящее суммирование.
Генератор полубесконечной последовательности реализует алгоритм (9):
1)
вычисляются значения
весовой функции (6) с шагом
;
число
назнача-ется таким, чтобы отбрасываемый
“хвост” весовой функции состоял из
чисел, близких к нулю; для получения
дисперсии
значения
нормируются:
,
;
(10)
2)
формируется окрашиваемая последовательность
размером
чисел;
3)
циклически формируются числа
.
Для
проверки генератора необходимо сравнить
корреляционные свойства полученной
последовательности
с заданными. Для этого на одном рисунке
надо изобразить
отсчетов заданной функции корреляции
(с шагом
)
и
оценок корреляционных моментов
последовательности
.
4. Рекуррентный алгоритм
Генераторы с весовыми функциями (6) – линейные системы порядка не выше второго (весовая функция в примере 1 описывает систему бесконечного порядка). Они кроме свертки (9) могут задаваться разностным уравнением второго порядка
,
, (11)
,
- отсчеты входного и выходного сигнала.
В формировании каждого значения
участвуют три значения входного сигнала
и два уже сформированных значения
выходного сигнала. Такие алгоритмы
называются рекуррентными, соответствующие
системы – рекурсивными фильтрами.
Фильтр, реализующий скользящее
суммирование, называется нерекурсивным.
Рекурсивные системы работают на порядок
быстрее: в процедуре (11) не более пяти
умножений (некоторые коэффициенты
могут быть равны нулю), в дискретной
свертке
умножений,
- десятки.
Коэффициенты
разностного уравнения
-
го порядка связаны со значениями
весовой функции системой линейных
уравнений [1]
,
, (12)
коэффициенты вычисляются последовательно:
,
,
.
(13)
При
уравнения системы (12) записываются
,
,
,
и т.д.
Для
расчета
и
можно взять любую пару уравнений. Это
означает, что для описания линейной
системы
-
го порядка весовой функцией достаточно
задать ее первые
значения – следующие значения весовой
функции вычисляются через предыдущие.
Рекурсивный
генератор работает по алгоритму (11):
последовательно формируются значения
,
,
и т.д. (нумерация отсчетов в теории
разностных уравнений начинается с нуля,
в MATLAB
– программах – с единицы).
Пример
2. Весовая функция
системы второго порядка рассчитана на
интервале
с шагом
.
После нормировки (10) ее значения равны
(табл. 1)
Табл. 1
|
0.0 |
0.1 |
0.2 |
0.3 |
0.4 |
0.5 |
0.6 |
0.7 |
|
0.4261 |
0.4000 |
0.3693 |
0.3366 |
0.3036 |
0.2715 |
0.2411 |
0.2128 |
Любая
пара уравнений (12) дает одно и то же
решение:
,
.
Коэффициенты (13) равны
,
,
.
Весовая
функция соответствует функции корреляции
,
показанной на рис. 4-1. Оценки корреляционных
свойств, полученных скользящим
суммированием и рекуррентным алгоритмом
(рис. 4-2, 4-3), визуально неразличимы.
Рис. 4. Функции корреляции
