Speech echo suppression in engine order noise cancellation system
By detecting non-stationary events and adjusting the adaptive filter parameters, the misadaptation problem of the engine order noise cancellation system under transient events is solved, ensuring stable noise cancellation of the system under non-stationary conditions.
Patent Information
- Application Number
- CN202010493801.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-06-05
- Filing Date
- 2020-06-03
- Publication Date
- 2025-10-14
- Estimated Expiration
- 2040-06-03
AI Technical Summary
Existing engine-order noise cancellation systems are prone to misadjustment when faced with transient events, such as a vehicle hitting a speed bump, a pothole, or a passenger talking, resulting in a decrease in noise cancellation performance.
By detecting non-stationary events, such as passenger talking, the adaptation parameters of the adaptive filter are adjusted, the adaptation rate of the controllable filter is slowed down or paused, and an adjusted error signal is generated to reduce the impact of non-stationary noise.
It effectively prevents the system from misadapting during non-stationary events, reduces post-echo and noise fluctuations in the cabin, and maintains the noise cancellation effect.
Smart Images

Figure CN112053675B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure is directed to engine order cancellation, and more particularly, to detecting speech or other non-stationary events in a feed-forward engine order cancellation system to minimize misadaptation. Background Art
[0002] Active noise control (ANC) systems use feedforward and feedback structures to attenuate undesirable noise to adaptively remove undesirable noise within a listening environment, such as a vehicle cabin. ANC systems generally cancel or reduce undesirable noise by generating cancellation sound waves to destructively interfere with the undesirable audible noise. Destructive interference occurs when noise and "anti-noise" that is largely identical in magnitude to the noise but opposite in phase to the noise combine to reduce the sound pressure level (SPL) at a location. In a vehicle cabin listening environment, potential sources of undesirable noise are sounds emitted from the engine, the interaction between the vehicle's tires and the road surface on which the vehicle travels, and / or vibrations from other parts of the vehicle. Consequently, undesirable noise varies with the vehicle's speed, road conditions, and operating state.
[0003] Engine-order noise cancellation (EOC) systems are specific ANC systems implemented in vehicles to reduce unwanted vehicle interior noise levels originating from narrowband acoustic and vibration emissions from the vehicle's engine and exhaust system, or other rotating drivetrain components. EOC systems generate feedforward noise signals based on the engine or other rotating shaft RPM and use those signals and adaptively configured W filters to reduce the SPL within the vehicle cabin by emitting anti-noise through the speakers. EOC systems are susceptible to the divergence of the adaptive W filters.
[0004] EOC systems are typically least mean square (LMS) adaptive feedforward systems that continuously adapt the W filter based on both RPM input from a sensor mounted to the driveshaft and signals from microphones positioned at various locations within the vehicle's cabin. Certain events, such as when the vehicle hits a speed bump or pothole or when a vehicle occupant speaks, can cause a signal at the error microphone output. The LMS EOC system continuously adapts the W filter, and therefore will tune the W filter to optimally eliminate portions of these speech signals or pulse signals occurring at engine order frequencies. However, these types of events are transient and not indicative of noise emitted by the engine and exhaust system. Therefore, when the W filter is adapted based on these transient, non-stationary events, EOC can worsen in the period following non-drivetrain-related acoustic events. This is because the EOC system needs to be re-adapted to refocus on the correct W filter to optimally eliminate steady-state or pseudo-steady-state engine and exhaust system sounds. Summary of the Invention
[0005] In one or more illustrative embodiments, a method for preventing misadaptation in a feed-forward engine order cancellation (EOC) system is provided. The method may include adjusting an adaptive transfer characteristic based on a noise signal received from a noise signal generator, an error signal received from a microphone positioned in a vehicle cabin, and an adaptation parameter. The method may also include generating an anti-noise signal based in part on the adaptive transfer characteristic, wherein the anti-noise signal is to be emitted by a speaker as anti-noise within the vehicle cabin. The method may also include detecting a non-stationary event based on signal parameters sampled from a frame of the error signal; and modifying the adaptation parameter for the duration of the frame in response to detecting the non-stationary event.
[0006] Implementations may include one or more of the following features. Detecting a non-stationary event based on a signal parameter sampled from a frame of the error signal may include comparing at least one signal parameter of a current frame of the error signal to a threshold; and detecting the non-stationary event when the at least one signal parameter exceeds the threshold. Furthermore, the signal parameter may be one of a peak amplitude of the error signal sampled in the frame and an energy value per frame. The threshold may be a predetermined static threshold programmed for the EOC system. Alternatively, the threshold may be a dynamic threshold calculated based on a statistical analysis of the at least one signal parameter in one or more previous frames of the error signal.
[0007] Additionally, detecting a non-stationary event based on a signal parameter sampled from a frame of the error signal can include applying a peak tracker and a valley tracker to a current frame of the error signal using a voice activity detector to determine an amplitude and a number of peaks in the current frame; and detecting a presence of speech when a predetermined number of peaks exceeds a predetermined value for a predetermined duration of time. Additionally, modifying an adaptation parameter can include reducing an adaptation rate of one or more controllable filters; suspending adaptation of one or more controllable filters by reducing an adaptation rate of the controllable filters to zero; or disabling the EOC system for a duration of the frame.
[0008] One or more additional embodiments can be directed to an EOC system including a noise signal generator, a controllable filter and an adaptive filter controller, and a signal analysis controller. The noise signal generator can be adapted to generate a noise signal in response to an input. The controllable filter can be adapted to generate an anti-noise signal based in part on an adaptive transfer characteristic. The anti-noise signal is to be emitted by a loudspeaker as anti-noise within a cabin of a vehicle. The adaptive filter controller can include a processor and a memory programmed to control the adaptive transfer characteristic of the controllable filter based on the noise signal received from the noise signal generator, an error signal received from a microphone positioned in the cabin of the vehicle, and an adaptation parameter. The signal analysis controller can include a processor and a memory programmed to detect a non-stationary event based on a parameter sampled from a current frame of the error signal; and modify at least one of the adaptation parameter and the error signal in response to detecting the non-stationary event.
[0009] Implementations can include one or more of the following features. The adaptation parameter can determine a rate of change of the adaptive transfer characteristic of the controllable filter. The signal analysis controller can be programmed to modify the adaptation parameter by reducing an adaptation rate of the controllable filter. The signal analysis controller can be programmed to modify the error signal by removing non-stationary noise indicated by the non-stationary event to generate an adjusted error signal. The EOC system can further include a voice activity detector that detects a presence of speech in the error signal, where the non-stationary event includes the speech. The voice activity detector can be configured to determine a zero-crossing rate in a current frame of the error signal.
[0010] The signal analysis controller can be programmed to detect a non-stationary event based on a parameter sampled from a current frame of the error signal by comparing at least one signal parameter of each current frame of error signal to a threshold value. The noise signal generator can include an RPM sensor, a lookup table, and a frequency generator.
[0011] One or more additional embodiments may be directed to a computer program product embodied in a non-transitory computer-readable medium programmed for an EOC. The computer program product may include instructions for: receiving a noise signal from at least one noise signal generator; generating an anti-noise signal to be emitted by a speaker as anti-noise within a vehicle cabin, the anti-noise signal being generated by at least one controllable filter based in part on the noise signal from the at least one noise signal generator; receiving an error signal from at least one microphone positioned within the vehicle cabin; detecting a non-stationary event based on signal parameters sampled from a frame of the at least one error signal; and modifying the anti-noise signal for a duration of the frame in response to detecting the non-stationary event.
[0012] Implementations may include one or more of the following features. The instructions for modifying the anti-noise signal may include instructions for modifying an adaptation parameter that controls an adaptation rate of the controllable filter. Alternatively, the instructions for modifying the anti-noise signal may include instructions for modifying the error signal by removing non-stationary noise indicative of the non-stationary event to obtain an adjusted error signal. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] Figure 1 is a block diagram of a vehicle having an engine order noise cancellation (EOC) system according to one or more embodiments of the present disclosure;
[0014] Figure 2 According to one or more embodiments of the present disclosure Figure 1 Detailed view of the noise signal generator depicted in;
[0015] Figure 3A is a schematic block diagram illustrating an EOC system including a signal analysis controller according to one or more embodiments of the present disclosure;
[0016] Figure 3B is a schematic block diagram illustrating an alternative EOC system including a signal analysis controller; and
[0017] Figure 4 is a flow chart depicting a method for preventing misadaptation of a controllable filter in an EOC system due to non-stationary events, such as speech in a passenger cabin, according to one or more embodiments of the present disclosure. DETAILED DESCRIPTION
[0018] As required, detailed embodiments of the present invention are disclosed herein; however, it should be understood that the disclosed embodiments are merely exemplary of the invention that may be embodied in various alternative forms. The drawings are not necessarily drawn to scale; some features may be exaggerated or minimized to illustrate details of particular components. Therefore, the specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a representative basis for teaching one skilled in the art to variously employ the present invention.
[0019] Any one or more of the controllers or devices described herein include computer-executable instructions that can be compiled or interpreted from a computer program created using a variety of programming languages and / or techniques. Generally speaking, a processor (such as a microprocessor) receives instructions, for example, from a memory, a computer-readable medium, etc., and executes the instructions. The processing unit includes a non-transitory computer-readable storage medium capable of executing the instructions of the software program. The computer-readable storage medium can be (but is not limited to) an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof.
[0020] Figure 1 An engine order noise cancellation (EOC) system 100 for a vehicle 102 is shown having a noise signal generator 108. The noise signal generator 108 may generate a reference noise signal X(n) corresponding to audible engine order noise for each engine order originating from the vehicle's engine and exhaust system 110. The EOC system 100 may be integrated with a feedforward and feedback active noise control (ANC) framework or system 104 that generates anti-noise by adaptively filtering the noise signal X(n) from the noise signal generator 108 using one or more microphones 112. The anti-noise signal Y(n) may then be played through one or more speakers 124. S(z) represents the transfer function between a single speaker 124 and a single microphone 112. While Figure 1 For simplicity, only a single noise signal generator 108 , microphone 112 , and speaker 124 are shown, but it should be noted that a typical EOC system may include multiple engine order noise signal generators 108 in addition to multiple speakers 124 (e.g., 4 to 8) and microphones 112 (e.g., 4 to 6).
[0021] refer to Figure 2The noise signal generator 108 may include an RPM sensor 242 that can provide an RPM signal 244 (e.g., a square wave signal) indicating the rotation of an engine drive shaft or other rotating shaft, the RPM signal being indicative of engine speed. In some embodiments, the RPM signal 244 may be obtained from a vehicle network bus (not shown). Because the transmitted engine order is proportional to the drive shaft RPM, the RPM signal 244 represents the frequency generated by the drive train including the engine and exhaust system. Therefore, the signal from the RPM sensor 242 can be used to generate a reference engine order signal corresponding to each of the vehicle's engine orders. Therefore, the RPM signal 244 can be used in conjunction with a lookup table 246 of RPM versus engine order frequency.
[0022] More specifically, a lookup table 246 may be used to convert the RPM signal 244 into one or more engine order frequencies. A given engine order frequency retrieved from the lookup table 246 at a sensed RPM may be supplied to an oscillator or frequency generator 248 to generate a sine wave at the given frequency. This sine wave represents a noise signal X(n) indicative of engine order noise for a given engine order. When multiple engine orders are possible, the EOC system 100 may include multiple noise signal generators 108 and / or frequency generators 248 for generating a noise signal X(n) for each engine order based on the RPM signal 244.
[0023] An engine rotating at a rate of 1800 RPM can be considered to be running at 30 Hz (1800 / 60=30), which corresponds to the fundamental or primary engine order frequency. For a four-cylinder engine, two cylinders are fired during each crank rotation, resulting in a dominant frequency of 60 Hz (30x2=60) that defines the sound of a four-cylinder engine at 1800 RPM. In a four-cylinder engine, this is also called the "second engine order" because the frequency is twice the engine rotation rate. At 1800 RPM, the other dominant engine orders for a four-cylinder engine are the fourth order at 120 Hz and the sixth order at 180 Hz. In a six-cylinder engine, the firing frequency results in a dominant third engine order; in a V-10, the fifth engine order is dominant. As RPM increases, the firing frequency rises proportionally. As previously described, the EOC system 100 may include multiple noise signal generators 108 and / or frequency generators 248 for generating a noise signal X(n) for each engine order based on the RPM signal 244. Furthermore, the ANC framework 104 within the EOC system 100 (e.g., the controllable filter 118, the adaptive filter controller 120, the auxiliary path filter 122) may be scaled to reduce or eliminate each of the multiple engine orders. For example, an EOC system that reduces the second, fourth, and sixth engine orders would require three such ANC frameworks or subsystems 104, one for each engine order. Certain system components, such as the error microphone 112 and the anti-noise speaker 124, may be common to all systems or subsystems.
[0024] See again Figure 1 , characteristic frequencies of noise and vibration originating from the engine and exhaust system 110 can be sensed by one or more of the RPM sensors 242, optionally housed within the noise signal generator 108. The noise signal generator 108 can output a noise signal X(n), which is a signal representing a specific engine order frequency. As previously described, the noise signal X(n) may be at different engine orders of interest. Additionally, these noise signals can be used individually or combined in various ways known to those skilled in the art. The noise signal X(n) can be filtered using a modeled transfer characteristic S'(z), which is used to estimate the auxiliary path (i.e., the transfer function between the anti-noise speaker 124 and the error microphone 112) via the auxiliary path filter 122.
[0025] Powertrain noise (e.g., engine, drive shaft, or exhaust noise) is mechanically and / or acoustically transmitted into the passenger compartment and is received by one or more microphones 112 within the vehicle 102. The one or more microphones 112 may be positioned, for example, in a headrest 114 of a seat 116, such as a headrest 114. Figure 1. Alternatively, one or more microphones 112 may be positioned in the roof of the vehicle 102 or in some other suitable location to sense the acoustic noise field heard by occupants within the vehicle 102. Engine, drive shaft, and / or exhaust noise is transferred to the microphones 112 according to a transfer characteristic P(z), which represents the primary path (i.e., the transfer function between the actual noise source and the error microphone).
[0026] Microphone 112 may output an error signal e(n) representing the noise detected by microphone 112 and present in the cabin of vehicle 102. In EOC system 100, an adaptive transfer characteristic W(z) of controllable filter 118 may be controlled by adaptive filter controller 120. Adaptive filter controller 120 may operate according to a known least mean square (LMS) algorithm based on the error signal e(n) and the noise signal X(n), which is optionally filtered by filter 122 using a modeled transfer characteristic S'(z). Controllable filter 118 is often referred to as a W filter. LMS adaptive filter controller 120 may provide a synthetic cross-spectrum configured to update the transfer characteristic W(z) of the filter coefficients based on the error signal e(n). The process of adapting or updating W(z) to produce improved noise cancellation is referred to as convergence. Convergence refers to creating a W filter that minimizes the error signal e(n), which is controlled by the step size of the adaptation rate for a given input signal. The step size is a scaling factor that dictates how quickly the algorithm will converge to minimize e(n) by limiting the magnitude of the change in the W filter coefficients upon each update of the controllable W filter 118 .
[0027] The anti-noise signal Y(n) can be generated by an adaptive filter formed by the controllable filter 118 and the adaptive filter controller 120 based on the identified transfer characteristic W(z) and the noise signal or noise signal X(n) in combination. The anti-noise signal Y(n) ideally has a waveform such that, when played through the speaker 124, it generates anti-noise that is substantially opposite in phase and of the same magnitude as the engine-order noise audible to the occupants of the vehicle cabin near the ear of the occupant and near the microphone 112. The anti-noise from the speaker 124 can combine with the engine-order noise in the vehicle cabin near the microphone 112, resulting in a reduction in the sound pressure level (SPL) induced by the engine-order noise at this location. In certain embodiments, the EOC system 100 can receive sensor signals from other acoustic sensors in the passenger compartment (such as an acoustic energy sensor, an acoustic intensity sensor, or an acoustic particle velocity or acceleration sensor) to generate the error signal e(n).
[0028] Vehicles typically have other shafts that rotate at other rates relative to engine RPM. For example, the drive shaft rotates at a rate related to the engine by the current gear ratio set by the transmission. The drive shaft can not have perfect rotational balance, as the drive shaft can have some degree of eccentricity. When rotating, the eccentricity causes rotational imbalances that impart oscillating forces to the vehicle, and these vibrations can result in audible acoustic sounds in the passenger cabin. Other rotating shafts that rotate at rates different from the engine include the half shafts or bridges that rotate at rates set by the gear ratios in their differentials. In certain implementations, the noise signal generator 108 can have RPM sensors on different rotating shafts such as the drive shaft or half shafts.
[0029] When the vehicle 102 is in operation, the processor 128 can collect and optionally process data from the RPM sensors 242 in the noise signal generator 108 as well as the microphones 112 to build a database or map containing data and / or parameters to be used by the vehicle 102. The collected data can be stored locally at the storage device 130 or in the cloud for future use by the vehicle 102. Examples of the types of data related to the EOC system 100 that can be stored locally at the storage device 130 include, but are not limited to, RPM history, microphone spectrum or time-dependent signals, microphone-based acoustic performance data, voice activity detector (VAD) data and history, and predetermined error microphone non-stationary event detection thresholds in the time or frequency domain. Additionally, the processor 128 can analyze the RPM sensor and microphone data and extract key features to determine a set of parameters to be applied to the EOC system 100. The set of parameters can be selected when triggered by an event. In one or more implementations, the processor 128 and storage device 130 can be integrated with one or more EOC system controllers such as the adaptive filter controller 120.
[0030] In Figure 1 the simplified EOC system schematic diagram depicted in FIG. 1 illustrates one secondary path between each loudspeaker 124 and each microphone 112 represented by S(z). As mentioned previously, EOC systems typically have multiple loudspeakers, microphones, and noise signal generators. Thus, a 6-loudspeaker, 6-microphone EOC system would have a total of 36 secondary paths (i.e., 6 x 6). Accordingly, a 6-loudspeaker, 6-microphone EOC system likewise can have 36 S'(z) filters (i.e., secondary path filters 122) that estimate the transfer function of each secondary path. As mentioned previously, the S'(z) filters 122 can be implemented as adaptive filters that are updated in real-time as the vehicle 102 is in operation. Figure 1As shown in , the EOC system will also have one W(z) filter (i.e., controllable filter 118) between each noise signal X(n) from the noise signal generator 108 and each speaker 124. Thus, a 5-noise signal generator, 6-speaker EOC system may have 30 W(z) filters. Alternatively, a 6-frequency generator 248, 6-speaker EOC system may have 36 W(z) filters.
[0031] Figures 3A to 3B is a schematic block diagram illustrating an EOC system 300 according to one or more embodiments of the present disclosure. Those skilled in the art will appreciate that the EOC system 300 may be a filtered-X least mean square (FX-LMS) EOC system. Similar to the EOC system 100, the EOC system 300 may include elements 308, 310, 312, 318, 320, 322, and 324, respectively, which may operate in accordance with the elements 108, 110, 112, 118, 120, 122, and 124 discussed above. Figures 3A to 3B Also shown is the Figure 1 The primary path P(z) and the secondary path S(z) are described. Because the engine order noise is narrowband, the error microphone signal e(n) can be filtered by a bandpass filter 350 before entering the LMS-based adaptive filter controller 320. In one embodiment, the noise signal X(n) output by the noise signal generator 308 is bandpass filtered using the same bandpass filter parameters. Because the frequencies of the various engine orders are different, each engine order can have its own bandpass filter with different high-pass filter corner frequencies and low-pass filter corner frequencies. The number of frequency generators and corresponding noise cancellation components will ultimately vary based on the number of engine orders for which the reduction level is desired for a particular vehicle.
[0032] As described above, EOC systems are susceptible to misadaptation due to non-stationary events, such as when driving over train tracks, hitting a pothole, driving over a speed bump, a passenger tapping the error microphone, or even when speech is present in the vehicle. If the LMS system adapts the W filter based on a non-stationary signal, then the EOC performance may be degraded over subsequent time periods because these non-stationary signals are transient in nature and have different spatial and phase characteristics than the sound during steady-state driving in the absence of these interfering signals. Using a non-stationary input to adapt an LMS system is described as misadaptation because degraded noise cancellation performance may result in the wake of the non-stationary input. For example, the fundamental frequency of a male voice typically falls within the frequency range of an EOC system, thereby producing unpleasant audible artifacts in the passenger compartment if the EOC system is adapted during this speech.
[0033] When speech is present in the passenger compartment, the speech energy is added to the engine-order noise sensed by the error microphone. A conventional adaptive LMS EOC system will begin to adapt to the combination of speech and noise in an attempt to cancel the combination. Anti-noise is generated by the EOC system to cancel the combined speech and engine sound, and due to system delays, the anti-noise reaches the vehicle occupants' ears approximately 7 milliseconds later. This delay, combined with the non-stationary nature of speech, means that the anti-noise will not only fail to cancel speech, but will instead cause a speech-like "after-echo" in the vehicle cabin. In the case of stationary noise sources such as engine noise, this 7ms delay is not a problem because engine noise (primarily a series of sine wave harmonics) repeats almost identically in a cycle during constant speed driving. However, this is not the case for non-stationary signals such as speech. By the time the anti-noise reaches the passenger compartment, it has not effectively canceled the speech because the source of the speech now sounds different.
[0034] In addition to speech-like "post-echoes" in the cabin, another potential drawback of an EOC error microphone that picks up non-stationary, noise-like speech is the effect on the adaptation to a particular engine order. After the speech ends (because the passenger stops speaking at a particular frequency or stops speaking altogether), the phase and magnitude of each engine order anti-noise filter for the multiple orders in the 85 Hz-170 Hz octave range are no longer optimal for canceling the engine noise because they have partially converged to cancel the combination of speech and engine noise. Therefore, for a brief period of time, the EOC may also be suboptimal. Until the EOC system reconverges, it will remain suboptimal. The net effect of this suboptimal cancellation is a noticeable fluctuation in the level of that engine order.
[0035] Misadaptation of the W filter in response to non-stationary transient events can be prevented by detecting such events and mitigating their impact on the LMS adaptation algorithm. To detect non-stationary events, such as the presence of speech in the passenger compartment, or events such as driving over train tracks, hitting a pothole, or tapping an error microphone, one or more error signals e(n) output from one or more microphones in the EOC system can be evaluated. The error signal e(n) for each microphone channel can be analog or digital. Evaluation of the time history or frequency domain content of these output signals can identify the occurrence of non-stationary transient events. For example, driving over a pothole can result in a relatively high-amplitude, short-duration pulse appearing at the microphone output. It is possible that this high-amplitude (i.e., possibly full-scale) short-duration signal will appear on more than one microphone during different frames.
[0036] To detect such non-stationary events, the EOC system 300 can also include at least one signal analysis controller 362. The signal analysis controller 362 can include a processor and memory (not shown), such as the processor 128 and storage 130, that is programmed to evaluate and detect non-stationary events contained within the time-dependent error signal e(n), including speech and other impulsive events. This can include computing parameters by analyzing the time samples of a frame from the error signal e(n) in either or both the time domain or the frequency domain. The signal analysis controller 362 can be disposed along the path between the error microphone 312 and the adaptive filter controller 320. Alternatively, the signal analysis controller 362 can be disposed along the path between the bandpass filter 350 and the adaptive filter controller 320. The signal analysis controller 362 can be a dedicated controller for detecting non-stationary signals, or can be integrated with another controller or processor in the EOC system 300, such as the LMS adaptive filter controller 320. Alternatively, the signal analysis controller 362 can be integrated into another controller or processor within the vehicle 102 separate from the other components in the EOC system.
[0037] According to one or more embodiments, the signal analysis controller 362 can include a voice activity detector (VAD) 364 for analyzing the error signal e(n) to detect the presence of speech or other non-stationary signals. Alternatively, the VAD 364 can be a component separate from but in communication with the signal analysis controller 362 for evaluating the error signal e(n). A VAD can detect non-stationary events such as speech. While many variants are known to those skilled in the art, a VAD generally works by analyzing the audio data frame by frame. A typical approach can include applying a peak tracker that determines the amplitude and number of peaks in a frame, and a valley tracker (or some other type of average RMS level detector). The parameters and thresholds used by the VAD to determine whether speech has been detected are completely configurable. But generally, speech can be detected when a particular number of peaks exceeds a predetermined value (e.g., the average RMS level plus a predetermined amount) for a predetermined duration of time. Naturally, setting these thresholds is a tradeoff between false detections and false rejections (i.e., mistaking a non-speech event for speech, or likewise failing to detect a true speech event). Moreover, the minimum detection time is a single frame, which can be on the order of a few milliseconds.
[0038] It is common to detect speech in quiet environments, so it is the presence of background noise that makes it more difficult for VAD to accurately detect speech. The first VAD was implemented based on the binary decision of the VAD on simple features such as short-term energy and zero-crossing rate. These techniques are effective in high signal-to-noise ratio (SNR) scenarios. More complex signal processing techniques can be added to the VAD, including spectral shape, harmonicity, and periodicity analysis. Normalized autocorrelation coefficients as a time-related measure can be used in the VAD to help improve detection accuracy in random sound environments with very low SNR. Calculation of features such as spectral time modulation or amplitude modulation spectrograms can optionally be implemented in the VAD. Recently, several VAD methods based on complex statistical models have been developed to further increase accuracy in adverse SNR environments.
[0039] Initially, only data from the current analysis frame is used in the decision-making process. However, over time, it has been discovered that long-term histories of both speech and background noise characteristics can be used to increase the accuracy of VAD decisions. In an effort to move beyond dynamic thresholding based on averaging, more advanced classifiers, such as Gaussian mixture models or neural networks, can be trained to distinguish speech from noise based on the aforementioned features and statistics. Although the VAD output is binary, more complex approaches are possible, including applying static or dynamic thresholds to the speech presence probability. The goal of all these various techniques is to select thresholds that balance false detections, such as noise detected as speech and reverberation after speech has ended, with false rejections, such as front-end speech clipping and mid-speech clipping. In various embodiments, any or all of these or other additional techniques may be combined into the VAD 364.
[0040] In response to detecting speech or another non-stationary event, the EOC system 300 can slow down the adaptation of some or all of the controllable filters 318, or suspend adaptation altogether, for the duration of the frame in which the event was detected. The step size of the LMS algorithm controls the rate of adaptation. A smaller step size slows down the adaptation of the controllable filters 318 based on RPM and microphone input. Reducing the step size over the duration of a frame causes the controllable filters 318 to change less than they would otherwise due to the presence of these non-stationary inputs. Reducing the step size to zero effectively suspends the adaptation by preventing the controllable filters 318 from being adapted based on these non-stationary signals for the duration of the frame. Pausing or slowing the adaptation rate prevents the EOC system 300 from being misadapted, which in turn prevents noticeable fluctuations in the cabin such as speech-like post-echoes and / or engine-order noise.
[0041] In both real-world and textbook in-car noise cancellation systems, the LMS system adaptation rate is regulated not only by the step size but also by a normalized step size. In this system, the step size is divided by the amount of energy in the DSP frame relative to a sensor such as an error microphone. This approach can have several advantages, such as causing the system to adapt at the same rate in quiet or loud operating scenarios. Thus, in certain embodiments, loud speech can cause a simulated decrease in step size during the duration of the speech. However, the EOC system described in this disclosure allows the step size to be numerically reduced once a threshold has been exceeded, otherwise it does not. In one embodiment, these techniques can be used together to achieve a better-performing noise cancellation system.
[0042] Other equivalent methods of pausing adaptation for the duration of a frame may be employed, such as repeating the controllable filter 318 of the previous frame rather than updating the controllable filter based on an input frame containing a non-stationary event. In one or more embodiments, the signal analysis controller 362 may notify the LMS adaptive filter controller 320 when a non-stationary event such as speech is detected using the detection signal 366, e.g. Figure 3A In response to the detection signal 366, the adaptive filter controller 320 may modify the adaptation parameters to prevent or minimize misadaptation, such as by reducing the step size of its adaptation algorithm over the duration of the frame or non-stationary event.
[0043] As an alternative to using the detection signal 366 to modify the adaptation parameters, the signal analysis controller 362 may generate an adjusted error signal e'(n) in response to detecting a non-stationary event, such as Figure 3B . The adjusted error signal e'(n) may be the error microphone signal e(n) with the detected speech or other non-stationary input removed. By adaptively subtracting the speech signal from the error microphone signal, the EOC system will not attempt to cancel the frequencies of speech or other non-stationary noise that coincide in frequency with the engine order that the EOC system is attempting to cancel. Thus, the adjusted error signal e'(n) may prevent the controllable filter 318 from misadapting due to non-stationary or transient events, and may also prevent post-echoes such as speech. If speech, such as a non-stationary event, is not detected, the signal analysis controller 362 may not adjust the error signal e'(n), so that the error signal e(n) may be passed to the controllable filter 318 and / or the adaptive filter controller 320.
[0044] To remove or reduce speech, etc., from the error signal e(n), a single-microphone or multi-microphone noise suppression algorithm (such as those used in telephones) may be employed to generate a signal primarily containing speech. The speech component of the error microphone signal e(n) may then be removed by subtracting a speech signal representing non-stationary speech from the error microphone signal e(n) to obtain an adjusted error signal e'(n). While these single-microphone and multi-microphone noise suppression algorithms may have some latency, this is not critical to the performance of the EOC algorithm, especially when operating the vehicle at steady-state RPM, as this latency will only affect the updating of the W filter and will not delay the generation of the anti-noise itself. Completely removing speech from the error signal e(n) may be impossible and is not necessary to improve the performance of the EOC algorithm and prevent misadaptation.
[0045] Figure 4 4 is a flow chart depicting a method 400 for preventing misadaptation of a controllable filter in an EOC system due to non-stationary events, such as speech occurring in a passenger compartment of a vehicle. The various steps of the disclosed method can be performed by the signal analysis controller 362 alone or in conjunction with other components of the EOC system 300. In addition, a specific description of the method can be illustrated in conjunction with detecting speech or another non-stationary event, such as incoming wind or a passenger brushing against or bumping against the microphone 312, based on the error signal e(n) from the microphone 312.
[0046] At step 410, the EOC system 300 may receive a sensor signal, such as an error signal e(n), from at least one microphone 312. The EOC system 300 may also receive sensor signals from other acoustic sensors in the passenger compartment, such as an acoustic energy sensor, an acoustic intensity sensor, or an acoustic particle velocity or acceleration sensor. To this end, the signal analysis controller 362 may receive a set of samples of time data from the microphone 312. The set of samples of time data may form a digital signal processing (DSP) frame. In one embodiment, 64 time samples of the output from the sensor (i.e., the microphone 312) may form a single DSP frame. In alternative embodiments, more or fewer time samples may constitute a single frame.
[0047] At step 420, analysis of the sensor data within the frame may be performed. In various embodiments, this analysis may include calculating, extracting, or otherwise obtaining one or more parameters based on each frame of sensor data sampled from, for example, the error signal e(n). In one example, the signal analysis controller 362 may calculate a fast Fourier transform (FFT) of the frame to form a frequency domain representation of the input from the error microphone e(n). The analysis may also include evaluating the FFT in one or more frequency ranges or in separate frequency bins. For example, non-stationary transient events are typically short-duration pulses that appear as very wideband signals in the frequency domain. Therefore, the characteristics of many non-stationary event signals in the frequency domain are very different from those of steady-state vehicle signals. Therefore, obtaining parameters from the frame (such as the levels of one or more frequency ranges) and analyzing the parameters may enable detection of non-stationary events. In other examples, the analysis may also include calculating parameters such as the total energy within a DSP frame or the peak or highest amplitude of all time samples within the frame. Since the amplitude of the error microphone signal generated by non-stationary events is much higher than that generated by driving in a steady state, analyzing these parameters may also enable detection.
[0048] Step 420 may also include storing the parameters or error microphone data for the current frame for use in analyzing future frames of microphone data. This can aid in assessing and detecting non-stationary events that may include speech. In one embodiment, parameters or microphone data from the frame immediately preceding the current frame may be stored. In another embodiment, a statistical analysis may be performed on parameters obtained from multiple previous frames of microphone data to determine the threshold. For example, a short-term or long-term average of the parameters obtained from multiple previous frames may be calculated and stored as its own parameter for use as a threshold in step 430, or used to obtain a difference from the current frame for comparison with the threshold. In certain of these embodiments, a predetermined gain margin may be added to the average (or other statistical value) calculated from the multiple previous frames to form the threshold. This may include adding a gain margin of 20%, 50%, or 100% to the average or other statistical value. Thus, the average value from the multiple previous frames may be multiplied by a gain factor (e.g., 120%, 150%, 200%, etc.) to obtain the threshold. In other embodiments, other gain factors are possible. In another embodiment, the threshold value may be calculated using data from other sensors in the EOC system using any combination of the aforementioned threshold derivation techniques. Additionally, the threshold value may be derived by analyzing the current frame or one or more past frames of microphone data from any error microphone signal originating from other error microphones, or any combination thereof.
[0049] At step 430, the parameters calculated from the current frame of error microphone data may be directly compared to corresponding thresholds. If the parameters from the current frame exceed the thresholds, the signal analysis controller 362 may conclude that a non-stationary event has been detected. If the parameters from the current frame do not exceed the thresholds, the signal analysis controller 362 may conclude that a non-stationary event has not been detected. For example, the signal analysis controller 362 may calculate the energy in the current frame or the peak amplitude of the current frame and compare the energy value or peak amplitude to corresponding thresholds to determine whether a non-stationary event, such as speech, has occurred.
[0050] Alternatively, as previously described, a parameter calculated from the current frame of microphone data can be compared to a statistical value (e.g., an average value) of the same parameter from one or more previous frames of microphone data obtained from the same error microphone signal, one or more error microphone signals from other error microphones, or any combination thereof. The difference between the parameter and the statistical value for the current frame can then be compared to a threshold. If the difference exceeds the threshold, the signal analysis controller 362 can conclude that a non-stationary event has been detected. If the difference does not exceed the threshold, the signal analysis controller 362 can conclude that a non-stationary event has not been detected. For example, in one embodiment, the signal analysis controller 362 can calculate the energy in the current frame and compare it with the energy in the previous frame, noting that any difference exceeding a predetermined threshold can indicate a non-stationary signal, such as encountering a pothole. In another embodiment, the FFT of the current frame of the noise signal output from the noise signal generator can be calculated and compared with the FFT of the previous frame, noting that changes in the level of one or more FFT bins exceeding a predetermined threshold can also indicate a non-stationary signal.
[0051] In one or more embodiments, the threshold value may be a predetermined static threshold value set and programmed by trained engineers during the tuning of the EOC system and its corresponding algorithm. In alternative embodiments, the threshold value may be a dynamic threshold value calculated based on a statistical analysis of parameters obtained in one or more previous frames, as discussed above with respect to step 420. For example, the threshold value may be a short-term or long-term average of the parameter obtained from multiple previous frames. Additionally, the average value may be enhanced by a gain factor, as discussed previously, to establish a dynamic threshold value. In another embodiment, the threshold value may simply be the value of the parameter from a previous frame of time data, or the value may be multiplied by a gain factor.
[0052] The signal analysis controller 362 may also apply time thresholding in conjunction with the aforementioned variation of amplitude thresholding at step 430. For example, some impulsive non-stationary events result in high-amplitude output signals with durations of 1 ms to 100 ms. Thus, time thresholding may further aid in detecting non-stationary events. For example, an impulsive non-stationary event may be detected when the amplitude of a sample in the current frame exceeds an amplitude threshold for less than a predetermined time threshold.
[0053] As previously described, the signal analysis controller 362 may employ a voice activity detector (VAD) 364 to analyze the error signal e(n) for speech or other non-stationary signal components. The VAD may detect non-stationary events such as speech by analyzing the audio data frame by frame in step 420. A typical approach may include employing a peak tracker that determines the amplitude and number of peaks in a frame, and a valley tracker (or some other type of average RMS level detector). Speech may be detected when a specific number of peaks exceed the average RMS level by a specific amount within a specific duration. The parameters and thresholds used by the VAD 364 to determine whether speech has been detected are fully configurable.
[0054] Referring to step 440, when a non-stationary event is detected, the method may proceed to step 450, where adaptation parameters in the LMS algorithm are modified to prevent the EOC system from misadapting or diverging due to the non-stationary event. In one embodiment, the method may proceed to step 460, where the sensor signal (e.g., error signal e(n)) itself is modified to attempt to mask, reduce, or remove the non-stationary event and prevent misadaptation. However, when no non-stationary event is detected, the method may skip any adaptation parameter or signal modification and return to step 410, whereupon the process may be repeated for a new frame of sensor data. In one embodiment, both steps 450 and 460 may be performed to attempt to prevent misadaptation.
[0055] At step 450, after speech or another non-stationary event is detected, the adaptation parameters may be modified. Specifically, the step size of the LMS algorithm may be reduced. The step size of the LMS algorithm controls the adaptation rate. A smaller step size slows down the adaptation of the controllable filter 318 based on the microphone sensor input. In one or more embodiments, when a non-stationary event is detected using the detection signal 366, the signal analysis controller 362 may inform the LMS controller 320 so that the LMS controller may reduce the step size of its adaptation algorithm for the duration of the frame or non-stationary event. Reducing the step size for the duration of this frame may cause one or more of the controllable filters 318 to change less than they would otherwise have due to the presence of these speech or other non-stationary inputs. In certain embodiments, adaptation of one or more controllable filters may be completely suspended by reducing the step size to zero for the duration of the frame or by other techniques known to those skilled in the art. In one embodiment, the step size may be reduced for a duration greater than a frame in which a non-stationary event (such as speech) is detected. In certain implementations, modifying the adaptation parameters may include deactivating the EOC system for the duration of the frame.
[0056] In an alternative embodiment, at step 460, the sensor signal itself may be modified to mask the non-stationary event and prevent misadaptation based on transient non-stationary events. Figure 3B As described, the error signal e(n) may be modified to produce an adjusted error signal e'(n). The adjusted error signal e'(n) may be an error microphone signal e(n) in which detected speech or other non-stationary input has been removed using, for example, a noise suppression algorithm in the manner described in detail above. Additionally, if a frame containing a non-stationary event other than speech is detected and modified to remove non-stationary noise in a manner similar to the manner in which speech is removed from the error signal e(n), misadaptation due to this event may also be minimized or prevented. In one embodiment, the data in the current frame is replaced with a sample that is zero or contains an average of one or more previous frames. In one embodiment, an alternative error signal e(n) from a different system microphone may be used in place of the error signal e(n) containing the non-stationary event to form the adjusted error signal e'(n).
[0057] In some embodiments, a more complex solution is possible in which the error signal e(n) is modified only during the duration of the non-stationary event. This can further mask any effects of the non-stationary event. Other techniques are possible, such as repeatedly outputting the previous frame of the error signal without modifying it. The adjusted error signal e'(n) can then be supplied to the bandpass filter 350 or the adaptive filter controller 320 for use in adapting the controllable filter 318 with minimal effects from passenger speech or other non-stationary noise events.
[0058] If the non-stationary event is not completely eliminated in the adjusted error signal e'(n), additional measures can be taken after the speech or non-stationary event ends to speed up readjustment to improve EOC performance. In one embodiment, the step size of one or more adjustable W filters can be increased. This step size increase can last for one or more frames, or until the system has been re-adapted to restore pre-non-stationary event noise cancellation performance. In one embodiment, leakage can be increased for the duration of one or more frames to try to more quickly reduce the effects of misadaptation on the W filters.
[0059] Although Figure 1 as well as Figures 3A to 3B While LMS-based adaptive filter controllers 120 and 320 are shown, other methods and devices for adapting or creating optimal controllable W filters 118 and 318 are possible. For example, in one or more embodiments, a neural network may be employed to create and optimize the W filter in place of the LMS adaptive filter controller. In other embodiments, machine learning or artificial intelligence may be employed to create the optimal W filter in place of the LMS adaptive filter controller.
[0060] In the foregoing description, the inventive subject matter has been described with reference to specific exemplary embodiments. However, various modifications and changes may be made without departing from the scope of the inventive subject matter as set forth in the claims. The description and drawings are illustrative rather than restrictive, and modifications are intended to be included within the scope of the inventive subject matter. Therefore, the scope of the inventive subject matter should be determined by the claims and their legal equivalents, rather than merely by the described examples.
[0061] For example, the steps recited in any method or process claim may be performed in any order and are not limited to the specific order presented in the claim. Filters may be used to implement equations to minimize the effects of signal noise. Additionally, the components and / or elements recited in any apparatus claim may be assembled or otherwise operatively configured in a variety of arrangements and are therefore not limited to the specific configuration recited in the claim.
[0062] Those skilled in the art will appreciate that functionally equivalent processing steps can be performed in the time domain or the frequency domain. Thus, while not explicitly stated for each signal processing block in the accompanying figures, signal processing can occur in the time domain, the frequency domain, or a combination thereof. Furthermore, while the various processing steps are explained using typical terminology of digital signal processing, equivalent steps can be performed using analog signal processing without departing from the scope of this disclosure.
[0063] The benefits, advantages, and solutions to problems have been described above with respect to specific embodiments. However, any benefit, advantage, solution to a problem, or any element that may cause any particular benefit, advantage, or solution to occur or become more prominent should not be construed as a critical, required, or essential feature or component of any or all the claims.
[0064] The terms "comprise," "comprises," "comprising," "having," "including," "includes," or any variations thereof are intended to refer to a non-exclusive inclusion, such that a process, method, article, composition, or apparatus that comprises a list of elements includes not only those elements recited but may also include other elements not expressly listed or inherent to such process, method, article, composition, or apparatus. Other combinations and / or modifications of the above-described structures, arrangements, applications, proportions, elements, materials, or components (as well as those not specifically recited) used in practicing the inventive subject matter may be changed or otherwise specifically adapted according to particular environments, manufacturing specifications, design parameters, or other operating requirements without departing from the general principles thereof.
Claims
1. A method for preventing misadaptation in a feed-forward engine order noise cancellation (EOC) system, the method comprising: adjusting an adaptive transfer characteristic based on a noise signal received from a noise signal generator, an error signal received from a microphone positioned in a cabin of the vehicle, and an adaptation parameter; generating an anti-noise signal based in part on the adaptive transfer characteristic, the anti-noise signal to be emitted by a speaker as anti-noise within the cabin of the vehicle; detecting non-stationary events based on signal parameters sampled from frames of the error signal; modifying at least one of the adaptation parameter and the error signal for a duration of the frame in response to detecting the non-stationary event; as well as The error signal is modified by removing non-stationary noise indicated by the detected non-stationary event to generate an adjusted error signal, wherein the non-stationary noise is indicative of speech.
2. The method of claim 1 , wherein detecting a non-stationary event based on signal parameters sampled from frames of the error signal comprises: comparing at least one signal parameter of a current frame of the error signal with a threshold; as well as The non-stationary event is detected when the at least one signal parameter exceeds the threshold.
3. The method of claim 2, wherein the signal parameter is one of a peak amplitude of the error signal sampled in the frame and an energy value per frame.
4. The method of claim 2, wherein the threshold is a predetermined static threshold programmed for the EOC system.
5. The method of claim 2, wherein the threshold is a dynamic threshold calculated based on a statistical analysis of the at least one signal parameter in one or more previous frames of the error signal.
6. The method of claim 1 , wherein detecting a non-stationary event based on signal parameters sampled from frames of the error signal comprises: applying a peak tracker and a valley tracker to a current frame of the error signal using a voice activity detector to determine an amplitude and a number of peaks in the current frame; as well as The presence of speech is detected when a predetermined number of peaks exceeds a predetermined value within a predetermined duration.
7. The method of claim 1 , wherein modifying the adaptation parameter comprises: The adaptation rate of one or more controllable filters is reduced.
8. The method of claim 1 , wherein modifying the adaptation parameter comprises: Adaptation of one or more controllable filters is suspended by reducing the adaptation rate of the controllable filters to zero.
9. The method of claim 1 , wherein modifying the adaptation parameter comprises: The EOC system is deactivated for the duration of the frame.
10. An engine order noise cancellation (EOC) system, comprising: a noise signal generator adapted to generate a noise signal in response to an input; a controllable filter adapted to generate an anti-noise signal based in part on the adaptive transfer characteristic, the anti-noise signal to be emitted by the speaker as anti-noise within a cabin of the vehicle; an adaptive filter controller comprising a processor and a memory, the adaptive filter controller being programmed to control the adaptive transfer characteristic of the controllable filter based on the noise signal received from the noise signal generator, an error signal received from a microphone positioned in the cabin of the vehicle, and an adaptation parameter; and A signal analysis controller, comprising a processor and a memory, wherein the signal analysis controller is programmed to: detecting a non-stationary event based on parameters sampled from a current frame of the error signal; and modifying at least one of the adaptation parameter and the error signal in response to detecting the non-stationary event within the duration of the current frame; The error signal is modified by removing non-stationary noise indicated by the detected non-stationary event to generate an adjusted error signal, wherein the non-stationary noise is indicative of speech.
11. The EOC system of claim 10, wherein the adaptation parameter determines a rate of change of the adaptive transfer characteristic of the controllable filter.
12. The EOC system of claim 11, wherein the signal analysis controller is programmed to modify the adaptation parameter by reducing an adaptation rate of the controllable filter.
13. The EOC system of claim 10, further comprising a voice activity detector in communication with the signal analysis controller, the voice activity detector detecting speech present in the error signal, wherein the non-stationary event comprises the speech.
14. The EOC system of claim 13, wherein the voice activity detector is configured to determine a zero crossing rate in a current frame of the error signal.
15. The EOC system of claim 10, wherein the signal analysis controller is programmed to detect non-stationary events by comparing at least one signal parameter of the current frame of each error signal to a threshold value based on parameters sampled from the current frame of the error signal.
16. The EOC system of claim 10, wherein the noise signal generator comprises an RPM sensor, a lookup table, and a frequency generator.
17. A computer program product embodied in a non-transitory computer-readable medium programmed for engine order noise cancellation (EOC), the computer program product comprising instructions for: receiving a noise signal from at least one noise signal generator; generating an anti-noise signal to be emitted by a speaker as anti-noise within a cabin of the vehicle, the anti-noise signal being generated by at least one controllable filter based in part on the noise signal from the at least one noise signal generator; receiving an error signal from at least one microphone positioned in the cabin of the vehicle; detecting non-stationary events based on signal parameters sampled from frames of at least one error signal; as well as In response to detecting the non-stationary event, the anti-noise signal is modified over a duration of the frame by removing non-stationary noise indicated by the detected non-stationary event to obtain an adjusted error signal, wherein the non-stationary noise indicates speech.
18. The computer program product of claim 17, wherein the instructions for modifying the anti-noise signal include modifying an adaptation parameter that controls an adaptation rate of the controllable filter.
Citation Information
Patent Citations
Engine order and road noise control
CN108140376A
Voice signal detection system and method
EP1780704A1
Engine harmonic cancelling system and operating method thereof
WO2011112417A1
Cited By
Noise control system, non-transitory computer-readable recording medium including a program, and noise control method
US12603076B2
Noise control system, non-transitory computer-readable recording medium including a program, and noise control method
US20240296823A1