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 designThe impulse response h is returned in linear-phase form, so it must be left-shifted samples to make it zero phase.
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 radians, so that the phase alternates between zero and in the stopband. This is typical of practical zero-phase filters.