radial.lib

Library of radials filters used with Ambisonics up to degree $L = 10$.

  • Near-Field (NF) filters
  • Near-Field Compensation (NFC) filters
  • Rigid sphere diffraction filters

Theoretical background

Near-Field filters

The Ambisonics components for a point source (spherical wave) with signal $S$, at wavenumber $k = \frac{2 \pi f}{c}$ ($f$ being the frequency and $c$ the sound speed), and located at $(r_s, \theta_s, \phi_s)$ are given by:

\[\begin{equation} B_{l,m} = S F_{l}(k r_s) Y_{l,m}(\theta_s, \phi_s), \label{eq:blm} \end{equation}\]

In Eq. \eqref{eq:blm} $F_{l}(k r_s)$ is the Near-Field (NF) filter1 at degree $l$, radius $r_s$, given by:

\[\begin{equation} F_{l}(k r_s) = \frac{e^{- i k r_s}}{r_s} \sum_{n=0}^{l} \frac{(-i)^n}{l! (kr_s)^n}\frac{(l+n)!}{(l-n)!}, \label{eq:nf} \end{equation}\]

where $i = \sqrt{-1}$.

Image
Figure 1: Near-Field filters for $r_s = 1$ m.

An illustration of $F_{l}$ is shown in Fig. 1 for $r = 1$ m and $l \in \{0, 1, 2, 3, 4, 5\}$. The filters $F_{l}$ are not feasible as such as they present a infinite gain at $k r_s = 0$.

Near-Field Compensation filters

Consider a loudspeaker array with $N$ loudspeaker, modeled as point source. For this array, the decoder matrix is denoted $\mathbf{D} \in \mathbb{R}^{(L+1)^2 \times N}$ and is working up to degree $L$. The driving signal of the $n$-th loudspeaker, located at a radial distance $r_\text{spk}$ is denoted $s_n$. It is given at wavenumber $k$ by:

\[\begin{equation} s_n = \sum_{l=0}^L \frac{1}{F_l(k r_\text{spk})} \sum_{m=-l}^l D_{n, l, m} B_{l, m} \label{eq:spk} \end{equation},\]

where $\frac{1}{F_l(k r_\text{spk})}$ is the Near-Field Compensation (NFC) filter1 at degree $l$, and $D_{n, l, m}$ is the $(l, m)$ term of the $n$-th row of the matrix $\mathbf{D}$.

Image
Figure 2: Near-Field Compensation filters for $r_s = 3$ m.

An illustration of $F_{l}$ is shown in Fig. 2 for $r_\text{spk} = 3$ m and $l \in \{0, 1, 2, 3, 4, 5\}$. The NFC filters are accessible with the function nfc. Note that the negative delay $e^{i k r_\text{spk}}$ in Eq. \eqref{eq:nf} is not modeled in the current implementation.

Stabilization of NF filters with NFC filters

In practice, the NF filters at radius $r_s$ are stabilized with the NFC filters at radius $r_\text{spk}$.

Image
Figure 3: Ratio $\frac{F_l(k r_s)}{F_l(k r_\text{spk})}$ for $r_s = 3$ m and $r_\text{spk} = 1$ m.
Image
Figure 4: Ratio $\frac{F_l(k r_s)}{F_l(k r_\text{spk})}$ for $r_s = 1$ m and $r_\text{spk} = 3$ m.

The resulting filters $\frac{F_l(k r_s)}{F_l(k r_\text{spk})}$ are shown for a $r_s > r_\text{spk}$ in Fig. 3 and $r_s < r_\text{spk}$ in Fig. 4.

In the latter case, note that the gain can be extremely loud at low frequencies and higher degrees $l$ and eventually damage the loudspeakers ! This is the so-called “Bass-Boost” effect1.

The filters $\frac{F_l(r_s)}{F_l(r_\text{spk})}$ are accessible with the function nf.

Rigid sphere diffraction filters

When retrieving the Ambisonic components with a rigid Spherical Microphone Array (SMA) of radius $r_\text{sma}$, the rigid sphere diffraction has to be compensated. This is done by applying the filter $E_l$ as follows:

\[\begin{equation} B_{l,m} = E_l(k r_\text{sma}) p_{l,m} \end{equation},\]

where $p_{l,m}$ is the Spherical Fourier Transform (SFT) of the pressure measured on the SMA surface. The filters $E_l$ are given by:

\[\begin{equation} E_l(k r_\text{sma}) = i^{1 - l}(k r_\text{sma})^2 h'_l (k r_\text{sma}). \end{equation}\]
Image
Figure 5: Filters $E_l$ for $r_\text{sma} = 49$ mm

The filters $E_l(k r_\text{sma})$ are shown or $r_\text{sma} = 49$ mm and $l \in \{0, 1, 2, 3\}$ in Fig 5. They present an unreasonable amplification at low frequency and high degree $l$. They are not feasible as they present a infinite gain a $k r_\text{sma} = 0$.

Stabilization of rigid sphere diffraction filters with NFC filters

In practice, the filters $E_l$ at radius $r_\text{sma}$ are stabilized with the NFC filters at radius $r_\text{spk}$.

Image
Figure 6: Ratio $\frac{E_l(k r_\text{sma})}{F_l(k r_\text{spk})}$ for $r_s = 0.5$ m and $r_\text{sma} = 49$ mm.

The resulting filters $\frac{E_l(k r_\text{sma})}{F_l(k r_\text{spk})}$ are shown for a $r_\text{sma} = 49$ mm and $r_\text{spk} = 0.5$ m in Fig. 6.

Note that the gain can be extremely loud at low frequencies and higher degrees $l$.

The filters $\frac{E_l(r_\text{sma})}{F_l(r_\text{spk})}$ are accessible with the function eq.

Functions

nf(l,r1,r2)

Computes the filters $\frac{F_l(r_s)}{F_l(r_\text{spk})}$


nfc(l,r)

Computes the NFC filters $\frac{1}{F_l(r_\text{spk})}$


eq(l,r1,r2)

Computes the filters $\frac{E_l(r_\text{sma})}{F_l(r_\text{spk})}$.


ddelay(r)

Applies a smooth delay corresponding to propagation time $\lceil r/c \rceil$.


  1. J. Daniel, « Spatial sound encoding including near field effect: Introducing distance coding filters and a viable, new ambisonic format », in Audio Engineering Society Conference: 23rd International Conference: Signal Processing in Audio Recording and Reproduction, Helsingør, 2003.  2 3