Abstract:
An active noise cancellation controller for performing noise attenuation in a system over a predetermined frequency range, the active noise cancellation controller comprising: a first input for receiving a reference signal indicative of a noise level; a second input for receiving an error signal indicative of a remnant noise level; an output for providing a noise cancellation signal to a system in which noise attenuation is to be performed; a fixed feedback controller having a fixed infinite impulse response filter arranged for operation on an error signal received at the second input; a fixed feedforward controller having a fixed infinite impulse response filter arranged for operation on a reference signal received at the first input; and an adaptive feedforward controller having a digital adaptive finite impulse response filter arranged for operation on a reference signal received at the first input and on an error signal received at the second input, the coefficients of the digital adaptive filter being determined by: in the frequency domain, independently generating a set of initial coefficients for each of a plurality of subbands into which the predetermined frequency range is divided, said sets of initial coefficients being generated in accordance with a predetermined adaptive algorithm; and transforming said sets of initial coefficients into the time domain for use as the said coefficients of the digital adaptive filter; wherein the fixed feedback controller, fixed feedforward controller and adaptive feedforward controller are arranged to, in use, provide a noise cancellation signal at the output in dependence on a reference signal received at the first input and an error signal received at the second input.

Description:
FIELD OF THE DISCLOSURE 
       [0001]    This disclosure relates to a hybrid active noise cancellation controller for implementation at an integrated circuit. 
       BACKGROUND 
       [0002]    Active noise cancellation (ANC) technology has been developing for many years and a range of headphones incorporating ANC technology (also known as ambient noise reduction and acoustic noise cancelling headphones) are now available on the market. ANC headphones are however often larger, heavier and require a dedicated power source in comparison to equivalent headphones that do not provide ANC functionality. Such characteristics are generally viewed negatively by consumers who generally want headphones to be small, light and the power source to last as long as possible. There is therefore a general desire to continue to reduce the size, weight and power requirements of ANC headphones whilst maintaining noise cancellation performance. 
         [0003]    There has also been a growth in recent years in the use of wireless headphones, such as Bluetooth headphones that support an A2DP profile. Wireless headphones require circuitry to support the wireless reception of audio data and a battery to power that circuitry. Wireless headphones are therefore also generally bulkier and heavier than equivalent wired headphones and require regular recharging. 
         [0004]    It would be desirable to offer ANC functionality in wireless headphones but using conventional technologies this would require adding additional circuitry providing the ANC functionality to wireless headphones, further increasing their size, weight and power requirements. There is therefore a need for a low-power ANC solution that can be readily incorporated in wireless headphones without significantly increasing the size and weight of the headphones. 
         [0005]    In particular, there is a desire to incorporate ANC functionality into the wireless communication controller present in wireless headphones. And given the recent growth in the sales of Bluetooth headphones, there is a particular desire to incorporate ANC functionality into a Bluetooth controller. However, communication controllers generally do not have the characteristics suitable for implementing conventional ANC controller—typically there will be excessive delays on the digital path and low computational processing power. There is therefore a need for an ANC controller that can be implemented with low computational complexity and can operate at a processor or communications controller having significant delays on its digital path. 
         [0006]    The central idea of ambient noise reduction headphones is illustrated in  FIG. 1 , in which a microphone  101  is used to capture ambient noise Ni(t) inside of the ear cup  100  that is present as a result of noise Ne(t) in the environment of the headphones. An anti-noise signal is produced by a loudspeaker  102  that has the same amplitude but opposite phase to the captured ambient noise so as to cancel out the ambient noise Ni(t) in the ear cup. e(t) is the signal captured by microphone, −c(t) is the ANC controller, and u(t) is the noise cancellation signal provided by the controller to the speaker. 
         [0007]    Active noise cancellation can be equated to the disturbance rejection problem from control system theory, which is shown in  FIG. 2  and described in “Automatic Control Systems”, 7 th  Ed. by B. C. Kuo and F. Golnaraghi, Prentice Hall, N.J., 1995. Comparing  FIG. 2  with the headphones illustration in  FIG. 1 , the error signal e(t) is the signal captured by microphone  101 , the controller −C(s) maps onto controller −c(t) of the noise reduction headphones (the minus signal indicates a negative feedback system), the plant P(s) is the transfer function from the input of the loudspeaker to the output of the microphone  101 , and the disturbance d(t) in  FIG. 2  is the ambient noise inside of the ear cup, Ni(t) in  FIG. 1 . 
         [0008]    Observe that the error signal output e(t) of the control system in  FIG. 2  will, in the absence of the control, be equal to d(t) or Ni(t)—i.e. no noise attenuation is achieved. The transfer function (or sensitivity function) from the disturbance signal to the error signal can be obtained, 
         [0000]    
       
         
           
             
               
                 E 
                  
                 
                   ( 
                   s 
                   ) 
                 
               
               
                 D 
                  
                 
                   ( 
                   s 
                   ) 
                 
               
             
             = 
             
               
                 1 
                 
                   1 
                   + 
                   
                     
                       P 
                        
                       
                         ( 
                         s 
                         ) 
                       
                     
                     · 
                     
                       C 
                        
                       
                         ( 
                         s 
                         ) 
                       
                     
                   
                 
               
               = 
               
                 S 
                  
                 
                   ( 
                   s 
                   ) 
                 
               
             
           
         
       
     
         [0009]    Since the objective of this control system is good rejection of the disturbances, S(s) should be small, 
         [0000]      |1+P(s).C(s)|           1
 
         [0010]    An appropriate controller function C(s) can therefore be designed by measuring plant P(s) (it is the transfer function from the input of the loudspeaker  102  to the output of the microphone  101 ). This kind of controller is known as a feedback (FB) controller and its analog version, which can be designed using control theory, is suitable for use in the ANC controllers of headphones. 
         [0011]    Broadly, there are two different arrangements used in commercial ambient noise reduction headphones: the feedback (FB) arrangement that uses a microphone  302  inside of the ear cup  301  as shown in  FIG. 3A , and the feedforward (FF) arrangement that uses a microphone  303  outside of the ear cup  304  as shown in  FIG. 3B . Generally, headphones with large ear cups use an FB arrangement and ear bud style headphones use the more compact FF arrangement (which does not require a microphone between the headphone speaker and the user&#39;s ear). 
         [0012]    ANC controllers for either arrangement can be analog or digital, and fixed or adaptive. Historically, most commercial ambient noise reduction headphones have used analog, fixed controllers because digital controllers that offer sufficiently low delay characteristics to be useful as a digital ANC controller have been expensive and power hungry. For example, U.S. Pat. No. 4,455,675, describes a fixed analog feedback controller for ANC headphones. 
         [0013]    More recently, digital controllers have become prevalent, such as the fixed digital controller described in US Patent Application No. 2008/0310645 that can switch among three modes (feedback, feedforward and a hybrid feedback-feedforward mode) in dependence on the environmental noise characteristics. Sony Corporation have also released a pair of noise cancelling headphones that use a feedback digital controller and microphone arrangement—model MDR-NC500D. 
         [0014]      14  Adaptive digital ANC controllers will now be considered that employ adaptive algorithms, such as least mean squares (LMS) or recursive least squares (RLS) algorithms. Most preferably the adaptive controller is configured to operate in accordance with an FXLMS (Filtered-Reference Least Mean Squares) algorithm, such as the algorithm described in “Signal Processing for Active Control” by S. Elliott, Academic Press, 2001, and in “Active Noise Control Systems, Algorithms and DSP Implementations” by S. M. Kuo and D. R. Morgan, John Wiley and Sons, 1996. 
         [0015]      FIG. 4  is a block diagram of a control system representing an adaptive feedback ANC controller that uses the FXLMS adaptive algorithm with an adaptive filter and is suitable for use in the feedback arrangement shown in  FIG. 3A . Signal Ni(k) represents the ambient noise inside the ear cup  301 , e(k) is the error signal generated by the internal microphone  302 , x(k) is the “generated” reference signal, and u(k) is the output of the adaptive filter −C(k). Typically adaptive filter −C(k) is an FIR (finite impulse response) filter whose coefficients are set in accordance with the FXLMS algorithm. P(z) represents the plant model transfer function from the input of the loudspeaker  303  to the output of the microphone  302 —this can be measured from a real-world system. 
         [0016]    Theoretical simulations of the controller can be performed once the plant transfer function P(z) of the real-world system being modeled has been measured (the plant transfer function being a mathematical representation of the convolved frequency responses of the loudspeaker and microphone, the acoustic path between loudspeaker and microphone and the characteristics of the electronics coupled to the microphone and loudspeaker). The convolution of plant P(z) with the loudspeaker input signal (u(k)) and the superposition of the convolution result with the ambient noise signal Ni(k) represents the response of the real-world system to the ambient noise signal that naturally occurs inside the ear cup of the headphones. Simulations of an ANC controller can be performed in numerical computing packages, such as MATLAB. 
         [0017]    The objective of the adaptive controller is to adjust the coefficients of adaptive filter −C(k) in order to minimize error signal e(k). Adaptive algorithm FXLMS is used to achieve this end. The behavior of the controller shown in  FIG. 4  can be described by the following set of equations. Firstly, we define e(k), 
         [0000]        e ( k )= n   i ( k )+ P   T ( k )· U ( k )
 
         [0000]    where P(k) and U(k) are column vectors with length M, 
         [0000]        P ( k )=[ p   1 ( k ) p   2 ( k ) . . .  p   M ( k )] T    
         [0000]        U ( k )=[ u   1 ( k ) u   2 ( k− 1) . . .  u   M ( k−M+ 1)] T    
         [0018]    Secondly, we define how the coefficients of the adaptive filter C(k) are updated so as to minimize the error e(k): 
         [0000]        C ( k+ 1)= C ( k )−μ. {circumflex over (X)} ( k ). e ( k )
 
         [0000]    where μ is the step size of the LMS algorithm and C(k) and {circumflex over (X)}(k) are column vectors given by: 
         [0000]        C ( k )=[ c   1 ( k ) c   2 ( k ) . . .  c   N ( k )] T    
         [0000]        {circumflex over (X)} ( k )=[ {circumflex over (x)} ( k ) {circumflex over (x)} ( k− 1) . . .  {circumflex over (x)} ( k−N+ 1)] T    
         [0000]    with N representing the number of coefficients of C(k).
 
u(k), x(k) and {circumflex over (x)}(k) are given by:
 
         [0000]        u ( k )= X   T ( k ). C ( k ) 
         [0000]        x ( k )= e ( k )+ {circumflex over (P)}   T ( k ). U ( k ) 
         [0000]        {circumflex over (x)} ( k )= {circumflex over (P)}   T ( k ). X ( k ) 
         [0000]    with X(k) a column vector given by: 
         [0000]        X ( k )=[ x ( k ) x ( k− 1) . . .  x ( k−N+ 1)] T    
         [0019]    Generally, to simplify the algorithm it is assumed that {circumflex over (P)}(z)=P(z). Algorithms other than FXLMS can be used, and several alternatives are described in the “Signal Processing for Active Control” and “Active Noise Control Systems, Algorithms and DSP Implementations” textbooks referenced above. 
         [0020]    A feedforward adaptive controller will now be considered, which is also described in the “Signal Processing for Active Control” and “Active Noise Control Systems, Algorithms and DSP Implementations” textbooks. As illustrated in  FIG. 5 , for a feedforward adaptive controller, two microphones  501 ,  502  are generally necessary for each ear cup  500  of the headphones: an internal microphone  502  and an external microphone  501 . 
         [0021]      FIG. 6  is a block diagram of a control system representing an adaptive feedforward controller suitable for implementation at the headphones of  FIG. 5 . The main difference compared to the feedback system is that the reference signal x(k) is now provided by signal Ne(k) from the external microphone  501 .  FIG. 6  identifies a transfer function  601  between the internal and external microphones H(z), with the goal of the adaptive algorithm being to find a controller given by, 
         [0000]        C ( z )=− H ( z )* P ( z ) −1  
 
         [0022]    The equations describing the feedforward adaptive controller can be obtained from the equations describing the feedback adaptive controller by realizing that x(k) is equal to the signal from the external microphone. The internal microphone  502  is not shown in  FIG. 6  because its presence is represented by e(k). 
         [0023]    Again, the plant model P(z) can be obtained by measurement of the headphone system, which, for a digital system, typically includes: a digital to analog converter (DAC); an analog to digital converter (ADC); a DAC reconstruction low-pass filter; an ADC anti-aliasing low-pass filter; loudspeaker and microphone amplifiers; the acoustic path between loudspeaker and microphone; and the microphone and loudspeaker impulse responses. 
         [0024]    A third variant of ANC controller is the hybrid feedforward-feedback controller. The combination of the feedforward and feedback type of controllers can achieve higher active noise attenuation than each controller type alone. Hybrid feedforward-feedback controllers are described in detail in “A New Two-Sensor Active Noise Cancellation Algorithm”, Proc. of the International Conference on Acoustic, Speed and Signal Processing, 1993; “Hybrid Feedforward-Feedback Active Control”, Proc. of the American Control Conference, Boston, 2004; and “Hybrid Active Noise Control System for Correlated and Uncorrelated Noise Sources”, Proc. of the 6 th  International Symposium on Image and Signal Processing and Analysis, 2009. 
         [0025]    A schematic diagram of headphones implementing a hybrid feedforward-feedback controller are shown in  FIG. 7 . The headphones comprise internal and external microphones  701  and  702 , respectively, within each headphone cup  700 . The arrangement of the feedback and feedforward filters with respect to the inputs from the microphones and the output to the loudspeaker is shown in the figure. 
         [0026]    An adaptive hybrid feedforward-feedback controller embodying the FXLMS adaptive algorithm is presented as a control system in  FIG. 8 . Both the feedback controller C_fb(k) and the feedforward controller C_ff(k) are adaptive filters whose coefficients are determined in accordance with the FXLMS algorithm. The aggregate controller arrangement can be seen to be a combination of the feedback controller shown in  FIG. 4  and the feedforward controller shown in  FIG. 6 . 
         [0027]    ANC controllers can be either analog or digital. For digital controllers, the delay on the digital path (which forms part of the plant model) is critical to the performance of the controller. Typically, the main contribution to the delay is from the digital signal processor (DSP). If the digital path presents a large delay, the controller will not be able to cancel a broadband signal but it can still cancel periodic signals, such as tones of fixed frequency. Such considerations led to the development of feedback hybrid analog-digital controllers, which use an analog fixed feedback controller and a digital adaptive feedback controller. Examples of this type of controller are set out in “Feedback control sound”, a PhD thesis by B. Rafael of University of Southampton, 1997, and in “A Robust Hybrid Feedback Active Noise Cancellation Headset” by Y. Song et al., IEEE Trans. On Speech and Audio Processing, Vol. 11, No. 4, July 2005. These controllers can handle both broadband input signals and periodic input signals, with an analog controller being used to attenuate the broadband signals (analog filters having a short delay can be readily constructed) and a digital controller being used to attenuate the periodic input signals. 
         [0028]      FIG. 9  shows a block diagram of the general structure of a typical feedback hybrid analog-digital controller. A microphone  101  and a loudspeaker  102  are configured at a pair of headphones as shown in  FIG. 1 . The signal from the microphone is amplified at pre-amp  903  to form error signal e(k), which is provided to both the analog signal path and analog controller  908 , and to the digital signal path. The digital signal path comprises an anti-aliasing low-pass filter  904 , an analog-to-digital controller (ADC)  907 , DSP digital controller  906 , digital-to-analog controller (DAC)  905  and reconstruction low-pass filter  901 . The signals from the digital and analog paths are combined at  909  and provided to a power-amp  902  that drives loudspeaker  102 . 
         [0029]    Various types of conventional ANC controller have been described above. However, none of these basic controller types provide an efficient, low-complexity solution that offers excellent ANC performance yet is suitable for incorporation at a low power processor or communication controller that may include a significant delay on the digital path. 
       SUMMARY 
       [0030]    According to a first aspect of the present disclosure there is provided an active noise cancellation controller for performing noise attenuation in a system over a predetermined frequency range, the active noise cancellation controller comprising: a first input for receiving a reference signal indicative of a noise level; a second input for receiving an error signal indicative of a remnant noise level; an output for providing a noise cancellation signal to a system in which noise attenuation is to be performed; a fixed feedback controller having a fixed infinite impulse response filter arranged for operation on an error signal received at the second input; a fixed feedforward controller having a fixed infinite impulse response filter arranged for operation on a reference signal received at the first input; and an adaptive feedforward controller having a digital adaptive finite impulse response filter arranged for operation on a reference signal received at the first input and on an error signal received at the second input, the coefficients of the digital adaptive filter being determined by: in the frequency domain, independently generating a set of initial coefficients for each of a plurality of subbands into which the predetermined frequency range is divided, said sets of initial coefficients being generated in accordance with a predetermined adaptive algorithm; and transforming said sets of initial coefficients into the time domain for use as the said coefficients of the digital adaptive filter; wherein the fixed feedback controller, fixed feedforward controller and adaptive feedforward controller are arranged to, in use, provide a noise cancellation signal at the output in dependence on a reference signal received at the first input and an error signal received at the second input. 
         [0031]    The adaptive feedforward controller preferably further comprises: a first Discrete Fourier Transform unit operable to form a frequency domain representation of a reference signal received at the first input; and a second Discrete Fourier Transform unit operable to form a frequency domain representation of an error signal received at the second input; wherein the predetermined adaptive algorithm is configured to generate the initial coefficients using frequency domain representations of error and reference signals so formed at the first and second Discrete Fourier Transform units. 
         [0032]    Preferably, the first and second Discrete Fourier Transform units are configured to, on forming a frequency domain representation, generate a set of parameters for each subband of the predetermined frequency range, the parameters of a subband being frequency domain representations of the error and reference signals in that subband. 
         [0033]    Preferably, the adaptive feedforward controller further comprises a third Discrete Fourier Transform unit operable to transform initial coefficients generated by the predetermined adaptive algorithm into the time domain for use as the said coefficients of the digital adaptive filter. 
         [0034]    Preferably, the third Discrete Fourier Transform unit is configured to use an inverse Fast Fourier Transform algorithm. 
         [0035]    Preferably, the adaptive feedforward controller further comprises a coefficient mapping unit configured to, for each subband: form an estimate of the magnitude of an error signal at the second input in the subband due to the fixed feedback and fixed feedforward controllers but not due to the adaptive feedforward controller; and if the estimate of the magnitude of the error signal at the second input in the subband is greater than the magnitude of an error signal at the second input due to the fixed feedback and fixed feedforward controllers and the adaptive feedforward controller: provide the set of initial coefficients of the subband to the third Discrete Fourier Transform unit for conversion into the time domain; and otherwise: set the initial coefficients of the subband to zero and provide the zeroed initial coefficients to the third Discrete Fourier Transform unit. 
         [0036]    Preferably, the adaptive feedforward controller is configured to, for each subband and from a reference signal received at the first input, form said estimate of the magnitude of an error signal at the second input in the subband due to the fixed feedback and fixed feedforward controllers in dependence on, firstly, a stored transfer function that relates a reference signal received at the first input to an error signal received at the second input and, secondly, a stored plant function that relates a combined output of the fixed feedback and fixed feedforward controllers to an error signal received at the second input, the transfer function and plant function being mathematical representations of a physical system in which the active noise cancellation controller is configured to perform noise attenuation. 
         [0037]    Preferably, the active noise cancellation controller further comprises first and second decimation units and an interpolation unit: the first decimation unit being arranged to operate on a reference signal received at the first input and the second decimation unit being arranged to operate on an error signal received at the second input, the decimation units being configured so as to reduce the effective sampling rate of the respective signals by a predetermined factor and provide the decimated signals to the first and second Discrete Fourier Transform units; and the interpolation unit being arranged to operate on the cancellation signal generated by the adaptive feedforward controller so as to increase the effective sampling rate of the cancellation signal by said predetermined factor. 
         [0038]    Suitably, the active noise cancellation controller is adapted for use at an audio device such that: the first input is configured to receive a reference signal from a first microphone, the reference signal being representative of the level of acoustic noise in the environment of the headphones or audio headset; the second input is configured to receive an error signal from a second microphone, the error signal being representative of the level of acoustic noise remaining at the second microphone as a result of the operation of the active noise cancellation controller; and the output of the active noise cancellation controller is configured to provide a noise cancellation signal to a loudspeaker so as to cause the loudspeaker to perform acoustic noise cancellation at the second microphone. 
         [0039]    Suitably, the audio device is a pair of headphones or an audio headset. Preferably, the first microphone is located on the exterior of the pair of headphones or audio headset and the second microphone is located substantially between the loudspeaker and an audio port adapted for engagement with a human ear and arranged to, in use, convey acoustic signals generated at the loudspeaker to a human ear so engaged. 
         [0040]    The predetermined adaptive algorithm could be a least mean squares (LMS) or recursive least squares (RLS) algorithm, and is preferably a Filtered-Reference Least Mean Squares algorithm. 
         [0041]    Preferably, the subbands cover collectively in frequency the predetermined frequency range. Preferably, the frequency range of each subband is significantly less than the predetermined frequency range. Preferably, the frequency range of each subband is at least one order of magnitude less than the predetermined frequency range, and is preferably 40 times less than the predetermined frequency range. Suitably, the predetermined frequency range is approximately 1000 Hz and the frequency range of each subband is approximately 25 Hz. Preferably, adjacent subbands do not overlap in frequency. 
         [0042]    Preferably, the fixed infinite impulse response filters of the fixed feedback controller and the fixed feedforward controller are digital filters. 
         [0043]    According to a second aspect of the present disclosure there is provided an integrated circuit comprising a wireless communications controller and an active noise cancellation controller as claimed in any preceding claim. Suitably, the wireless communications controller is a Bluetooth controller. 
         [0044]    According to a third aspect of the present disclosure there is provided a method for calculating filter coefficients for use in one or more digital fixed infinite impulse response filters of an active noise cancellation controller, each digital fixed infinite impulse response filter being a filter of a predetermined order, the method comprising the steps of: modeling the active noise cancellation controller as a control system in a numerical computing environment, each of the one or more digital fixed infinite impulse response filters of the active noise cancellation controller being replaced with a respective adaptive finite impulse response filter; providing a simulated noise signal to the model of the active noise cancellation controller, the simulated noise signal being representative of the environmental noise experienced by the active noise cancellation controller in use; operating the model of the active noise cancellation controller on the simulated noise signal so as to cause the filter coefficients of the one or more adaptive finite impulse response filters to each converge on a set of first optimum filter coefficients; and converting each set of first optimum filter coefficients into a set of filter coefficients for the respective fixed infinite impulse response filter in dependence on the predetermined order of the respective fixed infinite impulse response filter. 
         [0045]    Preferably, the method further comprises: prior to converting each set of first optimum filter coefficients into a set of filter coefficients for the respective fixed infinite impulse response filter, converting each set of first optimum filter coefficients into a set of filter coefficients for an adaptive infinite impulse response filter; replacing each of the one or more adaptive finite impulse response filters in the model of the active noise cancellation controller with a respective adaptive infinite impulse response filter; operating the model of the active noise cancellation controller on the simulated noise signal so as to cause the filter coefficients of the one or more adaptive infinite impulse response filters to each converge on a set of second optimum filter coefficients; and converting each set of second optimum filter coefficients into a set of filter coefficients for the respective fixed infinite impulse response filter in dependence on the predetermined order of the respective fixed infinite impulse response filter. 
         [0046]    Preferably, the simulated noise signal includes both broadband and periodic signals. Preferably, the adaptive finite impulse response filters and the adaptive infinite impulse response filters are configured to operate in accordance with one of the following adaptive algorithms: a Least Mean Squares algorithm and a Recursive Least Squares algorithm. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0047]    The present disclosure will now be described by way of example with reference to the accompanying drawings, in which: 
           [0048]      FIG. 1  is a schematic diagram of an ambient noise reduction headphone. 
           [0049]      FIG. 2  is a block diagram of the disturbance rejection problem. 
           [0050]      FIG. 3A  is a schematic diagram of an ambient noise reduction headphone having a feedback arrangement. 
           [0051]      FIG. 3B  is a schematic diagram of an ambient noise reduction headphone having a feedforward arrangement. 
           [0052]      FIG. 4  is a block diagram of a control system representing an adaptive feedback controller for the headphone of  FIG. 3A . 
           [0053]      FIG. 5  is a schematic diagram of a practical ambient noise reduction headphone having a feedforward arrangement. 
           [0054]      FIG. 6  is a block diagram of a control system representing an adaptive feedforward controller for the headphone of  FIG. 5 . 
           [0055]      FIG. 7  is a schematic diagram of an ambient noise reduction headphone having a hybrid feedforward-feedback arrangement. 
           [0056]      FIG. 8  is a block diagram of a control system representing an adaptive hybrid feedforward-feedback controller for the headphone of  FIG. 7 . 
           [0057]      FIG. 9  is a block diagram of the general structure of a hybrid analog-digital controller. 
           [0058]      FIG. 10  is a block diagram of a control system representing a combined fixed hybrid feedforward-feedback controller and adaptive feedforward controller configured in accordance with the present disclosure. 
           [0059]      FIG. 11  is a block diagram of a control system representing an ANC controller configured in accordance with preferred embodiments of the present disclosure. 
           [0060]      FIG. 12  is a block diagram illustrating a control system configured to estimate the error signal for the subbands of the adaptive feedforward filter. 
           [0061]      FIG. 13  is a schematic diagram of a headphone implementing an ANC controller configured in accordance with the present disclosure. 
           [0062]      FIG. 14  shows the noise attenuation performance in dB of a simulated ANC controller configured as set out in  FIG. 11 . 
           [0063]      FIG. 15  is a block diagram of a control system representing an ANC controller configured in accordance with the most preferred embodiments of the present disclosure. 
           [0064]      FIG. 16  shows the noise attenuation performance in dB of a simulated ANC controller configured as set out in  FIG. 15 . 
           [0065]      FIG. 17  is a schematic diagram of an ANC controller configured in accordance with the present disclosure. 
       
    
    
     DETAILED DESCRIPTION 
       [0066]    The following description is presented to enable any person skilled in the art to make and use the disclosure, and is provided in the context of a particular application. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art. 
         [0067]    The general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present disclosure. Thus, the present disclosure is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein. 
         [0068]    The present disclosure relates to an active noise cancellation (ANC) controller. The novel ANC controllers described herein may be employed in any device, vehicle or structure in which noise cancellation may be required or advantageous and are not limited to use in headphones, wireless or otherwise. For example, an ANC controller configured in accordance with the present disclosure could be arranged for use in aircraft, automobiles, submarines, or in any other vehicle, building or space so as control the noise level experienced by the occupants by means of one or more loudspeakers configured to generate an “anti-noise” signal. 
         [0069]    A block diagram of a control system representing an ANC controller configured in accordance with the general principles of the present disclosure is shown in  FIG. 10 . The aggregate ANC controller shown in the figure employs a fixed feedforward controller C_ff(z)  1001 , a fixed feedback controller C_fb(z)  1002  and an adaptive feedforward controller FIR_C_ff(k)  1004 . C_ff(z) and C_fb(z) are arranged so as to form a fixed hybrid feedforward-feedback controller for the attenuation of broadband noise, and FIR_C_ff(k) is arranged so as to attenuate periodic or tonal signals. The filters are preferably digital filters. 
         [0070]    The controllers  1001 ,  1002  of the hybrid feedforward-feedback controller are infinite impulse response (IIR) filters, for example, digital 4 th -order IIR filters. The adaptive feedforward controller  1004  is a fixed impulse response (FIR) filter whose coefficients are determined in accordance with a subband adaptive algorithm as described below. The outputs from the three controllers y_ff(k), y_fb(k) and y_ff_adap(k) (from the fixed IIR feedforward filter, the fixed IIR feedback filter, and the adaptive feedforward FIR filter, respectively) are combined to form aggregate controller output y(k). 
         [0071]    The coefficients of the adaptive feedforward controller are determined in accordance with a subband adaptive algorithm  1007 . Preferably the algorithm is an FXLMS algorithm, although it could be any suitable algorithm known in the art. Blocks  1005  and  1006  are DFT (Discrete Fourier Transform) filter banks configured to operate on a predetermined set of frequency subbands of the time-varying signals {circumflex over (x)}(k) and e(k), respectively. Each DFT filter bank generates a set of frequency representations of the respective time-varying signal, one representation for each subband. The subband adaptive algorithm  1007  operates independently on each subband so as to generate a set of coefficients for FIR filter  1004  that minimize the error signal in each subband. For example, if an FXLMS algorithm is being used, the subband adaptive algorithm generates a set of coefficients that minimize the mean squares error (MSE) in each subband. 
         [0072]    Since subband adaptive algorithm  1007  generates a set of coefficients expressed in the frequency domain and FIR filter  1004  operates using a set of coefficients expressed in the time-domain, coefficient translator  1003  is configured to translate the coefficients generated by subband adaptive algorithm  1007  into a set of coefficients suitable for FIR filter  1004  and map those coefficients into filter  1004 . In this manner, when FIR filter  1004  operates on signal x(k), it acts to minimize the error in each subband defined by DFTs  1005  and  1006 . 
         [0073]    The bandwidth of each subband is preferably substantially less than the total bandwidth of the signals that are to be noise-cancelled. For example, for an ANC controller configured to provide noise cancellation over the frequency range 20-1000 Hz (which might be suitable for a pair of noise-attenuation headphones that can operate over a total bandwidth of 20 Hz-20 kHz) the width of the subbands would preferably be around 25 Hz. For a signal having a sample rate of 48 kHz and for a target subband width of around 25 Hz, a DFT filter bank with 2048 subbands is necessary. 
         [0074]    By minimizing the error on a subband basis, the present disclosure avoids the poor signal attenuation that can occur at particular frequencies when an adaptive filter algorithm is configured to minimize the full-band error. This disclosure recognizes that, by simply minimizing the full-band error, the error within certain subbands can actually increase when the full-band error is minimized. 
         [0075]    The present disclosure combines both a fixed hybrid feedforward-feedback controller with an adaptive feedforward controller implemented as a subband adaptive filter. This allows the effective cancellation of both broadband and period noise even when the ANC adaptive controller is implemented at processors that are not optimized for noise attenuation algorithms and present a significant delay on the digital path. An adaptive digital feedforward controller is preferably used instead of an adaptive digital feedback controller because the latter generally exhibits poor attenuation of broadband noise when there is a significant delay on the digital path. Adaptive digital feedforward controllers do not typically suffer from such poor performance with respect to broadband noise and are relatively more robust. However, in the particular example of ANC headphones, because the internal and external microphones are close together it should be noted that a short delay is maintained on the controller path so as to achieve acceptable broadband noise attenuation at both controllers of the hybrid controller. In less preferred embodiments of the present disclosure the adaptive digital feedforward controller could be replaced with an adaptive digital feedback controller also implemented as a subband adaptive filter. 
         [0076]    It is advantageous if the coefficients of the IIR filters  1001  and  1002  are determined in accordance with the following method:
       1. Model the hybrid feedforward-feedback controller using adaptive FIR filters in place of the fixed IIR filters, the FIR filters being configured to minimise the full-band error in a simulated noise signal in accordance with the FXLMS algorithm. The noise signal preferably includes both broadband and periodic signals so as to reflect the environment in which the ANC controller is likely to be used. For example, for a pair of headphones the simulated noise signal could be a recording of aircraft cabin noise—this is provided as reference signal x(k) and error signal e(k).   2. Allow the coefficients of the FIR filters to converge, i.e. to approach values that minimise the error signal representing the noise that is not cancelled by the active noise cancellation controller and remains at microphone  1302 .   3. Transform the adaptive FIR filters into fixed IIR filters of the desired filter order using the coefficients determined for the FIR filters.
 
Step 3 can be, for example, performed in MATLAB using the following functions:
       
 
         [0080]    [ h,w]= freqz(FIRb,1,FFT size) 
         [0000]      [ b,a ]=invfreqz( h,w,b Order, a Order) 
         [0000]    where F/Rb is a vector representing the polynomial coefficients of the transfer function of the FIR filter (the denominator of an FIR filter is 1) and h and w are frequency response and angular frequency vectors, respectively, of the FIR filter. The invfreqz function then yields the numerator and denominator polynomial coefficients b and a, respectively, for the IIR filter for the chosen orders for the numerator and denominator polynomials, bOrder and aOrder. The IIR filter is therefore represented by the vectors b/a. Preferably the IIR filters are fourth-order IIR filters and the parameters bOrder and aOrder are selected so as to cause fourth-order filter parameters to be generated. 
         [0081]    In order to further improve the performance of the fixed IIR filters, the coefficients of the IIR filters can be refined using an adaptive IIR algorithm:
       4. Model the hybrid feedforward-feedback controller using adaptive IIR filters in place of the fixed IIR filters, the initial values for the coefficients of the IIR filters being those obtained from the FIR to IIR filter transformation at step 3. As is well known in the art, adaptive algorithms for the adaptive IIR filters are selected according to the characteristics of the system in which the filter is being used. For example, the adaptive algorithms could be least mean squares (LMS) or recursive least squares (RLS) algorithms. Several different adaptive algorithms and their uses are described in Section 9.5.1 of “Adaptive Filtering: Algorithms and Practical Implementation” by P. S. R. Diniz, Prentice Hall and in US Patent Application No. 200//0310645.   5. Allow the coefficients of the IIR filters to converge and use these refined coefficients as the coefficients of the fixed IIR filters.       
 
         [0084]    The modeling method set out above can be performed in a numerical computing environment, such as MATLAB. 
         [0085]    A block diagram of a control system representing an ANC controller configured in accordance with the present disclosure and having a preferred subband adaptive feedforward controller arrangement is shown in  FIG. 11 . The subband adaptive feedforward controller arrangement comprises controller  1004 , coefficient translator  1003 , subband adaptive algorithm  1007 , and DFTs  1005  and  1006 . The figure shows the subband adaptive algorithm in an expanded view so as to illustrate the subband filter coefficients Ca i (n) determined for each subband by the algorithm. The figure also shows that coefficient translator  1003  comprises coefficient mapping algorithm  1101  and inverse FFT (Fast Fourier Transform)  1102 . 
         [0086]    The coefficients Ca i (n) generated by the subband adaptive algorithm  1007  are updated according to the following equation: 
         [0000]        Ca   i ( n+ 1)= Ca   i ( n )+μ i ( n )[ {circumflex over (X)} ( n ) e   i ( n )]
 
         [0000]    where Ca i (n) is a column
 
vector with R coefficients of the i-th FIR subband adaptive filter; {circumflex over (X)} i (n) is a column vector holding the last R samples of {circumflex over (x)}i i (n) generated by DFT filter bank  1005 ; μ i (n) is the step size of the i-th subband adaptive filter; and ‘*’ represents the conjugate value of X i (n). Due to the use of the DFT filter banks  1005  and  1006 , {circumflex over (x)} i (n), e i (n) and Ca i (n) are complex values. In order to obtain the full band adaptive filter  1004 , it is necessary to perform an inverse Fourier transform on the set of coefficients Ca i (n).
 
         [0087]    In order to determine which subband filter coefficients Ca i (n) should be mapped to obtain the filter  1004 , the error signal e i ′(k) achieved by the hybrid feedforward-feedback filters  1001  and  1002  alone must be determined. This is because the coefficients Ca i (n) are only mapped into filter  1004  if they provide an improvement in noise attenuation; coefficients that do not improve noise attenuation are not used. In order to determine whether there is an improvement in noise attenuation due to the adaptive filter, the error provided by the hybrid controller alone e i ′(k) has to be estimated and compared with e i (k), which is the net error signal due to all the filters. 
         [0088]    The error signal e i ′(k) can be calculated if the transfer function between the two microphones Ĥ(z)  1201  of the physical system is known. Once the transfer function  1201  between the internal  1302  and external  1301  microphone has been measured, the control theory representation of the ANC controller in  FIG. 12  tells us that the error estimates e i ′(n) are given by the output of DFT filter bank  1006 . In other words, by modeling the control system shown in  FIG. 12  when transfer function  1201 , the plant function and the coefficients of the fixed IIR filters are known, the subband error estimates e i ′(n) can be calculated. Note that {circumflex over (P)}(z) shown in the figures is the Z-transform of the plant impulse response P(n). 
         [0089]    In preferred embodiments of the present disclosure, the adaptive feedforward controller is configured to form an estimate of the error in each subband due to the hybrid feedforward-feedback controller alone in accordance with the control theory representation in  FIG. 12  and using the input signal from the external microphone, n e (k). In other words, the adaptive controller calculates error estimates e′ i (k) from input n e (k) according to a stored transfer function Ĥ(z), a stored plant function {circumflex over (P)}(z), and the known filter coefficients of the hybrid controller. Such calculations could be performed at a DSP (digital signal processor) of the ANC controller. 
         [0090]    In order to maximize noise attenuation and to avoid instability of the system due to divergence of the subband adaptive filters, it is advantageous if the following coefficient mapping algorithm is used based on a comparison of the measured error e i (k) and the estimated hybrid error e′ i (k) in each subband. For each subband is
       1. if the net error in the subband e i (n) is smaller than the estimated error in the subband e′ i (n) that is achieved by the hybrid feedforward-feedback controller alone, map the respective coefficients Ca i (n) into FIR filter FIR_C_ff(k);   2. otherwise, set the coefficients Ca i (n) of the digital filter for that subband to zero.       
 
         [0093]    An ANC controller configured in accordance with the present disclosure could be implemented at a pair of headphones so as to attenuate the level of environmental acoustic noise perceived by a user of the headphones. A schematic diagram of one-half of a pair of headphones arranged to include an ANC controller of the present disclosure is shown in  FIG. 13 . The figure shows the basic relationship between the inputs from the internal and external microphones  1302 ,  1301 , the output from the speaker  1303 , and the three digital filters C_ff_adap(k), C_ff(z) and C_fb(z) of the ANC controller. The headphones include two microphones arranged in the manner shown in  FIG. 5 , with one internal microphone  1302  within each headphone cup  1300  and an external microphone  1301  mounted on the exterior of each headphone cup. 
         [0094]    The control system shown in  FIG. 11  that represents the preferred embodiment of the present disclosure was simulated in MATLAB and the results of its operation on a reference noise signal are shown in  FIG. 14 , along with the equivalent performance of the hybrid feedforward-feedback controller alone. The noise signal n e (k) or x(k) provided to the simulation was in the form of a recording of aircraft cabin noise combined with a 300 Hz sine wave. The coefficients of the fixed IIR filters of the hybrid feedforward-feedback controller were determined in accordance with the method described above, and the adaptive feedforward controller was configured to operate in accordance with the coefficient mapping algorithm describe above once the subband error estimates e i ′(n) due to the hybrid feedforward-feedback controller had been determined in accordance with  FIG. 12 . 
         [0095]      FIG. 14  shows the level of noise attenuation in dB over the frequency range 0-1000 Hz of the hybrid controller with fixed IIR filters alone (solid line) and the ANC controller of the present disclosure comprising a hybrid controller with fixed IIR filters and an adaptive feedforward controller (dotted line) comprising an adaptive FIR filter. Notice that the ANC controller of the present disclosure is much better (by approximately 15 dB) at rejecting the 300 Hz periodic noise signal than the hybrid controller alone, and in terms of broadband noise is at least equal to the noise rejection performance of the hybrid controller alone. 
         [0096]    The present disclosure can be implemented at low power processors, such as communications controllers, because a digital ANC controller configured in accordance with the present disclosure is robust in the presence of delays and the computational complexity and memory requirements of the adaptive feedforward controller can be readily adapted to the processing power available. In order to reduce the computational complexity of the ANC controller, it is advantageous to apply a decimation factor M so as to reduce the effective sampling frequency of the microphone signals applied to DFTs  1005  and  1006 . This allows the FFT of the subband adaptive feedforward controller to be M times smaller yet maintain the same bandwidth.  FIG. 15  shows a control system representing the ANC controller of  FIG. 11  implemented so as to apply a decimation factor  1501 ,  1502  to the inputs of the subband adaptive feedforward controller. Following application of the subband adaptive filter  1004  to the reference signal x(n), the decimation is reversed at  1503  so as to restore the original sampling frequency of the reference signal and allow the outputs from filters  1001 ,  1002  and  1004  to be combined. 
         [0097]    Most preferably the decimation factor M is 12 such that a microphone signal that is sampled at 48 kHz is reduced to an effective sampling frequency of 4 kHz. This allows the adaptive feedforward controller to attenuate periodic signals up to 2 kHz which provides good performance for a pair of headphones. However, the decimation factor could be higher so as to further reduce the computational complexity and memory requirements of the subband adaptive filters, but this leads to a corresponding reduction in the maximum periodic frequency that the adaptive feedforward controller could attenuate. For example, if M were 24, the adaptive feedforward controller could only attenuate periodic signals up to a frequency of 1 kHz. 
         [0098]    The control system shown in  FIG. 15 , representing an ANC controller configured in accordance with the present disclosure, was simulated in MATLAB and the results are shown in  FIG. 16 , along with the equivalent performance of the hybrid feedforward-feedback controller alone. The noise signal n e (k) or x(k) provided to the simulation was in the form of a recording of aircraft cabin noise combined with a 300 Hz sine wave. The coefficients of the fixed IIR filters of the hybrid feedforward-feedback controller were determined in accordance with the method previously described, and the adaptive feedforward controller was configured to operate in accordance with the coefficient mapping algorithm describe above once the subband error estimates e i ′(n) due to the hybrid feedforward-feedback controller had been determined in accordance with  FIG. 12 . 
         [0099]    In order to simulate the real-world operation of the ANC controller at a processor that might not be optimized for performing digital active noise attenuation, a delay of 2.5 ms (represented by blocks  1504  and  1505  in  FIG. 15 ) was introduced into the input paths and output path (block  1506 ) of the adaptive feedforward controller (for a total delay of 5 ms). This replicates the delay that might be present on the digital path of a processor at which the present disclosure could be implemented. 
         [0100]      FIG. 16  shows the level of noise attenuation in dB over the frequency range 0-1000 Hz of the hybrid controller with fixed IIR filters alone (solid line), and the ANC controller of the present disclosure comprising a hybrid controller with fixed IIR filters and an adaptive feedforward controller (dotted line) comprising an adaptive FIR filter. It can be seen that the low complexity implementation of the present disclosure still achieves the desired improvement in the attenuation of periodic signals (the plot of the complete ANC controller includes an attenuation spike at 300 Hz) and matches or exceeds the broadband noise rejection of the hybrid controller alone. 
         [0101]    An ANC controller configured in accordance with the present disclosure is shown in  FIG. 17 , arranged within an active noise attenuation system  1708  including a loudspeaker  1303 , microphones  1301 ,  1302  and a digital processor  1710 . The controller requires two microphones  1302  and  1301 : microphone  1302  is positioned close to loudspeaker  1303  so as to provide an error signal e(k) at its output indicative of the error in the cancellation of environmental noise by the loudspeaker; microphone  1301  is positioned away from loudspeaker  1303  so as to provide a reference signal n e (k) at its output indicative of the noise in the environment of the ANC controller. The ANC controller could be located at a pair of headphones, in which case the microphones  1301  and  1302  are preferably arranged as shown in  FIG. 13 . More generally, the ANC controller could be located in any space in which noise cancellation is required, such as a vehicle or room. 
         [0102]    Microphone  1301  need not be external to an enclosed space in which noise cancellation is provided but is preferably located substantially further away from the loudspeaker than microphone  1302  and the acoustic output of the loudspeaker is preferably not directed towards microphone  1301 . There may be more than one loudspeaker  1303 : each could have a corresponding microphone  1302  and the outputs of those microphones being aggregated so as to provide a single error signal; alternatively, there could be one microphone  1302  arranged to provide a single error signal to the ANC controller. In any arrangement, each microphone  1301  or  1302  could be a group of one or more co-located microphones. 
         [0103]    Typically, loudspeaker  1303  will be driven by a power amplifier  1701  and the output signals from microphones  1302  and  1301  will be amplified at pre-amplifiers  1702  and  1709 , respectively. 
         [0104]    The individual controllers  1704 ,  1705  and  1706  that make up the ANC controller  1707  of the present disclosure are supported at a digital processor  1710 . The digital processor could be any kind of processor, including a communications controller (possibly wireless, such as a Bluetooth or WiFi controller), a central processing unit (CPU) of a portable device, and an audio controller of a portable device. The digital processor will typically be an integrated circuit, and could be a System-on-a-Chip (SoC), an ASIC (Application-Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), a microprocessor executing an instruction set stored in an associated memory, or a hardwired processor. How an ANC controller of the present disclosure is implemented at a given processor is a matter of the particular characteristics of that processor and will be readily apparent to a person of skill in the art from the disclosure set out herein. 
         [0105]    Generally, digital processor  1710  is a DSP that can be configured provide the hybrid and adaptive filters. The delay in the control path of the processor should be short so as to ensure that the hybrid controller provides adequate performance—typically, the delay should be less than approximately 200 μs for the hybrid controller, and less than 5 ms for the adaptive feedforward controller. 
         [0106]    The three controllers that make up ANC controller  1707  are the fixed feedback controller  1704  and the fixed feedforward controller  1706  that together form the hybrid feedforward-feedback controller, and adaptive feedforward controller  1705 . Each of these controllers may be physically independent digital units of the processor  1710 , but are preferably logical entities defined in the logic of the processor  1710 . Thus, there may not be three distinct physical controllers as shown in  FIG. 17 . Note that the feedback controller takes as its input error microphone  1302 ; feedforward controller  1706  takes as its input reference microphone  1301 ; and adaptive feedforward controller  1705  takes both microphones as its inputs. The outputs of the three controllers is combined at aggregator  1703  so as to provide a noise cancellation signal to loudspeaker  1303 . In operation, the noise cancellation signal causes the loudspeaker to modulate in such a way as to minimize the environmental noise detected at microphone  1302 . Aggregator  1703  preferably sums the signals together; it could additionally perform some signal matching between the outputs of the three controllers. 
         [0107]    Note that the controllers identified in  FIGS. 10 to 13  and  15  are mathematical representations of aspects of the physical controllers shown in  FIG. 17 . For example, adaptive feedforward controller  1705  comprises the functions of several of the blocks shown in  FIG. 10 , including the DFTs  1005  and  1006 , the subband adaptive algorithm  1007  and the coefficient mapping algorithm  1003 , as well as subband FIR adaptive filter  1004 . The functional blocks of the control systems shown in  FIGS. 10 to 13  and  15  are merely mathematical representations of ANC controllers configured in accordance with the present disclosure, and are not to be taken to indicate discrete functional parts of a physical ANC controller. It should in particular be understood that the plant functions P(z) and the transfer functions H(z) are not physical components of the ANC controller but, as is well known in the art, are simply mathematical representations describing the relationship between various signals in the control systems. 
         [0108]    The ANC controller represented by the control system of  FIG. 15  and in accordance with the physical arrangement of  FIG. 17  can be implemented at the side tone path of a Bluetooth communications processor that includes 4 th -order IIR filters, a digital-to-analog converter (DAC) path delay of &lt;200 μs at a sample rate of 48 kHz, and a DSP path latency of ˜1 ms. The present disclosure allows a Bluetooth controller to provide both Bluetooth communication functions and active noise cancellation in a single integrated circuit. This considerably reduces the bill of materials for manufacturing Bluetooth headphones that provide active noise cancellation. 
         [0109]    The applicant hereby discloses in isolation each individual feature described herein and any combination of two or more such features, to the extent that such features or combinations are capable of being carried out based on the present specification as a whole in the light of the common general knowledge of a person skilled in the art, irrespective of whether such features or combinations of features solve any problems disclosed herein, and without limitation to the scope of the claims. The applicant indicates that aspects of the present disclosure may consist of any such individual feature or combination of features. In view of the foregoing description it will be evident to a person skilled in the art that various modifications may be made within the scope of the disclosure.