资源描述:
《DSP 维纳滤波器的计算机实现.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、维纳滤波器的计算机实现一、实验目的1、利用计算机编程实现加性噪声信号的维纳滤波。2、将计算机模拟实验结果与理论分析结果相比较,分析影响维纳滤波效果的各种因素,从而加深对维纳滤波的理解。3、利用维纳滤波一步纯预测方法实现对信号生成模型的参数估计。二、实验原理1、维纳滤波器是一种从噪声中提取信号的最佳线性估计方法,假定一个随机信号形式为:x(n)=s(n)+v(n),其中s(n)为有用信号,v(n)为噪声信号。而维纳滤波的作用就是让x(n)通过一个系统h(n)尽可能滤掉噪声,提取近似s(n),h(n)的选择以最小均方误
2、差为准则。由维纳-霍夫方程知,只要求出φxx及φxs就可求出h(h=φ-1xxφxs)。但要求h(n)满足因果性要求,维纳-霍夫方程便是一个难题,这里利用最佳FIR维纳滤波方法求解h(n)的近似,这也便于在计算机上实现,公式为:h=R-1xxrxs。实验中s(n)由信号生成模型:s(n)=as(n-1)+w(n)确定,其中a=0.95,w(n)是均值为0,方差为бw2=1的高斯白噪声,v(n)为均值为0,方差为1的高斯白噪声,且s(n)与v(n)不相关。实验中s(n)是已知的,但实际中如果s(n)已知,维纳滤波也就
3、失去意义了,因此实验纯粹是为了理解维纳滤波原理而设计。2、维纳一步纯预测问题S(n)的生成模型:s(n)+a1(n-1)+…+aps(n-p)=w(n),已知φxx(n),利用Yule-walker方程即可得到信号生成模型参数ai(i=1,2…p)和б2w。一、实验步骤及结果分析1、根据维纳滤波原理绘制程序流程图开始输入样本个数L,FIR滤波器阶数N产生L个v(n),w(n),s(n)和x(n),利用L个s(n)和x(n),估计RSS和rxs检验产生序列x(n的自相关和互相关函数是否与理论值相符N在同一坐标内绘出x
4、(n)自相关函数的理论值和实际值Y在同一坐标内绘出最后100个s(n)和x(n)。调矩阵求逆子程序计算,将N个理想的h(n)和估计的h(n)绘于同一坐标内进行理想的维纳滤波得L个SI(n),和最后100个s(n)绘制于同一坐标对x(n)进行过滤得L个SR(n),和最后100个s(n)和绘于同一坐标内结束L个x(n),s(n),SI(n),SR(n),统计ex2,eI2,,eR21、根据流程图编写程序(见附录1)并分析运行结果:选择L=5000,N=10观察并记录、分析实验结果。1)与s(n)相比,信号x(n)在维纳
5、滤波前后效果比较:图1图2图1为维纳滤波后的s(n)与最后100个s(n)比较图图2为未经维纳滤波的x(n)与最后100个s(n)比较图。分析:显然与s(n)相比,x(n)在维纳滤波前与s(n)相差很大,维纳滤波后较接近s(n),可见滤波效果比较好。2)估计(n)与理想h(n)的比较:图3图3为估计(n)与理想h(n)的对比图。分析:由图可见,二者近似程度除最后几个点外,其他近似度还是满高的,总体而言,近似效果不错。1)理想的维纳滤波与FIR维纳滤波效果对比:图4图5图4为理想维纳滤波效果,图5为FIR维纳滤波效果
6、分析:直接从图形观察,差异太小,无法观察其精度。只能通过最小均方差来比较其差异,结果为:理想维纳滤波ei=0.2287,FIR维纳滤波ef=0.2254。可见,理想维纳滤波效果要好过FIR维纳滤波。2)自相关与互相关数据判断对效果的影响分析:若去掉流程图中自相关与互相关数据判断步骤,可能会得到理想维纳滤波不如FIR滤波的效果,如其中一个结果:ei=0.2503,ef=0.2495。这里的判断步骤就是为了检测实际产生序列的自相关或互相关特性与理论值的近似程度,若误差很小且通过我们设定的某一下限则认为二者近似,所以最终
7、的滤波效果才很近似。如果没有这里的判断,实际自相关或互相关则是任意的,完全有可能出现比理想维纳滤波更好的效果。1、固定L=5000,分别取N=3、20,根据实验结果,观察N的大小对(n)的估计和滤波效果的影响并记录实验结果。实验结果:图6为N=3时估计(n)与理想h(n)的对比图。图7为N=20时估计(n)与理想h(n)的对比图。图8为N=3的FIR滤波后所得(n)与实际S(n)后100位的比较图。图9为N=20的FIR滤波后所得(n)与实际S(n)后100位的比较图。其均方误差分别为:ei=0.3175(N=3)
8、,0.2500(N=20)ef=0.2762(N=3),0.2488(N=20)图6图7图8图9分析:由图6、7可知,N的大小决定(n)与h(n)取值的个数,并通过观察并结合N=10的情况可知,N越大(n)与h(n)越接近。从最终均方误差的比较可知,N越大,滤波效果越好。1、固定N=10,改变L=1000、5000,根据实验结果,观察并记录L的大小对(n)的