Voice echo suppression in engine order cancellation systems
View Patent ↗Engine order cancellation (EOC) systems generate feed forward noise signals based on the engine or other rotating shaft RPM and use those signals and adaptively configured W-filters to reduce the in-cabin SPL by radiating anti-noise through speakers. An EOC system may include a signal analysis controller for detecting non-stationary events, such as speech, based on parameters sampled from a current frame of error signals output from microphones positioned in various locations of a vehicle passenger cabin. Upon detection, the signal analysis controller may mitigate the effects of the non-stationary event to prevent the EOC system from boosting noise or contributing to a speech-like post-echo in the passenger cabin. For example, if speech is detected in a frame, then the adaptation can be frozen for that frame. Alternatively, the signal analysis controller may adaptively subtract voice signals out of the error microphone signal.
1. A method for preventing mis-adaptation in a feed-forward engine order 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 located in a cabin of a vehicle, and an adaptation parameter;
generating an anti-noise signal based in part on the adaptive transfer characteristic, the anti-noise signal to be radiated by a speaker as anti-noise within the cabin of the vehicle;
detecting a non-stationary event based on signal parameters sampled from a frame of the error signal; and
modifying the adaptation parameter for a duration of the frame in response to detecting the non-stationary event.
2. The method of claim 1 , wherein detecting a non-stationary event based on signal parameters sampled from a frame of the error signal comprises:
comparing at least one signal parameter of a current frame for the error signal to a threshold; and
detecting the non-stationary event 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 of each 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 computed from a statistical analysis of the at least one signal parameter in one or more preceding frames of the error signal.
6. The method of claim 1 , wherein detecting a non-stationary event based on signal parameters sampled from a frame of the error signal comprises:
applying a peak tracker and a valley tracker, using a voice activity detector, to a current frame of the error signal to determine the amplitude and number of peaks in the current frame; and
detecting a presence of speech when a predetermined number of peaks exceed a predetermined value over a predetermined duration.
7. The method of claim 1 , wherein modifying an adaption parameter includes reducing a rate of adaptation of one or more controllable filters.
8. The method of claim 1 , wherein modifying an adaption parameter includes pausing adaptation of one or more controllable filters by reducing a rate of adaptation of the controllable filters to zero.
9. The method of claim 1 , wherein modifying an adaption parameter includes deactivating the EOC system for the duration of the frame.
10. An engine order cancellation (EOC) system comprising:
a noise signal generator, having a frequency 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 an adaptive transfer characteristic, the anti-noise signal to be radiated by a speaker as anti-noise within a cabin of a vehicle;
an adaptive filter controller, including a processor and 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 located in the cabin of the vehicle, and an adaptation parameter; and
a signal analysis controller, including a processor and memory, programmed to:
detect a non-stationary event based on parameters 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.
11. The EOC system of claim 10 , wherein the adaptation parameter determines a rate of change of the adaptive transfer characteristic for the controllable filter.
12. The EOC system of claim 11 , wherein the signal analysis controller is programmed to modify the adaption parameter by reducing a rate of adaptation of the controllable filters.
13. The EOC system of claim 10 , wherein the signal analysis controller is programmed to modify the error signal by removing non-stationary noise indicated by the non-stationary event to generate an adjusted error signal.
14. The EOC system of claim 10 , further comprising a voice activity detector in communication with the signal analysis controller that detects speech present in the error signal, wherein the non-stationary event includes the speech.
15. The EOC system of claim 14 , wherein the voice activity detector is configured to determine a zero-crossing rate in the current frame of the error signal.
16. The EOC system of claim 10 , wherein the signal analysis controller is programmed to detect a non-stationary event based on parameters sampled from a current frame of the error signal by comparing at least one signal parameter of a current frame for each error signal to a threshold.
17. The EOC system of claim 10 , wherein the noise signal generator further includes an RPM sensor and a lookup table.
18. A non-transitory computer readable medium storing instructions for engine order cancellation (EOC), the instructions comprising:
one or more instructions that, when executed by one or more processors, cause the one or more processors to:
receive noise signals from at least one noise signal generator;
generate an anti-noise signal to be radiated by a speaker as anti-noise within a cabin of a vehicle, the anti-noise signal being generated by at least one controllable filter based in part on the noise signals from the at least one noise signal generator;
receive error signals from at least one microphone located in the cabin of the vehicle;
detect a non-stationary event based on signal parameters sampled from a frame of at least one error signal; and
modify the anti-noise signal for the duration of the frame in response to detecting the non-stationary event.
19. The non-transitory computer readable medium of claim 18 , wherein the one or more instructions, that cause the one or more processors to modify the anti-noise signal for the duration of the frame in response to detecting the non-stationary event, cause the one or more processors to:
modify an adaptation parameter that controls a rate of adaptation of the controllable filter.
20. The non-transitory computer readable medium of claim 18 , wherein the one or more instructions, that cause the one or more processors to modify the anti-noise signal for the duration of the frame in response to detecting the non-stationary event, cause the one or more processors to:
modify the error signal by removing non-stationary noise indicative of the non-stationary event to obtain an adjusted error signal.