【文件属性】:
文件名称:matlab上机实验
文件大小:279KB
文件格式:PDF
更新时间:2019-01-15 09:58:18
matlab
clear;
clf;
sita=0:pi/499.5:2*pi; %取 1000 个样本
xnoise=sqrt(0.03)*randn(1,1000);%产生 x 轴方向噪声
ynoise=sqrt(0.02)*randn(1,1000);%产生 y 轴方向噪声
x=cos(sita)+xnoise;%产生 x 轴方向观测信号
y=sin(sita)+ynoise;%产生 y 轴方向观测信号
%产生维纳滤波中 x 方向上观测信号的自相关矩阵
rxx=xcorr(x);
for i=1:100 %滤波器的阶数设置为 100
for j=1:100
mrxx(i,j)=rxx(1000-i+j); 00 为原始信号的长度
end
end
xd=cos(sita);
%产生维纳滤波中 x 方向上观测信号与期望信号的互相关矩阵
rxd=xcorr(x,xd);
for i=1:100 %滤波器的阶数设置为 100
mrxd(i)=rxd(1000-1+i); %原始信号的长度为 1000
end
hoptx=inv(mrxx)*mrxd';%由维纳-霍夫方程得到的 x 方向上的滤波器最优解
fx=conv(x,hoptx);%滤波后 x 方向上的输出
for i=1:1000
disx(i)= xd(i)-fx(i); %误差=真实值-滤波最优估值
end
%产生维纳滤波中 y 方向上观测信号的自相关矩阵
ryy=xcorr(y);