Next  |  Prev  |  Up  |  Contents |  Top  |  JOS Index  |  JOS Pubs  |  JOS Home  |  Search

Quantized Angles of Arrival

Since high-quality fractional-delay filtering is expensive, it is worth considering restriction to angles-of-arrival corresponding to integer delays (in samples). If the speaker-to-speaker spacing along a line array is $ \Delta_x $ , then the speaker-to-speaker delay for a plane wave at angle-of-incidence $ \theta$ is $ \Delta_x \cdot\sin(\theta)/c$ , where $ c$ denotes sound speed. Thus, an angle-of-arrival $ \theta_n$ corresponds to an integer speaker-to-speaker delay $ n$ (in samples) when

$\displaystyle \frac{\Delta_x }{cT} \sin(\theta_n) \eqsp n, \quad n=0,\pm 1,\pm 2,\ldots, \pm N_a \protect$ (5)

where $ T$ denotes the temporal sampling interval in seconds, and

$\displaystyle N_a \eqsp \left\lfloor \frac{\Delta_x }{cT}\right\rfloor \isdefs$   floor$\displaystyle \left(\frac{\Delta_x }{cT}\right).

Note that increasing the speaker spacing $ \Delta_x $ for a given temporal sampling rate $ f_s=1/T$ gives more integer-delay angles $ \theta_n$ . However, doing this also decreases the stage-width (or supported bandwidth) by the same factor.

It is clearly inaudible to shift the location of each virtual source $ x_i$ so that the time delay to the nearest speaker is an integer number of samples. Then having an integer number of samples for each inter-speaker delay makes all the delays integer. Finally, this can all be implemented as a single delay line with a tap (non-interpolating) for each speaker signal. For moving sources, to avoid clicks, moving taps should be cross-faded from one integer delay to the next in the usual way (Smith, 2010).9

Solving Eq.(5), the collection of angles $ \theta_n$ corresponding to integer inter-speaker delays $ n$ (in samples) is

$\displaystyle \theta_n = \sin^{-1}\left(\frac{cT}{\Delta_x }n\right), \quad n=0,\pm 1,\pm 2,\ldots\,.$ (6)

For example, with $ \Delta_x =0.1$ m ( $ \approx4''$ ), $ c=343$ m/s, and $ f_s=48$ kHz, the first 11 available angles are

$\displaystyle \theta_n^\circ \in \pm [0,\, 4.1,\, 8.1,\, 12,\, 16,\, 21,\, 25,\, 30,\, 35,\, 40,\, 45] \protect$ (7)

degrees, to two digits precision. Azimuth perception is accurate to approximately 1 degree at center-front.10

Figure 4 depicts the available geometric rays of plane-wave propagation for this example. Thicker rays are drawn for 0 degrees (directly in front) and $ \pm90$ degrees (full left and right).

Figure 4: Rays of propagation toward a listener in the center for the available plane-wave angles from a line-array (four-inch spacing) at a sampling rate of 48 kHz. These are the source angles requiring no interpolation--just pure integer delay from one speaker to the next.
\resizebox{0.8\textwidth }{!}{\includegraphics{eps/showangles1.eps}}

If the 21 angles-of-arrival across a $ 90^\circ$ stage listed in Eq.(7) are deemed sufficient, then PBAP is essentially free: just provide the appropriate integer adjacent-speaker delays for each source in the sum for each speaker. As is well known, an integer delay is an $ {\cal O}(1)$ computation, requiring only a single read, write, and circular-buffer pointer-increment each sampling instant (Smith, 2010).11

Next  |  Prev  |  Up  |  Contents |  Top  |  JOS Index  |  JOS Pubs  |  JOS Home  |  Search

Download huygens.pdf
[Comment on this page via email]

``A Spatial Sampling Approach to Wave Field Synthesis: PBAP and Huygens Arrays'', by Julius O. Smith III, Published 2019-11-18:
Copyright © 2020-05-15 by Julius O. Smith III
Center for Computer Research in Music and Acoustics (CCRMA),   Stanford University