Forward-Backwards Filtering

One is normally told there is no such thing as a linear phase
recursive filter because a recursive filter cannot generate a
symmetric impulse response. However, it
*is* possible to implement
recursive, zero-phase filters *offline*. That is, if the entire
input signal is stored on a computer disk, *e.g.*, we can apply a
recursive filter both forwards and backwards in time. Doing this
*squares* the amplitude response of the filter and *zeros* the phase
response.

To show this analytically, let denote the output of the first filtering operation (which we'll take to be ``forward'' in time in the normal way), and let be the impulse response of the recursive filter. Then we have

FLIP

The final output is then this result flipped:
FLIP FLIP FLIP FLIP

where the last simplification tells us that flipping the input and
output signals is equivalent to flipping the impulse response
instead. Putting all these operations together, we
have
FLIP FLIPFLIP

By the

Using this result and applying the convolution theorem twice gives the
*z* transform

We have thus shown that forwards-backwards filtering *squares*
the amplitude response and *zeros* the phase response. Note also
that the phase response is truly zero, not alternating between zero
and .

In summary, no matter what nonlinear phase response
a
filter may have, this phase is completely canceled out by forward and
backwards filtering. The amplitude response, on the other hand, is
squared. For simple bandpass filters (including lowpass, highpass,
etc.), for which the desired gain is 1 in the passband and 0 in the
stopband, squaring the amplitude response usually improves the
response, however, since any ``stopband ripple'' (deviation from 0) is
squared, thereby *doubling* the stopband attenuation in dB. On
the other hand, passband ripple (deviation from 1) is only doubled by
the squaring (since
).

A Matlab example of forward-backward filtering is presented in §12.3 (Fig.12.1).

[How to cite this work] [Order a printed hardcopy]

Copyright ©

Center for Computer Research in Music and Acoustics (CCRMA), Stanford University

[Automatic-links disclaimer]