# When and how does one use a Wiener filter?

I'm trying to get some insight in this topic. As far as I understand, a determined signal enters a Wiener filter and the output is an estimate of some desired signal. Then, one can substract the desired signal to the output of the filter and calculate the estimation error. This diagram would represent what I just described above, where $$x(n) = \hat{s}(n)$$, the estimate of the desired signal $$s(n)$$, and $$w(n)$$ is some signal that has some correlation with $$s(n)$$:

I don't understand why I would try to estimate $$s(n)$$ if I already have it (I wouldn't be able to calculate the error $$e(n)$$ if I didn't have the desired signal).

The next diagram makes a bit more sense to me:

It would be a standard noise-reduction filter. A noisy signal comes in, a less-noisy one comes out.

There is a third case I found:

Here, one estimates the noise $$v(n)$$ to subtract it from a noisy signal $$s(n)+v(n)$$ and get a cleaner version of it, $$\hat{s}(n)$$. In this case, I have the same question as in the first one: why would I estimate the noise to subtract it from $$s(n)+v(n)$$ if I already have to know what the noise signal is in order to put it at the input of the filter?

So, in summary, I want to know if all of these cases are of use, and if they are equivalent in some sense. Also, I want to understand why they always estimate a signal that is already known, or if they don't do that and I'm not thinking correctly.

• Kailath and Sayeed, Linear Estimation is in my opinion has the clearest, not simplest derivation of Weiner Filtering in a number of domains. You are correct in that most cases, you have to know more about the signal and noise to actually use it which seems like knowing the answer to solve the problem, but many adaptive algorithms are based on learning the unknowns for the optimal filter. My main observation of the way you posed the question is that the signal is random, not deterministic. – user28715 Jul 21 '17 at 15:21
• I think that the first and third diagram in your question are used to derive the filter coefficients, not to actually use it. So, you assume certain random stationary signals with known statistics, and you find the filter that minimizes the error. Then you go on and use the filter, and you hope the actual (unknown) error is still being minimized. – MBaz Jul 21 '17 at 15:24
• In wireless communications, one often wants to figure out the equalization filter adaptively. In this case, many transmissions start with a known training sequence, so the "truth" is known. Because both transmitter and receiver know this sequence, it can be used to figure out the best filter to undo (linear) distortions on the received signal. Once the un-distorting filter is estimated, it can be applied to the rest of the signal, which we won't know. The hope is that the same distortion persists, so we can partially undo it for the unknown signal. – Peter K. Jul 21 '17 at 15:28
• @PeterK. I had forgotten about this question. There isn't yet an answer that clears out my doubt. I think what you wrote here might be a good answer if explained a little bit further. Perhaps you may consider writing an answer so that I can accept one and close this topic. – Tendero Mar 14 '18 at 19:48
• @MBaz The same goes to you, Mbaz. I like what you wrote here in the comments, so a more detailed answer might be of help for future readers. – Tendero Mar 14 '18 at 19:49

Perhaps a motivating radar/audio example would be an adaptive sidelobe canceller and adaptive noise cancellers. Rather than just show equations, let's walk through some text descriptions:

Let's say you are trying to record someone singing, but you're in a large auditorium. Your microphone is picking up the singer, but it's also picking up a lot of the reverberation. Now if we can characterize the reverberation somehow, we'll be able to remove it from our signal of the singer+reverberation. Enter another microphone (or a group of microphones), set up to just record the reverberation. With this setup, we can construct an adaptive filter that will remove the unwanted reverberation.

Another example would be some basic electronic protection for a radar system, where we want to remove jamming interference. In a radar system, you have a main channel which extracts the signal you're interested in. Sometimes, the case of some electromagnetic interference that originates from outside of the main antenna beam, i.e. from an antenna sidelobe, arises. This severely corrupts our main channel with noise, and may obscure target returns.

Intuitively, if we can somehow characterize just the interference, we can construct an adaptive filter that will remove the noise from the main channel. We can do this using single elements with isotopic (or nearly isotopic) responses. These auxiliary channels as they're called have very low gain compared to the entire antenna, and thus will receive only the interference and not a target which may be in the main beam.

The downside with wiener filters is that such a solution requires the noise to be stationary. Fortunately, we can use filter banks, time segmentation, and other signal processing techniques to make that possible.

Perhaps someone with a communication systems background could chime in and talk about adaptive equalizers, that's another application where you're trying to characterize some noisy channel, and you transmit a training signal, which the system knows about. The idea then is basically your first example: you know what you sent out, and you get some noisy version back. Using an adaptive filter, you can characterize that noise and now be able to remove it for anything else you send out (assuming the noise is perfectly stationary).

Hopefully that gives you some insight and motivation!

• I disagree with your statement that the noise has to be white, it doesn't – user28715 Jul 21 '17 at 16:09
• Ah good catch, slight mixup while answering of the top of my head. Edited the original post, thanks! – matthewjpollard Jul 21 '17 at 16:12

The first diagram seems to be equivalent to the third one: in one case the signal you're estimating is the noise, in the other case you're estimating the information (replace s(n) + v(n) by w(n), and s(n) by v(n) to switch the roles in the first diagram).

Moreover, you said :

why would I estimate the noise to substract it from s(n)+v(n) if I already have to know what the noise signal is in order to put it at the input of the filter?

you don't know what the noise signal is, you know some of its spectral properties (see wikipedia)