Добавил:
Студент, если у тебя есть завалявшиеся работы, то не стесняйся, загрузи их на СтудентФайлс! Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Курсач / Kursach_rabochiy_1

.m
Скачиваний:
5
Добавлен:
16.07.2022
Размер:
2.38 Кб
Скачать
% Фильтр Калмана.
% СП - процесс авторегрессии первого порядка.
% Параметры процесса АР-1.
clc
PN=10000; % число отсчетов СП
mid=200.; % постоянная составляющая сообщения (СП)
sig=50.; % СКО сообщения (СП)
ro =0.9999; % коэффициент корреляции
sig_1=20.; % СКО погрешности наблюдений
Nro=50; % число отсчетов корреляционной функции
% формирование начальных условий
K=zeros(1,PN);
X=zeros(1,PN);
Y1=zeros(1,PN);
Y2=zeros(1,PN);
Y3=zeros(1,PN);
y=0.;
%НАЧАЛЬНЫЕ УСЛОВИЯ
y=ro*y+sig*sqrt(1.-ro^2.)*randn();
y1=mid+y;
y2=y1+sig_1*rand();
x=y2;
Disp1=0.;
AD=0.;
for k=1:1:PN;
% модель СП и наблюдений
% if k >= 50000 mid=1000.;
% end;
% if k >= 5000 sig=150.;
% end;
% if k >= 5000 sig_1=100.;
% end;
% if k >= 50000 ro =0.999;
% end;
y=ro*y+sig*sqrt(1.-ro^2.)*randn();
y1=mid+y;
y2=y1+sig_1*randn();
a=(sig.^2.*(1.+(1.-ro.^2.)*(sig.^2/sig_1.^2.)-ro.^2.))/(ro.^2.);
b=((1.-ro.^2.)*(sig.^2.*sig_1.^2.))/(ro.^2.);
d=((-1.)*a/2.)+0.5*sqrt(a.^2.+4.*b);
kv=d/(sig_1.^2.);

% ЗАПИСЬ МАССИВОВ НАБЛЮДЕНИЙ
K(k)=k;
Y1(k)=y1;
Y2(k)=y2;

% АЛГОРИТМ КАЛМАНОВСКОЙ ФИЛЬТРАЦИИ
x=ro*x+kv*(y2-ro*x);
y3=abs(y1-x);
X(k)=x;
Y3(k)=y3;
if k>=1000
Disp1=Disp1+(y1-x).^2.;
AD=AD+y3/y1;
end;
end;
OTN_1=(sig)/(sig_1)
CKO=sqrt(Disp1)
otn=(AD/double(PN-1000))*100.
figure(1); grid on;hold on;
plot(K,Y2,'g');
title('СП','FontName','Courier','FontSize',14)
xlabel('отсчеты СП','FontName','Courier','FontSize',14)
ylabel('СП','FontName','Courier','FontSize',14)
figure(2); grid on;hold on;
plot(K,X,'b',K,Y1,'r',K,Y3,'k');
title('матожидание СП и его оценка ','FontName','Courier','FontSize',14)
xlabel('отсчеты СП','FontName','Courier','FontSize',14)
ylabel('m(i)','FontName','Courier','FontSize',14)
legend ('оценка m(i)','m(i)','погрешность');
figure(3); grid on;hold on;
plot(K,Y3,'k');
title('модуль абсолютной погрешности оценки ','FontName','Courier','FontSize',14)
xlabel('отсчеты СП','FontName','Courier','FontSize',14)
ylabel('Dl','FontName','Courier','FontSize',14)
k=0:1:Nro;
y=exp(log(ro)*k);
figure(4); grid on;hold on;
stem(k,y,'r');
% plot(k,y,'k');
title('КФ ','FontName','Courier','FontSize',14)
xlabel('отсчеты СП','FontName','Courier','FontSize',14)
ylabel('КФ','FontName','Courier','FontSize',14)
Соседние файлы в папке Курсач