Free Books

Delay-Line Damping Filter Design

Let $ t_{60}(\omega)$ denote the desired reverberation time at radian frequency $ \omega $, and let $ H_i(z)$ denote the transfer function of the lowpass filter to be placed in series with the $ i$th delay line which is $ M_i$ samples long. The problem we consider now is how to design these filters to yield the desired reverberation time. We will specify an ideal amplitude response for $ H_i(z)$ based on the desired reverberation time at each frequency, and then use conventional filter-design methods to obtain a low-order approximation to this ideal specification.

In accordance with Eq.$ \,$(3.6), the lowpass filter $ H_i(z)$ in series with a length $ M_i$ delay line should approximate

$\displaystyle H_i(z) = G^{M_i}(z)

which implies

$\displaystyle \left\vert H_i(e^{j\omega T})\right\vert^{\frac{t_{60}(\omega)}{M_iT}} = 0.001.

Taking $ 20\log_{10}$ of both sides gives

$\displaystyle 20 \log_{10}\left\vert H_i(e^{j\omega T})\right\vert = -60 \frac{M_i T}{t_{60}(\omega)}. \protect$ (4.9)

This is the same formula derived by Jot [217] using a somewhat different approach.

Now that we have specified the ideal delay-line filter $ H_i(e^{j\omega T})$ in terms of its amplitude response in dB, any number of filter-design methods can be used to find a low-order $ H_i(z)$ which provides a good approximation to satisfying Eq.$ \,$(3.9). Examples include the functions invfreqz and stmcb in Matlab. Since the variation in reverberation time is typically very smooth with respect to $ \omega $, the filters $ H_i(z)$ can be very low order.

First-Order Delay-Filter Design

The first-order case is very simple while enabling separate control of low-frequency and high-frequency reverberation times. For simplicity, let's specify $ t_{60}(0)$ and $ t_{60}(\pi/T)$, denoting the desired decay-time at dc ($ \omega=0$) and half the sampling rate ( $ \omega=\pi/T$). Then we have determined the coefficients of a one-pole filter:

$\displaystyle H_i(z) = \frac{g_i}{1-p_iz^{-1}}

The dc gain of this filter is $ H_i(1)=g_i/(1-p_i)$, while the gain at $ \omega=\pi/T$ is $ H_i(-1)=g_i/(1+p_i)$. From Eq.$ \,$(3.9) (or Eq.$ \,$(3.8)), we obtain two equations in two unknowns:

\frac{g_i}{1-p_i} &=& 10^{-3 M_i T / t_{60}(0)}
\eqsp e^{-M_iT...
\eqsp e^{-M_iT/\tau(\pi/T)} \isdefs R_\pi^{M_i}\\ [5pt]

where $ D_i\isdeftext M_iT$ denotes the $ i$th delay-line length in seconds. These two equations are readily solved to yield

p_i &=& \frac{R_0^{M_i}-R_\pi^{M_i}}{R_0^{M_i}+R_\pi^{M_i}}\\ [5pt]
g_i &=& \frac{2R_0^{M_i}R_\pi^{M_i}}{R_0^{M_i}+R_\pi^{M_i}}

The truncated series approximation

$\displaystyle R_\omega^{M_i} \isdefs e^{-\frac{M_iT}{\tau(\omega)}}
\approxs 1 ...
\isdefs 1 - \frac{6.91\,M_i}{n_{60}(\omega)}

has been found to work well in practical FDN reverberators.

Orthogonalized First-Order Delay-Filter Design

In [217], first-order delay-line filters of the form

$\displaystyle H_i(z) \eqsp g'_i \frac{1-p_i}{1-p_iz^{-1}}

are proposed. Clearly $ g_i=g'_i\cdot(1-p_i)$. This form has the advantage that the dc gain is always $ H_i(1)=g'_i$ for all (stable) values of $ p_i$. Therefore, we can set $ g'_i$ to give a desired reverberation time at dc, and not have to change it when $ p_i$ is varied to modulate the high-frequency decay rate. As in the previous section, from Eq.$ \,$(3.9), we obtain

$\displaystyle g'_i \eqsp 10^{-3 M_i T / t_{60}(0)}.

A calculation given in [217] arrives at

$\displaystyle p_i \eqsp \frac{\mbox{ln}(10)}{4}\log_{10}(g_i)\left(1-\frac{1}{\alpha^2}\right)


$\displaystyle \alpha \isdef \frac{t_{60}(\pi/T)}{t_{60}(0)} \protect$ (4.10)

denotes the ratio of reverberation time at half the sampling rate divided by the reverberation time at dc.4.16

Multiband Delay-Filter Design

In §3.7.5, we derived first-order FDN delay-line filters which can independently set the reverberation time at dc and at half the sampling rate. However, perceptual studies indicate that reverberation time should be independently adjustable in at least three frequency bands [217]. To provide this degree of control (and more), one can implement a multiband delay-line filter using a general-purpose filter bank [370,500]. The output, say, of each delay line is split into $ K$ bands, where $ K\ge 3$ is recommended, and then, from Eq.$ \,$(3.6), the gain in the $ k$th band for a length $ M_i$ delay-line can be set to

$\displaystyle G^{M_i}(e^{j\omega_kT})\eqsp 10^{-\frac{3M_i}{n_{60}(\omega_k)}} ...
...ln}(10)\,M_i}{n_{60}(\omega_k)} \approxs

to produce the desired decay-time in that band, where $ n_{60}(\omega)=t_{60}(\omega)/T$ denotes the desired 60-dB decay time in samples. Faust implementations of FDN reverberator along these lines are described in §3.7.9 below.

Next Section:
Spectral Coloration Equalizer
Previous Section:
Achieving Desired Reverberation Times