滤波技术是信号分析、处理技术的重要分支,无论是信号的获取、传输,还是信号的处理和交换都离不开滤波技术,它对信号安全可靠和有效灵活地传递是至关重要的。信号分析检测与处理的一个十分重要的内容就是从噪声中提取信号,实现这种功能的有效手段之一是设计一种具有最佳线性过滤特性的滤波器,当伴有噪声的信号通过这种滤波器的时候,它可以将信号尽可能精确地重现或对信号做出尽可能精确的估计,而对所伴随噪声进行最大限度地抑制。维纳滤波器就是这种滤波器的典型代表之一。
1.维纳滤波概述
因此维纳滤波器又常常被称为最佳线性过滤与预测或线性最优估计。这里所谓的最佳与最优是以最小均方误差为准则的。
2.维纳-霍夫方程的求解
3.FIR维纳滤波器的matlab实现
3.1问题描述
假设一个点目标在x,y平面上绕单位圆做圆周运动,由于外界干扰,其运动轨迹发生了偏移。其中,x方向的干扰为均值为0,方差为0.05的高斯噪声;y方向干扰为均值为0,方差为0.06的高斯噪声。
1)产生满足要求的x方向和y方向随机噪声500个样本;
2)明确期望信号和观测信号;
3)试设计一FIR维纳滤波器,确定最佳传递函数:
,并用该滤波器处理观测信号,得到其最佳估计。(注:自行设定误差判定阈值,根据阈值确定滤波器的阶数或传递函数的长度)。
4)分别绘制出x方向和y方向的期望信号、噪声信号、观测信号、滤波后信号、最小均方误差信号的曲线图;
5)在同一幅图中绘制出期望信号、观测信号和滤波后点目标的运动轨迹。
3.2Matlab仿真及运行结果
用Matlab实现FIR滤波器,并将先前随机产生的500个样本输入,得到最佳估计。具体程序如下:
clear;
clf;
sita=0:pi/249.5:2*pi;
xnoise=sqrt(0.05)*randn(1,500);%产生x轴方向噪声
ynoise=sqrt(0.06)*randn(1,500);%产生y轴方向噪声
x=cos(sita) xnoise;%产生x轴方向观测信号
y=sin(sita) ynoise;%产生y轴方向观测信号
%产生维纳滤波中x方向上观测信号的自相关矩阵
rxx=xcorr(x);
for i=1:100
for j=1:100
mrxx(i,j)=rxx(500-i j);
end
end
xd=cos(sita);
%产生维纳滤波中x方向上观测信号与期望信号的互相关矩阵
rxd=xcorr(x,xd);
for i=1:100
mrxd(i)=rxd(499 i);
end
hoptx=inv(mrxx)*mrxd';%由维纳-霍夫方程得到的x方向上的滤波器最优解
fx=conv(x,hoptx);%滤波后x方向上的输出
nx=sum(abs(xd).^2);
eminx=nx-mrxd*hoptx;%x方向上最小均方误差
%产生维纳滤波中y方向上观测信号的自相关矩阵
ryy=xcorr(y);
for i=1:100
for j=1:100
mryy(i,j)=ryy(500-i j);
end
end
yd=sin(sita);
%产生维纳滤波中y方向上观测信号与期望信号的互相关矩阵
ryd=xcorr(y,yd);
for i=1:100
mryd(i)=ryd(499 i);
end
hopty=inv(mryy)*mryd';%由维纳-霍夫方程得到的y方向上的滤波器最优解
fy=conv(y,hopty);%滤波后y方向上的输出
ny=sum(abs(yd).^2);
eminy=ny-mryd*hopty;%y方向上最小均方误差
subplot(2,4,1)
plot(xd);
title('x方向期望信号');
subplot(2,4,2)
plot(xnoise);
title('x方向噪声信号');
subplot(2,4,3)
plot(x);
title('x方向观测信号');
subplot(2,4,4)
n=0:500;
plot(n,eminx);
title('x方向最小均方误差');
subplot(2,4,5)
plot(yd);
title('y方向期望信号');
subplot(2,4,6)
plot(ynoise);
title('y方向噪声信号');
subplot(2,4,7)
plot(y);
title('y方向观测信号');
subplot(2,4,8)
plot(n,eminy);
title('y方向最小均方误差');
figure;
plot(xd,yd,'k');
hold on;
plot(x,y,'b:');
hold on;
plot(fx,fy,'g-');
title('最终结果');
运行结果如下:
图2
x方向及y方向的期望信号、噪声信号、观测信号以及滤波后的最小均方误差如上图2所示。
图3
滤波后的到的信号与原始信号和噪声信号的对比如上图3所示,滤波后的结果与期望信号还是很接近的,整体上达到了最优滤波的效果。