数字信号处理II实验一 维纳滤波 基于MATLAB
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字信号处理II实验一
实验一维纳滤波器的计算机实现
一、实验目的
1.利用计算机编程实现加性干扰信号的维纳滤波。
2.将计算机模拟实验结果与理论分析结果相比较,分析影响维纳滤波效果的各种因素,从而加深对维纳滤波的理解。
3.利用维纳预测方法实现对 AR模型的参数估计。
二、实验原理与方法
维纳滤波是一种从噪声背景中提取信号的最佳线性滤波方法,假定一个随机信号x(n)具有以下形式:
(1-1)
其中,s(n) 为有用信号,v(n) 为噪声干扰,将其输入一个单位脉冲响应为 h(n) 的线性系统,其输出为:
(1-2)
我们希望x(n) 通过这个系统后得到的y(n) 尽可能接近于s(n) ,因此,称y(n) 为信号s(n)的估值。按照最小均方误差准则,h(n) 应满足下面的正则方程:
(1-3)
这就是著名的维纳-霍夫方程,其中是 x(n)的自相关函数,定义为:
(1-4)
是 x(n)与 s(n)的互相关函数,定义为
(1-5)
这里,E[·]表示求数学期望,*表示取共轭。
在要求 h(n)满足因果性的条件下,求解维纳-霍夫方程是一个典型的难题。虽然目前有几种求解 h(n)的解析方法,但它们在计算机上实现起来非常困难。因此,本实验中,利用近似方法,即最佳 FIR 维纳滤波方法,在计算机上实现随机信号的维纳滤波。
设 h(n)为一因果序列,其长度为 N,则
(1-6)同样利用最小均方误差准则,h(n)满足下面方程:
(1-7)其中,
(1-8)
(1-9)
(1-10)这里 T 表示转置运算。称为信号 x(n)的 N 阶自相关矩阵,为 x(n)与s(n)的互相关函数向量。当为满秩矩阵时,由公式(1-7)可得
(1-11)由此可见,利用有限长的 h(n)实现维纳滤波器,只要已知和 ,就可以按上式解得满足因果性的h。对于 ARMA 模型或 MA 模型来说,虽然它不同于理想的维纳滤波器,但是只要N选择的足够大,它就可以很好地逼近理想的维纳滤波器,这一点我们可以在下面实验中得到证实。
在本实验中,s(n)由下式来确定:
(1-12)
其中 , w(n)是零均值方差为的高斯白噪声,v(n)是与 s(n)互不相关的高斯白噪声,其均值为零,方差。
根据理论推导,此时维纳最佳滤波器为:
(1-13)
单位脉冲响应为:
(1-14)
由此可以实现对信号 x(n)的最佳过滤,即:
(1-15)
其中为 s(n)的最佳估值。同时,可以推出,经过理想维纳滤波后,均方误差应为:
(1-16)
在实验中,我们利用下面公式来统计均方误差:
(1-17)
其中 L 为维纳滤波数据长度。
通过理论推导,我们可以得到 s(n)的自相关函数 ,进而得到
x(n)的自相关函数以及 s(n)与 x(n)的互相关函数
。
实际中,一般很难确切地知道和,,通常是利用有限个 x(n)和s(n)的样本来估计它们:
(1-18)
(1-19)
为了在检验实际中某次产生序列的自相关特性与理论值的近似程度,我们可以采用下式进行度量:
(1-20)
(1-21)
该式表示了自相关函数的理论值与某次实现的实际值的相对平方误差。实验中为了得到与自相关特性理论值相符的观测序列,往往需要多次产生序列,直到
两者的相对平方误差ρ足够小。本实验中,我们取 K=50,并认为
且才是满足要求的。
在上面这部分实验中,s(n)是已知的。但是在实际中如果已知 s(n),维纳滤波也就没有多少意义了。因此,上述实验纯粹是为了理解维纳滤波原理而设计的。下面我们考虑维纳滤波器的一种应用,即利用维纳预测方法来估计 AR 模型的参数。
假定 s(n)是一个 p 阶 AR 模型,即
(1-21)其
中 w(n)是均值为零方差等于的高斯白噪声。在已知准确自相关函数
的情况下,由下面 Yule-Walker 方程可以得到 AR 模型参数和
(1-22)
其中为的自相关矩阵,其意义类似于(1-9)式,只是将N换成p+1,
将换成而已,A 为(p+1)x1 的系数列向量,定义为:
(1-23)ε为(p+1)x1的单位列向量,除第一个元素等于 1 外,其余元素均为零,即:
(1-24)
三、实验内容与步骤
1.仔细阅读维纳滤波原理,根据图 1.1 给出的框图编制维纳滤波程序。其中
和分别是理想维纳滤波和FIR 滤波的输出,分别为滤波前,理想滤波后和FIR滤波后的噪声方差。
2.运行维纳滤波程序,选择L=5000,N=10,观察并记录实验结果,分析比较下
列三个问题:
①与s(n)比较,信号x(n)在维纳滤波前后有何差别?滤波效果如何?(注
意,比较噪声方差时应取多次实现的平均值,在本实验中我们统一取100
次实现的平均)
②估计出的和理想的h(n)比较,近似度如何?
③理想的维纳滤波和FIR维纳滤波效果有何差异?
④若去掉流程图1.1中判断数据自相关和互相关特性的步骤,可能得出理
想维纳滤波效果不如FIR滤波的结论,思考原因。
3. 固定L=5000,分别取N=3、20,根据实验结果,观察N的大小对的估计
和滤波效果的影响。记录实验结果。
4. 固定N=10,改变L=10000,50000,根据实验结果,观察并记录L的大小对
的精度和滤波效果的影响。
(图1-2)
(图1-1)