# Patent

## Title
Noise-reducing directional microphone array

## Abstract

In one embodiment, a directional microphone array having (at least) two microphones generates forward and backward cardioid signals from two (e.g., omnidirectional) microphone signals. An adaptation factor is applied to the backward cardioid signal, and the resulting adjusted backward cardioid signal is subtracted from the forward cardioid signal to generate a (first-order) output audio signal corresponding to a beampattern having no nulls for negative values of the adaptation factor. After low-pass filtering, spatial noise suppression can be applied to the output audio signal. Microphone arrays having one (or more) additional microphones can be designed to generate second-(or higher-) order output audio signals.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation of U.S. patent application Ser. No. 12/281,447, filed on Sep. 2, 2008, the teachings of which are incorporated herein by reference. In addition, the teachings of each of PCT patent application nos. PCT/US2007/06093 and PCT/US2006/44427, U.S. Pat. No. 7,171,008, and U.S. provisional application Nos. 60/781,250, 60/737,577, and 60/354,650 are incorporated herein by reference.


BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to acoustics, and, in particular, to techniques for reducing wind-induced noise in microphone systems, such as those in hearing aids and mobile communication devices, such as laptop computers and cell phones.
2. Description of the Related Art
Wind-induced noise in the microphone signal input to mobile communication devices is now recognized as a serious problem that can significantly limit communication quality. This problem has been well known in the hearing aid industry, especially since the introduction of directionality in hearing aids.
Wind-noise sensitivity of microphones has been a major problem for outdoor recordings. Wind noise is also now becoming a major issue for users of directional hearing aids as well as cell phones and hands-free headsets. A related problem is the susceptibility of microphones to the speech jet, or flow of air from the talker's mouth. Recording studios typically rely on special windscreen socks that either cover the microphone or are placed between the talker and the microphone. For outdoor recording situations where wind noise is an issue, microphones are typically shielded by windscreens made of a large foam or thick fuzzy material. The purpose of the windscreen is to eliminate the airflow over the microphone's active element, but allow the desired acoustic signal to pass without any modification.
SUMMARY OF THE INVENTION
Certain embodiments of the present invention relate to a technique that combines a constrained microphone adaptive beamformer and a multichannel parametric noise suppression scheme to allow for a gradual transition from (i) a desired directional operation when noise and wind conditions are benign to (ii) non-directional operation with increasing amount of wind-noise suppression as the environment tends to higher wind-noise conditions.
In one possible implementation, the technique combines the operation of a constrained adaptive two-element differential microphone array with a multi-microphone wind-noise suppression algorithm. The main result is the combination of these two technological solutions. First, a two-element adaptive differential microphone is formed that is allowed to adjust its directional response by automatically adjusting its beampattern to minimize wind noise. Second, the adaptive beamformer output is fed into a multichannel wind-noise suppression algorithm. The wind-noise suppression algorithm is based on exploiting the knowledge that wind-noise signals are caused by convective airflow whose speed of propagation is much less than that of desired propagating acoustic signals. It is this unique combination of both a constrained two-element adaptive differential beamformer with multichannel wind-noise suppression that offers an effective solution for mobile communication devices in varying acoustic environments.
In one embodiment, the present invention is a method for processing audio signals. First and second cardioid signals are generated from first and second microphone signals. A first adaptation factor is generated and applied to the second (e.g., backward) cardioid signal to generate an adapted second cardioid signal. The first (e.g., forward) cardioid signal and the adapted second cardioid signal are combined to generate a first output audio signal corresponding to a first beampattern having no nulls for at least one value of the first adaptation factor.



BRIEF DESCRIPTION OF THE DRAWINGS
Other aspects, features, and advantages of the present invention will become more fully apparent from the following detailed description, the appended claims, and the accompanying drawings in which like reference numerals identify similar or identical elements.
FIG. 1 illustrates a first-order differential microphone;
FIG. 2(a) shows a directivity plot for a first-order array having no nulls, while FIG. 2(b) shows a directivity plot for a first-order array having one null;
FIG. 3 shows a combination of two omnidirectional microphone signals to obtain back-to-back cardioid signals;
FIG. 4 shows directivity patterns for the back-to-back cardioids of FIG. 3;
FIG. 5 shows the frequency responses for signals incident along a microphone pair axis for a dipole microphone, a cardioid-derived dipole microphone, and a cardioid-derived omnidirectional microphone;
FIG. 6 shows a block diagram of an adaptive differential microphone;
FIG. 7 shows a block diagram of the back end of a frequency-selective adaptive first-order differential microphone;
FIG. 8 shows a linear combination of microphone signals to minimize the output power when wind noise is detected;
FIG. 9 shows a plot of Equation (41) for values of 0≦α≦1 for no noise;
FIG. 10 shows acoustic and turbulent difference-to-sum power ratios for a pair of omnidirectional microphones spaced at 2 cm in a convective fluid flow propagating at 5 m/s;
FIG. 11 shows a three-segment, piecewise-linear suppression function;
FIG. 12 shows a block diagram of a microphone amplitude calibration system for a set of microphones;
FIG. 13 shows a block diagram of a wind-noise detector;
FIG. 14 shows a block diagram of an alternative wind-noise detector;
FIG. 15 shows a block diagram of an audio system, according to one embodiment of the present invention
FIG. 16 shows a block diagram of an audio system, according to another embodiment of the present invention;
FIG. 17 shows a block diagram of an audio system, according to yet another embodiment of the present invention;
FIG. 18 shows a block diagram of an audio system 1800, according to still another embodiment of the present invention;
FIG. 19 shows a block diagram of a three-element array;
FIG. 20 shows a block diagram of an adaptive second-order array differential microphone utilizing fixed delays and three omnidirectional microphone elements;
FIG. 21 graphically illustrates the associated directivity patterns of signals cFF(t), cBB(t), and cTT(t) as described in Equation (62); and
FIG. 22 shows a block diagram of an audio system combining a second-order adaptive microphone with a multichannel spatial noise suppression (SNS) algorithm.



DETAILED DESCRIPTION
Differential Microphone Arrays
A differential microphone is a microphone that responds to spatial differentials of a scalar acoustic pressure field. The order of the differential components that the microphone responds to denotes the order of the microphone. Thus, a microphone that responds to both the acoustic pressure and the first-order difference of the pressure is denoted as a first-order differential microphone. One requisite for a microphone to respond to the spatial pressure differential is the implicit constraint that the microphone size is smaller than the acoustic wavelength. Differential microphone arrays can be seen directly analogous to finite-difference estimators of continuous spatial field derivatives along the direction of the microphone elements. Differential microphones also share strong similarities to superdirectional arrays used in electromagnetic antenna design. The well-known problems with implementation of superdirectional arrays are the same as those encountered in the realization of differential microphone arrays. It has been found that a practical limit for differential microphones using currently available transducers is at third-order. See G. W. Elko, “Superdirectional Microphone Arrays,” Acoustic Signal Processing for Telecommunication, Kluwer Academic Publishers, Chapter 10, pp. 181-237, March, 2000, the teachings of which are incorporated herein by reference and referred to herein as “Elko-1.”
First-Order Dual-Microphone Array
FIG. 1 illustrates a first-order differential microphone 100 having two closely spaced pressure (i.e., omnidirectional) microphones 102 spaced at a distance d apart, with a plane wave s(t) of amplitude So and wavenumber k incident at an angle θ from the axis of the two microphones.
The output mi(t) of each microphone spaced at distance d for a time-harmonic plane wave of amplitude So and frequency ω coincident from angle θ can be written according to the expressions of Equation (1) as follows:

m1(t)=Soejωt−jkd cos(θ)/2 

m2(t)=Soejωt+jkd cos(θ)/2  (1)

The output E(θ, t) of a weighted addition of the two microphones can be written according to Equation (2) as follows:




  
    
      
        
          
            
              
                E
                ⁡
                
                  (
                  
                    θ
                    ,
                    t
                  
                  )
                
              
              =
              
                
                  
                    w
                    1
                  
                  ⁢
                  
                    
                      m
                      1
                    
                    ⁡
                    
                      (
                      t
                      )
                    
                  
                
                +
                
                  
                    w
                    2
                  
                  ⁢
                  
                    
                      m
                      2
                    
                    ⁡
                    
                      (
                      t
                      )
                    
                  
                
              
            
          
        
        
          
            
              =
              
                
                  S
                  o
                
                ⁢
                
                  
                    e
                    
                      j
                      ⁢
                      
                        
                      
                      ⁢
                      ω
                      ⁢
                      
                        
                      
                      ⁢
                      t
                    
                  
                  ⁡
                  
                    [
                    
                      
                        (
                        
                          
                            w
                            1
                          
                          +
                          
                            w
                            2
                          
                        
                        )
                      
                      +
                      
                        
                          (
                          
                            
                              w
                              1
                            
                            -
                            
                              w
                              2
                            
                          
                          )
                        
                        ⁢
                        j
                        ⁢
                        
                          
                        
                        ⁢
                        kd
                        ⁢
                        
                          
                        
                        ⁢
                        
                          
                            cos
                            ⁡
                            
                              (
                              θ
                              )
                            
                          
                          /
                          2
                        
                      
                      +
                      
                        h
                        .
                        o
                        .
                        t
                        .
                      
                    
                    ]
                  
                
              
            
          
        
      
    
    
      
        (
        2
        )
      
    
  




where w1 and w2 are weighting values applied to the first and second microphone signals, respectively.

If kd<<π, then the higher-order terms (“h.o.t.” in Equation (2)) can be neglected. If w1=−w2, then we have the pressure difference between two closely spaced microphones. This specific case results in a dipole directivity pattern cos(θ) as can easily be seen in Equation (2). However, any first-order differential microphone pattern can be written as the sum of a zero-order (omnidirectional) term and a first-order dipole term (cos(θ)). A first-order differential microphone implies that w1≈−w2. Thus, a first-order differential microphone has a normalized directional pattern E that can be written according to Equation (3) as follows:

E(θ)=α±(1−α)cos(θ)  (3)

where typically 0≦α≦1, such that the response is normalized to have a maximum value of 1 at θ=0°, and for generality, the ± indicates that the pattern can be defined as having a maximum either at θ=0 or θ=π. One implicit property of Equation (3) is that, for 0≦α≦1, there is a maximum at θ=0 and a minimum at an angle between π/2 and π. For values of 0.5<α≦1, the response has a minimum at π, although there is no zero in the response. A microphone with this type of directivity is typically called a “sub-cardioid” microphone. FIG. 2(a) shows an example of the response for this case. In particular, FIG. 2(a) shows a directivity plot for a first-order array, where α=0.55.

When α=0.5, the parametric algebraic equation has a specific form called a cardioid. The cardioid pattern has a zero response at θ=180°. For values of 0≦α≦0.5, there is a null at




  
    
      
        
          θ
          null
        
        =
        
          
            cos
            
              -
              1
            
          
          ⁢
          
            
              α
              
                α
                -
                1
              
            
            .
          
        
      
    
    
      
        (
        4
        )
      
    
  




FIG. 2(b) shows a directional response corresponding to α=0.5 which is the cardioid pattern. The concentric rings in the polar plots of FIGS. 2(a) and 2(b) are 10 dB apart.

A computationally simple and elegant way to form a general first-order differential microphone is to form a scalar combination of forward-facing and backward-facing cardioid signals. These signals can be obtained by using both solutions in Equation (3) and setting α=0.5. The sum of these two cardioid signals is omnidirectional (since the cos(θ) terms subtract out), and the difference is a dipole pattern (since the constant term α subtracts out).
FIG. 3 shows a combination of two omnidirectional microphones 302 to obtain back-to-back cardioid microphones. The back-to-back cardioid signals can be obtained by a simple modification of the differential combination of the omnidirectional microphones. See U.S. Pat. No. 5,473,701, the teachings of which are incorporated herein by reference. Cardioid signals can be formed from two omnidirectional microphones by including a delay (T) before the subtraction (which is equal to the propagation time (dlc) between microphones for sounds impinging along the microphone pair axis).
FIG. 4 shows directivity patterns for the back-to-back cardioids of FIG. 3. The solid curve is the forward-facing cardioid, and the dashed curve is the backward-facing cardioid.
A practical way to realize the back-to-back cardioid arrangement shown in FIG. 3 is to carefully choose the spacing between the microphones and the sampling rate of the A/D converter to be equal to some integer multiple of the required delay. By choosing the sampling rate in this way, the cardioid signals can be made simply by combining input signals that are offset by an integer number of samples. This approach removes the additional computational cost of interpolation filtering to obtain the required delay, although it is relatively simple to compute the interpolation if the sampling rate cannot be easily set to be equal to the propagation time of sound between the two sensors for on-axis propagation.
By combining the microphone signals defined in Equation (1) with the delay and subtraction as shown in FIG. 3, a forward-facing cardioid microphone signal can be written according to Equation (5) as follows:

CF(kd,θ)=−2jSo sin(kd[1+cos θ]/2).  (5)

Similarly, the backward-facing cardioid microphone signal can similarly be written according to Equation (6) as follows:

CB(kd,θ)=−2jSo sin(kd[1−cos θ]/2).  (6)

If both the forward-facing and backward-facing cardioids are averaged together, then the resulting output is given according to Equation (7) as follows:

Ec-omni(kd,θ)=1⁄2[CF(kd,θ)+CB(kd,θ)]=−2jSo sin(kd/2)cos([kd/2] cos θ).  (7)

For small kd, Equation (7) has a frequency response that is a first-order high-pass, and the directional pattern is omnidirectional.

The subtraction of the forward-facing and backward-facing cardioids yields the dipole response of Equation (8) as follows:

Ec-dipole(kd,θ)=CF(kd,θ)−CB(kd,θ)=−2jSo cos(kd/2)sin([kd/2] cos θ).  (8)

A dipole constructed by simply subtracting the two pressure microphone signals has the response given by Equation (9) as follows:

Edipole(kd,θ)=−2jSo sin([kd/2] cos θ).  (9)

One observation to be made from Equation (8) is that the dipole's first zero occurs at twice the value (kd=2π) of the cardioid-derived omnidirectional and cardioid-derived dipole term (kd=π) for signals arriving along the axis of the microphone pair.

FIG. 5 shows the frequency responses for signals incident along the microphone pair axis (θ=0) for a dipole microphone, a cardioid-derived dipole microphone, and a cardioid-derived omnidirectional microphone. Note that the cardioid-derived dipole microphone and the cardioid-derived omnidirectional microphone have the same frequency response. In each case, the microphone-element spacing is 2 cm. At this angle, the zero occurs in the cardioid-derived dipole term at the frequency where kd=2π.
Adaptive Differential Beamformer
FIG. 6 shows the configuration of an adaptive differential microphone 600 as introduced in G. W. Elko and A. T. Nguyen Pong, “A simple adaptive first-order differential microphone,” Proc. 1995 IEEE ASSP Workshop on Applications of Signal Proc. to Audio and Acoustics, October 1995, referred to herein as “Elko-2.” As represented in FIG. 6, a plane-wave signal s(t) arrives at two omnidirectional microphones 602 at an angle θ. The microphone signals are sampled at the frequency 1/T by analog-to-digital (A/D) converters 604 and filtered by anti-aliasing low-pass filters 606. In the following stage, delays 608 and subtraction nodes 610 form the forward and backward cardioid signals cF(n) and cB(n) by subtracting one delayed microphone signal from the other undelayed microphone signal. As mentioned previously, one can carefully select the spacing d and the sampling rate 1/T such that the required delay for the cardioid signals is an integer multiple of the sampling rate. However, in general, one can always use an interpolation filter (not shown) to form any general required delay although this will require more computation. Multiplication node 612 and subtraction node 614 generate the unfiltered output signal y(n) as an appropriate linear combination of CF(n) and CB(n). The adaptation factor (i.e., weight parameter) β applied at multiplication node 612 allows a solitary null to be steered in any desired direction. With the frequency-domain signal S(jω)=Σn=−∞∞s(nT)e−jkdn, the frequency-domain signals of Equations (10) and (11) are obtained as follows:




  
    
      
        
          
        
        ⁢
        
          
            
              
                
                  C
                  F
                
                ⁡
                
                  (
                  
                    
                      j
                      ⁢
                      
                        
                      
                      ⁢
                      ω
                    
                    ,
                    d
                  
                  )
                
              
              =
              
                
                  S
                  ⁡
                  
                    (
                    
                      j
                      ⁢
                      
                        
                      
                      ⁢
                      ω
                    
                    )
                  
                
                ·
                
                  [
                  
                    
                      e
                      
                        j
                        ⁢
                        
                          kd
                          2
                        
                        ⁢
                        cos
                        ⁢
                        
                          
                        
                        ⁢
                        θ
                      
                    
                    -
                    
                      e
                      
                        -
                        
                          kd
                          ⁡
                          
                            (
                            
                              1
                              +
                              
                                
                                  cos
                                  ⁢
                                  
                                    
                                  
                                  ⁢
                                  θ
                                
                                2
                              
                            
                            )
                          
                        
                      
                    
                  
                  ]
                
              
            
            ,
            
              

            
            ⁢
            
              
            
            ⁢
            
              
                
                  C
                  B
                
                ⁡
                
                  (
                  
                    
                      j
                      ⁢
                      
                        
                      
                      ⁢
                      ω
                    
                    ,
                    d
                  
                  )
                
              
              =
              
                
                  S
                  ⁡
                  
                    (
                    
                      j
                      ⁢
                      
                        
                      
                      ⁢
                      ω
                    
                    )
                  
                
                ·
                
                  [
                  
                    
                      e
                      
                        
                          -
                          j
                        
                        ⁢
                        
                          kd
                          2
                        
                        ⁢
                        cos
                        ⁢
                        
                          
                        
                        ⁢
                        θ
                      
                    
                    -
                    
                      e
                      
                        -
                        
                          kd
                          ⁡
                          
                            (
                            
                              1
                              -
                              
                                
                                  cos
                                  ⁢
                                  
                                    
                                  
                                  ⁢
                                  θ
                                
                                2
                              
                            
                            )
                          
                        
                      
                    
                  
                  ]
                
              
            
          
          ⁢
          
            

          
          ⁢
          
            
          
          ⁢
          
            and
            ⁢
            
              
            
            ⁢
            hence
          
        
      
    
    
      
        (
        10
        )
      
    
  
  
    
      
        
          Y
          ⁡
          
            (
            
              
                j
                ⁢
                
                  
                
                ⁢
                ω
              
              ,
              d
            
            )
          
        
        =
        
          
            
              e
              
                
                  -
                  j
                
                ⁢
                
                  kd
                  2
                
              
            
            ·
            2
          
          ⁢
          
            
          
          ⁢
          
            j
            ·
            
              S
              ⁡
              
                (
                
                  j
                  ⁢
                  
                    
                  
                  ⁢
                  ω
                
                )
              
            
            ·
            
              
                [
                
                  
                    sin
                    ⁡
                    
                      (
                      
                        
                          kd
                          2
                        
                        ⁢
                        
                          (
                          
                            1
                            +
                            
                              cos
                              ⁢
                              
                                
                              
                              ⁢
                              θ
                            
                          
                          )
                        
                      
                      )
                    
                  
                  -
                  
                    β
                    ⁢
                    
                      
                    
                    ⁢
                    
                      sin
                      ⁡
                      
                        (
                        
                          
                            kd
                            2
                          
                          ⁢
                          
                            (
                            
                              1
                              -
                              
                                cos
                                ⁢
                                
                                  
                                
                                ⁢
                                θ
                              
                            
                            )
                          
                        
                        )
                      
                    
                  
                
                ]
              
              .
            
          
        
      
    
    
      
        (
        11
        )
      
    
  




A desired signal S(jω) arriving from straight on (θ=0) is distorted by the factor |sin(kd)|. For a microphone used for a frequency range from about kd=2π·100 Hz·T to kd=π/2, first-order recursive low-pass filter 616 can equalize the mentioned distortion reasonably well. There is a one-to-one relationship between the adaptation factor β and the null angle θn as given by Equation (12) as follows:




  
    
      
        β
        =
        
          
            
              sin
              ⁢
              
                kd
                2
              
              ⁢
              
                (
                
                  1
                  +
                  
                    cos
                    ⁢
                    
                      
                    
                    ⁢
                    
                      θ
                      n
                    
                  
                
                )
              
            
            
              sin
              ⁢
              
                kd
                2
              
              ⁢
              
                (
                
                  1
                  -
                  
                    cos
                    ⁢
                    
                      
                    
                    ⁢
                    
                      θ
                      n
                    
                  
                
                )
              
            
          
          .
        
      
    
    
      
        (
        12
        )
      
    
  




Since it is expected that the sound field varies, it is of interest to allow the first-order microphone to adaptively compute a response that minimizes the output under a constraint that signals arriving from a selected range of direction are not impacted. An LMS or Stochastic Gradient algorithm is a commonly used adaptive algorithm due to its simplicity and ease of implementation. An LMS algorithm for the back-to-back cardioid adaptive first-order differential array is given in U.S. Pat. No. 5,473,701 and in Elko-2, the teachings of both of which are incorporated herein by reference.
Subtraction node 614 generates the unfiltered output signal y(n) according to Equation (13) as follows:

y(t)=cF(t)−βcB(t).  (13)

Squaring Equation (13) results in Equation (14) as follows:

y2(t)=cF2(t)−2βcF(t)cB(t)+β2cB(t).  (14)

The steepest-descent algorithm finds a minimum of the error surface E[y2(t)] by stepping in the direction opposite to the gradient of the surface with respect to the adaptive weight parameter β. The steepest-descent update equation can be written according to Equation (15) as follows:





  
    
      
        
          β
          
            t
            +
            1
          
        
        =
        
          
            β
            t
          
          -
          
            μ
            ⁢
            
              
                d
                
                  E
                  ⁡
                  
                    [
                    
                      
                        y
                        2
                      
                      ⁡
                      
                        (
                        t
                        )
                      
                    
                    ]
                  
                
              
              
                d
                β
              
            
          
        
      
    
    
      
        (
        15
        )
      
    
  




where μ is the update step-size and the differential gives the gradient of the error surface E[y2(t)] with respect to β. The quantity that we want to minimize is the mean of y2(t) but the LMS algorithm uses the instantaneous estimate of the gradient. In other words, the expectation operation in Equation (15) is not applied and the instantaneous estimate is used. Performing the differentiation yields Equation (16) as follows:





  
    
      
        
          
            d
            
              
                y
                2
              
              ⁡
              
                (
                t
                )
              
            
          
          
            d
            β
          
        
        =
        
          
            
              
                -
                2
              
              ⁢
              
                
              
              ⁢
              
                
                  c
                  F
                
                ⁡
                
                  (
                  t
                  )
                
              
              ⁢
              
                
                  c
                  B
                
                ⁡
                
                  (
                  t
                  )
                
              
            
            +
            
              2
              ⁢
              
                
              
              ⁢
              β
              ⁢
              
                
              
              ⁢
              
                
                  c
                  B
                  2
                
                ⁡
                
                  (
                  t
                  )
                
              
            
          
          =
          
            
              -
              2
            
            ⁢
            
              
            
            ⁢
            
              y
              ⁡
              
                (
                t
                )
              
            
            ⁢
            
              
                
                  c
                  B
                
                ⁡
                
                  (
                  t
                  )
                
              
              .
            
          
        
      
    
    
      
        (
        16
        )
      
    
  




Thus, we can write the LMS update equation according to Equation (17) as follows:

βt+1=βt+2μy(t)cB(t).  (17)

Typically the LMS algorithm is slightly modified by normalizing the update size and adding a regularization constant ε. Normalization allows explicit convergence bounds for μ to be set that are independent of the input power. Regularization stabilizes the algorithm when the normalized input power in cB becomes too small. The LMS version with a normalized μ is therefore given by Equation (18) as follows:




  
    
      
        
          β
          
            t
            +
            1
          
        
        =
        
          
            β
            t
          
          +
          
            2
            ⁢
            
              
            
            ⁢
            μ
            ⁢
            
              
            
            ⁢
            
              y
              ⁡
              
                (
                t
                )
              
            
            ⁢
            
              
                
                  c
                  B
                
                ⁡
                
                  (
                  t
                  )
                
              
              
                <
                
                  
                    c
                    B
                    2
                  
                  ⁡
                  
                    (
                    t
                    )
                  
                
                >
                
                  +
                  ɛ
                
              
            
          
        
      
    
    
      
        (
        18
        )
      
    
  




where the brackets (“<.>”) indicate a time average. One practical issue occurs when there is a desired signal arriving at only θ=0. In this case, β becomes undefined. A practical way to handle this case is to limit the power ratio of the forward-to-back cardioid signals. In practice, limiting this ratio to a factor of 10 is sufficient.

The intervals βε[0,1] and βε[1,∞) are mapped onto θε[0.5π,π] and θε[0,0.5π], respectively. For negative β, the directivity pattern does not contain a null. Instead, for small |β| with −1<β<0, a minimum occurs at θ=π; the depth of which reduces with growing |β|. For β=−1, the pattern becomes omnidirectional and, for β<−1, the rear signals become amplified. An adaptive algorithm 618 chooses β such that the energy of y(n) in a certain exponential or sliding window becomes a minimum. As such, β should be constrained to the interval [−1,1]. Otherwise, a null may move into the front half plane and suppress the desired signal. For a pure propagating acoustic field (no wind or self-noise), it can be expected that the adaptation selects a β equal to or bigger than zero. For wind and self-noise, it is expected that −1≦β<0. An observation that β would tend to values of less than 0 indicates the presence of uncorrelated signals at the two microphones. Thus, one can also use β to detect (1) wind noise and conditions where microphone self-noise dominates the input power to the microphones or (2) coherent signals that have a propagation speed much less than the speed of sound in the medium (such as coherent convected turbulence).
It should be clear that acoustic fields can be comprised of multiple simultaneous sources that vary in time and frequency. As such, U.S. Pat. No. 5,473,701 proposed that the adaptive beamformer be implemented in frequency subbands. The realization of a frequency-dependent null or minimum location is now straightforward. We replace the factor β by a filter with a frequency response H(jω) that is real and not bigger than one. The impulse response h(n) of such a filter is symmetric about the origin and hence noncausal. This involves the insertion of a proper delay d in both microphone paths.
FIG. 7 shows a block diagram of the back end 700 of a frequency-selective first-order differential microphone. In FIG. 7, subtraction node 714, low-pass filter 716, and adaptation block 718 are analogous to subtraction node 614, low-pass filter 616, and adaptation block 618 of FIG. 6. Instead of multiplication node 612 applying adaptive weight factor β, filters 712 and 713 decompose the forward and backward cardioid signals as a linear combination of bandpass filters of a uniform filterbank. The uniform filterbank is applied to both the forward cardioid signal cF(n) and the backward cardioid signal cB(n), where m is the subband index number and Ω is the frequency.
In the embodiment of FIG. 7, the forward and backward cardioid signals are generated in the time domain, as shown in FIG. 6. The time-domain cardioid signals are then converted into a subband domain, e.g., using a multichannel filterbank, which implements the processing of elements 712 and 713. In this embodiment, a different adaptation factor β is generated for each different subband, as indicated in FIG. 7 by the “thick” arrow from adaptation block 718 to element 713.
In principle, we could directly use any standard adaptive filter algorithm (LMS, FAP, FTF, RLS . . . ) for the adjustment of h(n), but it would be challenging to easily incorporate the constraint H(jω)≦1. Therefore and in view of a computationally inexpensive solution, we realize H(jω) as a linear combination of band-pass filters of a uniform filterbank. The filterbank consists of M complex band-passes that are modulated versions of a low-pass filter W(jω). That filter is commonly referred to as prototype filter. See R. E. Crochiere and L. R. Rabiner, Multirate Digital Signal Processing, Prentice Hall, Englewood Cliffs, N.J., (1983), and P. P. Vaidyanathan, Multirate Systems and Filter Banks, Prentice Hall, Englewood Cliffs, N.J., (1993), the teachings of both of which are incorporated herein by reference. Since h(n) and H(jω) have to be real, we combine band-passes with conjugate complex impulse responses. For reasons of simplicity, we choose M as a power of two so that we end up with M/2+1 channels. The coefficients β0, β1, . . . βK/2 control the position of the null or minimum in the different subbands. The βμ's form a linear combiner and will be adjusted by an NLMS-type algorithm.
It is desirable to design W(jω) such that the constraint H(jω)≦1 will be met automatically for all frequencies kd, given all coefficients βμ are smaller than or equal to one. The heuristic NLMS-type algorithm of the following Equations (19)-(21) is apparent:




  
    
      
        
          y
          ⁡
          
            (
            n
            )
          
        
        =
        
          
            
              c
              F
            
            ⁡
            
              (
              
                n
                -
                m
              
              )
            
          
          -
          
            
              ∑
              
                μ
                =
                0
              
              
                M
                /
                2
              
            
            ⁢
            
              
                
                  β
                  μ
                
                ⁡
                
                  (
                  n
                  )
                
              
              ·
              
                
                  v
                  μ
                
                ⁡
                
                  (
                  n
                  )
                
              
            
          
        
      
    
    
      
        (
        19
        )
      
    
  
  
    
      
        
          
            
              β
              μ
            
            ⁡
            
              (
              
                n
                +
                1
              
              )
            
          
          =
          
            
              
                β
                μ
              
              ⁡
              
                (
                n
                )
              
            
            +
            
              α
              ·
              
                y
                ⁡
                
                  (
                  n
                  )
                
              
            
          
        
        ⁣
        
          ·
          
            
              
                v
                μ
              
              ⁡
              
                (
                n
                )
              
            
            
              
                ∑
                
                  v
                  =
                  0
                
                
                  M
                  /
                  2
                
              
              ⁢
              
                
                  v
                  v
                  2
                
                ⁡
                
                  (
                  n
                  )
                
              
            
          
        
      
    
    
      
        (
        20
        )
      
    
  
  
    
      
        
          
            β
            μ
          
          ⁡
          
            (
            
              n
              +
              1
            
            )
          
        
        =
        
          {
          
            
              
                
                  
                    
                      β
                      ~
                    
                    μ
                  
                  ⁡
                  
                    (
                    
                      n
                      +
                      1
                    
                    )
                  
                
              
              
                
                  
                    
                      for
                      ⁢
                      
                        
                      
                      ⁢
                      
                        
                          
                            β
                            ~
                          
                          μ
                        
                        ⁡
                        
                          (
                          
                            n
                            +
                            1
                          
                          )
                        
                      
                    
                    ≤
                    1
                  
                  ,
                
              
            
            
              
                1
              
              
                
                  
                    for
                    ⁢
                    
                      
                    
                    ⁢
                    
                      
                        
                          β
                          ~
                        
                        μ
                      
                      ⁡
                      
                        (
                        
                          n
                          +
                          1
                        
                        )
                      
                    
                  
                  >
                  1.
                
              
            
          
        
      
    
    
      
        (
        21
        )
      
    
  




It is by no means straightforward that this algorithm always converges to the optimum solution, but simulations and real time implementations have shown its usefulness.

Optimum β for Acoustic Noise Fields

The back-to-back cardioid power and cross-power can be related to the acoustic pressure field statistics. Using FIG. 6, the optimum value (in terms on the minimizing the mean-square output power) of β can be found in terms of the acoustic pressures p1 and p2 at the microphone inputs according to Equation (22) as follows:




  
    
      
        
          β
          opt
        
        =
        
          
            
              2
              ⁢
              
                
              
              ⁢
              
                
                  R
                  12
                
                ⁡
                
                  (
                  0
                  )
                
              
            
            -
            
              
                R
                11
              
              ⁡
              
                (
                T
                )
              
            
            -
            
              
                R
                22
              
              ⁡
              
                (
                T
                )
              
            
          
          
            
              
                R
                11
              
              ⁡
              
                (
                0
                )
              
            
            +
            
              
                R
                22
              
              ⁡
              
                (
                0
                )
              
            
            -
            
              2
              ⁢
              
                
              
              ⁢
              
                
                  R
                  12
                
                ⁡
                
                  (
                  T
                  )
                
              
            
          
        
      
    
    
      
        (
        22
        )
      
    
  




where R12 is the cross-correlation function of the acoustic pressures and R11 and R22 are the acoustic pressure auto-correlation functions.

For an isotropic noise field at frequency ω, the cross-correlation function R12 of the acoustic pressures p1 and p2 at the two sensors 102 of FIG. 1 is given by Equation (23) as follows:




  
    
      
        
          
            R
            12
          
          ⁡
          
            (
            
              τ
              ,
              d
            
            )
          
        
        =
        
          
            
              sin
              ⁢
              
                
              
              ⁢
              kd
            
            kd
          
          ⁢
          
            cos
            ⁡
            
              (
              
                ω
                ⁢
                
                  
                
                ⁢
                τ
              
              )
            
          
        
      
    
    
      
        (
        23
        )
      
    
  




and the acoustic pressure auto-correlation functions are given by Equation (24) as follows:

R11(τ)=R22(τ)=cos(ωτ),  (24)

where τ is time and k is the acoustic wavenumber.

For ωT=kd, βopt is determined by substituting Equations (23) and (24) into Equation (22), yielding Equation (25) as follows:




  
    
      
        
          β
          opt
        
        =
        
          2
          ⁢
          
            
              
                
                  kd
                  ⁢
                  
                    
                  
                  ⁢
                  
                    cos
                    ⁡
                    
                      (
                      kd
                      )
                    
                  
                
                -
                
                  sin
                  ⁡
                  
                    (
                    kd
                    )
                  
                
              
              
                
                  sin
                  ⁡
                  
                    (
                    
                      2
                      ⁢
                      
                        
                      
                      ⁢
                      kd
                    
                    )
                  
                
                -
                
                  2
                  ⁢
                  
                    
                  
                  ⁢
                  kd
                
              
            
            .
          
        
      
    
    
      
        (
        25
        )
      
    
  




For small kd, kd π/2, Equation (25) approaches the value of β=0.5. For the value of β=0.5, the array response is that of a hypercardioid, i.e., the first-order array that has the highest directivity index, which corresponds to the minimum power output for all first-order arrays in an isotropic noise field.

Due to electronics, both wind noise and self-noise have approximately 1/f2 and 1/f spectral shapes, respectively, and are uncorrelated between the two microphone channels (assuming that the microphones are spaced at a distance that is larger than the turbulence correlation length of the wind). From this assumption, Equation (22) can be reduced to Equation (26) as follows:




  
    
      
        
          β
          opt
        
        ≈
        
          
            
              
                -
                
                  
                    R
                    11
                  
                  ⁡
                  
                    (
                    T
                    )
                  
                
              
              -
              
                
                  R
                  22
                
                ⁡
                
                  (
                  T
                  )
                
              
            
            
              
                
                  R
                  11
                
                ⁡
                
                  (
                  0
                  )
                
              
              +
              
                
                  R
                  22
                
                ⁡
                
                  (
                  0
                  )
                
              
            
          
          .
        
      
    
    
      
        (
        26
        )
      
    
  




It may seem redundant to include both terms in the numerator and the denominator in Equation (26), since one might expect the noise spectrum to be similar for both microphone inputs since they are so close together. However, it is quite possible that only one microphone element is exposed to the wind or turbulent jet from a talker's mouth, and, as such, it is better to keep the expression more general. A simple model for the electronics and wind-noise signals would be the output of a single-pole low-pass filter operating on a wide-sense-stationary white Gaussian signal. The low-pass filter h(t) can be written as Equation (27) as follows:

h(t)=e−αtU(t)  (27)

where U(t) is the unit step function, and α is the time constant associated with the low-pass cutoff frequency. The power spectrum S(ω) can thus be written according to Equation (28) as follows:





  
    
      
        
          S
          ⁡
          
            (
            ω
            )
          
        
        =
        
          1
          
            
              α
              2
            
            +
            
              ω
              2
            
          
        
      
    
    
      
        (
        28
        )
      
    
  




and the associated autocorrelation function R(τ) according to Equation (29) as follows:





  
    
      
        
          R
          ⁡
          
            (
            τ
            )
          
        
        =
        
          
            e
            
              
                -
                α
              
              ⁢
              
                
                τ
                
              
            
          
          
            2
            ⁢
            
              
            
            ⁢
            α
          
        
      
    
    
      
        (
        29
        )
      
    
  




A conservative assumption would be to assume that the low-frequency cutoff for wind and electronic noise is approximately 100 Hz. With this assumption, the time constant α is 10 milliseconds. Examining Equations (26) and (29), one can observe that, for small spacing (d on the order of 2 cm), the value of T≈60μ seconds, and thus R(T)≈1. Thus,

βopt-noise≈−1  (30)

Equation (30) is also valid for the case of only a single microphone exposed to the wind noise, since the power spectrum of the exposed microphone will dominate the numerator and denominator of Equation (26). Actually, this solution shows a limitation of the use of the back-to-back cardioid arrangement for this one limiting case. If only one microphone was exposed to the wind, the best solution is obvious: pick the microphone that does not have any wind contamination. A more general approach to handling asymmetric wind conditions is described in the next section.
From the results given in Equation (30), it is apparent that, to minimize wind noise, microphone thermal noise, and circuit noise in a first-order differential array, one should allow the differential array to attain an omnidirectional pattern. At first glance, this might seem counterintuitive since an omnidirectional pattern will allow more spatial noise into the microphone output. However, if this spatial noise is wind noise, which is known to have a short correlation length, an omnidirectional pattern will result in the lowest output power as shown by Equation (30). Likewise, when there is no or very little acoustic excitation, only the uncorrelated microphone thermal and electronic noise is present, and this noise is also minimized by setting β≈−1, as derived in Equation (30).
Asymmetric Wind Noise
As mentioned at the end of the previous section, with asymmetric wind noise, there is a solution where one can process the two microphone signals differently to attain a higher SNR output than selecting β=−1. One approach, shown in FIG. 8, is to linearly combine the microphone signals m1(t) and m2(t) to minimize the output power when wind noise is detected. The combination of the two microphone signals is constrained so that the overall sum gain of the two microphone signals is set to unity. The combined output ε(t) can be written according to Equation (31) as follows:

ε(t)=γm2(t)−(1−γ)m1(t)  (31)

where γ is a combining coefficient whose value is between 0 and 1, inclusive.

Squaring the combined output ε(t) of Equation (31) to compute the combined output power ε2 yields Equation (32) as follows:

ε2=γ2m22(t)−2γ(1−γ)m1(t)m2(t)+(1−γ)2m12(t)  (32)

Taking the expectation of Equation (32) yields Equation (33) as follows:

ε=γ2R22(0)−2γ(1−γ)R12(0)+(1−γ)2R11(0)  (33)

where R11(0) and R22(0) are the autocorrelation functions for the two microphone signals of Equation (1), and R12(0) is the cross-correlation function between those two microphone signals.

Assuming uncorrelated inputs, where R12(0)=0, Equation (33) simplifies to Equation (34) as follows:

ε=γ2R22(0)+(1−γ)2R11(0)  (34)

To find the minimum, the derivative of Equation (34) is set equal to 0. Thus, the optimum value for the combining coefficient γ that minimizes the combined output ε is given by Equation (35) as follows:




  
    
      
        
          γ
          opt
        
        =
        
          
            
              R
              11
            
            ⁡
            
              (
              0
              )
            
          
          
            
              
                R
                22
              
              ⁡
              
                (
                0
                )
              
            
            +
            
              
                R
                11
              
              ⁡
              
                (
                0
                )
              
            
          
        
      
    
    
      
        (
        35
        )
      
    
  




If the two microphone signals are correlated, then the optimum combining coefficient γopt is given by Equation (36) as follows:





  
    
      
        
          γ
          opt
        
        =
        
          
            
              
                R
                12
              
              ⁡
              
                (
                0
                )
              
            
            +
            
              
                R
                11
              
              ⁡
              
                (
                0
                )
              
            
          
          
            
              
                R
                11
              
              ⁡
              
                (
                0
                )
              
            
            +
            
              
                R
                22
              
              ⁡
              
                (
                0
                )
              
            
            +
            
              2
              ⁢
              
                
              
              ⁢
              
                
                  R
                  12
                
                ⁡
                
                  (
                  0
                  )
                
              
            
          
        
      
    
    
      
        (
        36
        )
      
    
  




To check these equations for consistency, consider the case where the two microphone signals are identical (m1(t)=m2(t)). Note that this discussion assumes that the omnidirectional microphone responses are flat over the desired frequency range of operation with no distortion, where the electrical microphone output signals are directly proportional to the scalar acoustic pressures applied at the microphone inputs. For this specific case,

γopt=1⁄2  (37)

which is a symmetric solution, although all values (0≦γopt≦1) of γopt yield the same result for the combined output signal. If the two microphone signals are uncorrelated and have the same power, then the same value of γopt is obtained. If m1(t)=0, ∀t and E[m22]>0, then γopt=0, which corresponds to a minimum energy for the combined output signal. Likewise, if E[m1(t)2]>0 and m2(t)=0, ∀t , then γopt=1, which again corresponds to a minimum energy for the combined output signal.

A more-interesting case is one that covers a model of the case of a desired signal that has delay and attenuation between the microphones with independent (or less restrictively uncorrelated) additive noise. For this case, the microphone signals are given by Equation (38) as follows:

m1(t)=x(t)+n1(t)

m2(t)=αx(t−τ)+n2(t)  (38)

where n1(t) and n2(t) are uncorrelated noise signals at the first and second microphones, respectively, α is an amplitude scale factor corresponding to the attenuation of the acoustic pressure signal picked up by the microphones. The delay, τ is the time that it takes for the acoustic signal x(t) to travel between the two microphones, which is dependent on the microphone spacing and the angle that the acoustic signal is propagating relative to the microphone axis.

Thus, the correlation functions can be written according to Equation (39) as follows:

R11(0)=Rxx(0)+Rn1n1(0)

R22(0)=α2Rxx(0)+Rn2n2(0)

R12(0)=αRxx(−τ)=αRxx(τ)  (39)

where Rxx(0) is the autocorrelation at zero time lag for the propagating acoustic signal, Rxx(τ) and Rxx(−τ) are the correlation values at time lags +τ and −τ, respectively, and Rn1n1(0) and Rn2n2(0) are the auto-correlation functions at zero time lag for the two noise signals n1(t) and n2(t).

Substituting Equation (39) into Equation 36) yields Equation (40) as follows:




  
    
      
        
          γ
          opt
        
        =
        
          
            
              α
              ⁢
              
                
              
              ⁢
              
                
                  R
                  xx
                
                ⁡
                
                  (
                  τ
                  )
                
              
            
            +
            
              
                R
                xx
              
              ⁡
              
                (
                0
                )
              
            
            +
            
              
                R
                
                  
                    n
                    1
                  
                  ⁢
                  
                    n
                    1
                  
                
              
              ⁡
              
                (
                0
                )
              
            
          
          
            
              
                (
                
                  1
                  +
                  
                    α
                    2
                  
                
                )
              
              ⁢
              
                
                  R
                  xx
                
                ⁡
                
                  (
                  0
                  )
                
              
            
            +
            
              
                R
                
                  
                    n
                    1
                  
                  ⁢
                  
                    n
                    1
                  
                
              
              ⁡
              
                (
                0
                )
              
            
            +
            
              
                R
                
                  
                    n
                    2
                  
                  ⁢
                  
                    n
                    2
                  
                
              
              ⁡
              
                (
                0
                )
              
            
            +
            
              2
              ⁢
              
                
              
              ⁢
              α
              ⁢
              
                
              
              ⁢
              
                
                  R
                  xx
                
                ⁡
                
                  (
                  τ
                  )
                
              
            
          
        
      
    
    
      
        (
        40
        )
      
    
  




If it is assumed that the spacing is small (e.g., kd<<π, where k=ω/c is the wavenumber, and d is the spacing) and the signal m(t) is relatively low-passed, then the following approximation holds: Rxx(τ)≈R11(0). With this assumption, the optimal combining coefficient γopt is given by Equation (41) as follows:





  
    
      
        
          γ
          opt
        
        ≈
        
          
            
              
                (
                
                  1
                  +
                  α
                
                )
              
              ⁢
              
                
                  R
                  xx
                
                ⁡
                
                  (
                  0
                  )
                
              
            
            +
            
              
                R
                
                  
                    n
                    1
                  
                  ⁢
                  
                    n
                    1
                  
                
              
              ⁡
              
                (
                0
                )
              
            
          
          
            
              
                
                  (
                  
                    1
                    +
                    α
                  
                  )
                
                2
              
              ⁢
              
                
                  R
                  xx
                
                ⁡
                
                  (
                  0
                  )
                
              
            
            +
            
              
                R
                
                  
                    n
                    1
                  
                  ⁢
                  
                    n
                    1
                  
                
              
              ⁡
              
                (
                0
                )
              
            
            +
            
              
                R
                
                  
                    n
                    2
                  
                  ⁢
                  
                    n
                    2
                  
                
              
              ⁡
              
                (
                0
                )
              
            
          
        
      
    
    
      
        (
        41
        )
      
    
  




One limitation to this solution is the case when the two microphones are placed in the nearfield, especially when the spacing from the source to the first microphone is smaller than the spacing between the microphones. For this case, the optimum combiner will select the microphone that has the lowest signal. This problem can be seen if we assume that the noise signals are zero and α=0.5 (the rear microphone is attenuated by 6 dB). FIG. 9 shows a plot of Equation (41) for values of 0≦α≦1 for no noise (n1(t)=n2(t)=0). As can be seen in FIG. 9, as the amplitude scale factor α goes from zero to unity, the optimum value of the combining coefficient γ goes from unity to one-half.

Thus, for nearfield sources with no noise, the optimum combiner will move towards the microphone with the lower power. Although this is what is desired when there is asymmetric wind noise, it is desirable to select the higher-power microphone for the wind noise-free case. In order to handle this specific case, it is desirable to form a robust wind-noise detector that is immune to the nearfield effect. This topic is covered in a later section.
Microphone Array Wind-Noise Suppression
As shown in Elko-1, the sensitivity of differential microphones is proportional to kn, where |k|=k=ω/c and n is the order of the differential microphone. For convective turbulence, the speed of the convected fluid perturbations is much less that the propagation speed for radiating acoustic signals. For wind noise, the difference between propagating speeds is typically by two orders of magnitude. As a result, for convective turbulence and propagating acoustic signals at the same frequency, the wave-number ratio will differ by two orders of magnitude. Since the sensitivity of differential microphones is proportional to kn, the output signal ratio of turbulent signals will be two orders of magnitude greater than the output signal ratio of propagating acoustic signals for equivalent levels of pressure fluctuation.
A main goal of incoherent noise and turbulent wind-noise suppression is to determine what frequency components are due to noise and/or turbulence and what components are desired acoustic signals. The results of the previous sections can be combined to determine how to proceed.
U.S. Pat. No. 7,171,008 proposes a noise-signal detection and suppression algorithm based on the ratio of the difference-signal power to the sum-signal power. If this ratio is much smaller than the maximum predicted for acoustic signals (signals propagating along the axis of the microphones), then the signal is declared noise and/or turbulent, and the signal is used to update the noise estimation. The gain that is applied can be (i) the Wiener filter gain or (ii) by a general weighting (less than 1) that (a) can be uniform across frequency or (b) can be any desired function of frequency.
U.S. Pat. No. 7,171,008 proposed to apply a suppression weighting function on the output of a two-microphone array based on the enforcement of the difference-to-sum power ratio. Since wind noise results in a much larger ratio, suppressing by an amount that enforces the ratio to that of pure propagating acoustic signals traveling along the axis of the microphones results in an effective solution. Expressions for the fluctuating pressure signals p1(t) and p2(t) at both microphones for acoustic signals traveling along the microphone axis can be written according to Equation (42) as follows:

p1(t)=s(t)+v(t)+n1(t)

p2(t)=s(t−τs)+v(t−τv)+n2(t)  (42)

where τs is the delay for the propagating acoustic signal s(t), τv is the delay for the convective or slow propagating signal V(t), and n1(t) and n2(t) represent microphone self-noise and/or incoherent turbulent noise at the microphones. If we represent the signals in the frequency domain, then the power spectrum Yd(ω) of the pressure difference (p1(t)−p2(t)) and the power spectrum Ys(ω) of the pressure sum (p1(t)+p2(t)) can be written according to Equations (43) and (44) as follows:





  
    
      
        
          
            Y
            d
          
          ⁡
          
            (
            ω
            )
          
        
        =
        
          
            4
            ⁢
            
              
            
            ⁢
            
              
                S
                o
                2
              
              ⁡
              
                (
                ω
                )
              
            
            ⁢
            
              
                sin
                2
              
              ⁡
              
                (
                
                  
                    ω
                    ⁢
                    
                      
                    
                    ⁢
                    d
                  
                  
                    2
                    ⁢
                    
                      
                    
                    ⁢
                    c
                  
                
                )
              
            
          
          +
          
            4
            ⁢
            
              
            
            ⁢
                        ⁢
            
              (
              ω
              )
            
            ⁢
            
              
                γ
                c
                2
              
              ⁡
              
                (
                ω
                )
              
            
            ⁢
            
              
                sin
                2
              
              ⁡
              
                (
                
                  
                    ω
                    ⁢
                    
                      
                    
                    ⁢
                    d
                  
                  
                    2
                    ⁢
                    
                      
                    
                    ⁢
                    
                      U
                      c
                    
                  
                
                )
              
            
          
          +
          
            2
            ⁢
            
              
            
            ⁢
                        ⁢
            
              
                (
                ω
                )
              
              ⁡
              
                [
                
                  1
                  -
                  
                    
                      γ
                      c
                      2
                    
                    ⁡
                    
                      (
                      ω
                      )
                    
                  
                
                ]
              
            
          
          +
          
            
              N
              1
              2
            
            ⁡
            
              (
              ω
              )
            
          
          +
          
            
              
                N
                2
                2
              
              ⁡
              
                (
                ω
                )
              
            
            ⁢
            
              
            
            ⁢
            and
          
        
      
    
    
      
        (
        43
        )
      
    
  
  
    
      
        
          
            
              Y
              s
            
            ⁡
            
              (
              ω
              )
            
          
          =
          
            
              4
              ⁢
              
                
              
              ⁢
              
                
                  S
                  o
                  2
                
                ⁡
                
                  (
                  ω
                  )
                
              
              ⁢
              
                
                  cos
                  2
                
                ⁡
                
                  (
                  
                    
                      ω
                      ⁢
                      
                        
                      
                      ⁢
                      d
                    
                    
                      2
                      ⁢
                      
                        
                      
                      ⁢
                      c
                    
                  
                  )
                
              
            
            +
            
              4
              ⁢
              
                
              
              ⁢
                            ⁢
              
                (
                ω
                )
              
              ⁢
              
                
                  γ
                  c
                  2
                
                ⁡
                
                  (
                  ω
                  )
                
              
            
            +
            
              2
              ⁢
              
                
              
              ⁢
                            ⁢
              
                
              
              ⁢
              
                
                  (
                  ω
                  )
                
                ⁡
                
                  [
                  
                    1
                    -
                    
                      
                        γ
                        c
                        2
                      
                      ⁡
                      
                        (
                        ω
                        )
                      
                    
                  
                  ]
                
              
            
            +
            
              
                N
                1
                2
              
              ⁡
              
                (
                ω
                )
              
            
            +
            
              
                N
                2
                2
              
              ⁡
              
                (
                ω
                )
              
            
          
        
        ,
      
    
    
      
        (
        44
        )
      
    
  




where γc(ω) is the turbulence coherence as measured or predicted by the Corcos (see G. M. Corcos, “The structure of the turbulent pressure field in boundary layer flows,” J. Fluid Mech., 18: pp. 353-378, 1964, the teachings of which are incorporated herein by reference) or other turbulence models, (ω) is the RMS power of the turbulent noise, and N1 and N2, respectively, represent the RMS powers of the independent noise at the two microphones due to sensor self-noise.

The ratio of these factors gives the expected power ratio (ω) of the difference and sum signals between the microphones according to Equation (45) as follows:




  
    
      
        
                    ⁢
          
            (
            ω
            )
          
        
        =
        
          
            
              
                Y
                d
              
              ⁡
              
                (
                ω
                )
              
            
            
              
                Y
                s
              
              ⁡
              
                (
                ω
                )
              
            
          
          .
        
      
    
    
      
        (
        45
        )
      
    
  




For turbulent flow where the convective wave speed is much less than the speed of sound, the power ratio (ω) is much greater (by the ratio of the different propagation speeds). Also, since the convective-turbulence spatial-correlation function decays rapidly and this term becomes dominant when turbulence (or independent sensor self-noise is present), the resulting power ratio tends towards unity, which is even greater than the ratio difference due to the speed of propagation difference. As a reference, a purely propagating acoustic signal traveling along the microphone axis, the power ratio is given by Equation (46) as follows:




  
    
      
        
                    ⁢
          
            (
            ω
            )
          
        
        =
        
          
            
              tan
              2
            
            ⁡
            
              (
              
                
                  ω
                  ⁢
                  
                    
                  
                  ⁢
                  d
                
                
                  2
                  ⁢
                  
                    
                  
                  ⁢
                  c
                
              
              )
            
          
          .
        
      
    
    
      
        (
        46
        )
      
    
  




For general orientation of a single plane-wave where the angle between the planewave and the microphone axis is θ, the power ratio is given by Equation (47) as follows:




  
    
          
    
      
        (
        47
        )
      
    
  




The results shown in Equations (46) and (47) led to a relatively simple algorithm for suppression of airflow turbulence and sensor self-noise. The rapid decay of spatial coherence results in the relative powers between the differences and sums of the closely spaced pressure (zero-order) microphones being much larger than for an acoustic planewave propagating along the microphone array axis. As a result, it is possible to detect whether the acoustic signals transduced by the microphones are turbulent-like noise or propagating acoustic signals by comparing the sum and difference powers. FIG. 10 shows the difference-to-sum power ratio for a pair of omnidirectional microphones spaced at 2 cm in a convective fluid flow propagating at 5 m/s. It is clearly seen in this figure that there is a relatively wide difference between the acoustic and turbulent sum-difference power ratios. The ratio differences become more pronounced at low frequencies since the differential microphone rolls off at −6 dB/octave, where the predicted turbulent component rolls off at a much slower rate.
If sound arrives from off-axis from the microphone array, then the ratio of the difference-to-sum power levels for acoustic signals becomes even smaller as shown in Equation (47). Note that it has been assumed that the coherence decay is similar in all directions (isotropic). The power ratio  maximizes for acoustic signals propagating along the microphone axis. This limiting case is the key to the proposed wind-noise detection and suppression algorithm described in U.S. Pat. No. 7,171,008. The proposed suppression gain G(ω) is stated as follows: If the measured ratio exceeds that given by Equation (46), then the output signal power is reduced by the difference between the measured power ratio and that predicted by Equation (46). This gain G(ω) is given by Equation (48) as follows:




  
    
      
        
          G
          ⁡
          
            (
            ω
            )
          
        
        =
        
          
                        ⁢
            
              (
              ω
              )
            
          
          
                        ⁢
            
              (
              ω
              )
            
          
        
      
    
    
      
        (
        48
        )
      
    
  




where in(ω) is the measured difference-to-sum signal power ratio. A potentially desirable variation on the proposed suppression scheme described in Equation (48) allows the suppression to be tailored in a more general and flexible way by specifying the applied suppression as a function of the measured ratio  and the adaptive beamformer parameter β as a function of frequency.

One proposed suppression scheme is described in PCT patent application serial no. PCT/US06/44427. The general idea proposed in that application is to form a piecewise-linear suppression function for each subband in a frequency-domain implementation. Since there is the possibility of having a different suppression function for each subband, the suppression function can be more generally represented as a suppression matrix. FIG. 11 shows a three-segment, piecewise-linear suppression function that has been used in some implementations with good results. More segments can offer finer detail in control. Typically, the suppression values of Smin and Smax and the power ratio values Rmin and Rmax are different for each subband in a frequency-domain implementation.
Combining the suppression defined in Equation (48) with the results given on the first-order adaptive beamformer leads to a new approach to deal with wind and self-noise. A desired property of this combined system is that one can maintain directionality when wind-noise sources are smaller than acoustic signals picked up by the microphones. Another advantage of the proposed solution is that the operation of the noise suppression can be accomplished in a gradual and continuous fashion. This novel hybrid approach is expressed in Table I. In this implementation, the values of β are constrained by the value of (ω) as determined from the electronic windscreen algorithm described in U.S. Pat. No. 7,171,008 and PCT patent application no. PCT/US06/44427. In Table I, the directivity determined solely by the value of (ω) is set to a fixed value. Thus, when there is no wind present, the value of β is selected by the designer to have a fixed value. As wind gradually becomes stronger, there is a monotonic mapping of the increase in (ω) to β(ω) such that β(ω) gradually moves towards a value of −1 as the wind increases. One could also just switch the value of β to −1 when any wind is detected by the electronic windscreen or robust wind noise detectors described within this specification.







TABLE I







Beamforming Array Operation in Conjunction with Wind-Noise


Suppression by Electronic Windscreen Algorithm










Acoustic
Electronic Windscreen
Directional



Condition
Operation
Pattern
β





No wind
No suppression
General Cardioid
0 < β < 1





(β fixed)


Slight wind
Increasing suppression
Subcardioid
−1 < β < 0





(β is adaptive





and trends to





−1 as wind





increases)


High wind
Maximum suppression
Omnidirectional
−1









Similarly, one can use the constrained or unconstrained value of β(ω) to determine if there is wind noise or uncorrelated noise in the microphone channels. Table II shows appropriate settings for the directional pattern and electronic windscreen operation as a function of the constrained or unconstrained value of β(ω) from the adaptive beamformer. In Table II, the suppression function is determined solely from the value of the constrained (or even possibly unconstrained) β, where the constrained β is such that −1<β<1. For 0<β<1, the value of β utilized by the beamformer can be either a fixed value that the designer would choose, or allowed to be adaptive. As the value of β becomes negative, the suppression would gradually be increased until it reached the defined maximum suppression when β≈−1. Of course, one could use both the values of (ω) and β(ω) together to form a more-robust detection of wind and then to apply the appropriate suppression depending on how strong the wind condition is. The general scheme is that, as wind noise becomes larger and larger, the amount of suppression increases, and the value of β moves towards −1.







TABLE II







Wind-Noise Suppression by Electronic Windscreen Algorithm


Determined by the Adaptive Beamformer Value of β










Acoustic

Directional
Electronic Windscreen


Conditions
β
Pattern
Operation





No wind
0 < β < 1
General cardioid
No suppression



(β fixed or



adaptive


Slight wind
−1 < β < 0
Subcardioid
Increasing suppression


High wind
−1
Omnidirectional
Maximum suppression









Front-End Calibration, Nearfield Operation, and Robust Wind-Noise Detection

In differential microphones arrays, the magnitudes and phase responses of the microphones used to realize the arrays should match closely. The degree to which the microphones should match increases as the ratio of the microphone element spacing becomes much less than the acoustic wavelength. Thus, the mismatch in microphone gains that is inherent in inexpensive electret and condenser microphones on the market today should be controlled. This potential issue can be dealt with by calibrating the microphones during manufacture or allowing for an automatic in-situ calibration. Various methods for calibration exist and some techniques that handle automatic in-situ amplitude and phase mismatch are covered in U.S. Pat. No. 7,171,008.
One scheme that has been shown to be effective in implementation is to use an adaptive filter to match bandpass-filtered microphone envelopes. FIG. 12 shows a block diagram of a microphone amplitude calibration system 1200 for a set of microphones 1202. First, one microphone (microphone 1202-1 in the implementation of FIG. 12) is designated as the reference from which all other microphones are calibrated. Subband filterbank 1204 breaks each microphone signal into a set of subbands. The subband filterbank can be either the same as that used for the noise-suppression algorithm or some other filterbank. For speech, one can choose a band that covers the frequency range from 500 Hz to about 1 kHz. Other bands can be chosen depending on how wide the frequency averaging is desired. Multiple bands can be measured and applied to cover the case where the transducers are not flat and deviate in their relative response as a function of frequency. However, with typical condenser and electret microphones, the response is usually flat over the desired frequency band of operation. Even if the microphones are not flat in response, the microphones have similar responses if they have atmospheric pressure equalization with low-frequency rolloffs and upper resonance frequencies and Q-factors that are close to one another.
For each different subband of each different microphone signal, an envelope detector 1206 generates a measure of the subband envelope. For each non-reference microphone (each of microphones 1202-2, 1202-3, . . . in the implementation of FIG. 12), a single-tap adaptive filter 1208 scales the average subband envelope corresponding to one or more adjacent subbands based on a filter coefficient wj that is adaptively updated to reduce the magnitude of an error signal generated at a difference node 1210 and corresponding to the difference between the resulting filtered average subband envelope and the corresponding average reference subband envelope from envelope detector 1206-1. The resulting filter coefficient wj represents an estimate of the relative magnitude difference between the corresponding subbands of the particular non-reference microphone and the corresponding subbands of the reference microphone. One could use the microphone signals themselves rather than the subband envelopes to characterize the relative magnitude differences between the microphones, but some undesired bias can occur if one uses the actual microphone signals. However, the bias can be kept quite small if one uses a low-frequency band of a filterbank or a bandpassed signal with a low center frequency.
The time-varying filter coefficients wj for each microphone and each set of one or more adjacent subbands are applied to control block 1212, which applies those filter coefficients to three different low-pass filters that generate three different filtered weight values: an “instantaneous” low-pass filter LPi having a high cutoff frequency (e.g., about 200 Hz) and generating an “instantaneous” filtered weight value wij, a “fast” low-pass filter LPf having an intermediate cutoff frequency (e.g., about 20 Hz) and generating a “fast” filtered weight value wfj, and a “slow” low-pass filter LP, having a low cutoff frequency (e.g., about 2 Hz) and generating a “slow” filtered weight value wsj. The instantaneous weight values wij are preferably used in a wind-detection scheme, the fast weight values wfj are preferably used in an electronic wind-noise suppression scheme, and the slow weight values wsj are preferably used in the adaptive beamformer. The exemplary cutoff frequencies for these lowpass filters are just suggestions and should not be considered optimal values. FIG. 12 illustrates the low-pass filtering applied by control block 1212 to the filter coefficients w2 for the second microphone. Control block 1212 applies analogous filtering to the filter coefficients corresponding to the other non-reference microphones.
As shown in FIG. 12, control block 1212 also receives wind-detection signals 1214 and nearfield-detection signals 1216. Each wind-detection signal 1214 indicates whether the microphone system has detected the presence of wind in one or more microphone subbands, while each nearfield-detection signal 1216 indicates whether the microphone system has detected the presence of a nearfield acoustic source in one or more microphone subbands. In one possible implementation of control block 1212, if, for a particular microphone and for a particular subband, either the corresponding wind-detection signal 1214 indicates presence of wind or the corresponding nearfield-detection signal 1216 indicates presence of a nearfield source, then the updating of the filtered weight values for the corresponding microphone and the corresponding subband is suspended for the long-term beamformer weights, thereby maintaining those weight factors at their most-recent values until both wind and a nearfield source are no longer detected and the updating of the weight factors by the low-pass filters is resumed. A net effect of this calibration-inhibition scheme is to allow beamformer weight calibration only when farfield signals are present without wind.
The generation of wind-detection signal 1214 by a robust wind-detection scheme based on computed wind metrics in different subbands is described in further detail below with respect to FIGS. 13 and 14. Regarding generation of nearfield-detection signal 1216, nearfield source detection is based on a comparison of the output levels from the underlying back-to-back cardioid signals that are the basis signals used in the adaptive beamformer. For a headset application, where the array is pointed in the direction of the headset wearer's mouth, a nearfield source is detected by comparing the power differences between forward-facing and rearward-facing synthesized cardioid microphone patterns. Note that these cardioid microphone patterns can be realized as general forward and rearward beampatterns not necessarily having a null along the microphone axis. These beampatterns can be variable so as to minimize the headset wearer's nearfield speech in the rearward-facing synthesized beamformer. Thus, the rearward-facing beamformer may have a nearfield null, but not a null in the farfield. If the forward cardioid signal (facing the mouth) greatly exceeds the rearward cardioid signal, then a nearfield source is declared. The power differences between the forward and rearward cardioid signals can also be used to adjust the adaptive beamformer speed. Since active speech by a headset wearer can cause the adaptive beamformer to adjust to the wearer's speech, one can inhibit this undesired operation by either turning off or significantly slowing the adaptive beamformer speed of operation. In one possible implementation, the speed of operation of the adaptive beamformer can be decreased by reducing the magnitude of the update step-size μ in Equation (17).
In the last section, it was shown that, for farfield sources, the difference-to-sum power ratio is an elegant and computationally simple detector for wind and uncorrelated noise between corresponding subbands of two microphones. For nearfield operation, this simple wind-noise detector can falsely trigger even when wind is not present due to the large level differences that the microphones can have in the nearfield of the desired source. Therefore, a wind-noise detector should be robust with nearfield sources. FIGS. 13 and 14 show block diagrams of wind-noise detectors that can effectively handle operation of the microphone array in the nearfield of a desired source. FIGS. 13 and 14 represent wind-noise detection for three adjacent subbands of two microphones: reference microphone 1202-1 and non-reference microphone 1202-2 of FIG. 12. Analogous processing can be applied for other subbands and/or additional non-reference microphones.
As shown in FIG. 13, wind-noise detector 1300 comprises control block 1212 of FIG. 12, which generates instantaneous, fast, and slow weight factors wij=2, wfj=2, and wsj=2 based on filter coefficients w2 generated by front-end calibration 1303. Front-end calibration 1303 represents the processing of FIG. 12 associated with the generation of filter coefficients w2. Depending on the particular implementation, subband filterbank 1304 of FIG. 13 may be the same as or different from subband filterbank 1204 of FIG. 12.
For each of the three illustrated subbands of filterbank 1304, a corresponding difference node 1308 generates the difference between the subband coefficients for reference microphone 1202-1 and weighted subband coefficients for non-reference microphone 1202-2, where the weighted subband coefficients are generated by applying the corresponding instantaneous weight factor wij=2 from control block 1212 to the “raw” subband coefficients for non-reference microphone 1202-2 at a corresponding amplifier 1306. Note that, if the weight factor wij=2 is less than 1, then amplifier 1306 will attenuate rather than amplify the raw subband coefficients.
The resulting difference values are scaled at scalar amplifiers 1310 based on scale factors sk that depend on the spacing between the two microphones (e.g., the greater the microphone spacing and greater the frequency of the subband, the greater the scale factor). The magnitudes of the resulting scaled, subband-coefficient differences are generated at magnitude detectors 1312. Each magnitude constitutes a measure of the difference-signal power for the corresponding subband. The three difference-signal power measures are summed at summation block 1314, and the resulting sum is normalized at normalization amplifier 1316 based on the summed magnitude of all three subbands for both microphones 1202-1 and 1202-2. This normalization factor constitutes a measure of the sum-signal power for all three subbands. As such, the resulting normalized value constitutes a measure of the effective difference-to-sum power ratio  (described previously) for the three subbands.
This difference-to-sum power ratio  is thresholded at threshold detector 1318 relative to a specified corresponding ratio threshold level. If the difference-to-sum power ratio  exceeds the ratio threshold level, then wind is detected for those three subbands, and control block 1212 suspends updating of the corresponding weight factors by the low-pass filters for those three subbands.
FIG. 14 shows an alternative wind-noise detector 1400, in which a difference-to-sum power ratio Rk is estimated for each of the three different subbands at ratio generators 1412, and the maximum power ratio (selected at max block 1414) is applied to threshold detector 1418 to determine whether wind-noise is present for all three subbands.
In FIGS. 13 and 14, the scalar amplifiers 1310 and 1410 can be used to adjust the frequency equalization between the difference and sum powers.
The algorithms described herein for the detection of wind noise also function effectively as algorithms for the detection of microphone thermal noise and circuit noise (where circuit noise includes quantization noise in sampled data implementations). As such, as used in this specification including the attached claims, the detection of the presence of wind noise should be interpreted as referring to the detection of the presence of any of wind noise, microphone thermal noise, and circuit noise.
Implementation
FIG. 15 shows a block diagram of an audio system 1500, according to one embodiment of the present invention. Audio system 1500 is a two-element microphone array that combines adaptive beamforming with wind-noise suppression to reduce wind noise induced into the microphone output signals. In particular, audio system 1500 comprises (i) two (e.g., omnidirectional) microphones 1502(1) and 1502(2) that generate electrical audio signals 1503(1) and 1503(2), respectively, in response to incident acoustic signals and (ii) signal-processing elements 1504-1518 that process the electrical audio signals to generate an audio output signal 1519, where elements 1504-1514 form an adaptive beamformer, and spatial-noise suppression (SNS) processor 1518 performs wind-noise suppression as defined in U.S. Pat. No. 7,171,008 and in PCT patent application PCT/US06/44427.
Calibration filter 1504 calibrates both electrical audio signals 1503 relative to one another. This calibration can either be amplitude calibration, phase calibration, or both. U.S. Pat. No. 7,171,008 describes some schemes to implement this calibration in situ. In one embodiment, a first set of weight factors are applied to microphone signals 1503(1) and 1503(2) to generate first calibrated signals 1505(1) and 1505(2) for use in the adaptive beamformer, while a second set of weight factors are applied to the microphone signals to generate second calibrated signals 1520(1) and 1520(2) for use in SNS processor 1518. As describe earlier with respect to FIG. 12, the first set of weight factors are the weight factors wsj generated by control block 1212, while the second set of weight factors are the weight factors wfj generated by control block 1212.
Copies of the first calibrated signals 1505(1) and 1505(2) are delayed by delay blocks 1506(1) and 1506(2). In addition, first calibrated signal 1505(1) is applied to the positive input of difference node 1508(2), while first calibrated signal 1505(2) is applied to the positive input of difference node 1508(1). The delayed signals 1507(1) and 1507(2) from delay nodes 1506(1) and 1506(2) are applied to the negative inputs of difference nodes 1508(1) and 1508(2), respectively. Each difference node 1508 generates a difference signal 1509 corresponding to the difference between the two applied signals.
Difference signals 1509 are front and back cardioid signals that are used by LMS (least mean square) block 1510 to adaptively generate control signal 1511, which corresponds to a value of adaptation factor β that minimizes the power of output signal 1519. LMS block 1510 limits the value of β to a region of −1≦β≦0. One modification of this procedure would be to set β to a fixed, non-zero value, when the computed value for β is greater that 0. By allowing for this case, β would be discontinuous and would therefore require some smoothing to remove any switching transient in the output audio signal. One could allow β to operate adaptively in the range −1≦β≦1, where operation for 0≦β≦1 is described in U.S. Pat. No. 5,473,701.
Difference signal 1509(1) is applied to the positive input of difference node 1514, while difference signal 1509(2) is applied to gain element 1512, whose output 1513 is applied to the negative input of difference node 1514. Gain element 1512 multiplies the rear cardioid generated by difference node 1508(2) by a scalar value computed in the LMS block to generate the adaptive beamformer output. Difference node 1514 generates a difference signal 1515 corresponding to the difference between the two applied signals 1509(1) and 1513.
After the adaptive beamformer of elements 1504-1514, first-order low-pass filter 1516 applies a low-pass filter to difference signal 1515 to compensate for the ω high-pass that is imparted by the cardioid beamformers. The resulting filtered signal 1517 is applied to spatial-noise suppression processor 1518. SNS processor 1518 implements a generalized version of the electronic windscreen algorithm described in U.S. Pat. No. 7,171,008 and PCT patent application PCT/US06/44427 as a subband-based processing function. Allowing the suppression to be defined generally as a piecewise linear function in the log-log domain, rather than by the ratio G(ω) given in Equation (48), allows more-precise tailoring of the desired operation of the suppression as a function of the log of the measured power ratio in. Processing within SNS block 1518 is dependent on second calibrated signals 1520 from both microphones as well as the filtered output signal 1517 from the adaptive beamformer. SNS block 1518 can also use the β control signal 1511 generated by LMS block 1510 to further refine and control the wind-noise detector and the overall suppression to the signal achieved by the SNS block. Although not shown in FIG. 15, SNS 1518 implements equalization filtering on second calibrated signals 1520.
FIG. 16 shows a block diagram of an audio system 1600, according to another embodiment of the present invention. Audio system 1600 is similar to audio system 1500 of FIG. 15, except that, instead of receiving the calibrated microphone signals, SNS block 1618 receives sum signal 1621 and difference signal 1623 generated by sum and different nodes 1620 and 1622, respectively. Sum node 1620 adds the two cardioid signals 1609(1) and 1609(2) to generate sum signal 1621, corresponding to an omnidirectional response, while difference node 1622 subtracts the two cardioid signals to generate difference signal 1623, corresponding to a dipole response. The low-pass filtered sum 1617 of the two cardioid signals 1609(1) and 1613 is equal to a filtered addition of the two microphone input signals 1603(1) and 1603(2). Similarly, the low-pass filtered difference 1623 of the two cardioid signals is equal to a filtered subtraction of the two microphone input signals.
One difference between audio system 1500 of FIG. 15 and audio system 1600 of FIG. 16 is that SNS block 1518 of FIG. 15 receives the second calibrated microphone signals 1520(1) and 1520(2), while audio system 1600 derives sum and difference signals 1621 and 1623 from the computed cardioid signals 1609(1) and 1609(2). While the derivation in audio system 1600 might not be useful with nearfield sources, one advantage to audio system 1600 is that, since sum and difference signals 1621 and 1623 have the same frequency response, they do not need to be equalized.
FIG. 17 shows a block diagram of an audio system 1700, according to yet another embodiment of the present invention. Audio system 1700 is similar to audio system 1500 of FIG. 15, where SNS block 1518 of FIG. 15 is implemented using time-domain filterbank 1724 and parametric high-pass filter 1726. Since the spectrum of wind noise is dominated by low frequencies, audio system 1700 implements filterbank 1724 as a set of time-domain band-pass filters to compute the power ratio  as a function of frequency. Having  computed in this fashion allows for dynamic control of parametric high-pass filter 1726 in generating output signal 1719. In particular, filterbank 1724 generates cutoff frequency fc, which high-pass filter 1726 uses as a threshold to effectively suppress the low-frequency wind-noise components. The algorithm to compute the desired cutoff frequency uses the power ratio  as well as the adaptive beamformer parameter β. When β is less than 1 but greater than 0, the cutoff frequency is set at a low value. However, as β goes negative towards the limit at −1, this indicates that there is a possibility of wind noise. Therefore, in conjunction with the power ratio , a high-pass filter is progressively applied when both β goes negative and  exceeds some defined threshold. This implementation can be less computationally demanding than a full frequency-domain algorithm, while allowing for significantly less time delay from input to output. Note that, in addition to applying low-pass filtering, block LI applies a delay to compensate for the processing time of filterbank 1724.
FIG. 18 shows a block diagram of an audio system 1800, according to still another embodiment of the present invention. Audio system 1800 is analogous to audio system 1700 of FIG. 17, where both the adaptive beamforming and the spatial-noise suppression are implemented in the frequency domain. To achieve this frequency-domain processing, audio system 1800 has M-tap FFT-based subband filterbank 1824, which converts each time-domain audio signal 1803 into (1+M/2) frequency-domain signals 1825. Moving the subband filter decomposition to the output of the microphone calibration results in multiple, simultaneous, adaptive, first-order beamformers, where SNS block 1818 implements processing analogous to that of SNS 1518 of FIG. 15 for each different beamformer output 1815 based on a corresponding frequency-dependent adaptation parameter β represented by frequency-dependent control signal 1811. Note that, in this frequency-domain implementation, there is no low-pass filter implemented between difference node 1814 and SNS block 1818.
One advantage of this implementation over the time-domain adaptive beamformers of FIGS. 15-17 is that multiple noise sources arriving from different directions at different frequencies can now be simultaneously minimized. Also, since wind noise and electronic noise have a 1/f or even 1/f2 dependence, a subband implementation allows the microphone to tend towards omnidirectional at the dominant low frequencies when wind is present, and remain directional at higher frequencies where the interfering noise source might be dominated by acoustic noise signals. As with the modification shown in FIG. 16, processing of the sum and difference signals can alternatively be accomplished in the frequency domain by directly using the two back-to-back cardioid signals.
Higher-Order Differential Microphone Arrays
The previous descriptions have been limited to first-order differential arrays. However, the processing schemes to reduce wind and circuit noise for first-order arrays are similarly applicable to higher-order differential arrays, which schemes are developed here.
For a plane-wave signal s(t) with spectrum S(ω) and wavevector k incident on a three-element array with displacement vector d shown in FIG. 19, the output can be written as:




  
    
      
        
          
            
              
                
                  Y
                  2
                
                ⁡
                
                  (
                  
                    ω
                    ,
                    θ
                  
                  )
                
              
              =
              
              ⁢
              
                
                  S
                  ⁡
                  
                    (
                    ω
                    )
                  
                
                ⁢
                
                  (
                  
                    1
                    -
                    
                      e
                      
                        -
                        
                          j
                          ⁡
                          
                            (
                            
                              
                                ω
                                ⁢
                                
                                  
                                
                                ⁢
                                
                                  T
                                  1
                                
                              
                              +
                              
                                k
                                ·
                                d
                              
                            
                            )
                          
                        
                      
                    
                  
                  )
                
                ⁢
                
                  (
                  
                    1
                    -
                    
                      e
                      
                        -
                        
                          j
                          ⁡
                          
                            (
                            
                              
                                ω
                                ⁢
                                
                                  
                                
                                ⁢
                                
                                  T
                                  2
                                
                              
                              +
                              
                                k
                                ·
                                d
                              
                            
                            )
                          
                        
                      
                    
                  
                  )
                
              
            
          
        
        
          
            
              =
              
              ⁢
              
                
                  S
                  ⁡
                  
                    (
                    ω
                    )
                  
                
                ⁢
                
                  (
                  
                    1
                    -
                    
                      e
                      
                        
                          -
                          j
                        
                        ⁢
                        
                          
                        
                        ⁢
                        
                          ω
                          ⁡
                          
                            (
                            
                              
                                T
                                1
                              
                              +
                              
                                
                                  (
                                  
                                    d
                                    ⁢
                                    
                                      
                                    
                                    ⁢
                                    cos
                                    ⁢
                                    
                                      
                                    
                                    ⁢
                                    θ
                                  
                                  )
                                
                                /
                                c
                              
                            
                            )
                          
                        
                      
                    
                  
                  )
                
                ⁢
                
                  (
                  
                    1
                    -
                    
                      e
                      
                        
                          -
                          j
                        
                        ⁢
                        
                          
                        
                        ⁢
                        
                          ω
                          ⁡
                          
                            (
                            
                              
                                T
                                2
                              
                              +
                              
                                
                                  (
                                  
                                    d
                                    ⁢
                                    
                                      
                                    
                                    ⁢
                                    cos
                                    ⁢
                                    
                                      
                                    
                                    ⁢
                                    θ
                                  
                                  )
                                
                                /
                                c
                              
                            
                            )
                          
                        
                      
                    
                  
                  )
                
              
            
          
        
      
    
    
      
        (
        49
        )
      
    
  




where d=|d| is the element spacing for the first-order and second-order sections. The delay T1 is equal to the delay applied to one sensor of the first-order sections, and T2 is the delay applied to the combination of the two first-order sections. The subscript on the variable Y is used to designate that the system response is a second-order differential response. The magnitude of the wavevector k is |k|=k=ω/c, and c is the speed of sound. Taking the magnitude of Equation (49) yields:





  
    
      
        
          
          
            
              Y
              2
            
            ⁡
            
              (
              
                ω
                ,
                θ
              
              )
            
          
          
        
        =
        
          4
          ⁢
          
            
              
              
                
                  S
                  ⁡
                  
                    (
                    ω
                    )
                  
                
                ⁢
                sin
                ⁢
                
                  
                    ω
                    ⁡
                    
                      (
                      
                        
                          T
                          1
                        
                        +
                        
                          
                            (
                            
                              
                                d
                                1
                              
                              ⁢
                              cos
                              ⁢
                              
                                
                              
                              ⁢
                              θ
                            
                            )
                          
                          /
                          c
                        
                      
                      )
                    
                  
                  2
                
                ⁢
                sin
                ⁢
                
                  
                    ω
                    ⁡
                    
                      (
                      
                        
                          T
                          2
                        
                        +
                        
                          
                            (
                            
                              
                                d
                                2
                              
                              ⁢
                              cos
                              ⁢
                              
                                
                              
                              ⁢
                              θ
                            
                            )
                          
                          /
                          c
                        
                      
                      )
                    
                  
                  2
                
              
              
            
            .
          
        
      
    
    
      
        (
        50
        )
      
    
  




Now, it is assumed that the spacing and delay are small such that kd1, kd2 π and ωT1, ωT2 π, so that:




  
    
      
        
          
            
              
                
                
                  
                    Y
                    2
                  
                  ⁡
                  
                    (
                    
                      ω
                      ,
                      θ
                    
                    )
                  
                
                
              
              ≈
              
              ⁢
              
                
                  ω
                  2
                
                ⁢
                
                  
                  
                    
                      S
                      ⁡
                      
                        (
                        ω
                        )
                      
                    
                    ⁢
                    
                      (
                      
                        
                          T
                          1
                        
                        +
                        
                          
                            (
                            
                              
                                d
                                1
                              
                              ⁢
                              cos
                              ⁢
                              
                                
                              
                              ⁢
                              θ
                            
                            )
                          
                          /
                          c
                        
                      
                      )
                    
                    ⁢
                    
                      (
                      
                        
                          T
                          2
                        
                        +
                        
                          
                            (
                            
                              
                                d
                                2
                              
                              ⁢
                              cos
                              ⁢
                              
                                
                              
                              ⁢
                              θ
                            
                            )
                          
                          /
                          c
                        
                      
                      )
                    
                  
                  
                
              
            
          
        
        
          
            
              ≈
              
              ⁢
              
                
                  k
                  2
                
                ⁢
                
                  
                    
                    
                      
                        S
                        ⁡
                        
                          (
                          ω
                          )
                        
                      
                      ⁡
                      
                        [
                        
                          
                            
                              c
                              2
                            
                            ⁢
                            
                              T
                              1
                            
                            ⁢
                            
                              T
                              2
                            
                          
                          +
                          
                            
                              c
                              ⁡
                              
                                (
                                
                                  
                                    
                                      T
                                      1
                                    
                                    ⁢
                                    
                                      d
                                      2
                                    
                                  
                                  +
                                  
                                    
                                      T
                                      2
                                    
                                    ⁢
                                    
                                      d
                                      1
                                    
                                  
                                
                                )
                              
                            
                            ⁢
                            cos
                            ⁢
                            
                              
                            
                            ⁢
                            θ
                          
                          +
                          
                            
                              d
                              1
                            
                            ⁢
                            
                              d
                              2
                            
                            ⁢
                            
                              cos
                              2
                            
                            ⁢
                            θ
                          
                        
                        ]
                      
                    
                    
                  
                  .
                
              
            
          
        
      
    
    
      
        (
        51
        )
      
    
  




The terms inside the brackets in Equation (51) contain the array directional response, composed of a monopole term, a first-order dipole term cos θ that resolves the component of the acoustic particle velocity along the sensor axis, and a linear quadruple term cos2 θ. One thing to notice in Equation (51) is that the second-order array has a second-order differentiator frequency dependence (i.e., output increases quadratically with frequency). This frequency dependence is compensated in practice by a second-order lowpass filter.
The topology shown in FIG. 19 can be extended to any order as long as the total length of the array is much smaller than the acoustic wavelength of the incoming desired signals. With the small spacing approximation, the response of an Nth-order differential sensor (N+1 sensors) to incoming plane waves is:




  
    
      
        
          
          
            
              Y
              N
            
            ⁡
            
              (
              
                ω
                ,
                θ
              
              )
            
          
          
        
        ≈
        
          
            ω
            N
          
          ⁢
          
            
              
              
                
                  S
                  ⁡
                  
                    (
                    ω
                    )
                  
                
                ⁢
                
                  
                    ∏
                    
                      i
                      =
                      1
                    
                    N
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    [
                    
                      
                        T
                        i
                      
                      +
                      
                        
                          (
                          
                            
                              d
                              1
                            
                            ⁢
                            cos
                            ⁢
                            
                              
                            
                            ⁢
                            θ
                          
                          )
                        
                        /
                        c
                      
                    
                    )
                  
                
              
              
            
            .
          
        
      
    
    
      
        (
        52
        )
      
    
  




In the design of differential arrays, the array directivity is of major interest. One possible way to simplify the analysis for the directivity of the Nth-order array is to define a variable αi such that:




  
    
      
        
          α
          1
        
        =
        
          
            
              T
              i
            
            
              
                T
                i
              
              +
              
                
                  d
                  i
                
                /
                c
              
            
          
          .
        
      
    
    
      
        (
        53
        )
      
    
  




The array response can then be rewritten as:




  
    
      
        
          
          
            
              Y
              N
            
            ⁡
            
              (
              
                ω
                ,
                θ
              
              )
            
          
          
        
        ≈
        
          
            ω
            N
          
          ⁢
          
            
              
              
                
                  S
                  ⁡
                  
                    (
                    ω
                    )
                  
                
                ⁢
                
                  
                    ∏
                    
                      i
                      =
                      1
                    
                    N
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      [
                      
                        
                          T
                          i
                        
                        +
                        
                          
                            d
                            i
                          
                          /
                          c
                        
                      
                      ]
                    
                    ⁢
                    
                      
                        ∏
                        
                          i
                          =
                          1
                        
                        N
                      
                      ⁢
                      
                        [
                        
                          
                            α
                            i
                          
                          +
                          
                            
                              (
                              
                                1
                                -
                                
                                  α
                                  i
                                
                              
                              )
                            
                            ⁢
                            cos
                            ⁢
                            
                              
                            
                            ⁢
                            θ
                          
                        
                        ]
                      
                    
                  
                
              
              
            
            .
          
        
      
    
    
      
        (
        54
        )
      
    
  




The last product term expresses the angular dependence of the array, the terms that precede it determine the sensitivity of the array as a function of frequency, spacing, and time delay. The last product term contains the angular dependence of the array. Now define an output lowpass filter HL(ω) as:




  
    
      
        
          
            H
            L
          
          ⁡
          
            (
            ω
            )
          
        
        =
        
          
            
              [
              
                
                  ω
                  N
                
                ⁢
                
                  
                    ∏
                    
                      i
                      =
                      1
                    
                    N
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    (
                    
                      
                        T
                        i
                      
                      +
                      
                        
                          d
                          i
                        
                        /
                        c
                      
                    
                    )
                  
                
              
              ]
            
            
              -
              1
            
          
          .
        
      
    
    
      
        (
        55
        )
      
    
  




This definition for HL(ω) results in a flat frequency response and unity gain for signals arriving from θ=0°. Note that this is true for frequencies and spacings where the small kd approximation is valid. The exact response can be calculated from Equation (50). With the filter described in Equation (55), the output signal is:




  
    
      
        
          
          
            
              X
              N
            
            ⁡
            
              (
              
                ω
                ,
                θ
              
              )
            
          
          
        
        ≈
        
          
            
            
              
                S
                ⁡
                
                  (
                  ω
                  )
                
              
              ⁢
              
                
                  ∏
                  
                    i
                    =
                    1
                  
                  N
                
                ⁢
                
                  [
                  
                    
                      α
                      i
                    
                    +
                    
                      
                        (
                        
                          1
                          -
                          
                            α
                            i
                          
                        
                        )
                      
                      ⁢
                      cos
                      ⁢
                      
                        
                      
                      ⁢
                      θ
                    
                  
                  ]
                
              
            
            
          
          .
        
      
    
    
      
        (
        56
        )
      
    
  




Thus, the directionality of an Nth-order differential array is the product of N first-order directional responses, which is a restatement of the pattern multiplication theorem in electroacoustics. If the αi are constrained as 0≦αi≦0.5, then the directional response of the Nth-order array shown in Equation (54) contains N zeros (or nulls) at angles between 90°≦θ≦180°. The null locations can be calculated for the αi as:




  
    
      
        
          
            
              
                θ
                i
              
              =
              
                arc
                ⁢
                
                  
                
                ⁢
                
                  cos
                  ⁡
                  
                    (
                    
                      
                        α
                        i
                      
                      
                        
                          α
                          i
                        
                        -
                        1
                      
                    
                    )
                  
                
              
            
          
        
        
          
            
              =
              
                arc
                ⁢
                
                  
                
                ⁢
                
                  
                    cos
                    ⁡
                    
                      (
                      
                        
                          
                            -
                            
                              T
                              i
                            
                          
                          ⁢
                          c
                        
                        
                          d
                          i
                        
                      
                      )
                    
                  
                  .
                
              
            
          
        
      
    
    
      
        (
        57
        )
      
    
  




One possible realization of the second-order adaptive differential array variable time delays T1 and T2 is shown in FIG. 19. This solution generates any time delay less than or equal to di/c. The computational requirements needed to realize the general delay by interpolation filtering and the resulting adaptive algorithms may be unattractive for an extremely low complexity real-time implementation. Another way to efficiently implement the adaptive differential array is to use an extension of the back-to-back cardioid configuration using a sampling rate whose sampling period is an integer multiple or divisor of the time delay for on-axis acoustic waves to propagate between the microphones, as described earlier.
FIG. 20 shows a schematic implementation of an adaptive second-order array differential microphone utilizing fixed delays and three omnidirectional microphone elements. The back-to-back cardioid arrangement for a second-order array can be implemented as shown in FIG. 20. This topology can be followed to extend the differential array to any desired order. One simplification utilized here is the assumption that the distance d1 between microphones m1 and m2 is equal to the distance d2 between microphones m2 and m3, although this is not necessary to realize the second-order differential array. This simplification does not limit the design but simplifies the design and analysis. There are some other benefits to the implementation that result by assuming that all are equal. One major benefit is the need for only one unique delay element. For digital signal processing, this delay can be realized as one sampling period, but, since fractional delays are relatively easy to implement, this advantage is not that significant. Furthermore, by setting the sampling period equal to d/c, the back-to-back cardioid microphone outputs can be formed directly. Thus, if one chooses the spacing and the sampling rates appropriately, the desired second-order directional response of the array can be formed by storing only a few sequential sample values from each channel. As previously discussed, the lowpass filter shown following the output y(t) in FIG. 20 is used to compensate the second-order ω2 differentiator response.
Null Angle Locations
The null angles for the Nth-order array are at the null locations of each first-order section that constitutes the canonic form. The null location for each section is:




  
    
      
        
          θ
          i
        
        =
        
          
            arccos
            ⁡
            
              (
              
                1
                -
                
                  
                    2
                    kd
                  
                  ⁢
                  
                    arctan
                    ⁡
                    
                      [
                      
                        
                          sin
                          ⁡
                          
                            (
                            kd
                            )
                          
                        
                        
                          
                            β
                            i
                          
                          +
                          
                            cos
                            ⁡
                            
                              (
                              kd
                              )
                            
                          
                        
                      
                      ]
                    
                  
                
              
              )
            
          
          .
        
      
    
    
      
        (
        58
        )
      
    
  




Note that, for βi=1, θi=90°; and, for βi=0, θi=180°. For small kd (kd=ωT π):




  
    
      
        
          θ
          i
        
        ≈
        
          
            arccos
            ⁡
            
              (
              
                
                  
                    β
                    i
                  
                  -
                  1
                
                
                  
                    β
                    i
                  
                  +
                  1
                
              
              )
            
          
          .
        
      
    
    
      
        (
        59
        )
      
    
  




The relationship between βi and the αi defined in Equation (53) is:




  
    
      
        
          α
          i
        
        =
        
          
            
              1
              -
              
                β
                i
              
            
            2
          
          .
        
      
    
    
      
        (
        60
        )
      
    
  




Least-Squares β for the Second-Order Array

The optimum values of βi are defined here as the values of βi that minimize the mean-square output from the sensor. Starting with a topology that is a straightforward extension to the first-order adaptive differential array developed earlier and shown in FIG. 20, the equations describing the input/output relationship y(t) for the second-order array can be written as:




  
    
      
        
          y
          ⁡
          
            (
            t
            )
          
        
        =
        
          
            
              c
              FF
            
            ⁡
            
              (
              t
              )
            
          
          -
          
            
              
                
                  β
                  1
                
                +
                
                  β
                  2
                
              
              2
            
            ⁢
            
              
                c
                TT
              
              ⁡
              
                (
                t
                )
              
            
          
          -
          
            
              β
              1
            
            ⁢
            
              β
              2
            
            ⁢
            
              
                
                  c
                  BB
                
                ⁡
                
                  (
                  t
                  )
                
              
              .
            
          
        
      
    
    
      
        (
        61
        )
      
    
  




where,

cTT(t)=2(CF2(t)−CF1(t−T1)

cFF(t)=CF1(t)−CF2(t−T1)

cBB(t)=CB1(t−T1)−CB2(t)  (62)

and where,

CF1=p1(t)−p2(t−T1)

CB1=p2(t)−p1(t−T1)

CF2=p2(t)−p3(t−T1)

CB2=p3(t)−p2(t−T1).  (63)

The terms CF1(t) and CF2(t) are the two signals for the forward facing cardioid outputs formed as shown in FIG. 20. Similarly, CB1(t) and CB2(t) are the corresponding backward facing cardioid signals. The scaling of cTT by a scalar factor of will become clear later on in the derivations. A further simplification can be made to Equation (61) yielding:

y(t)=cFF(t)−α1cBB(t)−α2cTT(t).  (64)

where the following variable substitutions have been made:





  
    
      
        
          
            α
            1
          
          =
          
            
              β
              1
            
            ⁢
            
              β
              2
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            α
            2
          
          =
          
            
              
                β
                1
              
              +
              
                β
                2
              
            
            2
          
        
      
    
    
      
        (
        65
        )
      
    
  




These results have an appealing intuitive form if one looks at the beam-patterns associated with the signals cFF(t), cBB(t), and cTT(t). These directivity functions are phase aligned relative to the center microphone, i.e., they are all real when the coordinate origin is located at the center of the array. FIG. 21 shows the associated directivity patterns of signals cFF(t), cBB(t), and cTT(t) as described in Equation (62). Note that the second-order dipole plot (cTT) is representative of a toroidal pattern (one should think of the pattern as that made by rotating this figure around a line on the page that is along the null axis). From this figure, it can be seen that the second-order adaptive scheme presented here is actually an implementation of a Multiple Sidelobe Canceler (MSLC). See R. A. Monzingo and T. W. Miller, Introduction to Adaptive Arrays, Wiley, New York, (1980), the teachings of which are incorporated herein by reference. The intuitive way to understand the proposed grouping of the terms given in Equation (64) is to note that the beam associated with signal cFF is aimed in the desired source direction. The beams represented by the signals cBB and cTT are then used to place nulls at specific directions by subtracting their output from cFF.
The locations of the nulls in the pattern can be found as follows:




  
    
      
        
          y
          ⁡
          
            (
            θ
            )
          
        
        =
        
          
            
              
                1
                4
              
              ⁢
              
                
                  (
                  
                    1
                    +
                    
                      cos
                      ⁡
                      
                        (
                        θ
                        )
                      
                    
                  
                  )
                
                2
              
            
            -
            
              
                α
                1
              
              ⁢
              
                1
                4
              
              ⁢
              
                
                  (
                  
                    1
                    -
                    
                      cos
                      ⁡
                      
                        (
                        θ
                        )
                      
                    
                  
                  )
                
                2
              
            
            -
            
              
                α
                2
              
              ⁢
              
                1
                2
              
              ⁢
              
                
                  sin
                  2
                
                ⁡
                
                  (
                  θ
                  )
                
              
            
          
          =
          
            
              0
              ⁢
              
                

              
              ⁢
              
                
              
              ⇒
              
                θ
                
                  1
                  ,
                  2
                
              
            
            =
            
              arctan
              (
              
                
                  
                    -
                    
                      (
                      
                        1
                        +
                        
                          α
                          1
                        
                      
                      )
                    
                  
                  ±
                  
                    
                      
                        α
                        1
                      
                      +
                      
                        α
                        2
                        2
                      
                    
                  
                
                
                  1
                  -
                  
                    α
                    1
                  
                  +
                  
                    2
                    ⁢
                    
                      α
                      
                        2
                        ⁢
                        
                          
                        
                      
                    
                  
                
              
              )
            
          
        
      
    
    
      
        (
        66
        )
      
    
  




To find the optimum α1,2 values, start with squaring Equation (64):

E[y2(t)]=RFF(0)−2α1RFB(0)−2α2RFT(0)+2α1α2RBT(0)+α12RBB(0)+α22RTT(0).  (67)

where R are the auto and cross-correlation functions for zero lag between the signals cFF(t), cBB(t), and cTT(t). The extremal values can be found by taking the partial derivatives of Equation (67) with respect to α1 and α2 and setting the resulting equations to zero. The solution for the extrema of this function results in two first-order equations and the optimum values for α1 and α2 are:





  
    
      
        
          
            α
            
              1
              ⁢
              opt
            
          
          =
          
            
              
                
                  
                    R
                    FB
                  
                  ⁡
                  
                    (
                    0
                    )
                  
                
                ⁢
                
                  
                    R
                    TT
                  
                  ⁡
                  
                    (
                    0
                    )
                  
                
              
              -
              
                
                  
                    R
                    BT
                  
                  ⁡
                  
                    (
                    0
                    )
                  
                
                ⁢
                
                  
                    R
                    FT
                  
                  ⁡
                  
                    (
                    0
                    )
                  
                
              
            
            
              
                
                  
                    R
                    BB
                  
                  ⁡
                  
                    (
                    0
                    )
                  
                
                ⁢
                
                  
                    R
                    TT
                  
                  ⁡
                  
                    (
                    0
                    )
                  
                
              
              -
              
                
                  
                    R
                    BT
                  
                  ⁡
                  
                    (
                    0
                    )
                  
                
                2
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            α
            
              2
              ⁢
              opt
            
          
          =
          
            
              
                
                  
                    R
                    FT
                  
                  ⁡
                  
                    (
                    0
                    )
                  
                
                ⁢
                
                  
                    R
                    BB
                  
                  ⁡
                  
                    (
                    0
                    )
                  
                
              
              -
              
                
                  
                    R
                    BT
                  
                  ⁡
                  
                    (
                    0
                    )
                  
                
                ⁢
                
                  
                    R
                    FB
                  
                  ⁡
                  
                    (
                    0
                    )
                  
                
              
            
            
              
                
                  
                    R
                    
                      BB
                      ⁢
                      
                        
                      
                    
                  
                  ⁡
                  
                    (
                    0
                    )
                  
                
                ⁢
                
                  
                    R
                    TT
                  
                  ⁡
                  
                    (
                    0
                    )
                  
                
              
              -
              
                
                  
                    R
                    BT
                  
                  ⁡
                  
                    (
                    0
                    )
                  
                
                2
              
            
          
        
      
    
    
      
        (
        70
        )
      
    
  




To simplify the computation of R, the base pattern is written in terms of spherical harmonics. The spherical harmonics possess the desirable property that they are mutually orthonormal, where:




  
    
      
        
          
            c
            FF
          
          =
          
            
              
                1
                3
              
              ⁢
              
                
                  Y
                  0
                
                ⁡
                
                  (
                  
                    θ
                    ,
                    φ
                  
                  )
                
              
            
            +
            
              
                1
                
                  2
                  ⁢
                  
                    3
                  
                
              
              ⁢
              
                
                  Y
                  1
                
                ⁡
                
                  (
                  
                    θ
                    ,
                    φ
                  
                  )
                
              
            
            +
            
              
                1
                
                  6
                  ⁢
                  
                    5
                  
                
              
              ⁢
              
                
                  Y
                  2
                
                ⁡
                
                  (
                  
                    θ
                    ,
                    φ
                  
                  )
                
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            c
            BB
          
          =
          
            
              
                1
                3
              
              ⁢
              
                
                  Y
                  0
                
                ⁡
                
                  (
                  
                    θ
                    ,
                    φ
                  
                  )
                
              
            
            -
            
              
                1
                
                  2
                  ⁢
                  
                    3
                  
                
              
              ⁢
              
                
                  Y
                  ⁡
                  
                    (
                    
                      θ
                      ,
                      φ
                    
                    )
                  
                
                1
              
            
            +
            
              
                1
                
                  6
                  ⁢
                  
                    5
                  
                
              
              ⁢
              
                
                  Y
                  2
                
                ⁡
                
                  (
                  
                    θ
                    ,
                    φ
                  
                  )
                
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            c
            TT
          
          =
          
            
              
                1
                3
              
              ⁢
              
                
                  Y
                  0
                
                ⁡
                
                  (
                  
                    θ
                    ,
                    φ
                  
                  )
                
              
            
            -
            
              
                1
                
                  3
                  ⁢
                  
                    5
                  
                
              
              ⁢
              
                
                  Y
                  2
                
                ⁡
                
                  (
                  
                    θ
                    ,
                    φ
                  
                  )
                
              
            
          
        
      
    
    
      
        (
        71
        )
      
    
  




where Y0(θ,φ), Y1(θ,φ), and Y2(θ,φ) are the standard spherical harmonics where the spherical harmonics Ynm(θ,φ) are of degree m and order n. The degree of the spherical harmonics in Equation (71) is 0.

Based on these expressions, the values for the auto- and cross-correlations are:




  
    
      
        
          
            R
            BB
          
          =
          
            
              1
              +
              
                3
                4
              
              +
              
                1
                20
              
            
            =
            
              18
              10
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            
              R
              TT
            
            =
            
              12
              10
            
          
          ,
          
            
              R
              FB
            
            =
            
              12
              10
            
          
          ,
          
            
              R
              FT
            
            =
            
              12
              10
            
          
          ,
          
            
              R
              BT
            
            =
            
              12
              10
            
          
        
      
    
    
      
        (
        72
        )
      
    
  




The patterns were normalized by 1⁄3 before computing the correlation functions. Substituting the results into Equation (65) yield the optimal values for α1,2:





  
    
      
        
          
            α
            
              1
              ⁢
              opt
            
          
          =
          
            -
            
              1
              3
            
          
        
        ,
        
          
            α
            
              2
              ⁢
              opt
            
          
          =
          1
        
      
    
    
      
        (
        73
        )
      
    
  




It can be verified that these settings for α result in the second hypercardioid pattern which is known to maximize the directivity index (DI).
In FIG. 20, microphones m1, m2, and m3 are positioned in a one-dimensional (i.e., linear) array, and cardioid signals CF1, CB1, CF2, and CB2 are first-order cardioid signals. Note that the output of difference node 2002 is a first-order audio signal analogous to signal y(n) of FIG. 6, where the first and second microphone signals of FIG. 20 correspond to the two microphone signals of FIG. 6. Note further that the output of difference node 2004 is also a first-order audio signal analogous to signal y(n) of FIG. 6, as generated based on the second and third microphone signals of FIG. 20, rather than on the first and second microphone signals.
Moreover, the outputs of difference nodes 2006 and 2008 may be said to be second-order cardioid signals, while output signal y of FIG. 20 is a second-order audio signal corresponding to a second-order beampattern. For certain values of adaptation factors β1 and β2 (e.g., both negative), the second-order beampattern of FIG. 20 will have no nulls.
Although FIG. 20 shows the same adaptation factor β1 applied to both the first backward cardioid signal CB1 and the second backward cardioid signal CB2, in theory, two different adaptation factors could be applied to those signals. Similarly, although FIG. 20 shows the same delay value T1 being applied by all five delay elements, in theory, up to five different delay values could be applied by those delay elements.
LMS α for the Second-Order Array
The LMS or Stochastic Gradient algorithm is a commonly used adaptive algorithm due to its simplicity and ease of implementation. The LMS algorithm is developed in this section for the second-order adaptive differential array. To begin, recall:

y(t)=cFF(t)−α1cBB(t)−α2cTT(t)  (74)

The steepest descent algorithm finds a minimum of the error surface E[y2(t)] by stepping in the direction opposite to the gradient of the surface with respect to the weight parameters α1 and α2. The steepest descent update equation can be written as:




  
    
      
        
          
            α
            i
          
          ⁡
          
            (
            
              t
              +
              1
            
            )
          
        
        =
        
          
            
              a
              i
            
            ⁡
            
              (
              t
              )
            
          
          -
          
            
              
                μ
                i
              
              2
            
            ⁢
            
              
                ∂
                
                  E
                  ⁡
                  
                    [
                    
                      
                        y
                        2
                      
                      ⁡
                      
                        (
                        t
                        )
                      
                    
                    ]
                  
                
              
              
                ∂
                
                  
                    α
                    i
                  
                  ⁡
                  
                    (
                    t
                    )
                  
                
              
            
          
        
      
    
    
      
        (
        75
        )
      
    
  




where μi is the update step-size and the differential gives the gradient component of the error surface E[y2(t)] in the αi direction (the divisor of 2 has been inserted to simplify some of the following expressions). The quantity that is desired to be minimized is the mean of y2(t) but the LMS algorithm uses an instantaneous estimate of the gradient, i.e., the expectation operation in Equation (75) is not applied and the instantaneous estimate is used instead. Performing the differentiation for the second-order case yields:





  
    
      
        
          
            
              d
              
                
                  y
                  2
                
                ⁡
                
                  (
                  t
                  )
                
              
            
            
              d
              
                α
                1
              
            
          
          =
          
            
              [
              
                
                  2
                  ⁢
                  
                    α
                    1
                  
                  ⁢
                  
                    
                      c
                      BB
                    
                    ⁡
                    
                      (
                      t
                      )
                    
                  
                
                -
                
                  2
                  ⁢
                  
                    
                      c
                      FF
                    
                    ⁡
                    
                      (
                      t
                      )
                    
                  
                
                +
                
                  2
                  ⁢
                  
                    α
                    2
                  
                  ⁢
                  
                    
                      c
                      TT
                    
                    ⁡
                    
                      (
                      t
                      )
                    
                  
                
              
              ]
            
            ⁢
            
              
                c
                BB
              
              ⁡
              
                (
                t
                )
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            
              d
              
                
                  y
                  2
                
                ⁡
                
                  (
                  t
                  )
                
              
            
            
              d
              
                α
                2
              
            
          
          =
          
            
              [
              
                
                  2
                  ⁢
                  
                    α
                    2
                  
                  ⁢
                  
                    
                      c
                      TT
                    
                    ⁡
                    
                      (
                      t
                      )
                    
                  
                
                -
                
                  2
                  ⁢
                  
                    
                      c
                      FF
                    
                    ⁡
                    
                      (
                      t
                      )
                    
                  
                
                +
                
                  2
                  ⁢
                  
                    α
                    1
                  
                  ⁢
                  
                    
                      c
                      BB
                    
                    ⁡
                    
                      (
                      t
                      )
                    
                  
                
              
              ]
            
            ⁢
            
              
                
                  c
                  TT
                
                ⁡
                
                  (
                  t
                  )
                
              
              .
            
          
        
      
    
    
      
        (
        75
        )
      
    
  




Thus the LMS update equation is:

α1t+1=ait+μ1[α2cBB(t)−cFF(t)+α2cTT(t)]cBB(t)

α2t+1=ait+μ2[α2cTT(t)−cFF(t)+α1cBB(t)]cTT(t)  (76)

Typically, the LMS algorithm is slightly modified by normalizing the update size so that explicit convergence bounds for μi can be stated that are independent of the input power. The LMS version with a normalized μi (NLMS) is therefore:




  
    
      
        
          
            α
            
              
                1
                ⁢
                t
              
              +
              1
            
          
          =
          
            
              α
              
                1
                ⁢
                t
              
            
            +
            
              
                μ
                1
              
              ⁢
              
                
                  
                    [
                    
                      
                        
                          α
                          1
                        
                        ⁢
                        
                          
                            c
                            BB
                          
                          ⁡
                          
                            (
                            t
                            )
                          
                        
                      
                      -
                      
                        
                          c
                          FF
                        
                        ⁡
                        
                          (
                          t
                          )
                        
                      
                      +
                      
                        
                          α
                          2
                        
                        ⁢
                        
                          
                            c
                            TT
                          
                          ⁡
                          
                            (
                            t
                            )
                          
                        
                      
                    
                    ]
                  
                  ⁢
                  
                    
                      c
                      BB
                    
                    ⁡
                    
                      (
                      t
                      )
                    
                  
                
                
                  〈
                  
                    [
                    
                      
                        
                          
                            c
                            BB
                          
                          ⁡
                          
                            (
                            t
                            )
                          
                        
                        2
                      
                      +
                      
                        
                          
                            c
                            TT
                          
                          ⁡
                          
                            (
                            t
                            )
                          
                        
                        2
                      
                    
                    ]
                  
                  〉
                
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            α
            
              
                2
                ⁢
                t
              
              +
              1
            
          
          =
          
            
              α
              
                2
                ⁢
                t
              
            
            +
            
              
                μ
                2
              
              ⁢
              
                
                  
                    [
                    
                      
                        
                          α
                          2
                        
                        ⁢
                        
                          
                            c
                            TT
                          
                          ⁡
                          
                            (
                            t
                            )
                          
                        
                      
                      -
                      
                        
                          c
                          FF
                        
                        ⁡
                        
                          (
                          t
                          )
                        
                      
                      +
                      
                        
                          α
                          1
                        
                        ⁢
                        
                          
                            c
                            BB
                          
                          ⁡
                          
                            (
                            t
                            )
                          
                        
                      
                    
                    ]
                  
                  ⁢
                  
                    
                      c
                      TT
                    
                    ⁡
                    
                      (
                      t
                      )
                    
                  
                
                
                  〈
                  
                    [
                    
                      
                        
                          
                            c
                            BB
                          
                          ⁡
                          
                            (
                            t
                            )
                          
                        
                        2
                      
                      +
                      
                        
                          
                            c
                            TT
                          
                          ⁡
                          
                            (
                            t
                            )
                          
                        
                        2
                      
                    
                    ]
                  
                  〉
                
              
            
          
        
      
    
    
      
        (
        77
        )
      
    
  




where the brackets indicate a time average.

A more compact derivation for the update equations can be obtained by defining the following definitions:




  
    
      
        
          c
          =
          
            [
            
              
                
                  
                    
                      c
                      BB
                    
                    ⁡
                    
                      (
                      t
                      )
                    
                  
                
              
              
                
                  
                    
                      c
                      TT
                    
                    ⁡
                    
                      (
                      t
                      )
                    
                  
                
              
            
            ]
          
        
        ⁢
        
          

        
        ⁢
        and
      
    
    
      
        (
        78
        )
      
    
  
  
    
      
        α
        =
        
          [
          
            
              
                
                  
                    α
                    1
                  
                  ⁡
                  
                    (
                    t
                    )
                  
                
              
            
            
              
                
                  
                    α
                    2
                  
                  ⁡
                  
                    (
                    t
                    )
                  
                
              
            
          
          ]
        
      
    
    
      
        (
        79
        )
      
    
  




With these definitions, the output error an be written as (dropping the explicit time dependence):

e=cFF−αTc  (80)

The normalized update equation is then:





  
    
      
        
          α
          
            t
            +
            1
          
        
        =
        
          
            α
            t
          
          +
          
            
              μ
              ⁢
              
                
              
              ⁢
              c
              ⁢
              
                
              
              ⁢
              e
            
            
              
                
                  c
                  T
                
                ⁢
                c
              
              +
              δ
            
          
        
      
    
    
      
        (
        81
        )
      
    
  




where μ is the LMS step size, and δ is a regularization constant to avoid the potential singularity in the division and controls adaptation when the input power in the second-order back-facing cardioid and toroid are very small.

Since the look direction is known, the adaptation of the array is constrained such that the two independent nulls do not fall in spatial directions that would result in an attenuation of the desired direction relative to all other directions. In practice, this is accomplished by constraining the values for α1,2. An intuitive constraint would be to limit the coefficients so that the resulting zeros cannot be in the front half plane. This constraint is can be applied on β1,2; however, it turns out that it is more involved in strictly applying this constraint on α1,2. Another possible constraint would be to limit the coefficients so that the sensitivity to any direction cannot exceed the sensitivity for the look direction. This constraint results in the following limits:

−1≦α1,2≦1

FIG. 22 schematically shows how to combine the second-order adaptive microphone along with a multichannel spatial noise suppression (SNS) algorithm. This is an extension of the first-order adaptive beamformer as described earlier. By following this canonic representation of higher-order differential arrays into cascaded first-order sections, this combined constrained adaptive beamformer and spatial noise suppression architecture can be extended to orders higher than two.
CONCLUSION
The audio systems of FIGS. 15-18 combine a constrained adaptive first-order differential microphone array with dual-channel wind-noise suppression and spatial noise suppression. The flexible result allows a two-element microphone array to attain directionality as a function of frequency, when wind is absent to minimize undesired acoustic background noise and then to gradually modify the array's operation as wind noise increases. Adding information of the adaptive beamformer coefficient β to the input of the parametric dual-channel suppression operation can improve the detection of wind noise and electronic noise in the microphone output. This additional information can be used to modify the noise suppression function to effect a smooth transition from directional to omnidirectional and then to increase suppression as the noise power increases. In the audio system of FIG. 18, the adaptive beamformer operates in the subband domain of the suppression function, thereby advantageously allowing the beampattern to vary over frequency. The ability of the adaptive microphone to automatically operate to minimize sources of undesired spatial, electronic, and wind noise as a function of frequency should be highly desirable in hand-held mobile communication devices.
Although the present invention has been described in the context of an audio system having two omnidirectional microphones, where the microphone signals from those two omni microphones are used to generate forward and backward cardioids signals, the present invention is not so limited. In an alternative embodiment, the two microphones are cardioid microphones oriented such that one cardioid microphone generates the forward cardioid signal, while the other cardioid microphone generates the backward cardioid signal. In other embodiments, forward and backward cardioid signals can be generated from other types of microphones, such as any two general cardioid microphone elements, where the maximum reception of the two elements are aimed in opposite directions. With such an arrangement, the general cardioid signals can be combined by scalar additions to form two back-to-back cardioid microphone signals.
Although the present invention has been described in the context of an audio system in which the adaptation factor is applied to the backward cardioid signal, as in FIG. 6, the present invention can also be implemented in the context of audio systems in which an adaptation factor is applied to the forward cardioid signal, either instead of or in addition to an adaptation factor being applied to the backward cardioid signal.
Although the present invention has been described in the context of an audio system in which the adaptation factor is limited to values between −1 and +1, inclusive, the present invention can, in theory, also be implemented in the context of audio systems in which the value of the adaptation factor is allowed to be less than −1 and/or allowed to be greater than +1.
Although the present invention has been described in the context of systems having two microphones, the present invention can also be implemented using more than two microphones. Note that, in general, the microphones may be arranged in any suitable one-, two-, or even three-dimensional configuration. For instance, the processing could be done with multiple pairs of microphones that are closely spaced and the overall weighting could be a weighted and summed version of the pair-weights as computed in Equation (48). In addition, the multiple coherence function (reference: Bendat and Piersol, “Engineering applications of correlation and spectral analysis”, Wiley Interscience, 1993) could be used to determine the amount of suppression for more than two inputs. The use of the difference-to-sum power ratio can also be extended to higher-order differences. Such a scheme would involve computing higher-order differences between multiple microphone signals and comparing them to lower-order differences and zero-order differences (sums). In general, the maximum order is one less than the total number of microphones, where the microphones are preferably relatively closely spaced.
As used in the claims, the term “power” in intended to cover conventional power metrics as well as other measures of signal level, such as, but not limited to, amplitude and average magnitude. Since power estimation involves some form of time or ensemble averaging, it is clear that one could use different time constants and averaging techniques to smooth the power estimate such as asymmetric fast-attack, slow-decay types of estimators. Aside from averaging the power in various ways, one can also average the ratio of difference and sum signal powers by various time-smoothing techniques to form a smoothed estimate of the ratio.
As used in the claims, the term first-order “cardioid” refers generally to any directional pattern that can be represented as a sum of omnidirectional and dipole components as described in Equation (3). Higher-order cardioids can likewise be represented as multiplicative beamformers as described in Equation (56). The term “forward cardioid signal” corresponds to a beampattern having its main lobe facing forward with a null at least 90 degrees away, while the term “backward cardioid signal” corresponds to a beampattern having its main lobe facing backward with a null at least 90 degrees away.
In a system having more than two microphones, audio signals from a subset of the microphones (e.g., the two microphones having greatest power) could be selected for filtering to compensate for wind noise. This would allow the system to continue to operate even in the event of a complete failure of one (or possibly more) of the microphones.
The present invention can be implemented for a wide variety of applications having noise in audio signals, including, but certainly not limited to, consumer devices such as laptop computers, hearing aids, cell phones, and consumer recording devices such as camcorders. Notwithstanding their relatively small size, individual hearing aids can now be manufactured with two or more sensors and sufficient digital processing power to significantly reduce diffuse spatial noise using the present invention.
Although the present invention has been described in the context of air applications, the present invention can also be applied in other applications, such as underwater applications. The invention can also be useful for removing bending wave vibrations in structures below the coincidence frequency where the propagating wave speed becomes less than the speed of sound in the surrounding air or fluid.
Although the calibration processing of the present invention has been described in the context of audio systems, those skilled in the art will understand that this calibration estimation and correction can be applied to other audio systems in which it is required or even just desirable to use two or more microphones that are matched in amplitude and/or phase.
The present invention may be implemented as analog or digital circuit-based processes, including possible implementation on a single integrated circuit. As would be apparent to one skilled in the art, various functions of circuit elements may also be implemented as processing steps in a software program. Such software may be employed in, for example, a digital signal processor, micro-controller, or general-purpose computer.
The present invention can be embodied in the form of methods and apparatuses for practicing those methods. The present invention can also be embodied in the form of program code embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention. The present invention can also be embodied in the form of program code, for example, whether stored in a storage medium, loaded into and/or executed by a machine, or transmitted over some transmission medium or carrier, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention. When implemented on a general-purpose processor, the program code segments combine with the processor to provide a unique device that operates analogously to specific logic circuits.
Unless explicitly stated otherwise, each numerical value and range should be interpreted as being approximate as if the word “about” or “approximately” preceded the value of the value or range.
Reference herein to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments necessarily mutually exclusive of other embodiments. The same applies to the term “implementation.”
The use of figure numbers and/or figure reference labels in the claims is intended to identify one or more possible embodiments of the claimed subject matter in order to facilitate the interpretation of the claims. Such use is not to be construed as necessarily limiting the scope of those claims to the embodiments shown in the corresponding figures.
It will be further understood that various changes in the details, materials, and arrangements of the parts which have been described and illustrated in order to explain the nature of this invention may be made by those skilled in the art without departing from the principle and scope of the invention as expressed in the following claims. Although the steps in the following method claims, if any, are recited in a particular sequence with corresponding labeling, unless the claim recitations otherwise imply a particular sequence for implementing some or all of those steps, those steps are not necessarily intended to be limited to being implemented in that particular sequence.

## Claims

1. A method for processing audio signals, comprising:
(a) generating first and second cardioid signals from first and second microphone signals;
(b) determining whether any of wind noise, thermal noise, and circuit noise are present in the first and second microphone signals;
(c) generating a first adaptation factor, wherein:
the first adaptation factor is constrained to a first range of values if the determination of step (b) is that wind noise, thermal noise, and circuit noise are not present in the first and second microphone signals; and
the first adaptation factor is constrained to a second range of values, different from the first range of values, if the determination of step (b) is that at least one of wind noise, thermal noise, and circuit noise is present in the first and second microphone signals;
(d) applying the first adaptation factor to adjust amplitude of the second cardioid signal to generate an adapted second cardioid signal; and
(e) combining the first cardioid signal and the adapted second cardioid signal to generate a first output audio signal, wherein, when the first adaptation factor is constrained to the second range of values, the first output audio signal corresponds to a first beampattern having no nulls.

2. The method of claim 1, wherein:
the first cardioid signal is a forward cardioid signal;
the second cardioid signal is a backward cardioid signal;
the adapted second cardioid signal is subtracted from the forward cardioid signal to generate the first output audio signal; and
the first beampattern has no nulls for negative values of the first adaptation factor.

3. The method of claim 1, wherein the first adaptation factor is generated based on the second cardioid signal and the first output audio signal.

4. The method of claim 3, further comprising the steps of:
determining whether a nearfield source is present by comparing output levels from the first and second cardioid signals; and
decreasing an update step size used in generating adjustments for the first adaptation factor to reduce adaptation speed for generating the first output audio signal, if the nearfield source is determined to be present.

5. The method of claim 1, wherein:
steps (b), (c), (d), and (e) are implemented in a subband domain such that the first adaptation factor for a first subband is constrained to the first range of values while the first adaptation factor for a second subband is concurrently constrained to the second range of values.

6. The method of claim 1, further comprising:
(f) applying noise suppression processing to the first output audio signal generate a noise suppressed output audio signal, wherein the noise suppression processing is controlled based on the first adaptation factor and step (f) comprises:
(1) generating a difference signal power based on the first and second microphone signals;
(2) generating a sum signal power based on first and second microphone signals;
(3) generating a power ratio based on the difference signal power and the sum signal power;
(4) generating a suppression value based on the power ratio; and
(5) applying the noise suppression processing to the first output audio signal based on the suppression value to generate the noise suppressed output audio signal.

7. The method of claim 6, wherein:
the suppression processing is based on both the power ratio and the first adaptation factor; and
step (c) comprises generating the first adaptation factor based on the power ratio.

8. The method of claim 7, wherein:
step (f) is implemented in a subband domain to generate a suppression level for each subband; and
steps (b), (c), (d), and (e) are implemented in the subband domain such that the first adaptation factor for a first subband is constrained to the first range of values while the first adaptation factor for a second subband is concurrently constrained to the second range of values.

9. The method of claim 1, wherein step (a) comprises filtering at least one of the first and second microphone signals based on a first weight factor prior to generating the first and second cardioid signals.

10. The method of claim 9, wherein the first weight factor is generated by:
(1) selecting one microphone signal as a reference signal and another microphone signal as a calibrated signal;
(2) determining an envelope level for each of the first and second microphone signals;
(3) applying a calibration weight factor to the envelope level of the calibrated signal to generate an adjusted calibration signal envelope level;
(4) updating the calibration weight factor to decrease a difference between the envelope level of the reference signal and the adjusted calibration signal envelope level; and
(5) applying the updated calibration weight factor to a first low pass filter to generate the first weight factor for the filtering of step (a).

11. The method of claim 10, further comprising:
(6) determining whether a nearfield source is present, wherein updating of the first weight factor based on the updated calibration weight factor is suspended if any of the wind noise, the thermal noise, and the circuit noise are determined to be present or if the nearfield source is determined to be present.

12. The method of claim 1, wherein:
the first output audio signal is a first order signal; and
further comprising:
(f) generating third and fourth cardioid signals from one of the first and second microphone signals and a third microphone signal;
(g) generating a second adaptation factor;
(h) applying the second adaptation factor to the fourth cardioid signal to generate an adapted fourth cardioid signal;
(i) combining the third cardioid signal and the adapted fourth cardioid signal to generate a second, first order output audio signal corresponding to a second beampattern having no nulls for at least one value of the second adaptation factor; and
(j) combining the first output audio signal and the second output audio signal to form a second order output audio signal corresponding to a third beampattern having no nulls for at least one value of the first adaptation factor and at least one value of the second adaptation factor.

13. The method of claim 12, wherein step (j) comprises:
(1) generating first and second second order cardioid signals from the first and second first order output audio signals;
(2) generating a third adaptation factor;
(3) applying the third adaptation factor to the first second order cardioid signal to generate an adapted first second order cardioid signal;
(4) combining the second second order cardioid signal and the adapted first second order cardioid signal to generate the second order output audio signal.

14. The method of claim 1, wherein:
if the wind noise, the thermal noise, and the circuit noise are determined not to be present, then the first adaptation factor is set equal to a specified value in the first range of values; and
if any of the wind noise, the thermal noise, and the circuit noise are determined to be present, then the first adaptation factor is adaptively generated based on the second cardioid signal and the first output audio signal to be in the second range of values.

15. The method of claim 1, wherein:
the first and second microphone signals are generated by two omnidirectional microphones;
each cardioid signal is generated by subtracting a delayed version of one microphone signal from another microphone signal; and
each delayed version is generated by delaying the one microphone signal based on a propagation time between the two omnidirectional microphones for sounds impinging along an axis defined by the two omnidirectional microphones.

16. The method of claim 1, wherein:
the first range of values consists of only non-negative values; and
the second range of values consists of only non-positive values.

17. The method of claim 16, wherein:
the first range of values is between 0 and +1; and
the second range of values is between −1 and 0.

18. An audio system for processing audio signals, comprising:
(a) means for generating first and second cardioid signals from first and second microphone signals;
(b) means for determining whether any of wind noise, thermal noise, and circuit noise are present in the first and second microphone signals;
(c) an adaptation block adapted to generate a first adaptation factor, wherein:
the first adaptation factor is constrained to a first range of values if the determination of means (b) is that wind noise, thermal noise, and circuit noise are not present in the first and second microphone signals; and
the first adaptation factor is constrained to a second range of values, different from the first range of values, if the determination of means (b) is that at least one of wind noise, thermal noise, and circuit noise is present in the first and second microphone signals;
(d) a multiplication node adapted to apply the first adaptation factor to adjust amplitude of the second cardioid signal to generate an adapted second cardioid signal; and
(e) a combiner adapted to combine the first cardioid signal and the adapted second cardioid signal to generate a first output audio signal, wherein, when the first adaptation factor is constrained to the second range of values, the first output audio signal corresponds to a first beampattern having no nulls.

19. The audio system of claim 18, wherein:
the first and second microphone signals are generated by two omnidirectional microphones;
each cardioid signal is generated by subtracting a delayed version of one microphone signal from another microphone signal; and
each delayed version is generated by delaying the one microphone signal based on a propagation time between the two omnidirectional microphones for sounds impinging along an axis defined by the two omnidirectional microphones.

20. The audio system of claim 18, wherein:
the first range of values consists of only non-negative values; and
the second range of values consists of only non-positive values.

21. The audio system of claim 20, wherein:
the first range of values is between 0 and +1; and
the second range of values is between −1 and 0.