
Лабораторная работа № 4
МОДЕЛИРОВАНИЕ СЛУЧАЙНЫХ ПРОЦЕССОВ
Цели работы: ознакомиться с алгоритмами генерирования случайных процессов на ПЭВМ с заданными корреляционными функциями и оценить различие заданной и расчетной корреляционных функций в зависимости от длины, используемой для расчета реализации.
Краткие сведения из теории моделирования случайных процессов
Алгоритмы моделирования случайных процессов включают этап получения реализаций псевдослучайных величин с заданными законами распределения. Для этого используются стандартные независимые случайные величины с равномерным на отрезке [0;1] распределением (генераторы случайных полей). Распространение получили следующие методы генерирования: квадратов, произведений, мультипликативный конгруэнтный и смешанный конгруэнтный.
Вметодике квадратов текущее случайное поле возводится в квадрат и из результата средних разрядов выделяется следующее случайное число.
Вметодике произведений два следующих друг за другом случайных числа умножают и из средних разрядов произведения формируют следующее случайное число.
Вмультипликативном конгруэнтном методе для получения последовательности случайных чисел с равномерным законом распределения
|
−1 |
, |
x a;b, |
ω(x) = (b − a) |
|
0 в противном случае
используется рекуррентное соотношение xi-1=bxi(mod M), где xi-1 – остаток от деления bxi на число М; b – постоянная; М – число, ограничивающее диапазон случайных чисел.
Алгоритм генерации случайной последовательности по изложенному методу:
•по разрядности сетки ПЭВМ (т.е. К) выбирают число М. Для
К=32 М=232 – 1;
•выбор b: любое целое положительное число меньше М;
•x0 – произвольное число меньше М;
•вычисляются bx0, п меньших разрядов и используются в качестве первого члена последовательности, остальные разряды отбрасываются;
•производится нормализация bx0 путем деления его на М;
•переход к вычислению следующего члена последовательности. Существуют и другие способы получения случайных чисел, равномерно распределенных в интервале [0;1], методы проверки алгоритма генерации приведены в работе [1].
Программы для получения псевдослучайных величин с указанным законом распределения входят в математическое обеспечение современных компьютеров. Основными статистическими пакетами на российском рынке программного обеспечения являются:
- пакет SPSS для различных платформ: Windows, Macintosh, Unix; - пакет STATISTICA;
- пакет STATGRAPHICS;
- пакет STADIA, разработан НПО «Информатика и компьютеры». Пакеты содержат широкий набор методов анализа из всех облас-
тей статистики.
Для получения последовательностей чисел с другими законами распределения вероятностей при наличии последовательности чисел, равномерно распределенных в интервале [a;b], предложено много алгоритмов [2]. Простейший из них основан на разбиении отрезка [0;1]
на последовательные отрезки 1,…, п, длины которых равны соответственно вероятностям реализуемого закона распределения плотности
n
вероятностей р1,…, рп∑pk . Далее разыгрывается значение величины х
k=1
ипринимается х = ξk, если х k. Дискретная последовательность ξk будет иметь заданное распределение рk.
Для установления границ желаемого диапазона ξk [a;b] используется соотношение
ξk = a + (b – a)x.
Следующий этап: сгенерированной последовательностью случайных чисел строится реализация случайного процесса. Последовательность случайных чисел в определенном диапазоне частот имеет постоянную спектральную плотность («белый шум»). Фильтры изменяют спектральную плотность (и, следовательно, корреляционную

функцию процесса). Простейший вариант фильтра – апериодическое звено первого порядка, описываемое уравнением
dy/dt = T -1(y – ξ),
где Т – постоянная времени. Решение уравнения имеет вид
уп+1 = уп (Т(Т/ / t)t−) 1 + (Тξ/T t) ,
а корреляционная функция процесса на выходе фильтра
Ry(τ) = σу2e−|τ| /T.
Существует большое число моделей фильтров, позволяющих получить случайный процесс с заданной корреляционной функцией [3].
Сгенерированный процесс на интервале t (0;∞) характеризуется заданным законом распределения и корреляционной функцией (с погрешностью, определяемой параметрами фильтра). Реализации конечной длительности не полностью отражают изучаемый процесс, что обуславливает появление дополнительной погрешности.
В данном учебном пособии используется упрощенный вариант генерации с корреляционной функцией
R(τ) = Dexp (–ατ),
здесь D – дисперсия процесса; коэффициент α определяет корреляцию (статистическую зависимость) соседних отсчетов (считаем α>0).
Для моделирования гауссовского случайного процесса с экспоненциальной функцией корреляции часто используется следующий алгоритм:
x(n) = k1e(n) + k2x(n – 1);
k1 = D(1−k22 ); k2 = exp(–α),
где e(n) – значения дискретного «белого» гауссовского шума с нулевым математическим ожиданием и единичной дисперсией в точке п. Параметрами модели в данном случае являются дисперсия выходного
моделируемого процесса D и параметр α, который определяет статистическую связь соседних случайных отсчетов. При моделировании нормированный коэффициент корреляции exp(–α) определяет нормированную корреляцию соседних отсчетов случайного процесса и практически задается из интервала от 0,9 до 0,9999. Когда этот коэффициент равен 1, то все значения случайного процесса становятся одинаковыми, а когда этот коэффициент стремится к 0, то получается рассмотренная ранее модель – дискретный «белый» гауссовский шум.
Задание
1. Ознакомьтесь с текстовым материалом раздела «Краткие сведения из теории моделирования случайных процессов».
2.Пройдите тестирование и после допуска к работе выполните предлагаемые задания.
3.Изучите программу генерации случайного процесса.
4.Исследуйте погрешности вычисления функции корреляции в зависимости от длины выборки случайного процесса.
Содержание отчета
1.Задание.
2.Моделирование случайных процессов с различными корреляционными функциями.
3.Графики корреляционных функций (и соответствующих им спектральных плотностей на одном листе вместе с графиком сгенерированного процесса).
4.Выводы.
5.Список литературы, использованной при подготовке к выполнению работы.
Порядок выполнения работы
1.Ознакомиться с текстовым материалом настоящей работы (программа позволяет вывести текст на экран монитора).
2.Пройти тестирование на знание теоретического материала в режиме взаимодействия с ПЭВМ «тест–ответ» (программу взять у преподавателя).

3. С помощью программы сгенерировать нормальный случайный процесс (2000 отсчетов) с корреляционной функцией K(τ) = σ2e-ατ . Для генерации случайного процесса необходимо:
-задать коэффициент корреляции;
-задать необходимое количество отсчетов;
-нажать на кнопку «Построить»;
-для сохранения выборки необходимо нажать на изображение блокнота.
Рис. 4.1. Изображение сгенерированного процесса
4.Построить функцию корреляции сгенерированного случайного процесса, используя 100 отсчетов, 200 отсчетов и т.д. (до 2000 отсчетов).
5.Вычислить относительное уклонение полученных функций корреляции от заданной при генерировании процесса:
σ(n) = ∑K(τi , n) − K(τi ) |
, |
|
n |
|
|
i=1 |
K(τi ) |
|
где τi = i τ; п – число используемых отсчетов реализации.
6.Построить графики σ(n) = f(n) для различных коэффициентов
α: 0,1; 0,2; … ; 0,9.
7.Вычислить спектральные плотности функций, используемых для построения корреляционных функций.
8.Сделать выводы.
Контрольные вопросы
1.Что характеризуют плотность распределения случайного процесса и его корреляционная функция?
2.Какой функцией корреляции характеризуется «белый шум»?
3.При каком коэффициенте корреляции между сечениями случайного процесса можно сделать вывод об их независимости?