IP Library Granted Patent US 8,520,861
Granted Patent B2
US 8,520,861 · App. 11/131,150 · Granted Aug 27, 2013

Signal processing system for tonal noise robustness

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,520,861
App. No.
11/131,150
Granted
Aug 27, 2013
Kind
B2
Abstract

A processing system generates an output signal which includes desired signal components, and reduces or eliminates tonal noise. The output signal may be provided to any subsequent signal processing system, including voice recognition systems, pitch detectors, and other processing systems. The subsequent processing systems are less likely to mistake tonal input signal noise for desired signal content, to needlessly consume computational resources to analyze noise, and to take spurious actions induced by the tonal noise.

Claims (81)

1. A signal pre-processing method comprising:

obtaining an input signal comprising a tonal noise peak;

smoothing the input signal in a frequency-based direction to attenuate the tonal noise peak in the input signal and obtain a smoothed signal, where smoothing the input signal comprises:

determining a first windowed average of the input signal to obtain a first averaged signal;

determining a second windowed average of the first averaged signal by selecting a window of signal components starting at an index point in the first averaged signal;

comparing at least one of the signal components to the first windowed average of the input signal at the index point to identify an outlying signal component that exceeds the first windowed average of the input signal at the index point; and

excluding the outlying signal component in determining the second windowed average;

obtaining a background noise estimate; and

blending the smoothed signal with the input signal based on the background noise estimate to obtain an output signal, where blending comprises:

outputting the input signal as the output signal in response to a determination that the background noise estimate satisfies a first predetermined condition; and

outputting the smoothed signal as the output signal in response to a determination that the background noise estimate satisfies a second predetermined condition different than the first predetermined condition.

2. The method of claim 1 , where:

smoothing the input signal comprises attenuating tonal noise in the input signal.

3. The method of claim 2 , where:

obtaining the input signal comprises obtaining an input signal comprising tonal noise and desired signal peaks; and

where smoothing the input signal further comprises attenuating the desired signal peaks to obtain the smoothed signal.

4. The method of claim 1 , where blending comprises forming a signal-to-noise ratio weighted mix of the input signal and the smoothed signal.

5. A signal processing system comprising:

a memory comprising:

a smoothing program which smoothes an input signal in a frequency-based direction by applying an attenuation to a tonal noise peak in the input signal to obtain a smoothed signal, where the attenuation comprises a windowed average of the input signal, where the smoothing program compares signal components of the input signal to a magnitude threshold to identify an outlying signal component that exceeds the magnitude threshold, and where the smoothing program excludes the outlying signal component in determining the windowed average;

a background noise estimate; and

a blending program which combines the smoothed signal with the input signal based on the background noise estimate to produce an output signal, where the blending program comprises a first blending rule configured to output the input signal as the output signal in response to a determination that the background noise estimate satisfies a first predetermined condition; and where the blending program comprises a second blending rule configured to output the smoothed signal as the output signal in response to a determination that the background noise estimate satisfies a second predetermined condition different than the first predetermined condition; and

a processor coupled to the memory which executes the smoothing program and blending program.

6. The system of claim 3 , where the attenuation comprises a two-pass windowed average of the input signal.

7. The system of claim 5 , where the attenuation comprises a two-pass windowed average of the input signal, excluding outlying signal components during a second pass of the two-pass windowed average.

8. The system of claim 5 , where the blending program implements the first blending rule when a signal-to-noise estimate based on the background noise estimate is greater than an upper threshold.

9. The system of claim 5 , where the blending program implements the second blending rule when a signal-to-noise estimate based on the background noise estimate is less than a lower threshold.

10. The system of claim 5 , where the blending program comprises a third blending rule configured to set the output signal by applying a blending function of the input signal and the smoothed signal, when a signal-to-noise estimate based on the background noise estimate falls between an upper SNR threshold and a lower SNR threshold.

11. The system of claim 10 , where the blending function comprises a linear weighted average of the input signal and the smoothed signal.

12. A signal pre-processing system comprising:

a memory comprising:

an input signal representation comprising tonal noise peaks and desired signal peaks;

a background noise estimate;

a signal-to-noise ratio (SNR) estimate based on the input signal representation and the background noise estimate;

a multi-pass windowing program operable to successively apply averaging windows to the input signal representation to smooth the input signal representation in a frequency-based direction to attenuate the tonal noise peaks and the desired signal peaks and obtain a smoothed signal representation;

an upper SNR threshold;

a lower SNR threshold;

a blending program for generating an output signal component from an input signal component of the input signal representation and a smoothed signal component of the smoothed signal representation, the blending program implementing at least the following blending rules:

set the output signal component to the input signal component, when the SNR estimate is greater than the upper SNR threshold;

set the output signal component to the smoothed signal component, when the SNR estimate is less than the lower SNR threshold; and

set the output signal component by applying a blending function of the input signal component and the smoothed signal component, when the SNR estimate falls between the upper SNR threshold and the lower SNR threshold; and

a processor coupled to the memory which executes the multi-pass windowing program and the blending program.

13. The system of claim 12 , where the averaging windows comprise a first length averaging window and a different second length averaging window.

14. The system of claim 13 , where the different second length averaging window is longer than the first length averaging window, and where the multi-pass windowing program excludes an outlying signal component during application of the longer second length averaging window.

15. The system of claim 14 , where the outlying signal component exceeds an averaged signal level obtained through application of the first length averaging window.

16. The system of claim 12 , where the blending function is a linearly dependent mix of the smoothed signal component and the input signal component.

17. The system of claim 13 , where the different second length averaging window is shorter than the first length averaging window.

18. A product comprising: a non-transitory machine readable medium

a machine readable medium; and

instructions stored on the medium that cause a processing system to:

obtain a background noise estimate;

smooth an input signal in a frequency-based direction to attenuate tonal noise peaks in the input signal to obtain a smoothed signal, where the instructions which attenuate tonal noise peaks comprise instructions that cause the processing system to:

determine a first windowed average of the input signal to obtain a first averaged signal;

determine a second windowed average of the first averaged signal by selecting a window of signal components starting at an index point in the first averaged signal;

compare at least one of the signal components to the first windowed average of the input signal at the index point to identify an outlying signal component that exceeds the first windowed average of the input signal at the index point; and

exclude the outlying signal component in determining the second windowed average; and

apply blending rules to combine the smoothed signal with the input signal, based on the background noise estimate, to form an output signal, where the blending rules comprise a first blending rule configured to output the input signal as the output signal in response to a determination that the background noise estimate satisfies a first predetermined condition; and where the blending rules comprise a second blending rule configured to output the smoothed signal as the output signal in response to a determination that the background noise estimate satisfies a second predetermined condition different than the first predetermined condition.

19. The product of claim 18 , where the instructions which attenuate the peaks comprise:

instructions which attenuate tonal noise peaks and desired signal peaks.

20. The product of claim 18 , where the instructions which attenuate peaks comprise:

windowed averaging instructions.

21. The product of claim 18 , where the instructions which attenuate peaks comprise:

multiple-pass windowed averaging instructions.

22. The product of claim 18 , where the instructions which attenuate peaks comprise:

multiple-pass windowed averaging instructions which discard outlying signal components.

23. The product of claim 22 , where the outlying signal samples comprise tonal noise peak components and desired signal peak components.

24. The product of claim 18 , where the instructions which apply the blending rules comprise:

instructions which form a signal-to-noise ratio weighted mix of the input signal and the smoothed signal.

25. The product of claim 24 , where the medium further comprises instructions which determine a signal-to-noise (SNR) measure based on the background noise estimate and the input signal, and where the weighted mix comprises:

y =(1−(SNR/(upper−lower)))* s +(SNR/(upper−lower))* x , where:

‘y’ is an output signal component, ‘s’ is a smoothed signal component, ‘x’ is an input signal component, ‘upper’ is an upper SNR threshold, ‘lower’ is a lower SNR threshold, and ‘SNR’ is the SNR measure.

26. The method of claim 1 , where blending comprises mixing the smoothed signal with the input signal by a processor configured to generate the output signal with one or more first portions set to the input signal or an average of the input signal and the smoothed signal, and one or more second portions set to the smoothed signal or an average of the input signal and the smoothed signal.

27. The system of claim 12 , where the output signal comprises one or more first portions set to the input signal or an average of the input signal and the smoothed signal, and one or more second portions set to the smoothed signal or an average of the input signal and the smoothed signal.

28. The method of claim 1 , where smoothing the input signal comprises smoothing the input signal by a processor configured to execute a smoothing program stored in a non-transitory computer-readable medium.

29. The method of claim 1 , where the determination that the background noise estimate satisfies the first predetermined condition comprises a determination that a signal-to-noise estimate based on the background noise estimate is greater than an upper SNR threshold;

where the determination that the background noise estimate satisfies the second predetermined condition comprises a determination that a signal-to-noise estimate based on the background noise estimate is less than a lower SNR threshold; and

where blending the smoothed signal with the input signal further comprises:

setting the output signal by applying a blending function of the input signal and the smoothed signal, when a signal-to-noise estimate falls between the upper SNR threshold and the lower SNR threshold.

30. The system of claim 5 , where the smoothing program determines a first windowed average of the input signal to obtain a first averaged signal, where the smoothing program determines a second windowed average of the first averaged signal by selecting a window of signal components starting at an index point in the first averaged signal, where the smoothing program compares at least one of the signal components to the first windowed average of the input signal at the index point to identify an outlying signal component that exceeds the first windowed average of the input signal at the index point, where the smoothing program excludes the outlying signal component in determining the second windowed average, and where the blending program uses the second windowed average as the smoothed signal.

31. The system of claim 12 , where the smoothed signal representation comprises a multi-pass windowed average of the input signal representation, where the multi-pass windowing program compares signal components of the input signal to a magnitude threshold to identify an outlying signal component that exceeds the magnitude threshold, and where the multi-pass windowing program excludes the outlying signal component in determining the multi-pass windowed average.

32. The system of claim 12 , where the multi-pass windowing program determines a first windowed average of the input signal representation to obtain a first averaged signal, where the multi-pass windowing program determines a second windowed average of the first averaged signal by selecting a window of signal components starting at an index point in the first averaged signal, where the multi-pass windowing program compares at least one of the signal components to the first windowed average of the input signal at the index point to identify an outlying signal component that exceeds the first windowed average of the input signal at the index point, where the multi-pass windowing program excludes the outlying signal component in determining the second windowed average, and where the blending program uses the second windowed average as the smoothed signal representation.

Assignments (9)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2020
From: 2236008 ONTARIO INC.
To: BLACKBERRY LIMITED
Reel/Frame 053313/0315 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2014
From: 8758271 CANADA INC.
To: 2236008 ONTARIO INC.
Reel/Frame 032607/0674 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2014
From: QNX SOFTWARE SYSTEMS LIMITED
To: 8758271 CANADA INC.
Reel/Frame 032607/0943 →
CHANGE OF NAME Recorded Feb 27, 2012
From: QNX SOFTWARE SYSTEMS CO.
To: QNX SOFTWARE SYSTEMS LIMITED
Reel/Frame 027768/0863 →
CONFIRMATORY ASSIGNMENT Recorded Jul 9, 2010
From: QNX SOFTWARE SYSTEMS (WAVEMAKERS), INC.
To: QNX SOFTWARE SYSTEMS CO.
Reel/Frame 024659/0370 →
PARTIAL RELEASE OF SECURITY INTEREST Recorded Jun 3, 2010
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: HARMAN INTERNATIONAL INDUSTRIES, INCORPORATED; QNX SOFTWARE SYSTEMS (WAVEMAKERS), INC.; QNX SOFTWARE SYSTEMS GMBH & CO. KG
Reel/Frame 024483/0045 →
SECURITY AGREEMENT Recorded May 8, 2009
From: HARMAN INTERNATIONAL INDUSTRIES, INCORPORATED; BECKER SERVICE-UND VERWALTUNG GMBH; CROWN AUDIO, INC.; HARMAN BECKER AUTOMOTIVE SYSTEMS (MICHIGAN), INC.; HARMAN BECKER AUTOMOTIVE SYSTEMS HOLDING GMBH; HARMAN BECKER AUTOMOTIVE SYSTEMS, INC.; HARMAN CONSUMER GROUP, INC.; HARMAN DEUTSCHLAND GMBH; HARMAN FINANCIAL GROUP LLC; HARMAN HOLDING GMBH & CO. KG; HARMAN MUSIC GROUP, INCORPORATED; HARMAN SOFTWARE TECHNOLOGY INTERNATIONAL BETEILIGUNGS GMBH; HARMAN SOFTWARE TECHNOLOGY MANAGEMENT GMBH; HBAS INTERNATIONAL GMBH; HBAS MANUFACTURING, INC.; INNOVATIVE SYSTEMS GMBH NAVIGATION-MULTIMEDIA; JBL INCORPORATED; LEXICON, INCORPORATED; MARGI SYSTEMS, INC.; QNX SOFTWARE SYSTEMS (WAVEMAKERS), INC.; QNX SOFTWARE SYSTEMS CANADA CORPORATION; QNX SOFTWARE SYSTEMS CO.; QNX SOFTWARE SYSTEMS GMBH; QNX SOFTWARE SYSTEMS GMBH & CO. KG; QNX SOFTWARE SYSTEMS INTERNATIONAL CORPORATION; QNX SOFTWARE SYSTEMS, INC.; XS EMBEDDED GMBH (F/K/A HARMAN BECKER MEDIA DRIVE TECHNOLOGY GMBH)
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 022659/0743 →
CHANGE OF NAME Recorded Nov 14, 2006
From: HARMAN BECKER AUTOMOTIVE SYSTEMS - WAVEMAKERS, INC.
To: QNX SOFTWARE SYSTEMS (WAVEMAKERS), INC.
Reel/Frame 018515/0376 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2005
From: ESCOTT, ALEX; HETHERINGTON, PHILLIP A.
To: HARMAN BECKER AUTOMOTIVE SYSTEMS-WAVEMAKERS, INC.
Reel/Frame 016587/0849 →