Abstract
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.
1. 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 -norm problem, an often subproblem is to employ a -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 -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.
2. 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 and the position vector of the i-th microphone by . Let , 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
with
where ⊗ is the Kronecker product, and is the filter response vector. For a given array configuration, this beamforming design problem can be formulated as a minimax problem:
where is the specified desired response of the broadband beamformer.
Following [10], we expand the complex functions as
and denote
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 norm as a linear relaxation, and introducing two new variables as
we convert the above problem into the following problem:
which is equivalent to
To summarize, the design problem can be formulated as the following semi-infinite programming problem:
where , ,
Define
Then the above problem (2) can be represented by
3. Microphone Array Pruning Formulation
For microphone array configuration design, we formulate the problem as
where 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 is the optimal value of the beamformer filter design problem
In the above optimization problem, the added penalty function 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 between every pair of microphones and . Denote the smallest distance by . Using , we prune the microphone , so the number of microphones is reduced to . We in turn solve the above optimization problem using 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 and solve the following two-stage optimization problem:where is the optimal value of the beamformer filter design problem with a small perturbationIf 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 , set , 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 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 such that is level bounded on the feasible set, that is, for every , the set
is bounded when it is nonempty. For a given finite set , we consider the finite problem denoted by ():
We use a modified exchange algorithm [24] for this subproblem. The algorithm can be summarized as follows:
- Step 0:
- Choose a finite reference set such that . Let be an optimal solution to and let be the set of associated multipliers. Set .
- Step 1:
- Find a set such thatIf such a point does not exist, then stop. Otherwise, put .
- Step 2:
- Let be an optimal solution to and let be the set of associated multipliers.
- Step 3:
- LetSet , 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].
4. 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 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.2), (−0.04,1.2), (0,1.2), (0.04,1.2), (0.08,1.2), (0,1.4), (0,1.3), (0,1.1), (0,1)} (Figure 1), with a 26-tap FIR filter behind each element. Note that in the Figures, the speaker is represented by a red diamond while microphones are represented by blue circles. The passband region is defined as
while the stopband region is simplified as the union of
Figure 1.
Initial array configuration (Ex1).
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 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.
Figure 2.
Final array configuration (Ex1).
Figure 3.
Amplitude of , % of zeroes for microphone arrays (Ex1).
Figure 4.
Stopband ripple for microphone arrays (Ex1).
Figure 5.
Amplitude of , % of zeroes for filters (Ex1).
Figure 6.
Stopband ripple for filters (Ex1).
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
Figure 7.
Initial array configuration (Ex2).
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 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 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.
Figure 8.
Final array configuration (Ex2).
Figure 9.
Amplitude of , 75% of zeroes for microphone arrays (Ex2).
Figure 10.
Stopband ripple for microphone arrays (Ex2).
Figure 11.
Amplitude of , % of zeroes for filters (Ex2).
Figure 12.
Stopband ripple for filters (Ex2).
5. 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.
Author Contributions
Writing—original draft, M.G. and K.a F.C.Y.; Writing—review & editing, K.F.C.Y. and S.N.
Funding
This paper is supported by the National Natural Science Foundation of China (NSFC) Grant 11801184 and 11771157, GRF Grant PolyU. 152200/14E and PolyU grant 4-ZZGS and G-YBVQ.
Conflicts of Interest
The authors declare no conflict of interest.
References
- Brandstein, M.; Ward, D. Microphone Arrays: Signal Processing Techniques and Applications; Springer: Berlin, Germany, 2001. [Google Scholar]
- Kellermann, W. Beamforming for speech and audio signals. In Handbook of Signal Processing in Acoustics; Havelock, D., Kuwano, S., Vorlander, M., Eds.; Springer: New York, NY, USA, 2008. [Google Scholar]
- Ryan, J.; Goubran, R. Array optimization applied in the near field of a microphone array. IEEE Trans. Speech Audio Process. 2000, 8, 173–178. [Google Scholar] [CrossRef]
- Kennedy, R.; Ward, D.; Abhayapala, T. Nearfield beamforming using radial reciprocity. IEEE Trans. Signal Process. 1999, 47, 33–40. [Google Scholar] [CrossRef]
- Lim, Y.C.; Lian, Y. The optimum design of one and two-dimensional FIR filters using the frequency response masking technique. IEEE Trans. Circuits Syst. II 1993, 40, 88–95. [Google Scholar] [CrossRef]
- Lau, B.K.; Leung, Y.H.; Teo, K.L.; Sreeram, V. Minimax filters for microphone arrays. IEEE Trans. Circuits Syst. II 1999, 46, 1522–1525. [Google Scholar] [CrossRef]
- Chan, S.C.; Chen, H.H. Uniform concentric circular arrays with frequency-invariant characteristics-theory, design, adaptive beamforming and DOA estimation. IEEE Trans. Signal Process. 2007, 55, 165–177. [Google Scholar] [CrossRef]
- Nordholm, S.; Rehbock, V.; Teo, K.L.; Nordebo, S. Chebyshev approximation for the design of broadband beamformers in the near field. IEEE Trans. Circuits Syst. II 1998, 45, 141–143. [Google Scholar] [CrossRef]
- Yiu, K.F.C.; Grbic, N.; Teo, K.L.; Nordholm, S. A new design method for broadband microphone arrays for speech input in automobiles. IEEE Signal Proc. Lett. 2002, 9, 222–224. [Google Scholar]
- Yiu, K.F.C.; Yang, X.Q.; Nordholm, S.; Teo, K.L. Near-field broadband beamformer design via multidimensional semi-infinite linear programming techniques. IEEE Trans. Speech Audio Process. 2003, 11, 725–732. [Google Scholar]
- Feng, Z.G.; Yiu, K.F.C.; Nordholm, S. A two-stage method for the design of near-field broadband beamformer. IEEE Trans. Signal Process. 2011, 59, 3647–3656. [Google Scholar] [CrossRef]
- Feng, Z.G.; Yiu, K.F.C. The design of multi-dimensional acoustic beamformers via window functions. Digit. Signal Process. 2014, 29, 107–116. [Google Scholar] [CrossRef]
- Feng, Z.G.; Yiu, K.F.C.; Nordholm, S. Performance limit of broadband beamformer designs in space and frequency. J. Optim. Theory Appl. 2015, 164, 316–341. [Google Scholar] [CrossRef]
- Baran, T.; Wei, D.; Oppenheim, A.V. Linear programming algorithms for sparse filter design. IEEE Trans. Signal Process. 2010, 58, 1605–1617. [Google Scholar] [CrossRef]
- Jiang, A.; Kwan, H.K. Recent advances in sparse FIR filter design using l0 and l1 optimization techniques. In Trends in Digital Signal Processing; Lim, Y., Kwan, H.K., Siu, W.C., Eds.; Pan Stanford Publishing: Singapore, 2016. [Google Scholar]
- Zhang, L.P.; Wu, S.Y.; Lopez, M.A. Optimizing floating point units in hybrid FPGAs. SIAM J. Optim. 2010, 20, 2959–2977. [Google Scholar] [CrossRef]
- Yiu, K.F.C.; Gao, M.J.; Feng, Z.G. Design of near-field broadband beamformer using semi-definite programming. Int. J. Innov. Comput. Inf. Control 2012, 8, 3755–3768. [Google Scholar]
- Oliveri, G.; Donelli, M.; Massa, A. Linear array thinning exploiting almost difference sets. IEEE Trans. Antennas Propag. 2009, 57, 3800–3812. [Google Scholar] [CrossRef]
- Fernandez-Delgado, M.; Rodriguez-Gonzalez, J.; Iglesias, R.; Barro, S.; Ares-Pena, A. Fast array thinning using global optimization methods. J. Electromagn. Waves Appl. 2010, 24, 2259–2271. [Google Scholar] [CrossRef]
- Feng, Z.G.; Yiu, K.F.C.; Nordholm, S. Placement design of microphone arrays in near-field broadband beamformers. IEEE Trans. Signal Process. 2012, 60, 1195–1204. [Google Scholar] [CrossRef]
- Li, Z.B.; Yiu, K.F.C.; Feng, Z.G. A hybrid descent method with genetic algorithm for microphone array placement design. Appl. Soft Comput. 2013, 13, 1486–1490. [Google Scholar] [CrossRef]
- Honig, M.; Madhow, U.; Verdu, S. Blind adaptive multiuser detection. IEEE Trans. Inf. Theory 1995, 41, 944–960. [Google Scholar] [CrossRef]
- Darsena, D.; Verde, F. Minimum-mean-output-energy blind adaptive channel shortening for multicarrier simo transceivers. IEEE Trans. Signal Process. 2007, 55, 5755–5771. [Google Scholar] [CrossRef]
- Gao, M.J.; Yiu, K.F.C.; Wu, S.Y. A perturbation exchange algorithm for convex semi-infinite programming with applications in sparse beamformer. Pac. J. Optim. 2018, 14, 15–30. [Google Scholar]
© 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).











