Моделирование случайных процессов с заданными свойствами

Методика моделирования случайного процесса по заданной корреляционной функции и математическому ожиданию с использованием MatLab. Вычисление передаточной функций формирующего фильтра. Реализация случайного процесса. Значения корреляционной функции.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 23.12.2012
Размер файла 1012,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Федеральное агентство по образованию

ГОУВПО Норильский индустриальный институт

Кафедра электропривода и автоматизации технологических процессов и производств

Расчетно-графическая работа

по Моделированию систем

Тема: Моделирование случайных процессов с заданными свойствами

Вариант 01

Выполнил: ст. гр. АПм-06

Арламов А.С.

Проверил: Писарев А.И

Норильск 2009

Цель работы

Освоить методику моделирования случайного процесса по заданной корреляционной функции и математическому ожиданию с использованием MatLab.

Исходные данные.

N

D

1

4

0,4

1,5

Выполнение работы.

1. По исходным данным вычислить передаточную функцию формирующего фильтра.

2. Выполнить моделирование в программе MatLab. При этом входной сигнал - белый шум со спектральной плотностью .

Схема моделирования

3. Записать в таблицы реализации случайного процесса Y(t),

График процесса Y(t).

График процесса .

4. Выполнить проверку моделирования. Для этого нужно рассчитать значения корреляционной функции по табличным данным Y(t) в пяти точках двумя способами.

Проверка включает в себя два метода: метод усреднения по времени и метод усреднения по реализациям.

Воспользуемся первым методом - усреднение по времени. Для этого используем следующую формулу:

случайный процесс корреляционный функция

? - шаг, выбираемый из соображений точности построения

В нашем случае:

n =200 - общее количество точек;

?=0,20,40,60,80,100,120,140,160,180,200 - шаг, равный 20 точкам.

Для усреднения по времени используем значение точек центрированного случайного процесса.

Корреляционная функция в нуле должна равняться дисперсии.

Усреднение по числу реализаций.

Листинг программы

%Построение случайного процесса по заданным точкам

figure('name','Случайный нецентрированный процесс')

subplot(2,1,1);

load data.mat %открытие файла данных и их загрузка в Workspace

A=data; %присвоение значений матрице А

t=A(1,:)'; %задание времени из 1 строки

Y=A(2,:)'; %задание функции из 2 строки

plot(t,Y,'color','red'); %построение графика Y(t)

set(gcf,'color','w'); %установка белого фона

xlabel('t'); %подпись к оси ОХ

ylabel('Y(t)'); %подпись к оси ОY

title('Случайный нецентрированный процесс');

grid on %отображение сетки

subplot(2,1,2);

plot(t,Y-1.5,'color','blue');

title('Случайный центрированный процесс Y(t)-m');

xlabel('t'); %подпись к оси ОХ

ylabel('Y(t)'); %подпись к оси ОY

grid on

%----------------------------------------------------------------

%Построение корреляционной функции (по формуле)

figure('name','Корреляционная функция по формуле');

tau=0:0.1:20;

K=4*exp(-0.4*tau);

plot(tau,K,'color','blue');

xlabel('tau'); %подпись к оси ОХ

ylabel('Ky(tau)');

title('Корреляционная функция')

set(gcf,'color','w');

grid on

%----------------------------------------------------------------

%Построение корреляционной функции методом усреднения по времени

m=1.5; %математическое ожидание

y=A(2,:)'-1.5;

k0=0; k1=0; k2=0; k3=0; k4=0; k5=0; k6=0; k7=0; k8=0; k9=0; k10=0;

%Вычислим корреляцинную функцию в 0с

n=200; %общее количество точек

for i=1:n

k0=k0+(y(i,1)^2)/n;

end

%Вычислим корреляционную функцию в 2с

for i=1:n-20

k1=k1+y(i,1)*y(i+20,1)/(n-20);

end

%Вычислим корреляционную функцию в 4с

for i=1:n-40

k2=k2+y(i,1)*y(i+40,1)/(n-40);

end

%Вычислим корреляционную функцию в 6с

for i=1:n-60

k3=k3+y(i,1)*y(i+60,1)/(n-60);

end

%Вычислим корреляционную функцию в 8с

for i=1:n-80

k4=k4+y(i,1)*y(i+80,1)/(n-80);

end

%Вычислим корреляционную функцию в 10с

for i=1:n-100

k5=k5+y(i,1)*y(i+100,1)/(n-100);

end

%Вычислим корреляционную функцию в 12с

for i=1:n-120

k6=k6+y(i,1)*y(i+120,1)/(n-120);

end

%Вычислим корреляционную функцию в 14с

for i=1:n-140

k7=k7+y(i,1)*y(i+140,1)/(n-140);

end

%Вычислим корреляционную функцию в 16с

for i=1:n-160

k8=k8+y(i,1)*y(i+160,1)/(n-160);

end

%Вычислим корреляционную функцию в 18с

for i=1:n-180

k9=k9+y(i,1)*y(i+180,1)/(n-180);

end

%Вычислим корреляционную функцию в 20с

for i=1:n-200

k10=k10+y(i,1)*y(i+200,1)/(n-200);

end

%----------------------------------------------------------------

%Создаем матрицу, содержащую полученные значения

Kf=[k0 k1 k2 k3 k4 k5 k6 k7 k8 k9 k10]'

figure('name','Корреляционная функция методом усреднения по времени');

T=0:2:20; %устанавливаем временной промежуток и шаг

plot(T,Kf,'color','magenta','marker','o','markeredgecolor','k',...

'MarkerFaceColor','red','MarkerSize',5,'linestyle','none');

set(gcf,'color','w'); %установка белого фона

grid on %включение сетки

hold on %добавление на график полинома

p6=polyfit(T,Kf',5) %нахождение коэффициентов полинома

T2=0:0.1:20; %установка шага аппроксимации

P6=polyval(p6,T2)

plot(T2, P6,'color','red'); %построение полинома

title('Корреляционная функция методом усреднения по времени');

hold on

plot(tau,K,'color','blue');

legend(-2,'Реальные данные','Полином','Теоретические данные')

xlabel('t'); %подпись к оси ОХ

ylabel('К(t)'); %подпись к оси ОY

%----------------------------------------------------------------

%Реализация метода усреднения по реализациям

figure(4);

subplot(5,2,1);

plot(A(1,1:20)',A(2,1:20));

grid on

title('1-ая реализация')

subplot(5,2,3);

plot(A(1,20:40)',A(2,20:40));

grid on

title('2-ая реализация')

subplot(5,2,5);

plot(A(1,40:60)',A(2,40:60));

grid on

title('3-ая реализация')

subplot(5,2,7);

plot(A(1,60:80)',A(2,60:80));

grid on

title('4-ая реализация')

subplot(5,2,9);

plot(A(1,80:100)',A(2,80:100));

grid on

title('5-ая реализация')

subplot(5,2,2);

plot(A(1,100:120)',A(2,100:120));

grid on

title('6-ая реализация')

subplot(5,2,4);

plot(A(1,120:140)',A(2,120:140));

grid on

title('7-ая реализация')

subplot(5,2,6);

plot(A(1,140:160)',A(2,140:160));

grid on

title('8-ая реализация')

subplot(5,2,8);

plot(A(1,160:180)',A(2,160:180));

grid on

title('9-ая реализация')

subplot(5,2,10);

plot(A(1,180:200)',A(2,180:200));

grid on

title('10-ая реализация')

set(gcf,'color','w');

%----------------------------------------------------------------

%Построим корреляционную функцию по этим 10 реализациям

%Шаг равен 0,2с

B=A(2,:)-1.5;

Ky_02=(B(1,1)*B(1,9)+B(1,20)*B(1,29)+B(1,40)*B(1,49)+B(1,60)*B(1,69)+B(1,80)*B(1,89)+...

B(1,100)*B(1,109)+B(1,120)*B(1,129)+B(1,140)*B(1,149)+B(1,160)*B(1,69)+...

B(1,180)*B(1,189))/10;

Ky_04=(B(1,1)*B(1,11)+B(1,20)*B(1,31)+B(1,40)*B(1,51)+B(1,60)*B(1,71)+B(1,80)*B(1,91)+...

B(1,100)*B(1,111)+B(1,120)*B(1,131)+B(1,140)*B(1,151)+B(1,160)*B(1,71)+...

B(1,180)*B(1,191))/10;

Вывод

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

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.