Classic Virtual Analog Phase Shifters
To create a virtual analog phaser, following closely the design
of typical analog phasers, we must translate each first-order allpass
to the digital domain. Working with the transfer function, we must
map from plane to the
plane. There are several ways to
accomplish this goal [362]. However, in this case,
an excellent choice is the bilinear transform (see §7.3.2),
defined by
where
![$ c$](http://www.dsprelated.com/josimages_new/pasp/img125.png)
![$ c$](http://www.dsprelated.com/josimages_new/pasp/img125.png)
![$ \omega_a$](http://www.dsprelated.com/josimages_new/pasp/img1916.png)
![$ \omega_d$](http://www.dsprelated.com/josimages_new/pasp/img1917.png)
![$ \,$](http://www.dsprelated.com/josimages_new/pasp/img196.png)
![\begin{eqnarray*}
j\omega_a &=& c\frac{e^{j\omega_d T}-1}{e^{j\omega_d T}+1}
\eq...
...\sin(\omega_dT/2)}{\cos(\omega_dT/2)}
\eqsp jc\tan(\omega_dT/2).
\end{eqnarray*}](http://www.dsprelated.com/josimages_new/pasp/img1918.png)
Thus, given a particular desired break-frequency
, we can set
![$\displaystyle c \eqsp \omega_b\cot\left(\frac{\omega_bT}{2}\right).
$](http://www.dsprelated.com/josimages_new/pasp/img1920.png)
Recall from Eq.(8.19) that the transfer function of the
first-order analog allpass filter is given by
![$\displaystyle H_a(s) \eqsp \frac{s-\omega_b}{s+\omega_b}
$](http://www.dsprelated.com/josimages_new/pasp/img1921.png)
![$ \omega_b$](http://www.dsprelated.com/josimages_new/pasp/img1899.png)
![$ \,$](http://www.dsprelated.com/josimages_new/pasp/img196.png)
![$\displaystyle H_d(z) \eqsp H_a\left(c\frac{1-z^{-1}}{1+z^{-1}}\right)
\eqsp \f...
...1-z^{-1}}{1+z^{-1}}\right) + \omega_b}\\
\eqsp \frac{p_d-z^{-1}}{1-p_dz^{-1}}
$](http://www.dsprelated.com/josimages_new/pasp/img1922.png)
![$\displaystyle p_d\isdefs \frac{c-\omega_b}{c+\omega_b}
\eqsp \frac{1-\tan(\ome...
...T/2)}
\;\approx\; \frac{1-\omega_bT/2}{1+\omega_bT/2}
\;\approx\; 1-\omega_bT.
$](http://www.dsprelated.com/josimages_new/pasp/img1923.png)
Figure 8.25 shows the digital phaser response curves corresponding
to the analog response curves in Fig.8.24. While the break
frequencies are preserved by construction, the notches have moved
slightly, although this is not visible from the plots. An overlay of
the total phase of the analog and digital allpass chains is shown in
Fig.8.26. We see that the phase responses of the analog and
digital alpass chains diverge visibly only above 9 kHz. The analog
phase response approaches zero in the limit as
,
while the digital phase response reaches zero at half the sampling
rate,
kHz in this case. This is a good example of when the
bilinear transform performs very well.
![]() |
![]() |
In general, the bilinear transform works well to digitize feedforward analog structures in which the high-frequency warping is acceptable. When frequency warping is excessive, it can be alleviated by the use of oversampling; for example, the slight visible deviation in Fig.8.26 below 10 kHz can be largely eliminated by increasing the sampling rate by 15% or so. See the case of digitizing the Moog VCF for an example in which the presence of feedback in the analog circuit leads to a delay-free loop in the digitized system [479,477].
Next Section:
Phaser Notch Parameters
Previous Section:
Classic Analog Phase Shifters