数字信号处理实验二

本文探讨了AR过程x(n)的参数估计与LMS滤波器的应用,详细解析了如何计算噪声方差使AR过程具有单位方差,并通过LMS滤波器估计未知参数。同时,对比了实验结果与理论值,验证了LMS算法在参数估计与预测误差收敛方面的有效性。

DSP Experiment II

1.Consider an AR process x(n) defined by the difference equation
x(n)=−a1x(n−1)−a2x(n−2)+v(n) x(n)=-a_1x(n-1)-a_2x(n-2)+v(n) x(n)=a1x(n1)a2x(n2)+v(n)
where v(n) is an additive white noise of zero mean and variance σv2\sigma_v^2σv2.The AR parameters a1a_1a1 and a2a_2a2 are both real valued:

a1=0.1a2=−0.8 a_1=0.1\\ a_2=-0.8 a1=0.1a2=0.8
a) Calculate the noise variance σv2\sigma_v^2σv2 such that the AR process x(n) has unit variance .Hence , generate different realization of the process x (n).

b) Given the input x (n), an LMS filter of length M = 2 is used to estimate the unknown AR parameters a1a_1a1 and a2a_2a2 . The step size δ\deltaδ is assigned the value 0.05. Compute and plot the ensemble average curve of a1a_1a1 and a2a_2a2 by averaging the value of parameters a1a_1a1 and a2a_2a2 over an ensemble of 100 different realization of the filter. Calculate the time constant according to the experiment results and compare with the corresponded theoretical value.

c) For one realization of the LMS filter, compute the prediction error
f(n)=x(n)−x~(n) f(n)=x(n)-\tilde{x}(n) f(n)=x(n)x~(n)
And the two tap-weight errors
ε1(n)=−a1−h1(n) \varepsilon _1(n)=-a_1-h_1(n) ε1(n)=a1h1(n)
and
ε2(n)=−a2−h2(n) \varepsilon _2(n)=-a_2-h_2(n) ε2(n)=a2h2(n)
Using power spectral plots of f(n),ε1(n),ε2(n)f(n),\varepsilon _1(n),\varepsilon _2(n)f(n),ε1(n),ε2(n) , show that f(n)f(n)f(n) behaves as white noise, whereas ε1(n),ε2(n)\varepsilon _1(n),\varepsilon _2(n)ε1(n),ε2(n) behave as low-pass process. Explain the reason for this phenomenon.

d) Compute the ensemble average learning curve of the LMS filter by averaging the square value of the prediction error f(n) over an ensemble of 100 different realization of the filter. Calculate the time constant and residual power according to the experiment results and compare with the corresponded theoretical values.

a)由于x(n)为一个AR过程,
R(N+1)[1−AN]=[σv20] R(N+1)\begin{bmatrix} 1\\ -A_N \end{bmatrix} =\begin{bmatrix} \sigma _v^2\\ 0 \end{bmatrix} R(N+1)[1AN]=[σv20]

​ 其中
AN=[−a1−a2],RN+1=[r(0)r(1)r(2)r(1)r(0)r(1)r(2)r(1)r(0)],r(0)=rx2−E2x(n)=rx2=1 A_N=\begin{bmatrix} -a_1\\ -a_2 \end{bmatrix}, R_{N+1}=\begin{bmatrix} r(0) & r(1) & r(2)\\ r(1) & r(0) & r(1)\\ r(2) & r(1) & r(0) \end{bmatrix}, r(0)=r_x^2-E^2{x(n)}=r_x^2=1 AN=[a1a2],RN+1=r(0)r(1)r(2)r(1)r(0)r(1)r(2)r(1)r(0),r(0)=rx2E2x(n)=rx2=1

​ 将a1=0.1,a2=−0.8a_1=0.1,a_2=-0.8a1=0.1,a2=0.8代入上式,可得r(1)=−0.5,r(2)=0.85,σv2=0.27r(1)=-0.5,r(2)=0.85, \sigma _v^2=0.27r(1)=0.5,r(2)=0.85,σv2=0.27。将参数带入x(n)x(n)x(n),实现图如下所示
在这里插入图片描述

b)由a)里面知道,
Rx=[r(0)r(1)r(1)r(0)]=[1−0.5−0.51] R_x=\begin{bmatrix} r(0) & r(1)\\ r(1) & r(0) \end{bmatrix} =\begin{bmatrix} 1 & -0.5\\ -0.5 & 1 \end{bmatrix} Rx=[r(0)r(1)r(1)r(0)]=[10.50.51]
​ 利用matlab可以得到 的两个特征值为 $\lambda_1=0.5 $ $\lambda_2=1.5 $。那么 a1a_1a1a2a_2a2 对应的迭代曲线的理论的时间常数分别为τ1=1/δλ1=13.3,τ2=1/δλ2=40\tau_1=1/ \delta \lambda_1 = 13.3,\tau_2=1/ \delta \lambda_2 = 40τ1=1/δλ1=13.3,τ2=1/δλ2=40
a1=-0.1014 (第500点的值)
a2=1.0034 (第500点的值)

利用LMS算法
{e(n+1)=x(n+1)−WT(n)X(n)W(n+1)=W(n)+δe(n+1)X(n),H(n)=[h0(n)h1(n)],X(n)=[x(n)x(n−1)] \begin{cases} e(n+1)=x(n+1)-W^T(n)X(n)\\ W(n+1)=W(n)+\delta e(n+1)X(n) \end{cases}, H(n)=\begin{bmatrix} h_0(n)\\ h_1(n) \end{bmatrix}, X(n)=\begin{bmatrix} x(n)\\ x(n-1) \end{bmatrix} {e(n+1)=x(n+1)WT(n)X(n)W(n+1)=W(n)+δe(n+1)X(n)H(n)=[h0(n)h1(n)],X(n)=[x(n)x(n1)]

其中 δ=0.05\delta=0.05δ=0.05

100实验后取平均如图:

在这里插入图片描述

实际均值收敛时间常数可以根据时间常数的定义,从h0和h1曲线中取两个点计算时间常数。观测上图在 [0,10] 这一段曲线比较光滑,所以我们取第5点和第10点。a(∞)=[−0.07598,0.7414]′a(\infty)=[-0.07598,0.7414]'a()=[0.07598,0.7414] 。因此根据公式
a(t1)−a(∞)=e−t1−t2τˊ[a(t2)−a(∞)] a(t1)-a(\infty )=e^{-\frac{t1-t2}{\acute{\tau}}}[a(t2)-a(\infty)] a(t1)a()=eτˊt1t2[a(t2)a()]

τ1ˊ=18,τ2ˊ=35.58\acute{\tau _1}=18,\acute{\tau _2}=35.58τ1ˊ=18,τ2ˊ=35.58

c)$f(n), \varepsilon _1(n), \varepsilon_2(n) $的功率谱见图。
在这里插入图片描述

从图中可以看出a1(n),a2(n)a1(n),a2(n)a1(n),a2(n)具有低通特性,f(n)f(n)f(n)具有白噪声特性。由于权系数最终会收敛到LMS的最优值,因此 f(n)f(n)f(n) 会趋于 v(n)v(n)v(n),具有白噪声特性。
E[αk(n)]=(1−δλk)nE[αk(0)]E[\alpha _k(n)]=(1-\delta \lambda _k)^nE[\alpha _k(0)]E[αk(n)]=(1δλk)nE[αk(0)],系数将很快收敛到最优值a1和a2。由上式做DTFT
S(w)=E[αk(0)]1−(1−δλk)e−jw,∣S(w)∣2=E2[αk(0)]1+(1−δλk)2−2(1−δλk)cos(w) S(w)=\frac{E[\alpha_k(0)]}{1-(1-\delta \lambda_k)e^{-jw}},|S(w)|^2=\frac{E^2[\alpha_k(0)]}{1+(1-\delta \lambda_k)^2-2(1-\delta\lambda_k)cos(w)} S(w)=1(1δλk)ejwE[αk(0)],S(w)2=1+(1δλk)22(1δλk)cos(w)E2[αk(0)]

上式具有低通特性, 即 E[αk(n)]E[\alpha_k(n)]E[αk(n)] 具有低通特性,由α(n)=QT[H(n)−Hopt]\alpha(n)=Q^T[H(n)-H_{opt}]α(n)=QT[H(n)Hopt]可知,α(n)\alpha(n)α(n)
hi(n)h_i(n)hi(n)的线性组合,因此 hi(n)h_i(n)hi(n) 具有低通特性,从而ε1(n)\varepsilon_1(n)ε1(n)ε2(n)\varepsilon_2(n)ε2(n)具有低通特性

d)最陡下降法和LMS算法算法的均方误差曲线如图
在这里插入图片描述

由LMS算法性能分析可得,理论上均方收敛的时间为
τe=12δλ‾=12×0.05×1=10 \tau_e=\frac{1}{2\delta\overline\lambda}=\frac{1}{2\times0.05\times1}=10 τe=2δλ1=2×0.05×11=10

均方收敛后的误差为:J(∞)=Jmin(1+δ2Nσx2)J(\infty)=J_{min}(1+\frac{\delta}{2}N\sigma_x^2)J(=Jmin(1+2δNσx2)
Jmin=R−HoptTryxJ_{min}=R-H^T_{opt}r_{yx}Jmin=RHoptTryx, Hopt=Rxx−1ryxH_{opt}=R_{xx}^{-1}r_{yx}Hopt=Rxx1ryx, Rxx=[rx(0)rx(1)rx(1)rx(0)]R_{xx}=\begin{bmatrix}r_x(0)&r_x(1)\\ r_x(1)& r_x(0)\end{bmatrix}Rxx=[rx(0)rx(1)rx(1)rx(0)], ryx=[rx(1)rx(2)])r_{yx}=\begin{bmatrix} r_x(1) \\ r_x(2) \end{bmatrix})ryx=[rx(1)rx(2)]), N=2, σx2=rx(0)\sigma_x^2=r_x(0)σx2=rx(0)
代入上式,得到理论上最小均方差Jmin=0.2700J_{min}=0.2700Jmin=0.2700均方收敛误差为:J(∞)=0.2842J(\infty)=0.2842J()=0.2842

​ 实验中,J(∞)J(\infty)J()的波动还是很大,取收敛的几百个点取平均,近似求得:$J(\infty)=0.2891在上图的曲线中取,91 在上图的曲线中取 ,91线J(15)=0.5197, J(47)=0.2955, J(\infty)=0.2833$, 由公式 J(15)−J(∞)=e−15−47τ[J(47)−J(∞)]J(15)-J(\infty)= e^{-\frac{15-47}{\tau}}[J(47)-J(\infty)]J(15)J()=eτ1547[J(47)J()],可得τ≈10\tau \approx 10τ10

​ 综上所述,实验所得的均方收敛时间和均方收敛误差和理论值基本吻合。由于超量误差Jex≈J(∞)−JminJ_{ex}\approx J(\infty)-J_{min}JexJ()Jmin ,而 Jmin=0.2700J_{min}=0.2700Jmin=0.2700,因此可得理论上的超量误差为 Jex≈0.0142J_{ex}\approx0.0142Jex0.0142 ,实验中的超量误差为 Jex=0.0191J_{ex}=0.0191Jex=0.0191


x1(n)x_1(n)x1(n) 自相关函数为:
Rx1(k)=E[x1(n)x1(n−k)]=E{sin(0.05πn+φ)sin[0.05π(n−k)+φ]}=−0.5×E{cos[0.05π(2n−k)+2φ]−cos(0.05πk)}=0.5cos(0.05πk) \begin{aligned} R_{x_1}(k)&=E[x_1(n)x_1(n-k)]\\ &=E\{sin(0.05\pi n+\varphi)sin[0.05\pi(n-k)+\varphi] \}\\ &=-0.5\times E\{cos[0.05\pi(2n-k)+2\varphi] -cos(0.05\pi k) \}\\ &=0.5cos(0.05\pi k) \end{aligned} Rx1(k)=E[x1(n)x1(nk)]=E{sin(0.05πn+φ)sin[0.05π(nk)+φ]}=0.5×E{cos[0.05π(2nk)+2φ]cos(0.05πk)}=0.5cos(0.05πk)
x2(n)x_2(n)x2(n) 自相关函数为:
Rx2(m)={6m=04m=11m=20m≥3 R_{x_2}(m)=\begin{cases} 6 & m=0\\ 4 & m =1\\ 1 & m = 2\\ 0 & m \geq 3 \end{cases} Rx2(m)=6410m=0m=1m=2m3

​ 如图所示:
在这里插入图片描述

由上图可见,当延时 D>3D>3D>3 时,就可以保证LMS滤波器参考信号中的宽带信号成分与
输入信号中的宽带信号成分不相关,而两者中的窄带信号成分仍然保持一定的相关性,因
此通过LMS滤波后能够有效地起到谱线增强的作用。

​ 考虑到噪声功率比信号功率强太多,取滤波器阶数高,步长短。 滤波器长度选N=400 , σ\sigmaσ 取0.000002。

在这里插入图片描述
在这里插入图片描述

如上图所示:可以较好的恢复原有的信号。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值