T=1;
T0=1000; %
shag diskretizatii
v=randn(size(t1));
w=randn(size(t1));
m=ones(size(t1));
% ---------------------------------
% issledovanie slu4aynoy posledovatelnosti
% --------------------------------
figure (1) % grafik slu4aynoy posledovatelnosti
plot (t1,w)
grid on
M=mean(w);
D=mean((w-M).^2);
[aa,bb]=hist(w,20);
dx=(max(w)-min(w))/20;
p1=aa/(N);%*dx
mx=bb*p1';
sigm=sqrt(mean ((w-mx).^2));
p2=exp(-(bb-mx).^2/(2*sigm^2))/(sigm*sqrt(2*pi))*dx;
M % mat ogidanie
D % dispersiya
figure (2) % histogramma slu4aynoy posledovatelnosti
bar(bb,p1)
grid on
hold on, plot(bb,p2,'r')
title('Histogram signal')
% korfunkciya -------------
R=zeros(size(t1));
for t=1:20
for k=1:(N-20)
R(t)=R(t)+w(k)*w(k+t-1);
end;
R(t)= R(t)/(N-20);
end;
R=R/max(R);
mm=0:(N-1);
figure(22)
plot(mm,R)
xlabel('tau')
ylabel('R(tau)')
title('Kor funktiya SP')
grid on
S=fft(R,512);
W=(0:255)/256*(1000000/2);
% ---------------------
% ---------------------------------
% formorovanie vhodnogo signala
% --------------------------------
x(1)=0;
F=exp(-T/T0);
G=sqrt(D*F*(1-F));
for k=1:N-1
x(k+1)=F*x(k)+G*w(k);
end
% issledovanie vhodnogo signala
figure(3)
plot(t1(1:1000),x(1:1000));
grid
title('vhodnoy signal')
M=mean(x);
D=mean((x-M).^2);
Mvx=M
Dvx=D
[aa,bb]=hist(x,20);
dx=(max(x)-min(x))/20;
p1=aa/(N);%*dx
mx=bb*p1';
sigm=sqrt(mean ((x-mx).^2));
p2=exp(-(bb-mx).^2/(2*sigm^2))/(sigm*sqrt(2*pi))*dx;
figure (4) % histogramma
bar(bb,p1)
grid on
hold on, plot(bb,p2,'r')
title('Histogram signal x')
% korfunkciya -------------
R=zeros(size(t1));
for t=1:20
for k=1:(N-20)
R(t)=R(t)+x(k)*x(k+t-1);
end;
R(t)= R(t)/(N-20);
end;
R=R/max(R);
mm=0:(N-1);
figure(44)
plot(mm,R)
xlabel('tau')
ylabel('R(tau)')
title('Kor funktiya signala')
grid on
S=fft(R,512);
W=(0:255)/256*(1000000/2);
% ---------------------
% signal+shum
x(1)=0;
F=exp(-T/T0);
G=sqrt(D*F*(1-F));
H=1;
C1=0.4;
l=10;
S=0.09;
for k=1:N-1
m(k)=C1*sin(l*k*T/T0);
x(k+1)=S*F*x(k)+G*w(k)+m(k);
end
% -------------------------
% issledovanie signal+shum
% -------------------------
figure(5)
plot(t1(1:1000),x(1:1000));
grid
title('signal+shum')
M=mean(x);
D=mean((x-M).^2);
Mss=M
Dss=S
% korfunkciya -------------
R=zeros(size(t1));
for t=1:20
for k=1:(N-20)
R(t)=R(t)+x(k)*x(k+t-1);
end;
R(t)= R(t)/(N-20);
end;
R=R/max(R);
mm=0:(N-1);
figure(33)
plot(mm,R)
xlabel('tau')
ylabel('R(tau)')
title('Kor funktiya na vx')
grid on
S=fft(R,512);
W=(0:255)/256*(1000000/2);
% ---------------------
[aa,bb]=hist(x,20);
dx=(max(x)-min(x))/20;
p1=aa/(N);%*dx
mx=bb*p1';
sigm=sqrt(mean ((x-mx).^2));
p2=exp(-(bb-mx).^2/(2*sigm^2))/(sigm*sqrt(2*pi))*dx;
figure (6) % histogramm signal+shum
bar(bb,p1)
grid on
hold on, plot(bb,p2,'r')
title('Histogram signal+shum')
% uravnenie nabluydenia
z=H*x+v+C1*m;
% grafik nablyudeniya
figure(7)
plot(t1(1:1000),z(1:1000));
grid
title('Grafik nablyudeniya')
% -----------------------------------------
% ocenka Robbinsa-Monro
% ----------------------------------------
Vw=2*ones(size(t1));
Vv=2*ones(size(t1));
Vx(1)=1;
V1x(1)=1;
K=0.1;
x1(1)=F*0;
er3(1)=1;
for k=2:N
Vx(k)=F*V1x(k-1)*F'+G*Vw(k)*G';
V1x(k)=(1-K*H)*Vx(k);
x1(k)=F*x1(k-1)+K*(z(k-1)-H*F*x1(k-1));
er3(k)=z(k-1)-H*F*x1(k-1);
n(k)=x(k)-x1(k);
end
er=(x-x1); % oshibka ocenki
er1m=mean(er);
er1=mean((er-er1m).^2)
% issledovanie vyhodnogo signala
figure(8)
subplot(211)
plot(t1(1:1000), x1(1:1000),'r'); % ocenka signala
grid
hold on
title('signal na vyhode')
subplot(212)
plot(t1(1:1000),er(1:1000),'m'); % oshibka ocenki
grid
title('oshibka ocenki')
M=mean(x1);
D=mean((x1-M).^2);
Moc=M
Doc=D
% korfunkciya -------------
R=zeros(size(t1));
for t=1:20
for k=1:(N-20)
R(t)=R(t)+x1(k)*x1(k+t-1);
end;
R(t)= R(t)/(N-20);
end;
R=R/max(R);
mm=0:(N-1);
figure(33)
plot(mm,R)
xlabel('tau')
ylabel('R(tau)')
title('Kor funktiya na vux')
grid on
S=fft(R,512);
W=(0:255)/256*(1000000/2);
% ---------------------
[aa,bb]=hist(x1,20);
dx=(max(x1)-min(x1))/20;
p1=aa/(N);%*dx
mx=bb*p1';
sigm=sqrt(mean ((x1-mx).^2));
p2=exp(-(bb-mx).^2/(2*sigm^2))/(sigm*sqrt(2*pi))*dx;
figure (9) % Histogram signal
bar(bb,p1)
grid on
hold on, plot(bb,p2,'r')
title('Histogram signal')
%---------------------------------
figure(10)
plot(t1(1:200),V1x(1:200)); % korfunkciyz signala na vyhode
hold on
grid
title('Korfunkciya signala na vyhode')