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

Сформировать случайный процесс с заданной корреляционной функцией можно, если:

- сначала сформировать случайный процесс, являющийся нормально распределенным белым шумом,

- а затем “пропустить его через некоторое динамическое звено (формирующий фильтр)”.

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

Белый гауссовый шум в MatLab образуется при помощи процедуры randn.

Для этого достаточно задать дискрет времени Ts,образовать с этим шагом массив (вектор) tмоментов времени в нужном диапазоне, а затем сформировать по указанной процедуре вектор-столбец длиной, равной длине вектора t.

 

Например

 

>> Ts=0.01;

>> t=0:Ts:20;

>> x1=randn(1,length(t));

>> plot(t,x1),grid;

>> title('Gaus(T=0.01c)');

>> xlabel('t, c');

>> ylabel('X1(t)')

Соответствующий процесс имеет вид:

Для другого дискрета Ts=0.001с имеем

>> Ts=0.001;

>> t=0:Ts:20;

>> x2=randn(1,length(t));

>> plot(t,x2),grid;

>> title('Gaus Ts=0.001 c');

>> xlabel('t, c');

>> ylabel('X2(t)')

Создадим дискретный формирующий фильтр второго порядка с частотой собственных колебаний ω0 = 2π рад\с =1 Гц и относительным коэффициентом колебаний затухания ξ=0.05 по выражениям (2) коэффициентов:

 

>> 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 через созданный формирующий фильтр:

>> y1=filter(b,a,x1);

Построим соответствующий график:

Аналогичные операции произведем с процессом x2(t)

>> x2=randn(1,length(t));

>> 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;

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

>> plot(t,y2),grid;

>> title('procedure (T0=1;dz=0.05;Ts=0.001)');

>> xlabel('t, c');

>> ylabel('Y1(t)')

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

Спектральный и статистический анализ

Основные понятия

Основная задача спектрального анализа сигналов – выявление гармонического спектра этих сигналов, т.е. определение частот гармонических составляющих сигнала (выявление частотного спектра), амплитуд этих гармонических составляющих (амплитудного спектра) и их начальных фаз (фазового спектра).

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

Процедуры fft иifftосуществляют преобразования заданного вектора, соответствующие дискретномупрямому (fft – Fast Fourier Transformation)и обратному (ifft – Invers Fast Fourier Transformation)преобразованиям Фурье.

Обращение к этим функциям

y=fft(x,n); x=ifft(y,n)

приводит к формированию вектора yв первом случае, и вектора x - во втором, по формулам:

(4)

где n – число элементов заданного вектора x; j –мнимая единица.