A phaser, or phase shifter, is similar to a flanger in that it implements spectral notches, the center frequencies of which can be modulated over time.
But while a flanger provides only uniformly spaced notches, a phasor can implement notches at arbitrary center frequencies.
A phaser is implemented with second-order allpass filters instead of delay lines, as shown in the block diagram of Fig. 15. The cancellation of specific frequencies (at the notches) is due to the delay (or phase) properties of the allpass filters when combined with the undelayed input signal.
Figure 15:
A digital phaser block diagram.
Each spectral notch is created with a second-order allpass filter, the coefficients of which control the notch frequency and bandwidth. Second-order allpass filters have a difference equation given by
where
where is the center frequency of the notch, is the sample period, and The closer is to 1.0, the narrower the bandwidth of the notch.
The phaser will have a notch wherever the phase of the allpass chain is at (180 degrees). This happens close to the center frequencies of each allpass section.
A Matlab implementation of a phaser with a single notch is demonstrated in the script phaser.m.
The instantaneous frequency response of a phaser created using 4 second-order allpass filters with notch frequencies set at 300, 800, 1000, and 4000 Hz and r = 0.9, 0.98, 0.8, and 0.9 is shown in Fig. 16.
Figure 16:
Instantaneous frequency response of a phaser created with 4 second-order allpass filters and notch frequencies set at 300, 800, 1000, and 4000 Hz.
The depth of the notches can be varied together by changing the feedforward gain parameter .
To achieve the time-varying “phasing” effect, the notch frequencies are modulated with a periodic signal. Note that only a single filter coefficient need be changed in each allpass section to accomplish this.