Wiener Filtering

Signals, Systems and Inference, Chapter 11: Wiener Filtering (mit.edu)

基本

在图像处理的时候, 遇到了这个维纳滤波, 其推导的公式不是很理解, 于是上网查了查, 并做个简单的总结.

符号说明
x [ k ] ] x[k]] x[k]]观测信号 x x x的第k个元素
y ^ \hat{y} y^ y y y的一个估计
v v v噪声信号
e [ k ] e[k] e[k]误差, 为 e [ k ] = y ^ [ k ] − y [ k ] e[k]=\hat{y}[k] - y[k] e[k]=y^[k]y[k]
R x y ( i , j ) R_{xy}(i, j) Rxy(i,j)相关系数: E { x [ n − i ] y [ n − j ] } E\{x[n-i]y[n-j]\} E{x[ni]y[nj]}
S x y S_{xy} Sxy傅里叶变换: F { R x y } \mathcal{F} \{R_{xy}\} F{Rxy}

基本的假设:

y [ k ] y[k] y[k]服从wide-sense stationary (WSS), 即

  1. E [ y [ k ] ] = E [ y [ 0 ] ] E[y[k]] = E[y[0]] E[y[k]]=E[y[0]];
  2. R y y ( i , j ) = R y y [ j − i ] R_{yy}(i, j) = R_{yy}[j-i] Ryy(i,j)=Ryy[ji].

维纳滤波可以应用于很多场景, 但是这里只讨论下面的去噪的情形:
x [ n ] = y [ n ] + v [ n ] , x[n] = y[n] + v[n], x[n]=y[n]+v[n],
且假设 y , v y, v y,v之间相互独立, E [ v ] = 0 E[v]=0 E[v]=0.

我们的目标是找到一个滤波 h h h, 得到一个估计
y ^ [ n ] = h ⋆ x [ n ] , \hat{y}[n] = h\star x [n], y^[n]=hx[n],
使得下式最小
E [ e 2 [ n ] ] . E[e^2[n]]. E[e2[n]].

维纳滤波需要分情况讨论, 这里只关注离散的情形, 包括

  1. non-causal: y ^ [ n ] = ∑ k = − ∞ + ∞ h [ k ] y [ n − k ] \hat{y}[n] = \sum_{k=-\infty}^{+\infty} h[k]y[n-k] y^[n]=k=+h[k]y[nk];
  2. FIR: y ^ [ n ] = ∑ k = 0 N − 1 h [ k ] y [ n − k ] \hat{y}[n] = \sum_{k=0}^{N-1} h[k]y[n-k] y^[n]=k=0N1h[k]y[nk].

causal的情况这里就不写了.

滤波的推导

自然地, 寻找驻点:
∂ E [ e 2 [ n ] ] ∂ h [ m ] = 2 E [ e [ n ] ∂ e [ n ] ∂ h [ m ] ] = 2 E [ e [ n ] x [ n − m ] ] = 2 ( h ⋆ R x x [ m ] − R y x [ m ] ) = 0. \begin{array}{ll} \frac{\partial E[e^2[n]]}{\partial h[m]} &=2E[e[n]\frac{\partial e[n]}{\partial h[m]}] \\ &=2E[e[n]x[n-m]] \\ &=2(h\star R_{xx}[m] -R_{yx}[m]) \\ &=0. \end{array} h[m]E[e2[n]]=2E[e[n]h[m]e[n]]=2E[e[n]x[nm]]=2(hRxx[m]Ryx[m])=0.
于是必须满足
h ⋆ R x x [ m ] = R y x [ m ] . (1) \tag{1} h \star R_{xx}[m] = R_{yx}[m]. hRxx[m]=Ryx[m].(1)
相应的在频率域内存在(假设DFT存在, 参考文献用的z变换, 这个不是特别了解):
H [ u ] S x x [ u ] = S y x [ u ] . (2) \tag{2} H[u] S_{xx}[u] = S_{yx}[u]. H[u]Sxx[u]=Syx[u].(2)

在FIR情况下, 可以通过(1)推导出一个线性方程组从而求解, non-causal下可用(2)推导出结果.

注: H [ u ] H[u] H[u]用了[]是为了保持一致, 在non-causal情况下 H ( z ) H(z) H(z)可能更加妥当.

故最优解为:
H = S y x / S x x . (*) \tag{*} H = S_{yx} / S_{xx}. H=Syx/Sxx.(*)

特别的情况

进一步, 由于
S x x = F { R x x } = F { E [ ( y [ n ] + v [ n ] ) ( y [ n − m ] + v [ n − m ] ) ] } = S y y + S v v , S_{xx} = \mathcal{F}\{R_{xx}\} = \mathcal{F}\{E[(y[n]+v[n])(y[n-m]+v[n-m])]\} =S_{yy} + S_{vv}, Sxx=F{Rxx}=F{E[(y[n]+v[n])(y[nm]+v[nm])]}=Syy+Svv,
最后一步成立的原因是 E v = 0 E{v}=0 Ev=0, 且 v , y v, y v,y相互独立.
同时
S y y = S y x . S_{yy} = S_{yx}. Syy=Syx.
所以:
H = S y y S y y + S v v . (3) \tag{3} H = \frac{S_{yy}}{S_{yy} + S_{vv}}. H=Syy+SvvSyy.(3)

特别的例子

在图像数字处理中, 给出的这样的情形(FIR):
x [ n ] = g ⋆ y [ n ] + v [ n ] , x[n] = g \star y [n] + v[n], x[n]=gy[n]+v[n],
r [ n ] = g ⋆ y [ n ] r[n] = g \star y [n] r[n]=gy[n],

S r r [ u ] = F { R r r [ m ] } [ u ] = F { E [ r [ n ] r [ n − m ] ] } [ u ] = E [ r [ n ] F { r [ n − m ] } ] [ u ] = E [ r [ n ] G [ − u ] Y [ − u ] e − j 2 π n u / N ] = G [ − u ] E [ r [ n ] Y [ − u ] e − j 2 π n u / N ] = G [ − u ] F { R r y [ m ] } [ u ] = G [ − u ] F { E [ r [ n + m ] y [ n ] ] } [ u ] = G [ − u ] E [ F { r [ n + m ] } [ u ] y [ n ] ] = G [ − u ] E [ G [ u ] Y [ u ] e − j 2 π n u / N y [ n ] ] = G [ − u ] G [ u ] F { R y y [ m ] } [ u ] = G [ − u ] G [ u ] S y y [ u ] \begin{aligned} S_{rr}[u] &= \mathcal{F}\{R_{rr}[m]\}[u] \\ &= \mathcal{F}\{E[r[n] r[n-m]]\}[u] \\ &= E[r[n] \mathcal{F}\{r[n-m]\}][u] \\ &= E[r[n] G[-u] Y[-u] e^{-j2\pi nu/N}] \\ &= G[-u] E[r[n]Y[-u] e^{-j2\pi nu/N}] \\ &= G[-u] \mathcal{F}\{R_{ry}[m]\}[u] \\ &= G[-u] \mathcal{F}\{E[r[n+m]y[n]]\}[u] \\ &= G[-u] E[\mathcal{F}\{r[n+m]\}[u]y[n]] \\ &= G[-u] E[G[u]Y[u]e^{-j2\pi nu/N}y[n]] \\ &= G[-u]G[u] \mathcal{F}\{R_{yy}[m]\}[u] \\ &= G[-u]G[u] S_{yy}[u] \end{aligned} Srr[u]=F{Rrr[m]}[u]=F{E[r[n]r[nm]]}[u]=E[r[n]F{r[nm]}][u]=E[r[n]G[u]Y[u]ej2πnu/N]=G[u]E[r[n]Y[u]ej2πnu/N]=G[u]F{Rry[m]}[u]=G[u]F{E[r[n+m]y[n]]}[u]=G[u]E[F{r[n+m]}[u]y[n]]=G[u]E[G[u]Y[u]ej2πnu/Ny[n]]=G[u]G[u]F{Ryy[m]}[u]=G[u]G[u]Syy[u]

由于
S y x = S y r = G [ − u ] S y y [ u ] , S_{yx} = S_{yr} = G[-u]S_{yy}[u], Syx=Syr=G[u]Syy[u],
证明和上面是类似的,
S x x = S r r + S v v , S_{xx} = S_{rr} + S_{vv}, Sxx=Srr+Svv,

于是
H [ u ] = 1 G [ u ] 1 1 + S v v [ u ] / ( G [ − u ] G [ u ] S y y [ u ] ) . H[u] = \frac{1}{G[u]}\frac{1}{1 + S_{vv}[u] / (G[-u]G[u]S_{yy}[u])}. H[u]=G[u]11+Svv[u]/(G[u]G[u]Syy[u])1.

g g g为实的时候, 有 G [ − u ] G [ u ] = ∣ G [ u ] ∣ 2 G[-u]G[u]=|G[u]|^2 G[u]G[u]=G[u]2, 在数字图像处理书中, 给出的公式中:
S y y [ u ] = ∣ F [ u ] ∣ 2 , S v v [ u ] = ∣ V [ u ] ∣ 2 , S_{yy}[u] = |F[u]|^2, S_{vv}[u] = |V[u]|^2, Syy[u]=F[u]2,Svv[u]=V[u]2,
个人觉得是这里的期望 E E E
R y y [ m ] = ∑ n = 0 N − 1 y [ n ] y [ n − m ] , R_{yy}[m] = \sum_{n=0}^{N-1} y[n]y[n-m], Ryy[m]=n=0N1y[n]y[nm],
代替了,
所以
F { R y y [ m ] } = F ∗ ( u ) F ( u ) = ∣ F ( u ) ∣ 2 , \mathcal{F}\{R_{yy}[m]\} = F^*(u)F(u) = |F(u)|^2, F{Ryy[m]}=F(u)F(u)=F(u)2,
这里假设 y [ n ] ∈ R y[n] \in \mathbb{R} y[n]R.

S v v [ u ] S_{vv}[u] Svv[u]也是类似的.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值