Wiener filtering

I’m a little puzzled by this, but I’m writing it up for posterity. Suppose X is a zero-mean, (wide-sense circular) stationary random vector in \mathbb{R}^N. Stationary meaning that the entries in the autocovariance matrix depend only on the difference between the indices, i.e. \mathbb{E}X_nX_m = r[n-m \mod N] for some vector r, called the autocorrelation. Then the power spectrum P_X is defined to be the DFT of the autocorrelation. If we consider a fixed vector g \in \mathbb{R}^N, then the (circular) convolution product of g and X is given by (g\star X)[n] = \sum_{j=0}^{N-1} X[j]g[n-j \mod N], and we have that g\star X is again zero-mean and stationary, with P_{g\star X}[\omega] = P_X[\omega] |\hat{h}[\omega]|^2.

All of which is just a setup for the main problem. Suppose we observe Y = X +W where X is our random signal of interest and W is independent noise, both of which we take WLOG to be zero-mean. We’d like to estimate X linearly from Y. Specifically, we look for a vector g which minimizes \mathbb{E}\|g\star Y – X \|^2. Since independence of W and X carries through when we filter W with g, we can expand the expected MSE error into \mathbb{E}\|X\|^2 + \mathbb{E}\|g\star X\|^2 + \mathbb{E}\|g\star W\|^2 – 2E\langle X, g\star X \rangle.

If we assume X and W are both stationary processes, we can use Parseval’s theorem to show that \mathbb{E}\langle X, g\star X\rangle = 1/N \mathbb{E} \langle \hat{X}, \hat{X} \cdot \hat{g} \rangle = \mathbb{E} \langle P_X, \hat{g} \rangle. In particular, by letting g be the dirac vector, we find \mathbb{E} \|X\|^2 = \sum_{\omega=0}^{N-1} P_X[\omega]. Plugging in these relations, we find that the MSE error is \sum_{\omega=0}^{N-1} |\hat{g}[\omega]|^2(P_X[\omega] + P_W[\omega]) – 2P_X[\omega]\overline{\hat{g}[\omega]} + P_X[\omega].

The question now is to find g which minimizes the MSE error. If we were naive about it, we could ignore the fact that the sum above is one of complex quantities, and differentiate the quadratic form w.r.t. g[\omega] for each \omega and set the result to zero, getting \hat{g}[\omega] = P_X[\omega]/(P_X[\omega] + P_W[\omega]). This relation for the Fourier coefficients of \hat{g} could then be used to calculate g.

My problem with this, which seems to be the usual way of defining the Wiener filter, is two-fold. First, I think there should be a phase factor included in the definition of \hat{g}[\omega] to be sure that g is real– to be sure, there’s nothing wrong with estimating a real quality with a complex one, but why not make g\star Y real if you can? More seriously, I’m not sure the differentiation-to-minimize argument carries over to the complex case (|z|^2, for example, is not differentiable).

Possibly relevant posts:

Feb 17th, 2009 | Posted in Mathematics
Tags:
  1. Torus
    Feb 17th, 2009 at 15:05 | #1

    You forgot to take the real part. The actual formula is ||v+w||^2=||v||^2+||w||^2+2Re(v,w). And it’s clear that if you want to minimize, the imaginary part just contributes to L^2 norm without doing anything.

  2. Your TA
    Feb 19th, 2009 at 12:41 | #2
  3. Feb 19th, 2009 at 15:39 | #3

    Thanks Torus and “TA”. I’ll go back and fix the post at some point in the future.

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">
CommentLuv Enabled