DSPRelated.com
Free Books

Example Zero-Phase Filter Design

Figure 10.1 shows the impulse response and frequency response of a length 11 zero-phase FIR lowpass filter designed using the Remez exchange algorithm.11.2 The matlab code for designing this filter is as follows:

N = 11;                % filter length - must be odd
b = [0 0.1 0.2 0.5]*2; % band edges
M = [1  1   0   0 ];   % desired band values
h = remez(N-1,b,M);    % Remez multiple exchange design
The impulse response h is returned in linear-phase form, so it must be left-shifted $ (N-1)/2=5$ samples to make it zero phase.

Figure 10.1: Impulse response and frequency response of a length 11 zero-phase FIR lowpass filter. Note that the frequency response is real because the filter is zero phase. Also plotted (in dashed lines) are the desired passband and stopband gains.
\includegraphics[width=\twidth ]{eps/remezexa}

Figure 10.2 shows the amplitude and phase responses of the FIR filter designed by remez. The phase response is zero throughout the passband and transition band. However, each zero-crossing in the stopband results in a phase jump of $ \pi $ radians, so that the phase alternates between zero and $ \pi $ in the stopband. This is typical of practical zero-phase filters.

Figure: Amplitude response and phase response of the length 11 zero-phase FIR lowpass filter in Fig.10.1.
\includegraphics[width=\twidth ]{eps/remezexb}


Next Section:
Elementary Zero-Phase Filter Examples
Previous Section:
Summary of Series/Parallel Filter Sections