In the design of differential beamformers with an arbitrary planar array geometry, the objective is to find a proper beamforming filter, **h**(*ω*), so that the designed beampattern, \({\mathcal {B}} \left [ \mathbf {h}(\omega),\theta \right ]\), is as close as possible to the target frequency-invariant beampattern, \( {\mathcal {B}} \left [ \mathbf {c}_{2N}\left (\theta _{\mathrm {s}} \right), \theta \right ] \), i.e.,

$$\begin{array}{*{20}l} {\mathcal{B}} \left[ \mathbf{h}(\omega),\theta \right] & \approx {\mathcal{B}} \left[ \mathbf{c}_{2N}\left(\theta_{\mathrm{s}} \right), \theta \right], \ \forall \omega. \end{array} $$

(15)

In what follows, we show how to design such a beamformer.

To make \({\mathcal {B}} \left [ \mathbf {h}(\omega),\theta \right ]\) close to \({\mathcal {B}} \left [ \mathbf {c}_{2N}\left (\theta _{\mathrm {s}} \right), \theta \right ]\), we need to approximate the exponential function that appears in (8) in terms of *e*^{ȷnθ}. In our previous work in [40], we found that the optimal approximation of the exponential function that appears in beamformer’s beampattern, \({\mathcal {B}} \left [ \mathbf {h}(\omega),\theta \right ]\), from a least-squares error perspective is the Jacobi-Anger expansion [50, 51], i.e.,

$$\begin{array}{*{20}l} e^{\jmath \omega r_{m} \cos\left(\theta - \psi_{m} \right) / c} = \sum_{n=-\infty}^{\infty} \jmath^{n} J_{n} \left(\omega r_{m}/c \right) e^{\jmath n \left(\theta - \psi_{m} \right) }, \end{array} $$

(16)

where *J*_{n}(*x*) is the *n*th-order Bessel function of the first kind with *J*_{−n}(*x*)=(−1)^{n}*J*_{n}(*x*). By limiting the expansion to the order \(\pm N, {\mathcal {B}} \left [ \mathbf {h}(\omega), \theta \right ]\) can be approximated by

$$\begin{array}{*{20}l} e^{\jmath \omega r_{m} \cos\left(\theta - \psi_{m} \right) /c } \approx \sum_{n=-N}^{N} \jmath^{n} J_{n} \left(\omega r_{m}/c \right) e^{\jmath n \left(\theta - \psi_{m} \right) }. \end{array} $$

(17)

Generally, the intersensor spacing should be small enough to make the Jacobi-Anger series a good approximation of the exponential function. More precisely, the value of *J*_{n}(*ω**r*_{m}/*c*),|*n*|>*N* determines the accuracy of the approximation. Figure 1 plots *J*_{n}(*ω**r*_{m}/*c*) for different values of *n*. As seen, as *ω**r*_{m}/*c* increases, the truncation error of higher orders increases. When *ω**r*_{m}/*c* is large, the zeros of Bessel functions will lead to serious performance degradation [52]. With fixed array geometry and number of microphones, the reference point should be properly chosen to make the value of *r*_{m} as small as possible for an optimal approximation.

Substituting (17) into (8), we obtain

$$\begin{array}{*{20}l} {}{\mathcal{B}} \left[ \mathbf{h}(\omega),\theta \right] &= \sum_{m=1}^{M} H_{m}^{*} \left(\omega \right) \sum_{n=-N}^{N} \jmath^{n} J_{n} \left(\omega r_{m}/c \right) e^{\jmath n \left(\theta - \psi_{m} \right) } \\ &= \sum_{n=-N}^{N} e^{\jmath n \theta} \jmath^{n} \sum_{m=1}^{M} J_{n} \left(\omega r_{m}/c \right) e^{-\jmath n \psi_{m}} H_{m}^{*} \left(\omega \right) \\ &= \sum_{n=-N}^{N} e^{\jmath n \theta } \jmath^{n} {\boldsymbol{\psi}}_{n}^{T}(\omega) \mathbf{h}^{*}(\omega), \end{array} $$

(18)

where

$$\begin{array}{*{20}l} {}{\boldsymbol{\psi}}_{n} (\omega) &= \left[ J_{n} \left(\omega r_{1}/c \right)e^{-\jmath n \psi_{1}} ~~ \cdots ~~ J_{n} \left(\omega r_{M}/c \right)e^{-\jmath n \psi_{M}} \right]^{T} \end{array} $$

(19)

is a vector of length *M*.

Comparing (13) with (18), one can see the following relation:

$$\begin{array}{*{20}l} \jmath^{n} {\boldsymbol{\psi}}_{n}^{T}(\omega) \mathbf{h}^{*}(\omega) &= c_{2N,n}\left(\theta_{\mathrm{s}} \right), \end{array} $$

(20)

with \(n=\pm 1,\pm 2,\dots,\pm N\). It follows immediately that

$$\begin{array}{@{}rcl@{}} \boldsymbol{\Psi}(\omega) \mathbf{h}(\omega) = \mathbf{c}^{*}_{2N}\left(\theta_{\mathrm{s}} \right), \end{array} $$

(21)

where

$$\begin{array}{@{}rcl@{}} \boldsymbol{\Psi}(\omega) = \left[ \begin{array}{c} \left(-\jmath \right)^{-N} {\boldsymbol{\psi}}_{-N}^{H}(\omega) \\ \vdots \\ \boldsymbol{\psi}_{0}^{H}(\omega) \\ \vdots \\ \left(-\jmath \right)^{N} \boldsymbol{\psi}_{N}^{H}(\omega) \end{array} \right] \end{array} $$

(22)

is a (2*N*+1)×*M* matrix.

Now, it is clear that the beamforming filter, **h**(*ω*), can be obtained by solving the linear system in (21). As a matter of fact, if *M*=2*N*+1, the solution of (21) is

$$\begin{array}{*{20}l} \mathbf{h} (\omega) &= \boldsymbol{\Psi}^{-1}(\omega) \mathbf{c}^{*}_{2N}\left(\theta_{\mathrm{s}} \right). \end{array} $$

(23)

But this beamformer is generally sensitive to sensors’ self noise and array imperfections at low frequencies.

To improve the robustness of the designed beamformer, we now consider the case of *M*>2*N*+1 and derive a beamforming filter by minimizing the norm of **h**(*ω*), i.e., **h**^{H}(*ω*)**h**(*ω*), subject to the equality constraints given in (20):

$$\begin{array}{*{20}l} \min_{\mathbf{h}(\omega)} \mathbf{h}^{H}(\omega) \mathbf{h}(\omega) ~~~\mathrm{s. \ t.} ~~~ \boldsymbol{\Psi}(\omega) \mathbf{h}(\omega) = \mathbf{c}^{*}_{2N}\left(\theta_{\mathrm{s}} \right), \end{array} $$

(24)

whose solution is

$$\begin{array}{*{20}l} \mathbf{h} (\omega) &= \boldsymbol{\Psi}^{H}(\omega) \left[ \boldsymbol{\Psi}(\omega) \boldsymbol{\Psi}^{H}(\omega) \right]^{-1} \mathbf{c}^{*}_{2N}\left(\theta_{\mathrm{s}} \right) \\ &= \boldsymbol{\Psi}^{H}(\omega) \left[ \boldsymbol{\Psi}(\omega) \boldsymbol{\Psi}^{H}(\omega) \right]^{-1} \boldsymbol{\Upsilon}^{*}\left(\theta_{\mathrm{s}} \right) \mathbf{b}_{2N}. \end{array} $$

(25)

This optimization process is equivalent to the maximization of the WNG if the array aperture is small and the approximation error in the desired direction is negligible.

A special case is when the *M* microphones are distributed in a uniform linear way. If the first sensor is chosen as the reference point, we have

$$\begin{array}{*{20}l} r_{m} =(m-1) \delta, ~~ \psi_{m}= \pi, ~m=1,2,\ldots,M, \end{array} $$

(26)

where *δ* denotes the interelement spacing. Substituting it into the definition of *ψ*_{n}(*ω*) in (19) and using *J*_{−n}(*x*)=(−1)^{n}*J*_{n}(*x*), it can be checked that \(\jmath ^{-n} \boldsymbol {\psi }_{-n}^{T}(\omega) = \jmath ^{n} \boldsymbol {\psi }_{n}^{T}(\omega)\). Considering the fact that *b*_{2N,−n}=*b*_{2N,n},*n*=1,2,…,*N*, one can check that the first *N* constraints (corresponding to \(n=-1,-2,\dots,-N\)) and last *N* constraints (corresponding to \(n=1,2,\dots,N\)) are the same, so half the constraints are redundant and can be omitted. Meanwhile, for linear DMAs, the beampattern is generally steered to 0^{∘} (or 180^{∘}), where the steering matrix *Υ*(*θ*_{s}) is equal to the identity matrix (or multiplies by −1). Now, (20) can be written as the following system of linear equations (here we omit the first *N* constraints):

$$\begin{array}{@{}rcl@{}} \boldsymbol{\Psi}(\omega) \mathbf{h}(\omega) = \mathbf{b}_{N}, \end{array} $$

(27)

where

$$\begin{array}{@{}rcl@{}} \boldsymbol{\Psi}(\omega) = \left[ \begin{array}{c} \boldsymbol{\psi}_{0}^{H}(\omega) \\ -\jmath \boldsymbol{\psi}_{1}^{H}(\omega) \\ \vdots \\ \left(-\jmath \right)^{N} \boldsymbol{\psi}_{N}^{H}(\omega) \end{array} \right] \end{array} $$

(28)

is now an (*N*+1)×*M* matrix and **b**_{N} is an (*N*+1)×1 vector consisting of the last *N*+1 elements of **b**_{2N}. In this case, the proposed beamformer is equivalent to the linear DMA (LDMA) presented in [26, 51].

As discussed previously, a large value of *ω**r*_{m}/*c* in the Bessel function, *J*_{n}(*ω**r*_{m}/*c*), may lead to performance degradation. For uniform LDMAs, an appropriate choice of the reference point is the middle point of the array line (assuming that *M* is even), i.e.,

$$\begin{array}{*{20}l} r_{m} &= \left| \frac{M+1}{2} - m \right| \delta, ~~ \psi_{m} = \left \{\begin{array}{ll} 0, \ m = 1, \ldots, M/2 \\ \pi, \ m = M/2, \ldots, M \end{array} \right.. \end{array} $$

(29)

Clearly, if microphones are nonuniformly distributed on a line, this beamformer degenerates to the nonuniform LDMA design method presented in [53].

Another particular case is when the *M* microphones are distributed as a uniform circular array, i.e.,

$$\begin{array}{*{20}l} \psi_{m} = (m-1) \frac{2\pi}{M},\ r_{m} =r, \ m=1,2,\ldots,M. \end{array} $$

(30)

The proposed beamformer degenerates to the circular DMA (CDMA) in [40]. Generally, if the array aperture is small, a uniform circular array has the best steering ability; but this geometry may not be applicable in many scenarios, especially for irregularly shaped devices. Therefore, microphone arrays with such geometries as triangular, rectangular, or arbitrary (but sensors’ positions are known), also have tremendous application potential.