I am currently working on a problem on filtering. In fact, let's suppose a signal that is expressed as : $r(t) = z(t) + x_i(t)$, where $z(t)$ is a smooth function and $x_i(t)$ is white Gaussian noise.

The question is to find the optimal filter for eliminating the Gaussian noise $x_i(t)$ if nothing is known about the smooth signal $z(t)$?".

Sure thing, Kalman Filter has been lately solicited faced to problems that ask for optimal filters. However,in this situation, that Kalman filter is the best candidate since we do not know anything about z.

Thus, I think they are better candidates for this problem.

  • 2
    $\begingroup$ Welcome to SE.DSP! If you know that $z$ is "smooth" then you know it's lowpass(ish). Does simple low-pass filtering help? Without specifically knowing what the optimization problem is (by knowing more about the problem), then talk of "optimal" solutions is nonsensical. What would be a "good" outcome in your problem? If you can mathematically define "good" then you can say what the optimal filter is. If you can't then there's no optimal filter. $\endgroup$
    – Peter K.
    Commented Jun 21, 2017 at 10:11

2 Answers 2


The question is rather vague or inaccurate really; or I haven't understood it well.

I would start with saying "there is no such a thing as a 'best' filter (for all use)". A filter is optimal only if it exploits a specific property of signal or noise generating better SNR over regular filter -but if you don't know about signal or noise specifically then the standard filter is also the best or optimal.

Here are some assertions that should clarify your understanding (and thereby my understanding of your question):

  • When we apply a filter (on any stationary signal to start with) we eliminate or attenuate part of the bandwidth and amplify the other part. So for instance if your noise is white noise (equally spread in all frequencies) and your signal is band limited to say bandwidth B, then the "optimal" filter is essentially filter that allows only the band B. If this is a baseband signal having frequencies from 0 to B, then it is a lowpass filter, if it is a modulated signal having a frequency with B width around a carrier C then the optimal filter is the band-pass filter exactly overlapping to signal.

  • In communication system - we transmit pulses of specific shapes. As such the pulses have a wide enough bandwidth but we know lot more specific spectrum of the signal. Here you use Matched Filter that eliminates everything that doesn't correlates to the 'known' signal.

  • If your noise source is very specific narrow band such as power-hum, you can use Notch Filter or Band-stop filter

  • One needs to consider other aspects of filter design as well. One may choose specific frequency bands for "Optimal filtering" - yet two different filters (say kaiser vs. butter-worth see this) with same bandwidth can have different envelops of frequency spectrum - defined by order of the filter and exact impulse response. If we really want to cut down every possible frequency > B, then highest possible order filter is "Optimal" - however, if such filter creates non-uniform gain in the pass band, it may distort the signal itself while keeping noise away, so the "Optimal filter" is the one which has 'best possible' frequency response shape that produces SNR (even under the context of same bandwidth B).

  • Typically if your noise is not white and Gaussian, it originates from some source. You can learn more about the source of noise without signal being present to identify its property. Of course, specific noise sequence at instance t may not be of relevance at instance t + k when signal is present along with noise. But if the noise is stationary we can derive the best possible subtraction of band limited noise from a band limited signal through a theoretical formulation is called Wiener Filter. Most often in literature people are referring to wiener Filter as synonym to 'Optimal filter'.

  • Dealing with dynamic signals: What if either signal or noise is not stationary at all? there are host of ways dynamic noise cancellation happens - which are essentially non-stationary filters. Typically, these are adaptive algorithm which tracks noise and signal both. If you can't extract the very source of noise independently these algorithm don't quite work. Kalman filter is one such adaptive filter which works even as the system state changes dynamically. It is the most optimal filter if we know that noise is Gaussian and system state can allow signals be estimated against the actual ones. Understand a big difference between above listed filters and adaptive filters - the adaptive filters have estimates of expected signals and then measured actual signals, subtracting the two you estimate "error" i.e. noise. so through a detailed model of the system these filter already "knows" everything about Noise. If you can't estimate noise, then you can't use Kalman or other such adaptive filters. In all such stationary scenarios, theoretically nothing better can be constructed beyond the promise of "Wiener Filter".

So in essence- "What is the Optimum filter" depends on "What you know about the signal and noise"

I hope i have given right perspective with regards to your question.


Your description of the problem makes making a claim of optimality impossible to justify. Instead, a solution that seems to fit your problem is a Savitzky Golay Filter.



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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