Adaptive Filter Learning Notes 自适应滤波学习笔记06 Wiener滤波

本文是自适应滤波学习笔记的一部分,主要介绍了Wiener滤波的概念和应用。通过已知输入和输出,利用Wiener-Hope方程求解滤波器系数,以最小化误差平方和。讨论了线性最佳滤波问题、正交原则、最小均方误差,并对FIR情况、多线性回归模型以及带线性限制的最小方差滤波进行了详细阐述。
摘要由CSDN通过智能技术生成

这是一个学习笔记系列。为督促自己看书,尽量更新。但同时也在学其他东西,也不知道能不能实现。少玩耍,多读书。

应该会慢慢改进,会慢慢补充每一个部分的笔记。

啥是Wiener滤波,就是已知输入 u ( n ) u(n) u(n),输出 d ( n ) d(n) d(n),假设模型是 y ( n ) = ∑ k = 0 M − 1 或 ∞ w k ∗ u ( n − k ) y(n)=\sum_{k=0}^{M-1或\infty}w_{k}^*u(n-k) y(n)=k=0M1wku(nk)然后最小化 d ( n ) − y ( n ) d(n)-y(n) d(n)y(n)的方差求得 w k w_k wk得到的滤波。

线性最佳滤波问题(Linear optimum filtering)

考虑这样一个问题,有一个黑盒,我们知道输入 u ( n ) u(n) u(n),知道输出 d ( n ) d(n) d(n),现在我们希望用一个离散时间的线性滤波器来拟合这个黑盒。假设这个线性滤波器的脉冲响应是 w 0 , w 1 , w 2 . … w_0,w_1,w_2.\dots w0,w1,w2.那么对这个线性滤波器输入 { u ( n ) } \{u(n)\} { u(n)}能得到输出 y ( n ) y(n) y(n)。对比这个输出和我们想要的输出 d ( n ) d(n) d(n),我们可以定义估计误差(estimation error) e ( n ) = d ( n ) − y ( n ) e(n)=d(n)-y(n) e(n)=d(n)y(n)。我们想要做的就是让估计误差在一些统计意义上尽可能小。

对应我们想要做的问题,有两点需要确定:

  1. 线性滤波器的脉冲响应是有限的(FIR)还是无限的(IIR)?
  2. “统计意义”该怎么选?

对于第一个问题,出于稳定性的考虑(以及IIR太难了),一般选择有限的情况。对于第二个问题就有很多选择了,例如 E [ ∣ e ( n ) ∣ 2 ] \mathbb{E}[|e(n)|^2] E[e(n)2] E [ ∣ e ( n ) ∣ ] \mathbb{E}[|e(n)|] E[e(n)] E [ ∣ e ( n ) ∣ k ] \mathbb{E}[|e(n)|^k] E[e(n)k],而相比后两种,第一种在数学上更好处理,所以我们在这里选择第一种。

正交原则(Principle of orthogonality)

u ( n ) u(n) u(n) d ( n ) d(n) d(n)都是广义平稳过程,且均值为0。 y ( n ) = ∑ k = 0 ∞ w k ∗ u ( n − k ) , n = 0 , 1 , 2 , … y(n)=\sum_{k=0}^{\infty}w_k^*u(n-k),\quad n=0,1,2,\dots y(n)=k=0wku(nk),n=0,1,2, e ( n ) = d ( n ) − y ( n ) e(n)=d(n)-y(n) e(n)=d(n)y(n) 代价函数为 J = E [ ∣ e ( n ) ∣ 2 ] . J=\mathbb{E}[|e(n)|^2]. J=E[e(n)2].
因为考虑的是复值的情况,所以假设 w k = a k + j b k w_k=a_k+\mathrm{j}b_k wk=ak+jbk,令 ∇ k = ∂ ∂ a k + j ∂ ∂ b k , k = 0 , 1 , 2 , … \nabla_k=\frac{\partial}{\partial a_k}+\mathrm{j}\frac{\partial}{\partial b_k},\quad k=0,1,2,\dots k=ak+jbk,k=0,1,2, 那么 ∇ J = [ ∇ 1 J , ∇ 2 J , …   ] \nabla J=[\nabla_ 1 J, \nabla_2 J,\dots] J=[1J,2J,]
对于代价函数,我们首先希望找到它的平衡点, ∇ k J = 0 , k = 0 , 1 , 2 , … \nabla_k J=0,\quad k=0,1,2,\dots kJ=0,k=0,1,2,
∇ k J = E [ ∂ e ( n ) ∂ a k e ∗ ( n ) + ∂ e ∗ ( n ) ∂ a k e ( n ) + ∂ e ( n ) ∂ b k j e ∗ ( n ) + ∂ e ∗ ( n ) ∂ b k j e ( n ) ] = E [ − u ( n − k ) e ∗ ( n ) − u ∗ ( n − k ) e ( n ) − u ( n − k ) e ∗ ( n ) + u ∗ ( n − k ) e ( n ) ] = − 2 E [ u ( n − k ) e ∗ ( n ) ] . \begin{aligned} \nabla_k J&=\mathbb{E}\left[\frac{\partial e(n)}{\partial a_k}e^*(n)+\frac{\partial e^*(n)}{\partial a_k}e(n)+\frac{\partial e(n)}{\partial b_k}\mathrm{j}e^*(n)+\frac{\partial e^*(n)}{\partial b_k}\mathrm{j}e(n)\right]\\ &=\mathbb{E}\left[-u(n-k)e^*(n)-u^*(n-k)e(n)-u(n-k)e^*(n)+u^*(n-k)e(n)\right]\\ &=-2\mathbb{E}[u(n-k)e^*(n)]. \end{aligned} kJ=E[ake(n)e(n)+ake(n)e(n)+bke(n)je(n)+bke(n)je(n)]=E[u(nk)e(n)u(nk)e(n)u(nk)e(n)+u(nk)e(n)]=2E[u(nk)e(n)].所以我们希望得到 E [ u ( n − k ) e o ∗ ( n ) ] = 0 , k = 0 , 1 , 2 , … \mathbb{E}[u(n-k)e_o^*(n)]=0,\quad k=0,1,2,\dots E[u(nk)eo(n)]=0,k=0,1,2, 这就是正交原则。由 y ( n ) y(n) y(n) u ( n ) u(n) u(n)的关系可以得到 E [ y 0 ( n ) e ∗ ( n ) ] = 0 \mathbb{E}[y_0(n)e^*(n)]=0 E[y0(n)e(n)]=0。引入记号 d ^ ( n ∣ U n ) = y o ( n ) \hat{d}(n|\mathscr{U}_n)=y_o(n) d^(nUn)=yo(n) U n \mathscr{U}_n Un表示输入信号截至到 n n n所张成的空间。

最小均方误差

e o = d ( n

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值