Построение генератора случайного процесса методом формирующего фильтра

Цель работы –построение и проверка статистических характеристик генератора случайных чисел с заданной корреляционной функцией.

 

Постановка задачи

При статистическом имитационном моделировании на основе математических, полунатурных и других моделей возникает задача имитации внешних воздействий на систему, имеющих форму случайных процессов с определенными характеристиками. Эта задача решается путем построения генераторов случайных процессов.

Рассмотрим задачу имитации одномерного случайного процесса X(t). Получаемые реализации должны подчиняться закону распределения с заданной ПРВ – и иметь заданную корреляционную функцию . Генератор случайного процесса с заданными характеристиками обычно строится на основе генератора белого шума.

Метод формирующего фильтра основан на использовании закономерностей преобразования линейным динамическим звеном спектральной плотности случайного сигнала. Если на вход динамического звена поступает белый шум со спектральной плотностью , спектральная плотность выходного сигнала будет определяться через частотную передаточную функцию звена следующим образом:

(5.1)

 

Формирующим фильтром называется динамическое звено, обеспечивающее требуемые корреляционные свойства выходного сигнала.

Модель случайного процесса с заданной корреляционной функцией можно построить на основе формирующего фильтра, используя в качестве его входного сигнала белый шум. Необходимая передаточная функция формирующего фильтра определяется из соотношения:

(5.2)

 

где .

Порядок выполнения

 

1. Построить программный генератор случайных чисел с заданной корреляционной функцией. Использовать метод формирующего фильтра. Значения дисперсии D, параметра a и шага дискретизации h заданы в табл.5.

2. Рассчитать и построить графики заданной и полученной корреляционных функций для интервала .

3. Рассмотреть различные способы повышения точности построения процесса с заданной корреляционной функцией.

 

 

Содержание отчета

1. Графическое и аналитическое отображение заданной корреляционной функции.

2. Расчет параметров формирующего фильтра.

3. Случайный процесс, полученный в результате работы генератора.

4. Корреляционная функция, соответствующая полученному случайному процессу.

5. Текст программы на языке SciLab.

 

Условия моделирования

 

Табл.5.

№ варианта D h № варианта D h
0.001 0.001
0.1 0.05 0.001
0.5 0.002 0.1 0.2 0.01
0.1 0.001 0.001
0.01 0.1 0.01
0.001 0.001
0.2 0.01 0.002
0.001 0.001
0.01 0.01
0.5 0.02 0.001
0.0011 0.001
0.2 0.01 0.1 0.01
0.001 0.01
0.1 0.01 0.001
0.2 0.001 0.002
0.001 0.5 0.01
0.001 2.5 0.001
0.005 0.001
0.001 0.2 0.01
0.01 0.4 1.5 0.001
0.1 0.02 0.3 0.01
0.5 0.001 0.002
0.001 0.001
0.5 0.01 0.75 0.01

Приложение 1 – программа моделирования по лаб.1

clear all, close all;

 

global k l m n Kt i1 i2 S V ht x

global delta_max delta_max_st

% определение констант

k=1;

l=10;

m=2;

n=8;

Kt=100;

i1=10;

i2=1;

S=100;

V=800;

delta_max=0.5;

delta_max_st=2.6;

 

% определение начальных условий

x10=1;

x20=1;

x30=0;

x40=0;

x50=0;

X0=[x10,x20,x30,x40,x50];

 

ht=0.001; % шаг вычислений

Tk=10; % конечное время моделирования

time=0:ht:Tk;

 

[t,x]=ode45('system_diff_24',time,X0);

 

subplot(5,1,1),plot(t,x(:,1)),grid on;

subplot(5,1,2),plot(t,x(:,2)),grid on;

subplot(5,1,3),plot(t,x(:,3)),grid on;

subplot(5,1,4),plot(t,x(:,4)),grid on;

subplot(5,1,5),plot(t,x(:,5)),grid on;

----------------------------------------------------------------

function dx=sysmem_diff_24(t,x)

 

global k l m n Kt i1 i2 S V

global delta_max

 

teta=(10000-x(5))/(22000-V*t);

 

if abs(x(4))<= delta_max

x4_zv=x(4);

else

x4_zv=delta_max*sign(x(4));

end

 

 

% система дифференциальных уравнений

dx(1)=k*x(2)-k*x(1);

dx(2)=x(3);

dx(3)=l*x(1)-l*x(2)-m*x(3)+n*x(4);

dx(4)=-Kt*x4_zv-i1*x(2)-i2*x(3)+S*(teta-x(2));

dx(5)=V*sin(x(1));

 

dx=dx';