维纳滤波器的设计及Matlab仿真实现Word文档下载推荐.doc
《维纳滤波器的设计及Matlab仿真实现Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《维纳滤波器的设计及Matlab仿真实现Word文档下载推荐.doc(4页珍藏版)》请在冰豆网上搜索。
![维纳滤波器的设计及Matlab仿真实现Word文档下载推荐.doc](https://file1.bdocx.com/fileroot1/2022-10/4/588c4e08-5f31-4154-b858-33a816f49c4a/588c4e08-5f31-4154-b858-33a816f49c4a1.gif)
Wiener滤波器的目的是求最优滤波系数,从而使最小。
通过正交性原理,导出,
该式称为Wiener-Hopf方程,解此方程,可得最优权系数。
Wiener-Hopf方程的矩阵形式为,解方程求得
2.设计思路
下面我们通过具体的例子来说明Wiener滤波器的设计方法:
考虑如下图所示的简单通信系统。
其中,产生信号S(n)所用的模型为,激励信号为。
信号s(n)通过系统函数为的信道,并被加性噪声干扰,v(n)与w(n)不相关。
确定阶数M=2的最优FIR滤波器,以从接收到的信号x(n)=z(n)+v(n)中尽可能恢复发送信号s(n),并用MATLAB进行仿真。
解:
s(n)是一个AR
(1)过程,在x(n)=z(n)+v(n)中,z(n)是一个二阶AR
(2)过程。
由于白噪声产生z(n)的系统函数相当于H(z)=H1(z)H2(z),因此。
二阶AR
(2)过程的参数,,方差。
由二阶AR
(2)参数可以确定,
由Yule-Walker方程,
以及AR模型的方差表达式,
反解得,
由此确定z(n)的自相关矩阵为
进而有
期望响应d(n)=s(n),接下来,求。
因为
把和代入上式,得
故
从而有,将此式带入Wiener-Hopf方程解得最优权系数为
3.实验源码
MATLAB仿真实现该维纳滤波器的程序:
%Generatesignals(n)
N=64;
w=sqrt(0.3)*randn(N,1);
A1=[10.95];
s=filter(1,A1,w);
d=s;
%Transmitandaddanoise
A2=[1-0.85];
z=filter(1,A2,s);
v=sqrt(0.1)*randn(N,1);
x=z+v;
%WienerFiltering
y=filter([0.9052-0.8656],1,x);
%plotthewaveforms
n=[0:
N-1];
subplot(211);
plot(n,d,'
b-x'
n,x,'
r-o'
);
legend('
d(n)'
'
x(n)'
axistight;
ylabel('
Amplitude'
xlabel('
Time(n)'
title('
DesiredResponse/InputSignal'
subplot(212);
n,y,'
y(n)'
DesiredResponse/OutputSignal'
4.仿真结果及分析
仿真结果如图所示:
从图中可明显看出,y(n)比x(n)更接近于d(n),维纳滤波器从接收到的信号x(n)=z(n)+v(n)中尽可能地恢复出了发送信号s(n)。
5.实验结论
维纳滤波器的设计目标是使滤波器误差平方的集平均(期望值)最小,在平稳并各态历经的条件下,相当于在误差的平方和最小,因此,求解最优滤波器需要输入信号的自相关矩阵和输入信号与期望响应的互相关矢量,这在实际应用中一般很难得到。
LS滤波器的目标是现实的,它使用输入信号和期望响应在测量区间的观测值,通过令误差平方和在观测区间最小,而设计出滤波器系数。
4