I would like to limit discussion to discrete time causal Wiener filter.

By definition it is an FIR filter, and it also has optimality under Mean Square Error criterion within the class of linear filters.

How do we know that there isn't a better IIR filter (something with a feedback loop), which is also linear?


1 Answer 1


You're right, there usually is a better IIR filter (if you have enough data). The discrete-time Wiener filter is not "by definition" FIR. It is common to constrain the filter to the FIR case because it's often more straightforward to implement, and because such a filter can be made adaptive more easily. Also, in practice you often want to consider only a finite data window, which makes the optimum Wiener filter FIR.

However, you don't need to impose the constraint that the filter length be finite. The most general causal discrete-time Wiener filter for data available over the infinite past is an IIR filter.

A derivation of the FIR and the IIR cases can be found (among others) in Digital Signal Processing by Proakis and Manolakis.

EDIT: If we only have a finite amount of data available, the optimum Wiener filter has a finite impulse response. Assume we have $N$ data points (one current and $N-1$ consecutive past data points), then the best we can do with a linear time-invariant filter is to linearly combine those $N$ data points, by multiplying each data point by a coefficient and adding them up:


The coefficients $h[k]$ are optimized such that the mean square error between the filter output $y[n]$ and some desired signal is minimized. The $N$ coefficients $h[k]$ are the impulse response of the corresponding FIR Wiener filter.

  • $\begingroup$ @CowboyTrader: For the IIR Wiener filter the data sequence is assumed to be infinite. $\endgroup$
    – Matt L.
    Jul 23, 2019 at 12:59
  • $\begingroup$ @CowboyTrader: The book I mentioned is generally a good book on DSP, not only about discrete-time filters. But it does have a lot of good stuff on filters. $\endgroup$
    – Matt L.
    Jul 23, 2019 at 13:00
  • $\begingroup$ @CowboyTrader: As an IIR filter it's both, so it takes infinitely many past values into account, but it can be expressed recursively. $\endgroup$
    – Matt L.
    Jul 23, 2019 at 13:12
  • $\begingroup$ @CowboyTrader: If you only have $N$ data points, you can only linearly combine them using $N$ coefficients, so the optimal filter must be FIR. This doesn't say anything about implementation, but as a filter it must have a finite impulse response. $\endgroup$
    – Matt L.
    Jul 23, 2019 at 13:27
  • $\begingroup$ @CowboyTrader: Using recursion you will either get infinite memory - no use for finite data - or, in the degenerate case, finite memory, which could also be implemented without recursion. $\endgroup$
    – Matt L.
    Jul 23, 2019 at 13:37

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.