On the Sparse Beamformer Design

In designing acoustic broadband beamformers, the complexity can grow significantly when the number of microphones and the filter length increase. It is advantageous if many of the filter coefficients are zeroes so that the implementation can be executed with less computation. Moreover, the size of the array can also be pruned to reduce complexity. These problems are addressed in this paper. A suitable optimization model is proposed. Both array pruning and filter thinning can be solved together as a two-stage optimization problem to yield the final sparse designs. Numerical results show that the complexity of the designed beamformers can be reduced significantly with minimal effect on performance.


Introduction
Beamforming is a spatial filtering technique used to enhance the required signal via a sensor array for directional signal transmission or reception [1,2]. With a fixed configuration, the steering vectors of the desired signals can be estimated together with their directions-of-arrival [3]. More elaborated physical signal propagation models have also be employed to describe complicated wave phenomena [4]. As a result, the beamformer design problem can be formulated as an optimization problem similar to the design of multidimensional digital filters. Various optimization methods, such as linear programming techniques [5], quadratic programming techniques [6], and second-order cone programming [7] have been applied. If the beamformers are applied in the near-field of the speaker, it becomes a broadband design problem and several optimization methods have been developed. These include the use of quadratic programming [8], multicriteria formulation [9], linear programming [10], and semi-definite programming [11,12]. We have also analytically investigated the performance limit of the optimization when the filter length is long and the number of microphones is large [13]. As the dimension of the beamformer increases, the optimization problems become large-scale and are difficult to handle, even with state-of-the-art optimization software. Additionally, the complexity of the beamforming system becomes very high.
In designing beamformers, it is advantageous to have filters with many zeroes. In this way, the implementation complexity can be reduced significantly. Therefore, the design of sparse beamforming filters is of great interest. In solving this l 0 -norm problem, an often subproblem is to employ a l 1 -norm as a linear relaxation of the original problem, and iterate on the number of zeroes via a successive thinning technique [14,15]. When the l 1 -norm is employed, the problem becomes a non-strictly convex semi-infinite programming problem. For fast convergence and at the same time to reduce the magnitudes of unnecessary filter coefficients, a perturbation exchange algorithm is proposed. The idea is to add a small perturbation to the objective function, making the problem strictly convex. Under the influence of a small perturbation to the objective function, we obtain similar frequency response to the traditional method [10]. Moreover, an efficient exchange method was proposed for a convex semi-infinite programming problem in [16] which has low complexity. During the exchange process, global optima of the exchange points are not required for addition, but only those points with constraint violations. In dropping active points, the Lagrange multipliers are used to remove all inactive constraints. The new add-drop rule saves much computational time. This is particularly important for higher-dimensional design problems after discretization with a huge dimension in the constraint set.
In addition to the sparseness in the filters, it is also important to prune unnecessary microphones in order to reduce the size of the array without affecting the performance very much. Indeed, in the beamforming design problem, the array response changes significantly when the microphone positions change [17]. This problem has been addressed partially in the array thinning technique [18,19], which is essentially one-dimensional with application mainly in antenna design. A multi-dimensional array configuration design problem has been proposed in [20,21] which allows the microphone positions to be optimized in the multi-dimensional spatial domain. As an extension, in order to prune unnecessary microphones, it is possible to formulate the sparse configuration design problem by adding a penalty term to the configuration design problem in order to drive redundant microphones together for successive pruning.
In this paper, we formulate and propose a novel algorithm for the sequential pruning of a microphone array, and at the same time tackle the sparse design of beamforming filters through successive thinning. We formulate the optimization problem based on the minimax approach, although the method should work equally well for the least-squares or the minimum mean output energy approaches [22,23]. Numerical results have shown that it is possible to have a region of approximately equal performance when the sparsity increases, in both filters and microphones. Therefore, the proposed methods can indeed reduce the complexity of the beamformer array and filters significantly without performance degradation. In the following sections, the beamformer design problem is first described in Section 2. Then, the formulation of the microphone array pruning problem is presented in Section 3 together with the perturbation exchange algorithm. Finally, numerical results are given in Section 4.

Beamformer Design Formulation
In a typical environment, a beamformer contains a series of microphones placed in pre-defined locations. Behind each microphone, there is an FIR filter attached for processing the received sound signals [9]. However, in the beamforming design problem, the array response may change significantly when the microphone positions change. Thus, we should not ignore the configuration of the microphone array. Let the beamformer have N microphones and let each FIR filter have L taps. Denote the position vector of the source signal by s and the position vector of the i-th microphone by r i . Let γ = (r 1 , r 2 , · · · , r N ), and the region of all possible locations is given by The transfer function from the source to the i-th microphone is given by The array response is therefore given by and the beam response is where ⊗ is the Kronecker product, and d 0 ( f ) = 1, e −j2π f / f s , . . . , e −j2π f (L−1)/ f s is the filter response vector. For a given array configuration, this beamforming design problem can be formulated as a minimax problem: min where G d (s, f , γ) is the specified desired response of the broadband beamformer. Following [10], we expand the complex functions as By introducing a slack variable δ the above minimax problem can be further written as We can actually control the real part and the imaginary part separately. Using the l 1 norm as a linear relaxation, and introducing two new variables as we convert the above problem into the following problem: To summarize, the design problem can be formulated as the following semi-infinite programming problem: where z = (w, z 1 , z 2 ) T , b = (0, 1, 1) T , Then the above problem (2) can be represented by

Microphone Array Pruning Formulation
For microphone array configuration design, we formulate the problem as where z(γ) is the optimal value of the beamformer filter design problem However, if the number of microphones is very large, it will increase the implementation complexity significantly, but not necessarily improve the performance. Thus, we should find a way to prune unnecessary microphones in order to reduce the size of the microphone array without substantially affecting the performance. Let the initial number of microphones be N. A penalty term can be added to (9) in order to drive redundant microphones together for subsequent pruning. The final sparse configuration design problem can be formulated as where z(γ) is the optimal value of the beamformer filter design problem In the above optimization problem, the added penalty function δ ∑ i,j γ i − γ j 2 2 in the objective function plays the role of driving redundant microphones together. Clearly, when we increase δ, the redundant microphones will move closer and faster. After solving the above optimization problem, for every pair of microphones, we can calculate the Euclidean distances d ij = γ i − γ j 2 between every pair of microphones γ i and γ j . Denote the smallest distance by d ab . Using d ab , we prune the microphone γ a , so the number of microphones is reduced to N − 1. We in turn solve the above optimization problem using N − 1 microphones with the designed configuration. We prune one microphone in each iteration until the stopband ripple has increased unacceptably. The final algorithm can be summarized as follows: Step 1: Set k = 0 and solve the following two-stage optimization problem: where z(γ) is the optimal value of the beamformer filter design problem with a small perturbation If stopband ripple increases significantly, stop.
Step 2: The microphones a and b are chosen to correspond to the smallest Euclidean distance Step 3: Prune the microphone γ a , set k = k + 1, and return to Step 1.
In solving the sub-problem (10), discretization is employed to convert the solution space into a finite set of points. Note that we also add z 2 2 in the objective function of the beamformer filter design subproblem so that the objective function becomes strictly convex, which enables the use of modified exchange method [16,24] with a rather low complexity, even for the multi-dimensional design problem. When is sufficiently small, the approximate solution of the perturbed problem will be very close to the true solution.
Assume that there exists a finite subset Ω 0 such that b T z is level bounded on the feasible set, that is, for every a ∈ R, the set L 0 a := {z ∈ R n ; b T z ≤ a and g(z, (s, f , γ) ≤ 0 for all (s, f ) ∈ Ω 0 } is bounded when it is nonempty. For a given finite set R = {(s j , f j ), j = 1, · · · , m} ⊂ Ω, we consider the finite problem denoted by (BP (R (i) )): We use a modified exchange algorithm [24] for this subproblem. The algorithm can be summarized as follows: Step 0: Choose a finite reference set Let z (0) (γ) be an optimal solution to (BP (R (0) )) and let {λ(s j ), j = 1, · · · , m 0 } ∈ R m be the set of associated multipliers. Set k = 0.
Set k = k + 1, and return to Step 1.

One important point in
Step 1 is that we choose multiple points satisfying the adding rule instead of just choosing one. This will reduce the number of iterations and shorten the computational time. Furthermore, convergence of the algorithm can be found in [24]. Using the final pruned array, we can then perform the sparse filter design problem. The overall sparse design problem can be tackled in two stages. In the first stage, the microphone array is first pruned. Then, we can initiate stage two of the method to design the sparse beamforming filters using the algorithm presented in [24].

Numerical Examples
In this section, we provide examples to demonstrate the performance of the algorithm which was implemented in MATLAB. We chose the desired response function as where r c is the reference central microphone location. In this example, we considered the microphone array pruning problem combined with the design of sparse filters. Assume first that there are nine microphones located at the coordinates {(−0.08, 1. {(x, f ) : −3 m ≤ |x| ≤ 3 m, 2 kHz ≤ f ≤ 4, kHz}.
In the following, we used the MATLAB functions fminsearch and quadprog to solve the microphone pruning problem. For the performance, since stopband ripple is an important indicator of noise reduction, we employed it to demonstrate the effect of sparsity in the designs. After solving the problem, the number of microphones could be decreased to 4 ( Figure 2). The amplitude of the actual response G(r, f ) is shown in Figure 3, in which the passband is represented by red color. From Figure 4, we can see that the designed beamformer size could be reduced significantly. Using the final pruned array, we could then perform the sparse filter design problem. The amplitude of the actual response G(r,f) is shown in Figure 5. It is observed in Figure 6 that the performance was not affected greatly even when the sparseness increased to about 38% of zero elements for filter coefficient.   In the next example, we considered the microphone array pruning problem using a randomly generated microphone array (Figure 7). The passband region was defined as while the stopband region was the union of several parts, as A 12-tap FIR filter behind each element was used. The number of microphones could be decreased to 5 (Figure 8). The amplitude of the actual response G(r, f ) is shown in Figure 9. From Figure 10, we can see that the designed beamformer array could be simplified significantly without greatly affecting the performance. After pruning the microphone array, we could then carry out the sparse filter design problem. The amplitude of the actual response G(r, f ) is shown in Figure 11. It is observed in Figure 12 that the performance was not affected greatly, even when the sparseness increased to about 41% of zero elements for the filter coefficient.

Conclusions
In this paper, we studied the sparse beamformer design problem for both array and filters. A novel array pruning problem was formulated and an optimization algorithm was proposed to prune the microphones sequentially. In finding sparse beamformer filters, a perturbation exchange algorithm was proposed to solve the sparse design problem with the successful thinning technique. We studied the performance of the optimized designs with several examples. We demonstrated that there was a region of approximately equal performance for both array pruning and sparse filter design. As a future extension, it would be of interest to study the convergence properties of the overall optimization algorithm.