Sign in

username:

password:



Not a member?

Search Online Books



Search tips

Free Online Books



Chapters

Chapter Contents:

Search Physical Audio Signal Processing

  

Book Index | Global Index


Would you like to be notified by email when Julius Orion Smith III publishes a new entry into his blog?

  

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 $ s$ plane to the $ z$ plane. There are several ways to accomplish this goal [371]. However, in this case, an excellent choice is the bilinear transform (see §L.4), defined by

$\displaystyle s \leftarrow c\frac{z-1}{z+1} \protect$ (O.2)

where $ c$ is chosen to map one particular frequency to exactly where it belongs. In this case, $ c$ can be chosen for each section to map the break frequency of the section to exactly where it belongs on the digital frequency axis. The relation between the analog and digital frequency axes follows immediately from Eq.$ \,$(O.2) as

\begin{eqnarray*}
j\omega_a &=& c\frac{e^{j\omega_d T}-1}{e^{j\omega_d T}+1}\\
...
...sin(\omega_dT/2)}{\cos(\omega_dT/2)}\\
&=& jc\tan(\omega_dT/2).
\end{eqnarray*}

Thus, given a particular desired break frequency $ \omega_a=\omega_d=\omega_b$, we can set

$\displaystyle c = \omega_b\cot(\omega_bT/2).
$

Recall from Eq.$ \,$(O.1) that the transfer function of the first-order analog allpass filter is given by

$\displaystyle H_a(s) = \frac{s-\omega_b}{s+\omega_b}
$

where $ \omega_b$ is the break frequency. Applying the general bilinear transformation Eq.$ \,$(O.2) gives

\begin{eqnarray*}
H_d(z) &=& H_a\left(c\frac{1-z^{-1}}{1+z^{-1}}\right)
= \frac...
...}\right) + \omega_b}\\
&\isdef & \frac{p_d-z^{-1}}{1-p_dz^{-1}}
\end{eqnarray*}

where we have denoted the