# How Is the Formula for the Wiener Deconvolution Derived?

Wikipedia - Wiener Deconvolution shows this formula: $$\ G(f) = \frac{H^*(f)S(f)}{ |H(f)|^2 S(f) + N(f) }$$

Could someone explain the derivation?
Specifically, where does the squaring ($$|H(f)|^2$$) come from?

• What exactly is unclear in the "Derivation" section on the same wikipedia page?
– jan
Oct 21, 2013 at 11:51
• @DanSkep, Any chance you review my answer and mark it or say what's missing?
– Royi
Mar 13 at 11:44

The Wiener Filter can also be derived by another (Easier) way.

Let's assume the following model:

$$y = h \ast x + n$$

Namely the data is a result of a linear combination (Convolution) of $x$ with Additive Noise.

If we assume the noise model is Gaussian and our data is also formed by a Gaussian distribution then we should try to minimize (MAP Estimator):

$$\hat{x} = \frac{1}{2 {\sigma}_{n}^{2}} \left\| h \ast x - y \right\|_{2}^{2} + \frac{1}{ 2 {\sigma}_{x}^{2} } \left\| x \right\|_{2}^{2}$$

Since the convolution is Linear Operation and assuming we in finite dimension then it can be rewritten as:

$$\hat{x} = \frac{1}{2} \left\| H x - y \right\|_{2}^{2} + \frac{{\sigma}_{n}^{2}}{ 2 {\sigma}_{x}^{2} } \left\| x \right\|_{2}^{2}$$

This is just a Tikhonov Regulaized Least Squares with the solution given by:

$$\hat{x} = \left( {H}^{T} H + \frac{{\sigma}_{n}^{2}}{{\sigma}_{x}^{2}} I \right)^{-1} {H}^{T} y$$

Now, if we use the discrete form of the circular convolution then $H$ is a circulant matrix which means all can be solved in the Frequency Domain which results in the same equation as above.

• Did you assume a Gaussian prior for $x$? I am not sure how the Gaussian-noise assumption is related to MAP estimate? Jul 18 at 20:29
• @rando, The fidelity term is about the noise, The regularization is about the prior (MAP).
– Royi
Jul 19 at 6:00

As Jan pointed out, the wikipedia article very lucidly explains the derivation of the weiner filter. The goal of the weiner filter is to reduce the mean of the error in prediction. Hence, you would do the same. Write down the estimate of the error and then differentiate it with respect to G(f) to obtain the optimum G(f)