1
实验一 维纳滤波器的计算机实现
一、实验目的
1.利用计算机编程实现加性噪声信号的维纳滤波。
2.将计算机模拟实验结果与理论
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
结果相比较,分析影响维纳滤波效果的各种因素,从
而加深对维纳滤波的理解。
3.利用维纳一步纯预测方法实现对信号生成模型的参数估计。
二 实验原理与方法
维纳滤波是一种从噪声背景中提取信号的最佳线性滤波方法,假定一个随机信号 x(n)
具有以下形式:
)()()( nvnsnx += (1-1)
其中,s(n)为有用信号,v(n)为噪声干扰,将其输入一个单位脉冲响应为 h(n)的线性系统,
其输出为
∑ −= ∞
−∞=m
mnxmhny )()()( (1-2)
我们希望 x(n)通过这个系统后得到的 y(n)尽可能接近于 s(n),因此,称 y(n)为信号 s(n)
的估值。按照最小均方误差准则,h(n)应满足下面的正则方程:
∑∞
−∞=
−=
m
xxxs mkmhk )()()( φφ (1-3)
这就是著名的维纳-霍夫方程,其中 ( )xx mφ 是 x(n)的自相关
函数
excel方差函数excelsd函数已知函数 2 f x m x mx m 2 1 4 2拉格朗日函数pdf函数公式下载
,定义为
( ) [ ( ) ( )]= +xx m E x n x n mφ (1-4)
)(mxsφ 是 x(n)与 s(n)的互相关函数,定义为
( ) [ ( ) ( )]= +xs m E x n s n mφ (1-5)
这里,E[·]
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示求数学期望。
在要求 h(n)满足因果性的条件下,求解维纳-霍夫方程是一个典型的难题。虽然目前
有几种求解 h(n)的解析方法,但它们在计算机上实现起来非常困难。因此,本实验中,
利用近似方法,即最佳 FIR 维纳滤波方法,在计算机上实现随机信号的维纳滤波。
设 h(n)为一因果序列,其长度为 N,则
∑−
=
−=
1
0
)()()(
N
m
mnxmhny (1-6)
同样利用最小均方误差准则,h(n)满足下面方程:
xsxx rhR = (1-7)
其中 TNhhhh )]1(),...,1(),0([ −= (1-8)
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
−−
+−
+−−
=
)0(...)2()1(
.........
)2(...)0()1(
)1(...)1()0(
xxxxxx
xxxxxx
xxxxxx
xx
NN
N
N
R
φφφ
φφφ
φφφ
(1-9)
)0([ xsxsr φ= )1(xsφ … )1( −Nxsφ ] T (1-10)
这里 T 表示转置运算。称 xxR 为信号 x(n)的 N 阶自相关矩阵, xsr 为 x(n)与 s(n)的互相关
函数向量。当 xxR 为满秩矩阵时,由公式(1-7)可得
2
xsxx rRh
1−= (1-11)
由此可见,利用有限长的 h(n)实现维纳滤波器,只要已知 xxR 和 xsr ,就可以按上式解
得满足因果性的 h。只要 N 选择的足够大,它就可以很好地逼近理想无限长的维纳滤波器,
这一点我们可以在下面实验中得到证实。
在本实验中,s(n)由下式来确定:
)()1()( nwnasns +−= (1-12)
(1-12)称为信号的生成模型,其中 95.0=a , w(n)是零均值方差为 22 1 aw −=σ 的高斯
白噪声,v(n)是与 s(n)互不相关的高斯白噪声,其均值为零,方差 12 =vσ 。
根据理论推导,此时维纳最佳滤波器为
1
0.2379( )
1 0.7239 −
= −H z z (1-13)
单位脉冲响应为
( ) 0.2379(0.7239) ( )= nh n u n (1-14)
由此可以实现对信号 x(n)的最佳过滤,即
ˆ ˆ( ) ( ) 0.7239 ( 1) 0.2379 ( )= = − +y n s n s n x n (1-15)
其中 )(ˆ ns 为 s(n)的最佳估值。同时,可以推出,经过理想维纳滤波后,均方误差应为
2 2ˆ[ ( )] [( ( ) ( )) ] 0.2379= − =E e n E s n s n (1-16)
在实验中,我们利用下面公式来统计均方误差:
∑
=
−=
L
i
isis
L
E
1
2)]()(ˆ[1ˆ (1-17)
其中 L 为维纳滤波数据长度。
通过理论推导,我们可以得到 s(n)的自相关函数 | |( ) 0.95mss mφ = ,进而得到 x(n)的
自相关函数 | |( ) 0.95 ( )mxx m mφ δ= + 以及 s(n)与 x(n)的互相关函数 ( ) ( )xs ssm mφ φ= 。
实际中,一般很难确切地知道 ( )mxxφ 和 )(mxsφ ,通常是利用有限个 x(n)和 s(n)的样
本来估计它们
1
1ˆ ( ) ( ) ( )
−
=
= +− ∑
L m
xx
i
m x i x i m
L m
φ (1-18)
1
1ˆ ( ) ( ) ( )
−
=
= +− ∑
L m
xs
i
m x i s i m
L m
φ (1-19)
为了在检验实际中某次产生序列的自相关特性与理论值的近似程度,我们可以采用下
式进行度量:
2
2
ˆ( ( ) ( ))
( )
K
xx xx
m K
xx K
xx
m K
m m
m
φ φ
ρ
φ
=−
=−
−
=
∑
∑
(1-20a)
2
2
ˆ( ( ) ( ))
( )
K
xs xs
m K
xs K
xs
m K
m m
m
φ φ
ρ
φ
=−
=−
−
=
∑
∑
(1-20b)
该式表示了自相关函数的理论值与某次实现的实际值的相对平方误差。实验中为了得到与自
相关特性理论值相符的观测序列,往往需要多次产生序列,直到两者的相对平方误差 ρ 足
够小。本实验中,我们取 K=50,并认为 0.03xxρ ≤ 且 0.01xsρ ≤ 的序列才是满足要求的。
wj
高亮
3
在上面这部分实验中,s(n)是已知的。但是在实际中如果已知 s(n),维纳滤波也就
没有多少意义了。因此,上述实验纯粹是为了理解维纳滤波原理而设计的。
考虑维纳一步纯预测问题,假定 )(ns 的生成模型为
w(n)p)-s(na1)-s(nas(n) p1 =+++ " (1-21)
其中 w(n)是均值为零,方差等于 2wσ 的高斯白噪声。在已知准确自相关函数 )(ss nφ 的情况
下,由下面 Yule-Walker 方程可以得到信号生成模型参数 ),1( piai "= 和 2wσ
εσ 2wss AR = (1-22)
其中
ssR 为 )1()1( +×+ pp 的自相关矩阵,其意义类似于(1-9)式,只是将 N 换成 p+1, )(nxxφ 换
成 )(nssφ 而已,A 为(p+1)╳1 的系数列向量,定义为
11, , ,⎡ ⎤=⎣ ⎦
T
pA a a" (1-23)
ε为 1)1( ×+p 的单位列向量,除第一个元素等于 1 外,其余元素均为零,即
,= [1,0, 0]Tε " (1-24)
三、实验
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
与步骤
1. 仔细阅读维纳滤波原理,根据图 1.1 给出的框图编制维纳滤波程序。其中
( )IS n
�
、 ( )RS n
�
分别是理想维纳滤波和 FIR 滤波的输出, 2xe
� 、 2Ie� 、 2Re� 分别为
滤波前、理想滤波后和 FIR 滤波后的噪声方差。
2. 运行维纳滤波程序,选择 L=5000,N=10,观察并记录实验结果,分析比较下列
三个问题:
① 与 s(n)比较,信号 x(n)在维纳滤波前后有何差别?滤波效果如何?(注
意:比较噪声方差时应取多次实现的平均值,在本实验中我们统一取 100
次实现的平均)
② 估计出的 )(ˆ nh 和理想的 h(n)比较,近似程度如何?
③ 理想的维纳滤波和 FIR 维纳滤波效果有何差异?
④ 若去掉
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
图 1.1 中判断数据自相关和互相关特性的步骤,可能得出理想
维纳滤波效果不如 FIR 滤波的结论,思考原因。
3. 固定 L=5000, 分别取 N=3、20,根据实验结果,观察 N 的大小对 )(ˆ nh 的估计和
滤波效果的影响。记录实验结果。
4. 固定N=10, 改变 L=10000,50000,根据实验结果,观察并记录L的大小对 )(ˆ nh 的
精度和滤波效果的影响。
4
开始
输入信号样本个数 ,L FIR
滤波器阶数N
产生L个v(n),w(n),s(n)和x(n),
利用L个s(n)和x(n), 。 估计
,调矩阵求逆子程序计算 将N个理想的
h(n)和估计的 绘于同一坐标内
( ), ,利用公式 1-15 进行理想的维纳滤波得L个 将
最后100个s(n)和 绘于同一坐标内
, ( ) ,由 根据公式 1-6 对x(n)进行过滤得L个
将最后100个s(n)和 绘于同一坐标内
L个 x(n),s(n), 。 ( ), 和 根据公式 1-17
。统计并打印出
结束
xsrRxx和
)(nh
�
)(nSI
� )(nSI
�
)(nh
�
)(nSR
� )(nSR
�
)(nSR
�
)(nSI
�
2
xe
� 2
Ie
� 2
Re
�
利用式( ) 1-20
检验产生序列x(n)的自相关和互相关函数
是否与理论值相符
在同一坐标内绘出最后100个s(n)和
。x(n)
)(nh
�
N
Y
在同一坐标内绘出x(n)自相关函数的
理论值和实际值
图 1.1
5. 仔细阅读有关维纳一步纯预测原理,弄清信号生成模型参数估计与维纳预测的
关系,根据框图1.2 编制信号生成模型参数估计程序。
5. 运行信号生成模型参数估计程序,选择 p=1, 1a =-0.6,L=100, 2wσ =1,观察并记
录
1aˆ 与
2ˆwσ 的最佳估值,与理论值进行比较。
6. 固定 p=1, 1a =-0.6, 2wσ =1, 改变 L=50,500, 观 L 的大小对信号生成模型参数
估计精度的影响。
5
四、思考题
1.推导公式(1-13),验证式(1-16)的结果。
2.由公式(1-21),怎样得到 paa ,,1 " 和 2wσ ?
图 1.2
五、实验报告要求
1. 简述实验目的和原理。
2. 按实验步骤附主要实验结果。
3. 根据实验结果总结主要实验结论。
4. 回答思考题。
5. 实验报告手写打印均可,但鼓励手写。
6. 附上源程序。
六、产生序列 x(n)的参考程序
L = 5000; % 根据实验要求变动
a = 0.95;
K = 50;
sigma_a2 = 1-a^2;
a_ = [ 1, -a];
while(1)
wn = sqrt(sigma_a2)*( randn(L,1));
sn = filter(1, a_, wn);
vn = randn(L,1);
xn = sn + vn;
r_xx = xcorr(xn,'unbiased');
r_xx_t = a.^abs([-K:K]);
r_xx_t(K+1)=r_xx_t(K+1)+1;
p = xcorr(sn,xn,'unbiased');
r_xs = p(L : L+K);
rou_xx = sum((r_xx(L-K:L+K)-r_xx_t').^2)/sum(r_xx_t.^2);
rou_xs = (sum(r_xs-a.^[0:K]').^2)/sum(a.^[0:K].^2);
if rou_xx < 0.03 & rou_xs < 0.01
6
break;
end
end
figure(1),clf
stem(r_xx(L-K:L+K),'r')
hold on
stem(r_xx_t,'b')
figure(2),clf
stem(r_xs,'r')
hold on
stem(a.^[0:K])
% 这样即可得一个符合要求的 x(n)序列