This disclosure relates to processing signals and in particular, to a system and method that maintains stability and reduces low-frequency noise through variable step-size adaptations.
Active noise control analyzes input signals and generates output signals to cancel undesired signals in a spatial sound field. Through feedback that returns a portion of the system's output to the system's input, the system maintains accuracy and stability in ideal and theoretical conditions. However, when acoustics change or when a noise occurs unexpectedly, the system may quickly converge to an extreme operating state that pushes the system into instability and causes it to generate noise, rather than suppressing the undesired signals. The noise may be more destructive than the undesired signals the system intends to cancel.
This disclosure refers to the following drawings and descriptions. The components in the figures are not necessarily to scale, but illustrate the principles of the disclosure. Moreover, in the figures, like referenced numerals designate corresponding parts throughout the different views.
An active noise control system and method (referred to as the system(s) or ANC system(s)) actively reduces undesired sound within a specific spatial region, called the primary noise field, by adapting one or more secondary signals rendered from one or more transducers or loudspeakers that destructively interfere with the primary noise field. The secondary noise field rendered by the loudspeakers has roughly the inverse sound pressure polarity of the undesired primary noise field, which effectively reduces or substantially eliminates the primary noise field. The system generates the secondary signals by filtering one or more reference signals through one or more control filters. The control filters are dynamically adapting based on signals from one or more error microphones that are placed within the spatial region. The control filter adaptation is also dependent upon secondary path filters that are estimated a priori through a calibration process. This allows compensation for the delay and filtering created by the acoustic environment the system may operate within, such as the cabin of a vehicle, and the processing delays that may be inherent to the ANC system hardware and software. The adaptation is configured such that the error microphone signals in ideal conditions will tend towards zero over time, or towards some specified target sound. To ensure stability, the system adheres to one or more step size criteria that controls the adaption rate of the control filters.
The ANC system of
The ANC system of
In response to detected signals or vehicle parameters such as RPM, a reference signal generation module 104 synthesizes M different reference signals. In
The reference signal generation module 104 feeds one or more control filters 108 that may comprise FIR filters or multiplicative complex gains. There are K*M control filters 108 in
Microphones 106 convert the acoustic sound field, which comprises the sum of primary and secondary sound fields, into electric signals. The J microphones 106 may have a flatter output response than narrowband microphones to detect the low frequency characteristics that are common to engine orders. An optional audio amplifier 120 amplifies the microphone signals before undergoing a digital conversion and down sampling rendering error signals e_1[n], e_2[n], . . . , e_j[n] (shown as ej in
Secondary path filter 124 filters the complex reference signals, x_m[n], to create secondary path filtered reference signals or “filtered-x” signals, x′_mkj[n] (shown as x′mkj in
A calibration module 126 and adder-subtractor 130 models the acoustic paths between the loudspeakers 120 and microphones 106 and hardware and/or software processing delays prior to run time (runs before the system is fully functional, e.g., in pre-production) in
The control filter update module 122 controls the adaption rate of the control filters 108 by processing the pseudo error signals e′_j[n] (shown as e′j in
w_mk[n+1]=w_mk[n]+mu*Σj=1Jx′_mkj[n]*e′_j[n] EQ. 1
In EQ. 1, “w” designates the control filter coefficient (a complex value), “m” designates the engine order; “k” designates the loudspeaker index; “n” designates the time sample index; “mu” designates the step-size that controls the adaptation rate; and “j” designates the microphone index. In other words, by EQ. 1, the successive complex control coefficients w_mk[n+1] are the sum of the prior complex control coefficient w_mk[n] and the product of the filtered-x signals, x′_mkj[n], the pseudo error signals e′_j[n], and the step-size or tuning constant mu that controls the adaption rate of the control filter 108.
The step size or tuning constant of the control coefficients (referred to as step size(s) or adaptive step size(s)) effects the stability and the ability of the ANC system to converge quickly, e.g., during changing RPM/acceleration. If the step size is too small, the system may converge too slowly and signal cancellation may suffer. If the step size is too large, the system may converge too quickly causing the system to become unstable. To ensure the ANC's system stability and optimize the ANC system operation in dynamic vehicle conditions the step size may be limited to a theoretical maximum value expressed by EQ. 2.
mu_max=1/(P_x′*(L+Delta)) EQ. 2
In EQ. 2, P_x′[n] designates the aggregated power of one or more filtered-x signals E{x′_mkj^2[n]}, L is the length of an FIR control filter, and Delta designates the number of samples corresponding to the delay in a secondary path (a scalar value). By EQ. 2, there is an inverse relationship between the step size and the amount of delay within the secondary paths. In other words, the more delay present in a secondary path within the acoustic environment, the smaller the maximum step-size, and the slower the ANC system adapts to the undesired signal, making the ANC system less effective. Based on the above inverse relationship to the power of the filtered-x signal, P_x′[n], the Normalized-FxLMS (FxNLMS) method maybe used instead of FxLMS to adapt the filter coefficients according to EQ. 3.
w_mk[n+1]=w_mk[n]+mu*=Σj=1Jx′_mkj[n]*e′_j[n]/P_xj′[n] EQ. 3
While EQ. 3 is theoretically stable with a suitable choice of scalar mu under ideal conditions, it relies upon on reasonably accurate estimates of the secondary path transfer functions used in computing the filtered-x signals x′_mkj[n]. Since in practice the secondary path transfer functions are dynamically varying, a scalar mu may result in an unstable system under certain conditions. Such conditions may include opening windows, sunroof or doors, faulty or obstructed microphones or loudspeakers, manufacturing variations between hardware components of the system, seats being repositioned or folded down, and varying number and seating positions of vehicle occupants. ANC systems employing a fixed step-size may have limited practical application. Some ANC systems may also use other variations on FxLMS such as Modified-FxLMS or filtered-u LMS, where a scalar step-size may experience the same robustness issues.
The FxNLMS algorithm with variable step-size adaptation is provided in EQ. 4:
w_mk[n+1]=w_mk[n]+Σj=1Jmu_mkj[n]x′_mkj[n]*e′_j[n]/P_xj′[n] EQ. 4
where mu_mkj[n] is a step-size that depends on the m-th reference signal/sinusoid, the k-th loudspeaker/control output channel and the j-th error microphone, and is varying with time index n. The step size may be modified by one or more step size criteria executed by the step size calculator 132 shown in
A first step size criterion makes the step-size manually adjustable and/or variable in time and frequency. A manually tunable adaptation rate provides greater flexibility than a scalar step size in terms of the tradeoff between cancellation depth and convergence speed against stability and robustness at different frequencies. Under this step size criterion, a frequency dependent tunable step size factor may establish different adaptation rates across different frequency ranges. It may establish a slower adaptation rate at low aural frequency ranges and a higher adaptation rate at higher aural frequency ranges. In one use case, a user may establish an adaptive schedule that adapts the control coefficients at a very fast adaption rate relative to a steady state adaptation rate when an acceleration event occurs (detected via a polling or monitoring of the vehicle operating state via one or more ECUs or the vehicle bus). In this use case, a user may also reduce the adaption rate or step size to a steady state adaptive rate when a cruising speed event occurs. Under this step size criterion, if alpha (f) designates a frequency dependent tunable step size factor and “f” designates frequency, EQ. 5 expresses the step size criterion.
mu_mkj[n]α alpha[f_m[n]], EQ. 5
In EQ. 5, the step-size of the complex reference signals, mu_mkj[n] is proportional to the frequency dependent manually tunable step size factor. In EQ. 5, f_m[n] designates the frequency of the m-th reference signal at time “n” and alpha (f) is manually tunable through a graphical user interface (GUI) or a text interface. The user interfaces may establish and provide access to a codebook that stores a multidimensional performance map in memory. The memory also retains the software used to execute the adaptive algorithm of EQ. 5.
A second step size criterion establishes step sizes dependent on the estimated or measured secondary paths between the control outputs and the microphone inputs; that is the acoustic delay from each loudspeaker to each microphone. This alternate step size criterion makes the step sizes of the complex reference signals, mu_mkj[n] inversely proportional to the secondary path delay at frequency f_m[n] from loudspeaker “k” to microphone “j” as expressed in EQ. 6.
mu_mkj[n]α1/Delta_mkj EQ. 6
In EQ. 6, Delta_mkj is the secondary path delay at frequency f_m[n] from loudspeaker “k” to microphone “j”. The secondary path transfer functions are measured or estimated by the calibration module 126. Calibration module 126 may also measure or estimate phase delay or group delay from the phase response of each secondary path across a swept frequency range. In other words, the ANC system measures the delay at any given frequency knowing the delay of each of the secondary paths. So rather than using a scalar delta to calculate a maximum step-size as in EQ. 2, this adaptive algorithm creates a step size that is frequency dependent on each loudspeaker to microphone combination.
When executing the adaptive algorithm of EQ. 6, the secondary path impulse responses are transformed into the complex frequency domain using a Discrete Fourier Transform (DFT), Discrete Cosine Transform (DCT) or another method. After system calibration, the secondary path delay at frequency f_m[n] from loudspeaker “k” to microphone “j”, Delta_mkj, is measured or estimated. When nulls in the measured or estimated secondary path occurs (e.g., the secondary paths may be represented by transfer functions) or it is difficult to measure or estimate group or phase delay accurately, this adaptive algorithm executes a smoothing or interpolation process across a portion of or the entire frequency range. In some systems, the measurements/estimates are stored in a codebook as multidimensional performance maps (called a modified look-up table) that are associated with the corresponding frequencies that lie within the frequency range.
A third step size criterion provides a “fail-safe” mechanism that maintains a design safe state when the ANC system converges to an unstable state. This alternate step size criterion prevents the amplitude of the control signals, y_mk, from becoming excessive, which may introduce a harmful level of noise into the enclosed space (e.g., the vehicle cabin). Under this step size criterion, the adaptive algorithm may establish a threshold that limits the output for each engine order the ANC system is targeting. The tunable limiter threshold is frequency dependent and may correspond to each loudspeaker, “k”, as expressed in EQ. 7.
thresh_mk=thresh_k(f_m[n]) EQ. 7
In EQ. 7, “k” designates the loudspeaker/control channel; “m” designates the engine order; and “n” designates time index. Let g_mk[n] designate the magnitude (or energy) of the control signal corresponding to loudspeaker “k”. Under this step size criterion the step size of the complex reference signals, mu_mkj[n], is directly proportional to a temporal function of the prior control signals, T(beta_mk[n−N], . . . , beta_mk[n−1], beta_mk[n]), as expressed in EQ. 8.
mu_mkj[n]αT(beta_mk[n−N], . . . , beta_mk[n−1], beta_mk[n]) EQ. 8
In EQ. 8, the temporal function of the prior control signals, T(beta_mk[n]), may be defined by the threshold conditions expressed by EQ. 9.
In EQ. 8 and 9, T(x) is a temporal function that reflects the historical magnitudes (or energy) of the control signals. For example, this adaptive algorithm may process prior values of beta_mk[n], for n=0, 1, 2, etc. and set the step size to zero indefinitely or for a specified period of time or when a threshold (also referred to as a limiter threshold) is first exceeded. In an alternate system, the temporal function of the prior control signals beta_mk[n] is a non-binary value. For example, in some systems beta_mk[n] may decrease proportionally as the energy of the control signal g_mk[n] approaches a predetermined threshold value associated with the engine order and the loudspeaker index, thresh_mk. This “fail-safe” step size criterion provides a tunable frequency and loudspeaker-dependent limiter threshold that provides greater flexibility than a scalar limiter. The criterion optimizes the tradeoff of cancellation during normal operation versus protection against instability.
A fourth step size criterion bypasses the adaption process based on the output of one or more step size calculators. Under this criterion, the ANC system customizes the adaption rates in response to different divergences or types of instability or abnormalities detected. Under this criterion, the step size calculators control the step size. For example, a step size calculator may stop the adaptation of the control coefficients and disable the ANC system output as soon as instability is detected. EQ. 10 expresses this criterion where gamma_mkj[n] represents the step size calculator at time index “n”.
In this step size criterion, a malfunctioning microphone is detected by comparing the energy of the microphone signal to an expected energy level. In other words, the systems compare the energy of each microphone signal to the microphone energy each microphone produces during normal functioning in and of itself, when no sound is present (e.g., a microphone self-noise or a predetermined microphone threshold). A loudspeaker malfunction may be detected by measuring continuity, the current draw of each loudspeaker, or the equivalent impedance of each loudspeaker.
An alternate step size calculator monitors the complex control filter coefficients over time to determine when an unstable condition occurs. Using a correlator or correlation detector, divergence is detected by monitoring the energy of the control output signals and the energy of the microphone signals. When the energy in both signals are increasing simultaneously for a sufficient period of time, a divergence is detected and the ANC system may be disabled or alternately, the step size modified or disabled. Some ANC system execute this comparison in the frequency domain at each of the specific frequencies that the ANC system is generating. An alternate correlator monitors or tracks the variance of the complex control filter coefficients over time (e.g., it's gain, phase, or gain's or phase's variance). A prolonged high variance level (e.g., a variance that exceeds a predetermined operating threshold) also identifies divergence that in some systems is also based on the operating state of the vehicle. For example, when the ECUs indicate that the engine operating conditions are static, e.g., running at a constant RPM and/or throttle position, the iterative change of the complex coefficients should reflect a low variance.
The one or more microphones 106 may capture the primary and secondary noise within the enclosed space (e.g., the vehicle cabin). The signal generator processor 302 synthesizes M different reference signals, x_m[n], or sinusoids in response to the monitored noise from external sources or vehicle parameters such as RPM, the opening and/or closing of doors and/or windows, etc. The control filter processor 304 modifies the gain and phase of each M complex reference signals through its complex control coefficients. The control filter update processor 306 controls the adaption rate of the control filters 108 by processing the modified error signals e′j (the pseudo error signal shown in
The optional calibration processor 310 renders and generates a controlled sweep signal or a random noise signal transmitted from each transducer 120 to each microphone 106 to estimate the acoustic coupling between the transducer 120 and microphone 106. The optional calibration processor 310 runs before the process is fully functional, e.g., in pre-production. When operational, the optional calibration processor 310 measures or estimates the acoustic coupling transfer functions (also referred to as the secondary path transfer functions) from each transducer 120 to each microphone 106. Using the measured or estimated acoustic coupling transfer functions (reflected in the filtered-x signals, x′_mkj[n]), the process accurately compensates for the delay created by the small acoustic environment the process may operate within (e.g., vehicle cabin) and the signal propagation delays that may be inherent to executing the process.
Prior to calculating the step size in
In
The processor 602 may comprise a single processor or multiple processors that may be disposed on a single chip, on multiple devices or distributed over more than one system. The processor 602 may be hardware that executes computer executable instructions or computer code embodied in the memory 604 or in other memory to perform one or more features of the ANC system. The processor 602 may include a central processing unit (CPU), a graphics processing unit (GPU), an application specific integrated circuit (ASIC), a digital signal processor (DSP), a field programmable gate array (FPGA), a digital circuit, an analog circuit, a microcontroller, any other type of processor, or any combination thereof.
The memory 604 or storage disclosed may retain an ordered listing of executable instructions for implementing the functions described above. The machine-readable medium may selectively be, but not limited to, an electronic, a magnetic, an optical, an electromagnetic, an infrared, or a semiconductor medium. A non-exhaustive list of examples of a machine-readable medium includes: a portable magnetic or optical disk, a volatile memory, such as a Random Access Memory (RAM), a Read-Only Memory (ROM), an Erasable Programmable Read-Only Memory (EPROM or Flash memory), or a database management system. The memory 604 may comprise a single device or multiple devices that may be disposed on one or more dedicated memory devices or on a processor or other similar device. When functions or steps are said to be “responsive to” or occur “in response to” a function or a process, the device functions or steps necessarily occur as a result of (or because of) the function. It is not sufficient that a function or act merely follow or occur subsequent to another.
The memory 604 may also store computer code, such as the signal generator processor 302, the control filter processor 304, the control filter update processor 306, the step size processor 308, and the optional calibration processor 310. The computer code may include instructions executable with the processor 602. The computer code may be written in any computer language, such as C, C++, assembly language, channel program code, and/or any combination of computer languages. The memory 604 may store information in data structures and algorithms including, for example, one or more of the adaptive algorithms, statistical correlators, step sizes, the codebooks, the multidimensional performance maps, adaptive schedules, threshold conditions and outcomes, loudspeaker and microphone operating characteristics, calibrations, etc.
The functions, acts or tasks illustrated in the figures or described may be executed in response to one or more sets of logic or instructions stored in or on non-transitory computer readable media as well. The functions, acts or tasks are independent of the particular type of instructions set, storage media, processor or processing strategy and may be performed by software, hardware, integrated circuits, firmware, micro code and the like, operating alone or in combination. In one embodiment, the instructions are stored on a removable media device for reading by local or remote systems. In other embodiments, the logic or instructions are stored in a remote location for transfer through a computer network or over wireless or tangible telephone or communication lines. In yet other embodiments, the logic or instructions may be stored within a given computer such as, for example, a CPU.
The disclosed system and process reinforces speech naturally without distortion or added noise in a vehicle cabin and may further include the systems and methods described in U.S. Ser. No. 14/245,142, titled Active Noise Equalization, the disclosure of which is incorporated by reference. A vehicle may comprise, without limitation, a car, bus, truck, tractor, motorcycle, bicycle, tricycle, quadricycle, or other cycle, ship, submarine, boat or other watercraft, helicopter, drone, airplane or other aircraft, train, tram or other railed vehicle, spaceplane or other spacecraft, and any other type of vehicle whether currently existing or after-arising this disclosure. In other words, it comprises a device or structure for transporting persons or things.
The system is fully automated such that the secondary signals are continuously adapted to mitigate the targeted signal or noise level within the vehicle cabin. The application of group/phase delay of secondary paths, statistical correlation over time between control outputs signal energies and microphone input energies, variance of control coefficients, and/or limiting the comparative amplitude of the secondary signals occurs automatically as different acoustical environments occur and are detected. The systems operate at low delay so vehicle occupants do not perceive the cancellation of an undesired aural signal. The low delay operation of the system reinforces a driver's vehicle mode selection so that is does not perceptibly interfere with desired sound of a selected mode. The system is unaffected by the simultaneous or concurrent operation of each of divergence detection criterion—meaning any combination of step size criteria or parallel systems may operate simultaneously or concurrently. The system operates in musical environments and does not cause any perceptible distortion to music or other media. The system can be implemented on or within other in-car systems such as an infotainment processor and digital signal processors or DSPs and co-exist with other system software. The system quickly adapts to different vehicle and cabin types and different acoustic configurations.
Other systems, methods, features and advantages will be, or will become, apparent to one with skill in the art upon examination of the figures and detailed description. It is intended that all such additional systems, methods, features and advantages be included within this description, be within the scope of the disclosure, and be protected by the following claims.
Number | Name | Date | Kind |
---|---|---|---|
5469510 | Blind | Nov 1995 | A |
6772074 | Millott | Aug 2004 | B2 |
7197147 | Millott | Mar 2007 | B2 |
7317754 | Remy | Jan 2008 | B1 |
8306240 | Pan | Nov 2012 | B2 |
8355512 | Pan | Jan 2013 | B2 |
9240819 | Ku | Jan 2016 | B1 |
20030163296 | Richards | Aug 2003 | A1 |
20050053244 | Onishi | Mar 2005 | A1 |
20050163251 | McCallister | Jul 2005 | A1 |
20050163252 | McCallister | Jul 2005 | A1 |
20050163268 | McCallister | Jul 2005 | A1 |
20050207585 | Christoph | Sep 2005 | A1 |
20070233478 | Sakamoto | Oct 2007 | A1 |
20080031468 | Christoph | Feb 2008 | A1 |
20080144853 | Sommerfeldt et al. | Jun 2008 | A1 |
20080181422 | Christoph | Jul 2008 | A1 |
20080240456 | Sakamoto | Oct 2008 | A1 |
20090060217 | Sakamoto | Mar 2009 | A1 |
20100014685 | Wurm | Jan 2010 | A1 |
20100195844 | Christoph | Aug 2010 | A1 |
20110235693 | Lee | Sep 2011 | A1 |
20130044891 | Obata | Feb 2013 | A1 |
20130129108 | Wurm | May 2013 | A1 |
20130136270 | Sakamoto | May 2013 | A1 |
20130188796 | Kristensen | Jul 2013 | A1 |
20130311040 | Hasegawa | Nov 2013 | A1 |
20140103729 | Uusimaki | Apr 2014 | A1 |
20140126739 | Yano | May 2014 | A1 |
20140133229 | Kamei | May 2014 | A1 |
20140133230 | Kamei | May 2014 | A1 |
20140133231 | Kim | May 2014 | A1 |
20150320481 | Cosman, Jr. | Nov 2015 | A1 |
20160163304 | Lee et al. | Jun 2016 | A1 |
20160284337 | Inoue | Sep 2016 | A1 |
20170076709 | Ku | Mar 2017 | A1 |
20170077906 | Argyropoulos | Mar 2017 | A1 |
20170178617 | Christoph | Jun 2017 | A1 |
20170287462 | Christoph | Oct 2017 | A1 |
20170287463 | Christoph | Oct 2017 | A1 |
20180025717 | Ku | Jan 2018 | A1 |
20180070191 | Chang | Mar 2018 | A1 |
Entry |
---|
Liang Wang et al: “Convergence Analysis of Narrowband Active Noise Equalizer System Under Imperfect Secondary Path Estimation”, IEEE Transactions on Audio, Speech and Language Processing, IEEE, vol. 17, No. 4, May 1, 2009 (May 1, 2009), pp. 566-571, XP011253705; ISSN: 1558-7916, DOI: 10.1109/TASL.2008.2009018 * section C; p. 592—col. 1 ** figure 1 *. |
Liang Wang et al: “Convergence Analysis of Narrowband Feedback Active Noise Control System With Imperfect Secondary Path Estimation”, IEEE Transactions on Audio, Speech and Language Processing, IEEE, vol. 21, No. 11, Nov. 1, 2013 (Nov. 1, 2013), pp. 2403-2411, XP011529559, ISSN: 1558-7916, DOI: 10.1109/TASL.2013.2277934 [retrieved on Oct. 15, 2013] * figure 1 * * p. 2407 *. |
Extended european search report; EP 18156892.4; dated Aug. 1, 2018. |
Number | Date | Country | |
---|---|---|---|
20180240452 A1 | Aug 2018 | US |