信号处理 | 维纳滤波推导
首先給出互相關函數定義:
rsx(m)=E[s(n)x(n?m)]r_{sx}(m)=E[s(n)x(n-m)] rsx?(m)=E[s(n)x(n?m)]
以及自相關矩陣定義:
Rxx(i,j)=E[x(n?i)x(n?j)]R_{xx}(i,j)=E[x(n-i)x(n-j)] Rxx?(i,j)=E[x(n?i)x(n?j)]
開始推,令信號模型為:
s^(n)=h(n)?(s(n)+v(n))=h(n)?x(n)=∑i=0Mh(i)x(n?i)\begin{aligned} \hat s(n)&=h(n)*(s(n)+v(n))\\ &=h(n)*x(n)\\ &=\sum_{i=0}^M h(i)x(n-i) \end{aligned} s^(n)?=h(n)?(s(n)+v(n))=h(n)?x(n)=i=0∑M?h(i)x(n?i)?
其中: h=[h(0),h(1),?,h(M)]Th=[h(0),h(1),\cdots,h(M)]^Th=[h(0),h(1),?,h(M)]T為濾波器系數,MMM為濾波器階數
誤差定義為:
e(n)=s(n)?s^(n)e(n)=s(n)-\hat s(n) e(n)=s(n)?s^(n)
采用最小均方誤差準則,均方誤差定義為:
E[e(n)2]=E[(s(n)?s^(n))2]=E[(s(n)?h(n)?x(n))2]=E[s(n)2]?2E[s(n)∑i=0Mh(i)x(n?i)]+E[(∑i=0Mh(i)x(n?i))2]\begin{aligned} E[e(n)^2]&=E[(s(n)-\hat s(n))^2]=E[(s(n)-h(n)*x(n))^2]\\ &=E[s(n)^2]-2E[s(n)\sum_{i=0}^M h(i)x(n-i)]+E[(\sum_{i=0}^M h(i)x(n-i))^2]\\ \end{aligned} E[e(n)2]?=E[(s(n)?s^(n))2]=E[(s(n)?h(n)?x(n))2]=E[s(n)2]?2E[s(n)i=0∑M?h(i)x(n?i)]+E[(i=0∑M?h(i)x(n?i))2]?
其中:
E[s(n)∑i=0Mh(i)x(n?i)]=E[∑i=0Mh(i)s(n)x(n?i)]=∑i=0Mh(i)E[s(n)x(n?i)]=∑i=0Mh(i)rsx(i)=hTrsx\begin{aligned} E[s(n)\sum_{i=0}^M h(i)x(n-i)]&=E[\sum_{i=0}^M h(i)s(n)x(n-i)]\\ &=\sum_{i=0}^M h(i)E[s(n)x(n-i)]\\ &=\sum_{i=0}^Mh(i)r_{sx}(i)\\ &=h^Tr_{sx} \end{aligned} E[s(n)i=0∑M?h(i)x(n?i)]?=E[i=0∑M?h(i)s(n)x(n?i)]=i=0∑M?h(i)E[s(n)x(n?i)]=i=0∑M?h(i)rsx?(i)=hTrsx??
E[(∑i=0Mh(i)x(n?i))2]=E[∑i=0M∑j=0Mh(i)h(j)x(n?i)x(n?j)]=∑i=0M∑j=0Mh(i)h(j)E[x(n?i)x(n?j)]=∑i=0M∑j=0Mh(i)h(j)Rxx(i,j)=hTRxxh\begin{aligned} E[(\sum_{i=0}^M h(i)x(n-i))^2]&=E[\sum_{i=0}^M\sum_{j=0}^Mh(i)h(j)x(n-i)x(n-j)]\\ &=\sum_{i=0}^M\sum_{j=0}^Mh(i)h(j)E[x(n-i)x(n-j)]\\ &=\sum_{i=0}^M\sum_{j=0}^Mh(i)h(j)R_{xx}(i,j)\\ &=h^TR_{xx}h \end{aligned} E[(i=0∑M?h(i)x(n?i))2]?=E[i=0∑M?j=0∑M?h(i)h(j)x(n?i)x(n?j)]=i=0∑M?j=0∑M?h(i)h(j)E[x(n?i)x(n?j)]=i=0∑M?j=0∑M?h(i)h(j)Rxx?(i,j)=hTRxx?h?
所以均方誤差可以表示為:
E[e(n)2]=E[s(n)2]?2E[s(n)∑i=0Mh(i)x(n?i)]+E[(∑i=0Mh(i)x(n?i))2]=E[s(n)2]?2hTrsx+hTRxxh\begin{aligned} E[e(n)^2]&=E[s(n)^2]-2E[s(n)\sum_{i=0}^M h(i)x(n-i)]+E[(\sum_{i=0}^M h(i)x(n-i))^2]\\ &=E[s(n)^2]-2h^Tr_{sx}+h^TR_{xx}h \end{aligned} E[e(n)2]?=E[s(n)2]?2E[s(n)i=0∑M?h(i)x(n?i)]+E[(i=0∑M?h(i)x(n?i))2]=E[s(n)2]?2hTrsx?+hTRxx?h?
兩邊對hhh求導,并令導數為0,得到:
?E[e(n)2]?h=?2rsx+2Rxxh=0\frac{\partial E[e(n)^2]}{\partial h}=-2r_{sx}+2R_{xx}h=0 ?h?E[e(n)2]?=?2rsx?+2Rxx?h=0
RxxR_{xx}Rxx?可逆,解得:
h=Rxx?1rsxh=R_{xx}^{-1}r_{sx} h=Rxx?1?rsx?
總結
以上是生活随笔為你收集整理的信号处理 | 维纳滤波推导的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Cadence17.2版本原理图绘制
- 下一篇: SkyLine简介