现代数字信号处理实验报告 下载本文

图3.5滤波器阶数p=9时的估计值与真实值对比

图3.6滤波器阶数p=12时的估计值与真实值对比

分析以上4个图:红色曲线代表真实值。蓝色曲线代表估计值。由结果来看,随着滤波器阶数的提高,误差越来越小,对d(n)的估计也更加精确了,这是因为阶数越高,使用的自相关序列的值的个数就越多,估计的值也就越准确了。 (c)

图3.7 漏入的参数a=0.1时的估计值与真实值对比

图3.8漏入的参数a=0.5时的估计值与真实值对比

图3.9漏入的参数a=1.0时的估计值与真实值对比

漏泄的参数为0.1、0.5、1.0时,估计误差依次为 0.2312、 1.8892、 2.4204,当辅助观测信号v2(n)受到d(n)干扰时,由仿真结果可以看出,干扰的程度越深,即?的值越大,估计的性能越差。当漏泄系数??0.5时,还可分辨是正弦波形;当漏泄系数??0.5时,波形已经基本失真,不能起到分辨效果。

(d)原理框图如下:

如图,采用“自适应滤波”的方法近似完成对噪声v1(n)的抑制;假设d(n)和

v1(n)都是实值的、零均值过程,且互不相关,另外假设d(n)是窄带过程,v1(n)是宽带过程,对k?k0,可以近似认为v1(n)与v1(n?k)自相关序列为0,此时:

E{|e2(n)|}?E{|d(n)?v1(n)?y(n)|2}?E{v12(n)}?E{[d(n)?y(n)]2}?2E{v1(n)[d(n)?y(n)]} ?E{v12(n)}?E{[d(n)?y(n)]2}将观测信号进行延迟产生“参考信号”,将这个参考信号通过自适应滤波器来估计出d(n)。因为d(n)与v1(n)不相关,则有

2E{v1(n)[d(n)?y(n)]}??2E{v1(n)y(n)}

另外,由于到自适应滤波器的输入是x(n?k0),因此其输出

y(n)??wn(k)x(n?k0?k)??wn(k)[d(n?k0?k)?v1(n?k0?k)]

k?0k?0pp从而

E{v1(n)y(n)}??wn(k)[E{v1(n)d(n?k0?k)}?E{v1(n)v1(n?k0?k)}]

k?0p因为d(n)和v1(n)是互不相关,与v1(n?k?k0)也是近似不相关的,所以

E{v1(n)y(n)}?0,从而最后的均方误差变为

E{|e2(n)|}?E{v12(n)}?E{[d(n)?y(n)]2}

可见,最小化E{|e2(n)|}等效于最小化E{[d(n)?y(n)]2},所以自适应滤波器的输出y(n)就是d(n)的最小均方估计,即实现了噪声抑制。 源程序: clc;clear; N=500;

g=normrnd(0,1,1,N); v1=filter([1],[1,-0.8],g); v2=filter([1],[1,0.6],g); figure(1)

plot(0:N-1,v2);

title('辅助噪声观测v2(n)'); ylabel('v2(n)'); xlabel('n'); grid on;

d=sin([0:N-1]*0.02*pi-pi/2); x=d+v1; figure(2)

plot(0:N-1,x,'r'); hold on; plot(0:N-1,d,'-.');

title('观测信号x(n)和正弦信号d(n)'); ylabel('x(n)'); xlabel('n');

legend('观测信号x(n)','正弦信号d(n)'); grid on;