Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Начала прогаммирования в среде MatLab / Начала программирования в среде MatLab.pdf
Скачиваний:
254
Добавлен:
02.05.2014
Размер:
5.66 Mб
Скачать

5.2. Общие средства фильтрации

205

 

 

 

 

 

 

 

 

Рис. 5.22

5.2.2.Формирование случайных процессов

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

Рис. 5.23

Белый гауссовый шум в MatLAB образуется при помощи процедуры randn. Для этого достаточно задать дискрет времени Ts, образовать с этим шагом массив

5.2. Общие средства фильтрации

206

 

 

 

(вектор) t моментов времени в нужном диапазоне, а затем сформировать по указанной процедуре вектор-столбец длиною, равной длине вектора t, например

Ts=0.01; t=0 : Ts : 20; x1=randn(1,length(t));

Построим график полученного процесса:

plot(t,x1),grid, set(gca,'FontName','Arial Cyr','FontSize',16) title('Входной процесс - белый шум Гаусса (Ts=0.01)'); xlabel('Время (с)'); ylabel('X1(t)')

Процесс x1(t) с дискретом времени Ts=0.01c представлен на рис. 5.23.

Для другого значения дискрета времени (Ts=0.001c), повторяя аналогичные операции, получим процесс x2(t), изображенный на рис. 5.24.

Рис. 5.24

Создадим дискретный фильтр второго порядка с частотой собственных ко-

лебаний ωo = 2π рад./с =

1

Гц и относительным коэффициентом затухания

ζ = 0.05 по формулам (5.5) коэффициентов:

om0=2*pi; dz=0.05;

A=1; oms=om0*Ts;

a(1)= 1+2*dz*oms+oms^2;

a(2)= - 2*(1+dz*oms); a(3)=1;

b(1)=A*2*dz*oms^2;

 

 

"пропустим" образованный процесс x1(t) через созданный фильтр:

y1=filter(b,a,x1);

и построим график процесса y1(t) на выходе фильтра:

plot(t,y1),grid, set(gca,'FontName','Arial Cyr','FontSize',16) title('Процесс на выходе фильтра (T0=1; dz=0.05, Ts= 0.01)'); xlabel('Время (с)'); ylabel('Y1(t)')

Результат представлен на рис. 5.25.

Аналогичные операции произведем с процессом x2(t). В результате получим процесс y2(t), приведенный на рис. 5.26.

Ts=0.001;

om0=2*pi; dz=0.05;

A=1;

oms=om0*Ts;

 

a(1)= 1+2*dz*oms+oms^2;

a(2)= - 2*(1+dz*oms);

a(3)=1;

b(1)=A*2*dz*oms^2;

 

 

 

5.2. Общие средства фильтрации

207

 

 

 

y1=filter(b,a,x2); t=0 : Ts : 20;

plot(t,y1),grid, set(gca,'FontName','Arial','FontSize',14) title('Процес на виході фільтра (T0=1; dz=0.05, Ts= 0.001)'); xlabel('Час (с)'); ylabel('Y2(t)')

Рис. 5.25.

Рис. 5.26.

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