I understand Wiener filter is used to reduce noise, Gaussian noise as well, once we give the noise characteristic. One may derive the filter coefficient in adaptive way as well But can it remove noise if the noise is in the same band as the desired signal(EDIT: without loosin in-band energy of the signal)? Is there an such filter which is applicable for in band noise? As per my understanding there is none and is not possible. Edit: The signal is not assumed to be stationary.

Any suggestion, comment please?


1 Answer 1


First of all the Wiener filter does not remove the noise but reduce it for WSS signals.

It does this based on the relationship between the power spectral density of the clean signal $x[n]$ and imposed noise $v[n]$, both assumed as WSS. The frequency response of a noncausal IIR Wiener filter is given as

$$ H(\omega) = \frac{ P_x(\omega) }{ P_x(\omega) + P_v(\omega) } $$

where $P_x$ and $P_v$ are PSDs of clean signal and uncorelated noise imposed on it. As can be seen, the filter spectrum involves all the bands including where noise and signal spectrums are overlapping too, and that's one of the benefits of using such an advanced tool.

Note that this is not a non-destructive noise reduction and it wont necessarily preserve the waveform of the clean signal, but its PSD is improved; made closer to clean signal's PSD.

  • $\begingroup$ Any convlution is a summation mean time information is lost.. How do you expect to remove in band signal with convolution when you loose all time information? $\endgroup$
    – Creator
    Jul 8, 2019 at 23:26
  • $\begingroup$ In band means, having the same frequency range, and as the formula of the Filter frequency response shows, it tries to reduce (not remove) noise in every frequency band including in & out bands. I don't know, where you get the idea of time information vs convolution, but it has nothing to do with how a Wiener filter works. Every LTI filter is equivalent to a convolution sum and this has nothing to do with their capability of noise reduction. Wiener filter works on a statistical basis. A classical filter to remove outof band noise is quite a simple idea, Wiener filter is something different... $\endgroup$
    – Fat32
    Jul 9, 2019 at 0:00
  • $\begingroup$ Are you talking about clicks and pops that are local in time and wide in frequency? Then a Wiener filter is not the correct tool to remove them of course. $\endgroup$
    – Fat32
    Jul 9, 2019 at 0:04
  • $\begingroup$ No I am talking about clicks and pops. Again expected value means non-local or global measure, hence you loose local information. This means you would remove signal portion of in-band noise as well if it removes in-band pectra. What I am saying is that the filter cannot remove the requied portion of in-band noise without affecting the signal portion.Can you show mw some example of reducing in-band noise without affecting the spectra of the signal? $\endgroup$
    – Creator
    Jul 9, 2019 at 1:11
  • $\begingroup$ No I am talking about clicks and pops ?? If it's a click and pop (LOCAL) noise, then indicate this clearly in your question. Overlapping spectra is not sufficient to describe click & pop noise. White Noise will also have overlapping spectra. Wiener filter has no good use in click and pop noise. You should use nonlinear time domain filters. So go and edit your question for clearly indicating your noise type. And BTW the Wiener filter will reduce in band noise too. There's nothing wrong in the answer, correct your mistake and undo downvoting, and EDIT your question. $\endgroup$
    – Fat32
    Jul 9, 2019 at 1:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.