📄 1.滤波器和输出误差的功率谱.m
字号:
clear;
clc;
A=[1:300;linspace(0,0,300)];
A=A';
A1=[1:300;linspace(0,0,300)];
A1=A1';
A2=[1:300;linspace(0,0,300)];
A2=A2';
B=[];
B1=[];
B2=[];
V=sqrt(0.27)*randn(500,1); % 产生白噪声序列V(n)
X=[0+V(1);0+V(2)];
for n=3:500 % 产生准信号序列
x=-0.1*X(n-1)+0.8*X(n-2)+V(n);
X=[X;x];
end
X=X(201:500); % 截取信号序列X(n)
H=[-1; -2]; % 初始滤波器系数H(0)
T=H';
e=0;
e2=0;
for n=2:299
e=X(n+1)-H'*[X(n);X(n-1)]; % 计算每步误差e(n+1)
A(n+1,:)=A(n+1,:)+e;
B=[B,e];
H=H+0.05*e*[X(n);X(n-1)]; % 计算每步滤波器系数H(n+1)
A1(n+1,:)=A1(n+1,:)-0.1-H(1);
B1=[B1,-0.1-H(1)];
A2(n+1,:)=A2(n+1,:)+0.8-H(2);
B2=[B2,0.8-H(2)];
end
h = spectrum.periodogram;
A=A';
figure(1)
plot(A(1,:),A(2,:));
figure(11);
psd(h,B);
A1=A1';
figure(2)
plot(A1(1,:),A1(2,:));
figure(21);
psd(h,B1);
A2=A2';
figure(3)
plot(A2(1,:),A2(2,:));
figure(31);
psd(h,B2);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -