Skip to main content

Design of broadband beamformers with low complexity

Abstract

In this article, we consider the design of broadband beamformers with low complexity. In fact, the design problem is multi-objective in nature, trading off between speech distortion and noise suppression. Finding a balance between these two objectives is important in order to achieve a desired sound quality. These measures are introduced as the objectives here. The design can then be obtained via a bi-objective integer programming problem, where the coefficients of the filters are expressed as sums of signed powers-of-two terms. We study two different integer spaces and penalty functions for solving the problem. Then, an algorithm based on a discrete filled function is developed for finding the optimal design. In order to illustrate the effectiveness of the algorithm, real data is used and two broadband beamformers are demonstrated.

1 Introduction

The increased popularity of wireless cellular telephones and their uses in a variety of occasions has motivated the development of handsfree communication devices. In this particular acoustic environment, the microphone array is required to suppress the car noise as well as the interference from the handsfree loudspeaker, while keeping the distortion of the speech low. Since the mathematical model of this problem is very difficult to construct, sequences of calibration signals are used instead for the design of beamformers [1].

Under this signal model, the least-squares technique (LS) and the signal-to-noise plus interference ratio (SNIR) are often used [2, 3] to optimize the performance of the beamformer. However, evaluation results [3] have shown that beamformers designed by LS have very good distortion controls, while the ones designed by SNIR have better suppression levels of both noise and interference when compared to LS. Both approaches cannot control directly the individual level of speech distortion, noise suppression and interference suppression. This problem is partially overcome in [4], where it was proposed to use nonlinear programming to design beamformers with multi-criteria and demonstrated the set of Pareto optimal. Indeed, trade-offs between different performance indicators in different beamforming systems are important and have been studied in the literature [510]. However, after achieving the required performances, coefficients of the designed beamformers are of very high precision and hence require significant efforts in order to preserve the performance and trade off the computational efficiency. Indeed, in many designs, the truncation method is still widely employed and quantization errors play a significant role in the dynamic range of filter gain and increase with filter order [11, 12]. Furthermore, an efficient implementation of the beamformers in fixed-point arithmetic hardware (such as FPGA) is essential [13] in the production stage. However, there is very little result for finding the finite precision beamformers subject to achieving a certain speech quality.

One way to achieve low complexity is to express the coefficients of the filters as sums of signed powers-of-two (SPT) terms, and minimize the number of SPT terms required. This problem has received a great attention. For the design of high-pass or low-pass finite impulse response (FIR) filters, the use of SPT terms via the least squares criterion or the minimax criterion have been widely studied in the literature. Several optimization methods, such as branch and bound [14], simulated annealing [15], and searching techniques [16, 17] have been proposed to tackle this class of problems. For the design of the filter bank, several algorithms have been proposed, such as the genetic algorithm [18], and the tree search algorithm [19]. However, these approaches have not been applied for broadband beamformer designs yet, especially when we consider the model of optimizing signal distortion and noise suppression directly. Effective algorithms are required to tackle this new constrained optimization problem.

The problem of designing FIR filters with low complexity is always formulated as a constrained optimization problem, where the variables take values in -1, 0, and 1. However, the number of variables for this formulation is very large and the proposed methods, such as branch and bound and the tree search algorithm, are very expensive. The heuristic methods such as the genetic algorithm and simulated annealing are not only expensive but also unpredictable. To reduce the number of variables, it is necessary to find a fast conversion between an integer and its minimum combination of signed power of two terms. In [20], a method is proposed to allocate the number of SPT terms to each coefficient value, but the optimum assignment scheme is not guaranteed. In this article, a fast and optimal conversion based on a recursive function is introduced and the problem is transformed into an integer programming problem with the number of variables greatly reduced. For this problem, the optimal solution should be close to the infinite precision solution, which can easily be obtained by gradient-based methods. Hence, the truncation of the infinite precision solution can be set as a good initial point and we are required to search the neighborhood of the initial point in the integer space. A suitable technique is the filled function method, which was first introduced in [21] for global optimization with continuous variables employed in a hybrid setting similar to [22]. It searches for a better minimizer among local minimizers by means of a function, which is called a filled function. A discrete filled function method was later developed in [23] for solving discrete global optimization problems. In this article, a novel method is proposed for the finite precision beamformer design using a discrete filled function. We formulate the design problem and transform it into an unconstrained integer programming problem. By incorporating a procedure for choosing initial points and using a discrete filled function, we develop an efficient algorithm to tackle the problem.

The rest of the article is organized as follows. In Section 2, with the calibration signal, we present the signal model and formulate the beamformer design problem. In Section 3, we transform the original problem into an unconstrained integer programming problem. An algorithm is then developed in Section 4, which is then applied for the off-line design of beamformers. Two examples are given in Section 5 and the numerical results obtained are compared with other methods.

2 Problem formulation

Unlike the single-channel case, multi-channel beamforming techniques exploit the properties of spatial and temporal distributions of both the speech and noise sources to enhance the performance. The structure of a linear FIR beamformer with several channels is shown in Figure 1.

Figure 1
figure 1

A finite impulse response beamformer. The structure of a finite impulse response beamformer.

We assume that there are M elements in the microphone array. In general, the signals received by the i th microphone element can be represented as

x i ( n ) = x s i ( n ) + x N i ( n ) + x I i ( n ) , i = 1 , 2 , , M ,
(2.1)

where x s i ( n ) , x N i ( n ) , and x I i ( n ) are the source signal, the noise signal and the interference signal, respectively, and n is the discrete time index. Assume that known calibration sequence observations are used for each of these signals. The output of the beamformer is given by

y ( n ) = i = 1 M j = 0 L - 1 w i ( j ) x i ( n - j ) ,
(2.2)

where L is the length of the filters and w= ((w1),..., (wM)), where

w i = ( w i ( 0 ) , w i ( 1 ) , , w i ( L - 1 ) ) , i = 1 , , M ,

are the weight vectors. The coefficients wi(j), i = 1,..., M, j = 0,..., L - 1, are expressed by

w i ( j ) = k = 1 b s k , i , j 2 - k , i = 1 , , M , j = 0 , , L - 1 ,
(2.3)

where b is the wordlength and s k ,i,j {-1, 0,1}. To reduce the hardware complexity in real applications, the coefficients need to satisfy the constraints

k = 1 b i = 1 M j = 0 L - 1 s k , i , j N 1 ,
(2.4)

where N1 is the total allowable number of the SPT terms used, and

k = 1 b s k , i , j N 2 , i = 1 , , M , j = 0 , , L - 1 ,
(2.5)

where N2 is the allowable number of SPT terms for each coefficient wi(j). Let W denote the set of all those w such that the constraints (2.4) and (2.5) are satisfied.

Basically, the LS formulation and the SNIR formulation are two different kinds of methods for determining the weight matrix. In both approaches, there is no direct control over the level of distortion and the level of noise and interference suppression. In particular, LS is very good at the distortion level, but poor in the suppression level. On the other hand, SNIR is always very good at the suppression level but left a consistently high level of distortion.

For beamformers, it is desired to maximize the noise and interference suppression, while keeping the distortion caused by the beamforming filters at the minimum. In order to measure various quantities, calibration signals are used. Define P ^ x s r x s r ( ω ) as the power spectrum estimate of the source signal without filtering, where the r th microphone is chosen as reference, and P ^ y s y s ( ω ) is the power spectrum estimate of the beamformer output with filtering when the source signal is active alone. The normalized distortion measure can be defined as:

D r ( w ) = 1 2 π - π π C d P ^ y s y s ( ω ) - P ^ x s r x s r ( ω ) d ω = ε C d P ^ y s y s ( ω ) - P ^ x s r x s r ( ω ) ,
(2.6)

where ε{} denotes the mean value and ω is the frequency. The constant C d is defined as:

C d = - π π P ^ x s r x s r ( ω ) d ω - π π P ^ y s y s ( ω ) d ω = ε { P ^ x s r x s r } ε { P ^ y s y s } ,
(2.7)

Similarly, the normalized noise suppression measure and interference suppression measure are, respectively, given by

S N ( w ) = C s - π π P ^ x N r x N r ( ω ) d ω - π π P ^ y N y N ( ω ) d ω = C s ε { P ^ x N r x N r } ε { P ^ y N y N } ,
(2.8)

and

S I ( w ) = C s - π π P ^ x I r x I r ( ω ) d ω - π π P ^ y I y I ( ω ) d ω = C s E { P ^ x I r x I r } E { P ^ y I y I } ,
(2.9)

where C s = 1 C d . Note that in (2.8), P ^ y N y N ( ω ) and P ^ x N r x N r ( ω ) are power spectrum estimates of the beamformer output with and without filtering, when the surrounding noise is active alone. In the same manner, P ^ y I y I ( ω ) and P ^ x I r x I r ( ω ) are power spectrum estimates when the interference signals are active alone. Both the noise and the interference suppression measures are normalized in accordance with the amplification/attenuation caused by the beamformer to the reference observation when the source signal is active alone, i.e., when the beamformer attenuates the source signal by a specific amount, the noise and interference suppression quantities are reduced by the same amount.

In order to control the suppression and the distortion simultaneously, the filter design problem is formulated as a nonlinear programming problem given below.

Problem 1. Find a w W such that

F 1 ( w ) - 10 * ( log 10 S N ( w ) + log 10 S I ( w ) )
(2.10)

is minimized, subject to

G 1 ( w ) 10 * log 10 D r ( w ) - c 1 0 ,
(2.11)

where c1 is a pre-defined distortion level in dB scale.

Similar to Problem 1, we can also formulate the constrained nonlinear programming problem as:

Problem 2. Find a w W such that

F 2 ( w ) 10 * log 10 D r ( w ) ,
(2.12)

is minimized, subject to

G 2 ( w ) - 10 * ( log 10 S N ( w ) + log 10 S I ( w ) ) + c 2 0 ,
(2.13)

where c 2 is a pre-defined suppression level in dB scale.

Remark 1. In some situations, the influence of interference noise can be ignored. In such cases, the term S I in both Problems 1 and 2 can be removed.

3 Infinite precision solution

Both Problems 1 and 2 are discrete optimization problems. There is a lack of gradient information and hence they are much more difficult to be solved than continuous optimization problems. Here, we will first solve the infinite precision solution of the continuous version of the optimization problem, and use it as an initial guess to search for a finite precision solution in the second stage.

3.1 Equivalent form

Basically, the computation of P ^ y s y s , P ^ y N y N and P ^ y I y I are very expensive if we calculate them by using the filtered signals y s ,y N , and y I for every w[4]. To simplify the computation, we take the discrete time Fourier transform of both sides of (2.2) yielding

Y ( ω ) = k = 1 M W k ( ω X k ( ω ) ,
(3.1)

where W k (ω), X k (ω), and Y(ω) are the Fourier transforms of wk, xk, and y, respectively. Denote ¯ as the conjugate symbol, we have

P ^ y y ( ω ) = Y ( ω ) 2 = ( k = 1 M W k ( ω ) X k ( ω ) ) ( j = 1 M W ̄ j ( ω ) X ̄ j ( ω ) ) = k = 1 M j = 1 M W k ( ω ) W ̄ j ( ω ) X k ( ω ) X ̄ j ( ω ) = k = 1 M j = 1 M W k ( ω ) W ̄ j ( ω ) P ^ ̄ x k x j ( ω ) ,
(3.2)

where P ^ x k x j ( ω ) is the cross power spectrum of xk and xj. Since for each k, W k (ω) can be expressed as

W k ( ω ) = j = 0 L - 1 w k ( j ) e - i j ω = ( w k ) ξ ( ω ) ,

where ξ(ω) = (1, e-iω..., e-i(L-1)ω), it is clear that

W k ( ω ) W ̄ j ( ω ) = ( w k ) ξ ( ω ) ( ξ ̄ ( ω ) ) ( w ) j ,
(3.3)

where ξ ( ω ) ( ξ ̄ ( ω ) ) can be computed directly as a Toeplitz matrix function:

ξ ( ω ) ( ξ ̄ ( ω ) ) = 1 e i ω e i ( L - 1 ) ω e - i ω 1 e i ( L - 2 ) ω e - i ( L - 1 ) ω e - i ( L - 2 ) 1 .
(3.4)

Let R ξ (ω) and I ξ (ω) be, respectively, the real part and imaginary part of ξ ( ω ) ( ξ ̄ ( ω ) ) given by

R ξ ( ω ) = 1 cos ω cos ( L - 1 ) ω cos ω 1 cos ( L - 2 ) ω cos ( L - 1 ) ω cos ( L - 2 ) ω 1 ,
(3.5)
I ξ ( ω ) = 0 sin ω sin ( L - 1 ) ω - sin ω 0 sin ( L - 2 ) ω - sin ( L - 1 ) ω - sin ( L - 2 ) ω 0 ,
(3.6)

and let R x k x j ( ω ) and I x k x j ( ω ) be the real part and imaginary part of P ^ ̄ x k x j ( ω ) , respectively. Then, (3.2) can be rewritten as

P ^ y y ( ω ) = Re k = 1 M j = 1 M W k ( ω ) W ̄ j ( ω ) P ^ ̄ x k x j ( ω ) = k = 1 M j = 1 M Re ( w k ) R ξ ( ω ) + i I ξ ( ω ) w j R x k x j ( ω ) + i I x k x j ( ω ) = k = 1 M j = 1 M ( w k ) R x k x j ( ω ) R ξ ( ω ) - I x k x j ( ω ) I ξ ( ω ) w j .
(3.7)

Let Ξ(ω) be a ML×MLmatrix function given by

Ξ x x ( ω ) = Ξ x 1 x 1 ( ω ) Ξ x 1 x 2 ( ω ) Ξ x 1 x M ( ω ) Ξ x 2 x 1 ( ω ) Ξ x 2 x 2 ( ω ) Ξ x 2 x M ( ω ) Ξ x M x 1 ( ω ) Ξ x M x 2 ( ω ) Ξ x M x M ( ω ) ,
(3.8)

where

Ξ x k x j ( ω ) = R x k x j ( ω ) R ξ ( ω ) - I x k x j ( ω ) I ξ ( ω ) .
(3.9)

Then, by (3.7)-(3.9), the constant C d defined in (2.7) can be simplified as

C d = ε P ^ x s r x s r ε w Ξ x s x s w .
(3.10)

The normalized distortion measure defined in (2.6) can then be rewritten as

D r ( w ) = ε ε { P ^ x s r x s r } ε { w Ξ x s x s w } P ^ y s y s ( ω ) - P ^ x s r x s r ( ω ) = ε w ε { P ^ x s r x s r } Ξ x s x s - P ^ x s r x s r ε { Ξ x s x s } w ε { w Ξ x s x s w } ,
(3.11)

and the normalized noise suppression measure and interference suppression measure defined in (2.8) and (2.9) can be, respectively, simplified as

S N ( w ) = ε P ^ x N r x N r ε { P ^ x s r x s r } w ε Ξ x s x s w w ε Ξ x N x N w ,
(3.12)
S I ( w ) = ε P ^ x I r x I r ε P ^ x s r x s r w ε Ξ x s x s w w ε Ξ x I x I w .
(3.13)

With (2.6), (2.8), and (2.9) replaced by (3.11)-(3.13), the computation of distortion and suppression values has been greatly simplified.

3.2 Properties

From (3.11)-(3.13), we have the following lemma.

Lemma 1. For any w and any λ ≠ 0,it holds that

D r ( λ w ) = D r ( w ) , S N ( λ w ) = S N ( w ) , S I ( λ w ) = s I ( w ) .

By Lemma 1, we can restrict each coefficient wi(j) in a bounded open interval (-1,1). Let W ¯ = ( - 1 , 1 ) M L , the respective infinite precision solutions of Problems 1 and 2 can be solved with the coefficients w confined in W ¯ .

For the suppression given by (3.12) (respectively, (3.13)), if the constraint of distortion level is ignored, we obtain the optimal solution of (3.12) (respectively, (3.13)). Denote

w ̃ = ε Ξ x N x N 1 / 2 w , R ̃ = ε Ξ x N x N - 1 / 2 ε Ξ x s x s ε Ξ x N x N - 1 / 2 .

Then, maximizing (3.12) is equivalent to maximizing

S ̃ N ( w ̃ ) = w ̃ R ̃ w ̃ w ̃ 2 .
(3.14)

Considering (3.14), the optimal value is given by the maximal eigenvalue of R ̃ and the optimal solution w ̃ * is given by the respective eigenvector. Then, the optimal solution w* maximizing (3.12) is given by

w * = ε Ξ x N x N - 1 / 2 w ̃ * .

We obtain the optimal solution w* by maximizing (3.13) using the same principle.

The continuous versions of the optimization problems of Problems 1 and 2 are nonlinear programming problems. One well-known method for solving this type of problems is the sequential quadratic programming (SQP) which will be employed here. An overview of SQP can be found in [24].

4 Finite precision solution

For the coefficients of beamformers, it is advantageous to express each one as the sum of signed power-of-two terms. In general, we hope to use less wordlength and less SPT terms to obtain a satisfying performance when compared with the infinite precision solution. However, if the wordlength is not long enough, the truncated finite precision solution will produce very poor performance. As a result, we need to develop a method to find a satisfying finite precision solution by using a relatively small number of SPT terms.

4.1 Problem transformation

Let us first construct a transformation to convert Problem 1 to an equivalent integer programming problem.

Ignoring the constraints (2.4) and (2.5), it is easy to see that the set of all wi(j) is {2-bk, k = 1-2b,...,2b-1}. That is, for any w ̃ 2 - b k , k = 1 - 2 b , , 2 b - 1 , there exists a vector s ̄ = s ̄ k , s ̄ k - 1 , 0 , 1 , such that

w ̄ = k = 1 b s ̄ k 2 - k .
(4.1)

Then, when the wordlength is taken as b-bit, the minimal number of SPT terms for w ̄ is defined as:

P w ( w ̄ , b ) = min s ̄ k = 1 b s ̄ k s . t . w ̄ = k = 1 b s ̄ k 2 - k .
(4.2)

We now introduce an integer vector z = ((z1) ..., (zM)), where

z i = z i ( 0 ) , z i ( 1 ) , , z i ( L - 1 ) , i = 1 , , M ,

such that

z i ( j ) = 2 b w i ( j ) , i = 1 , , M , j = 0 , , L - 1 .

Then, for each i and j, zi (j) {1 - 2b,..., 2b- 1}. Thus, when the wordlength is taken as b-bit, the minimal number of SPT terms for some integer z ̄ can be defined by

P z ( z ̄ , b ) = P w ( 2 - b z ̄ , b ) .
(4.3)

Remark 2. The computation of P z ( z ̄ , b ) and the conversion from an integer to signed digit code can be implemented by recursive functions. These are given in the Appendix.

Clearly, the constraints (2.4) and (2.5) are equivalent to

i = 1 M j = 0 L - 1 P z ( z i ( j ) , b ) N 1
(4.4)
P z ( z i ( j ) , b ) N 2 , i , j .
(4.5)

The cost functions (2.10) and (2.12) are equivalent to

F ̄ 1 ( z ) = - 10 * ( log 10 S N ( 2 - b z ) + log 10 S I ( 2 - b z ) ) ,
(4.6)

and

F ̄ 2 ( z ) = 10 * log 10 D ( 2 - b z ) .
(4.7)

To deal with the constraints, we use the penalty function method. Let Q1, Q 2 , Q 3 , Q 4 and Q 5 denote five sufficiently large positive real numbers. The constraints (4.4), (4.5), (2.11), and (2.13) are replaced with

g 1 ( z ) = max 0 , Q 1 i = 1 M j = 0 L - 1 P z ( z i ( j ) , b ) - N 1 ,
(4.8)
g 2 , i , j ( z ) = max { 0 , Q 2 ( P z ( z i ( j ) , b ) - N 2 ) } , i = 1 , , M , j = 0 , , L - 1 ,
(4.9)
g 3 ( z ) = Q 3 G 1 ( 2 - b z ) + Q 5 if G 1 ( 2 - b z ) > 0 0 if G 1 ( 2 - b z ) 0 ,
(4.10)

and

g 4 ( z ) = Q 4 G 2 ( 2 - b z ) + Q 5 if G 2 ( 2 - b z ) > 0 0 if G 2 ( 2 - b z ) 0 ,
(4.11)

respectively. Then, by adding the penalized terms, the objective functions (4.6) and (4.7) become

E 1 ( z ) = F ̄ 1 ( z ) + g 1 ( z ) + i = 1 M j = 0 L - 1 g 2 , i , j ( z ) + g 3 ( z ) ,
(4.12)

and

E 2 ( z ) = F ̄ 2 ( z ) + g 1 ( z ) + i = 1 M j = 0 L - 1 g 2 , i , j ( z ) + g 4 ( z ) ,
(4.13)

respectively. Let Z = { 1 - 2 b , , 2 b - 1 } M L denote the space of all possible z. Thus, Problem 1 is transformed into:

Problem 3. Find a z Z such that E1(z), which is defined by (4.12), is minimized.

Similarly, Problem 2 is transformed into:

Problem 4. Find a z Z such that E2(z), which is defined by (4.13), is minimized.

Problems 3 and 4 are unconstrained integer programming problems. To solve Problems 3 and 4, we will develop a three-step algorithm. The first step is the selection of an initial point, the second step is a local search, while the third step is a global approach.

4.2 Initial point

We will develop an efficient computational method to search for the optimal solutions of Problems 3 and 4. But first, we need to find a good initial point.

In general, it is much more difficult to solve the discrete optimization problem than to solve the continuous version of the optimization problem. In order to select good initial points for Problems 3 and 4, we first find the solutions (infinite precision solutions) of the continuous version of Problems 1 and 2 and then round them to the nearest discrete solutions.

Then, after the optimal solution w ^ of the continuous version of Problem 1 or 2 is obtained, we denote z ^ = 2 b w ^ and select the initial point z0 as the nearest point in Z to , that is,

z 0 i ( j ) = T ( i ( j ) ) , i = 1 , , M , j = 0 , , L - 1 ,
(4.14)

where T is a function defined by

T ( z ̄ ) = z ̄ + 0 . 5 , if z ̄ 2 b - 1 , 2 b - 1 , if  z ̄ > 2 b - 1 , 1 - 2 b , if  z ̄ < 1 - 2 b ,
(4.15)

in which [ z ̄ ] denotes the largest integer less than or equal to z ̄ .

4.3 Local search

With an initial point, we can start to search for a local minimizer. The steepest descent algorithm is applied here to find a local minimizer by selecting the point which produces the largest reduction in the value of the objective function over the current point's neighborhood. The definition of neighborhood is given in

Definition 1. For any z Z , the neighborhood of z is defined by

N ( z ) = { z , z ± e i : i = 1 , , M L } Z ,
(4.16)

where e i is the ith unit vector (the MLvector with the ith component equal to one and all other components equal to zero).

If we have found a point which minimizes the objective function over its neighborhood, then the local search stops and the point obtained is called a local minimizer. The precise definition of local minimizers is given as follows:

Definition 2. A point z * is called a local minimizer of E i over Z if E i ( z * ) E i ( z ) , z N ( z * ) .

Based on the two definitions given above, we present a discrete steepest descent algorithm, which will be used as a subroutine, to search for a local minimizer of the cost function E i in the following algorithm.

Algorithm 1. (Subroutine)

1. Start from an initial minimum z* and an initial point z ' = z0. Compute the objective function value E i .

2. For each point z N ( z ) \ { z } , compute the corresponding objective function value Ei(z). Suppose z ' is such that E i (z') is the minimum. If E i (z') ≥ E i (z*), then z * is a local minimizer of E i and stop, else goto Step 3.

3. Set z* = z'. Goto Step 2.

4.4 Global approach

With Algorithm 1, we can find a local minimizer from any initial point. For this problem, there exist many local minimizers, and not all of them are useful in practice. Thus, we shall derive a discrete filled function method to search for the best local minimizer.

We introduce the following function based on the one constructed in [23].

F μ , ρ ( z ; z * ) = μ E i ( z ) - E i ( z * ) 2 - ρ z - z * 2 , if E i ( z ) E i ( z * ) ,
(4.17)

where ║ ║ denotes the usual Euclidean norm. When ρ > 0, 0 < μ < ρ/K (K is a sufficiently large real number), (4.17) is called a discrete filled function.

It is not necessary to define the function F μ ,pwhen E i (z) < E i (z*). In this case, we can use the discrete steepest descent method directly with z as the initial point and will obtain a local minimizer, which is better than z* with reference to the objective function.

The search according to this discrete filled function (4.17) takes place as follows. With the starting point z*, the μ[E i (z) - E i (z*)]2 term favors a solution with lower objective function value while the -ρ║ z - z *║2 term favors a solution far away from z*. Combining the effects, the discrete filled function favors a solution whose objective function value is not too much greater than that of z* and at a considerable distance away from z*. The idea is to direct its search towards the direction with the least increase in the objective function value.

To address the situation when we fail to find a point z such that E i (z) <E i (z*) using the discrete filled function (4.17) as the objective function, we choose a positive integer number n s . When the number of searching steps is greater than n s , we stop and return the current local minimizer. This is because for the problem considered in this article, the optimal solution should be in the neighborhood of the continuous solution. Therefore, when the number of searching steps is greater than n s , we can consider that the best local minimizer has been obtained and it is not necessary to continue searching.

Then, with the current local minimizer z* of E i , we present a discrete steepest descent algorithm to search for a point better than z* in the following algorithm.

Algorithm 2. (Subroutine)

1. Set the current local minimizer z * as the initial point z0. Set l = 0 be the number of searching steps.

2. For each point z N ( z l ) \ { z l } , compute the corresponding objective function value F μ ,p(z; z*). Choose z ' such that F μ ,p(z'; z*) is the minimum. Go to Step 3.

3. If Ei(z ') <Ei(z*), then stop and return z ' which is better than z*, else set l = l + 1 and goto Step 4.

4. If l <n s , go to Step 2, else stop and return z ' = z*, which means there is no point better than z*.

4.5 Algorithm

The proposed algorithm solving Problem 3 (or Problem 4) is summarized in the following:

Algorithm 3. (Main program)

1. Calculate the infinite precision solution w ^ of Problem 1 (or Problem 2) by using the SQP method. Compute the initial point z0.

2. Apply Algorithm 1 to obtain a local minimizer of the objective function E i with the initial point z0. Let the local minimizer be denoted as z*.

3. Apply Algorithm 2 to find a point z ' better than z*. If z' ≠ z*, set z0 = z ' and go to Step 2, else stop search and obtain the solution z*, go to Step 4.

4. If the best value E i (z*) is sufficiently large, it means some constraints are not satisfied and the solution is infeasible, else return the solution z * and its value E i (z*). Stop.

It can be seen that Algorithm 3 includes two searches: the search of local minimizer and the search for switching to the better local minimizer. Both searches are based on the discrete steepest descent algorithm.

5 Simulation results

The proposed method has been used to solve several examples. The results obtained are consistently favorable when compared with results obtained by the truncation method. In this section, we illustrate the results for two examples. The computation was performed in Matlab, where the coefficients in this article are set as

μ = 1 0 - 6 , ρ = 1 , n s = 10 , Q 1 = Q 2 = Q 5 = 100 , Q 3 = Q 4 = 10 .

In the first example, the measurements were performed in a car environment. The calibration signals were recorded with a sample rate of 12 kHz and with a 300-3400 Hz bandwidth. A linear microphone array with four elements is considered. Noise calibration signals were used, which are emitted individually from the artificial talker and the handsfree loudspeaker as the source and the interference calibration signals, respectively. Interference signals were recorded by emitting an independent sequence of white noise, from the handsfree loudspeaker alone, within the bandwidth. This recording serves as the point source interference calibration signal. Recordings with real speech signals were recorded both individually and while driving. In order to gather background noise signals, the car was driving at a speed of 110 km/h on a paved road. The duration of these signals was 8 s [3].

We consider Problem 1 with the filter length given as 8. The total allowable number of SPT terms is constrained by N1 = 40 and the allowable number for each coefficient is constrained by N2 = 3. To see how our method studies, we take an example when the distortion level is taken as c1 = -25 dB and the wordlength is taken as b = 5. We use the function fmincon in Matlab to solve the infinite precision solution, whose objective value is -23.8079 dB. The truncation solution is obtained, where the objective value is -20.7160 and the number of SPT terms is 60. For the proposed method, we first obtain a local minimizer by Algorithm 1, where the objective value is -21.9350 dB. By the discrete filled function, we apply Algorithm 1 to search for a solution better than the current local minimizer. Then, setting this solution as the initial point, we apply Algorithm 1 to obtain a better local minimizer whose objective value is -22.1598 dB. Again, by applying the discrete filled function four times, we obtain the local minimizer whose objective value is -23.4359 dB. This is then the best solution we found. Hence, we can see that from the truncation method to the proposed method, the total improvement of performance is 2.72 dB and the improvement of the number of SPT terms is 20. Furthermore, the improvement of performance from local search to global search is 1.50 dB.

Next, by choosing N1 = 50, N2 = 3, and b = 6, we apply the proposed method to solve the infinite precision solution with the distortion level taken as c1 = -20 dB, -22 dB, and -25 dB, respectively. The infinite and finite precision solutions and their values are reported in Table 1.

Table 1 Results for Example 1

The power spectrum estimates of the unprocessed and processed noise and interference signal using Welch's periodogram in the case of c1 = -20 dB are depicted in Figures 2 and 3. In the suppression figure, if the line of beamformer output is lower than that of the single sensor observation, then the noise signal or interference signal is suppressed. The much the dashed line is lower than the real line, the much the signal is suppressed, especially at some frequency when the intensity is strong (dB value is high). It can be seen from Figures 2 and 3 that the noise or interference signal has been suppressed.

Figure 2
figure 2

Noise suppression in Example 1. Spectrum estimates using Welch's pe-riodogram of an unprocessed single microphone observation and the beamformer output signal, when the distortion level is -20 dB.

Figure 3
figure 3

Interference suppression in Example 1. Spectrum estimates using Welch's periodogram of an unprocessed single microphone observation and the beamformer output signal, when the distortion level is -20 dB.

In the second example, the calibration signals were recorded with a two-element microphone arrays in an anechoic environment. A sample rate of 6 kHz is used. The duration of the signals was 5 s. We consider Problem 2 with the filter length given as 20. The total allowable number of SPT terms is constrained by N1 = 50 and the allowable number for each coefficient is constrained by N2 = 3. The wordlength is taken as b = 6. We use the function fmincon in Matlab to solve the infinite precision solution with the suppression level taken as c2 = -20 dB, -22 dB, and -25 dB, respectively. The infinite and finite precision solutions and their values are reported in Table 2. The power spectrum estimates of the unprocessed and processed noise and interference signal using Welch's periodogram in the case of c2 = -20 dB are shown in Figure 4. As the dashed line is lower than the real line for all frequencies in Figure 4, the noise signal has been suppressed remarkably.

Table 2 Results for Example 2
Figure 4
figure 4

Noise suppression in Example 2. Spectrum estimates using Welch's pe-riodogram of an unprocessed single microphone observation and the beamformer output signal, when the suppression level is -20 dB.

We can see from Tables 1 and 2 that the sums of SPT terms of the directly truncated solutions are always very large, and neither their values are satisfactory when compared with the infinite precision solutions, nor are the constraints. For the solutions obtained by the discrete filled function method, the sums of SPT terms are reduced remarkably and their values are very close to that of the infinite precision solutions.

6 Conclusion

In this article, a novel design method is developed for the finite precision beamformers. The design is based on a bi-criteria formulation trading off speech distortion against noise suppression, and the method is based on the concept of discrete filled functions, where filter coefficients are expressed as sums of SPT terms. An algorithm is derived using gradient descent techniques together with a procedure. From our numerical studies, the proposed method is highly effective, producing superior performance and reasonable design complexity.

Appendix 1: computation of P z ( z ̄ , b )

When the wordlength is taken as b-bit, the minimal number of SPT terms for z ̄ , which is defined as P z ( z ̄ , b ) in (4.3), is computed as a recursive function:

Recursive Function ( P z ( z ̄ , b ) ) .

1. If z ̄ 2 b , then P z ( z ̄ , b ) = + . Stop and return P z ( z ̄ , b ) .

2. If z ̄ = ± 1 , then P z ( z ̄ , b ) = 1 . Stop and return P z ( z ̄ , b ) .

3. If z ̄ > 1 and z ̄ is odd, then call the functions P z ( z ̄ - 1 , b ) and P z ( z ̄ + 1 , b ) respectively. Then, let P z ( z ̄ , b ) = 1 + min { P z ( z ̄ - 1 , b ) , P z ( z ̄ + 1 , b ) } . Stop and return P z ( z ̄ , b ) .

4. If z ̄ is even, then call the function P z ( z ̄ / 2 , b - 1 ) . Then, P z ( z ̄ , b ) = P z ( z ̄ / 2 , b - 1 ) . Stop and return P z ( z ̄ , b ) .

For this recursive function, the first two terms are the terminal conditions and the last two terms are the recursive rules. It is not difficult to see that the recursive rules preserve the property that P z ( z ̄ , b ) is the minimal number of SPT terms for z ̄ . For example, in the third term, if P z ( z ̄ - 1 , b ) is the minimal number of SPT terms for z ̄ - 1 and P z ( z ̄ + 1 , b ) is the minimal number of SPT terms for z ̄ + 1 , then P z ( z ̄ , b ) is the minimal number of SPT terms for z ̄ . Hence, we can compute P z ( z ̄ , b ) by applying this recursive function.

Appendix 2: converting an integer into signed digit code

Let Λ ( z ̄ , b ) denotes the minimal number of signed powers of two terms of z ̄ when the wordlength is taken as b-bit. Generally, Λ ( z ̄ , b ) is not unique.

Recursive Function ( Λ ( z ̄ , b ) ) .

1. If | z ̄ | 2 b , then Λ ( z ̄ , b ) = . Stop.

2. If z ̄ = 1 , then Λ ( z ̄ , b ) = { 2 0 } . If z ̄ = - 1 , then Λ ( z ̄ , b ) = { - 2 0 } . Stop and return Λ ( z ̄ , b ) .

3. If z ̄ > 1 and z ̄ is odd, then call the functions P z ( z ̄ - 1 , b ) , P z ( z ̄ + 1 , b ) and Λ ( z ̄ - 1 , b ) , Λ ( z ̄ + 1 , b ) . if P z ( z ̄ , b ) = 1 + P z ( z ̄ + 1 , b ) then let Λ ( z ̄ , b ) = Λ ( z ̄ + 1 , b ) { - 2 0 } , else if P z ( z ̄ , b ) = 1 + P z ( z ̄ - 1 , b ) , then let Λ ( z ̄ , b ) = Λ ( z ̄ - 1 , b ) { 2 0 } . Stop and return Λ ( z ̄ , b ) .

4. If z ̄ is even, then call the function Λ ( z ̄ / 2 , b - 1 ) . Suppose that Λ ( z ̄ / 2 , b - 1 ) = { s i k 2 i k , k = 1 , } , then let Λ ( z ̄ , b ) = { s i k 2 i k + 1 , k = 1 , } . Stop and return Λ ( z ̄ , b ) .

References

  1. Nordholm S, Claesson I, Dahl M: Adaptive microphone array employing calibration signals: an analytical evaluation. IEEE Trans Speech Audio Process 1999, 7(3):241-252. 10.1109/89.759030

    Article  Google Scholar 

  2. Dahl M, Claesson I: Acoustic noise and echo canceling with microphone array. IEEE Trans Veh Technol 1999, 48(5):1518-1526. 10.1109/25.790527

    Article  Google Scholar 

  3. Nordholm S, Claesson I, Grbić N, Brandstein M, Ward D: Optimal and adaptive microphone arrays for speech input in automobiles. In Microphone Arrays. Springer Verlag, Berlin Heidelberg New York; 2001:307-330.

    Chapter  Google Scholar 

  4. Yiu KFC, Grbić N, Teo KL, Nordholm S: A new design method for broadband microphone arrays for speech input in automobiles. IEEE Signal Process Lett 2002, 9(7):222-224.

    Article  Google Scholar 

  5. Weiss S, Proudler IK: Comparing efficient broadband beamforming architectures and their performance trade-offs. Volume 1. International Conference on Digital Signal Processing, Santorini, Greece; 2002:417-423.

    Google Scholar 

  6. Zhang Y, Milstein L, Siegel P: The tradeoff between diversity gain and interference suppression via beamforming in a CDMA system. Volume II. Proceedings of the 2003 IEEE conference on Military communications, Boston, USA; 2003:1132-1137.

    Google Scholar 

  7. Lanne M, Lundgren A, Viberg M: Optimized beamforming calibration in the presence of array imperfections. Volume II. Proceedings of the ICASSP, Honolulu, Hawaii, USA; 2007:973-976.

    Google Scholar 

  8. Guenther D, Walker W: Robust finite impulse response beamforming applied to medical ultrasound. IEEE Trans Ultrason Ferroelectron Freq Control 2009, 56: 1168-1188.

    Article  Google Scholar 

  9. Liu YP, Wan Q: Total difference based partial search LCMV beamformer. Progress Electromag Res Lett 2010, 18: 97-103.

    Article  Google Scholar 

  10. Sharma N, Buck J, Simmons J: Trading detection for resolution in active sonar receivers. J Acoustical Soc Am 2011, 130: 1272-1281. 10.1121/1.3614547

    Article  Google Scholar 

  11. Gerven SV, Compernolle DV, Wauters P, Verstraeten W, Eneman K, Delaet K: Multiple beam broadband beamforming: filter design and real-time implementation. IEEE ASSP Workshop on Applications of Signal Processing to Audio and Acoustics, New York; 1995:173-176.

    Google Scholar 

  12. Srinivasan S, Pandharipande A, Janse K: Beamforming under quantization errors in wireless binaural hearing aids. EURASIP J Audio Speech Music Process 2008, Article ID 824797.

    Google Scholar 

  13. Yiu KFC, Ho CH, Grbric N, Lu Y, Shi XX, Luk W: Reconfigurable acceleration of microphone array algorithms for speech enhancement. 19th IEEE International Conference on Application-specific Systems, Architectures and Processors (ASAP 2008). Leuven, Belgium; 2008:203-208.

    Google Scholar 

  14. Lim YC, Parker SR: FIR filter design over a discrete powers-of-two coefficient space. IEEE Trans Acoust Speech Signal Process 1983, 31: 583-591. 10.1109/TASSP.1983.1164085

    Article  Google Scholar 

  15. Benvenuto N, Marchesi M, Uncini A: Applications of simulated annealing for the design of special digital filters. IEEE Trans Signal Process 1992, 40: 323-332. 10.1109/78.124942

    Article  Google Scholar 

  16. Li DN, Lim YC, Lian Y, Song JJ: A polynomial-time algorithm for designing FIR filters with power-of-two coefficients. IEEE Trans Signal Process 2002, 50: 1935-1941. 10.1109/TSP.2002.800385

    Article  Google Scholar 

  17. Feng ZG, Teo KL: A discrete filled function method for the design of FIR filters with signed-powers-of-two coefficients. IEEE Trans Signal Process 2008, 56: 134-139.

    Article  MathSciNet  Google Scholar 

  18. Yu YJ, Lim YC: A novel genetic algorithm for the design of a signed power-of-two coefficient quadrature mirror filter lattice filter bank. Circ Syst Signal Process 2002, 21(3):263-276. 10.1007/s00034-004-7043-z

    Article  Google Scholar 

  19. Lim YC, Yu YJ: A width-recursive depth-first tree search approach for the design of discrete coefficient perfect reconstruction lattice filter bank. IEEE Trans Circ Syst II 2003, 50(6):257-266. 10.1109/TCSII.2003.812912

    Article  Google Scholar 

  20. Lim YC, Yang R, Li DN, Song JJ: Signed power-of-two term allocation scheme for the design of digital filters. IEEE Trans Circ Syst II 1999, 46(5):577-584. 10.1109/82.769806

    Article  Google Scholar 

  21. Ge RP: A filled function method for finding a global minimizer of a function of several variables. Math Program 1990, 46: 191-204. 10.1007/BF01585737

    Article  Google Scholar 

  22. Yiu KFC, Liu YQ, Teo KL: A hybrid descent method for Global optimization. J global Optim 2004, 28(2):229-238.

    Article  MathSciNet  Google Scholar 

  23. Ng CK, Zhang LS, Li D, Tian WW: Discrete filled function method for discrete global optimization. Comput Optim Appl 2005, 31: 87-115. 10.1007/s10589-005-0985-7

    Article  MathSciNet  Google Scholar 

  24. Fletcher R: Practical Methods of Optimization. John Wiley and Sons, Great Britain; 1987.

    Google Scholar 

Download references

Acknowledgements

This study was supported by RGC Grant PolyU. (5365/09E). Z. G. Feng and K. F. C. Yiu would also like to thank the support from NSFC Grant (10901170) and the Research Committee of the Hong Kong Polytechnic University. Sven Nordholm would like to acknowledge support from ARC DP1096348.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Cedric Ka Fai Yiu.

Additional information

Competing interests

The authors declare that they have no competing interests.

Authors’ original submitted files for images

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License ( https://creativecommons.org/licenses/by/2.0 ), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Reprints and permissions

About this article

Cite this article

Feng, Z., Yiu, C.K.F., Teo, KL. et al. Design of broadband beamformers with low complexity. EURASIP J. Adv. Signal Process. 2012, 62 (2012). https://doi.org/10.1186/1687-6180-2012-62

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1186/1687-6180-2012-62

Keywords