The present invention relates generally to noise blankers and more specifically to noise blankers using an adaptive all-pole predictor and method thereof.
Automobile engines generate ignition noise that can be picked by radio receivers. The ignition noise is typically in the form of broadband spikes that cause audible effects that can be heard on the radio speakers. The frequency of ignition noise can be within a range of about zero hertz (Hz) to about 6 kilo hertz (KHz). When a received RF signal is relatively strong, ignition noise effects are negligible. A noise blanker is included in radios to reduce the effects of ignition noise. When a received RF signal is weak, effects of the ignition noise are more significant. When the RF level is very low, too much miss firing of the FM blanker may also cause audible effects. Non-ideal radio channel effects will affect the performance of an FM noise blanker, such as adjacent interference, multipath echo, etc. Some prior art noise blankers use previously stored samples to substitute for noise-corrupted samples. However, this technique for removing noise spikes reduces fidelity of the audio signal. Therefore, it would be desirable to have a radio receiver that removes noise spikes without affecting the fidelity of the audio signal.
The present invention is illustrated by way of example and not limitation in the accompanying figures, in which like references indicate similar elements, and in which:
Skilled artisans appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help improve the understanding of the embodiments of the present invention.
Generally, the present invention provides a noise controller that reduces the effect of ignition noise on a received FM signal by using an all-pole prediction algorithm to generate a predicted signal segment to replace the noise-corrupted signal segment. The all-pole prediction algorithm takes a sample of a previously demodulated signal and models a new demodulated signal segment using the all-pole prediction algorithm. The all-pole prediction algorithm uses includes a least means squared (LMS) algorithm to minimize error between the received original signal and the predicted signal. Using an all-pole prediction algorithm to predict a new demodulated signal segment to replace the noise corrupted segment provides higher fidelity over prior art noise blankers. Using an LMS algorithm to minimize prediction error allows the all-pole predictor to be more easily implemented compared to the traditional all-pole prediction technique that requires a calculation of second-order statistics and matrix inverse.
Noise controller 10 receives a multiplex signal MPX at a sample rate of 960 KS/s. The multiplex signal MPX corresponds to a received FM signal that may be corrupted with ignition noise. Within noise controller 10, the MPX signal is received at an input of decimator 14 which downsamples, or divides, the sample rate of the MPX signal by two. The MPX signal is also provided to decimator 16 via delay element 18. Decimator 16 also downsamples the MPX signal by two. Polyphase component 22 has an input coupled to an output of decimator 14, and an output coupled to an input terminal of summation element 28. Polyphase component 24 has input coupled to the output of decimator 14 via delay element 20. An output of polyphase component 24 is provided to inputs of both of summation elements 28 and 30. Polyphase component 26 has an input coupled to an output of decimator 16, and an output coupled to an input of summation element 30. As indicated in
A conventional polyphase filter for decimation by two is implemented using the following equation:
The 0th polyphase component of the decimation filter can be further decomposed as following,
Polyphase filter 12 is modified to obtain a bandpass filter to extract USN information, and the original lowpass filter is modulated by cos(πn/2) in order to frequency-shift this lowpass filter to a high enough frequency. The resultant bandpass filter plus decimation by two can be represented by the following equation:
HBPF(z)=Ĥ0(zeiπn)=H0(z)−z−1H1(z)
USN information can be extracted using the modified poly-phase decimation structure with only one more subtraction. This reduces DSP implementation cost compared to the case that an extra bandpass filter has to be implemented to obtain USN (ultrasonic noise) signal.
The output of decimator 32 is a 240 KS/s signal having an ultrasonic noise component labeled “USN”. The USN signal is inputted to noise detector 34. Noise detector 34 uses the USN signal to detect the occurrence of noise above a predetermined threshold. To detect noise, the USN signal is first provided to absolute value calculator 44 and is lowpass filtered by LPF 46. A noise threshold value labeled THRESHOLD is multiplied by the output of absolute value calculator 44 and provided as an input to comparator 48. The output of LPF 46 is provided as a second input to comparator 48. Comparator 48 compares the noise threshold to the absolute value. If the signal output of multiplier 42 is lower than the output of LPF 46, a noise spike is detected. Otherwise, a noise spike is not detected.
The output of summation element 30 is lowpass filtered by LPF 36 and downsampled by two using decimator 38 to provide a signal labeled “MPX1”. The MPX1 signal is provided as an input to noise blanker 40. Also, a control signal labeled “CONTROL” is provided by noise detector 34 via delay element 50. When activated by the control signal CONTROL, noise blanker 40 generates a new predicted signal, that was generated during a training mode of noise blanker 40, and substitutes the new predicted signal for the noisy signal. This has the effect of removing the noise spike from the MPX1 signal, and providing a corresponding MPX signal labeled “MPX2” with a relatively small amount of signal distortion. When a spike is detected, the output of comparator 48 will be provided to switch 47. Switch 47 is controlled by counter 49 and prevents another spike from activating noise blanker 40 before a predetermined time as indicated by a preprogrammed count value in counter 49. Counter 49 and switch 47 are provided because blanking too frequently will cause significant distortion in the signal.
Noise blanker 40 is an adaptive all-pole predictor used to suppress impulse-type noise effects on audio output in a digitized intermediate frequency (DIF) radio. Noise blanker 40 provides the benefit of better audio quality compared to the prior art noise blankers because the all-pole prediction algorithm more closely approximates the received signal. As illustrated in
An all-pole model is used to model the MPX signal at 240 KS/s. Different from a traditional method to obtain those model coefficients, an adaptive algorithm is designed to adjust the model coefficients dynamically.
The spike-corrupted MPX signal at 240 KS/s is can be represented by
y(n)=d(n)+Spike(n), (1)
where d(n) is the original MPX signal from the transmitter, and Spike(n) is the impulse noise caused by ignition noise.
The function of noise detector 34 is to detect when the original MPX signal is corrupted by ignition noise and the function of noise blanker 40 is to replace the spike-distorted signal with samples predicted from previously received good samples.
If we use an all-pole model to model the MPX signal, we have
where {a(i), i=1, 2, . . . p} are the model coefficients that are updated by coefficient updaters 66, 68, and 70. Minimized Mean Squared Error (MMSE) is used in noise blanker 40,
where y(n) is the MPX signal as shown above. To find the solution, set the partial derivative with respect to a(i) to zero as shown in equations 4 and 5.
To simplify the digital signal processor (DSP) calculations, an adaptive algorithm is used to adjust the model by updating the coefficients as illustrated in the following equation 6.
In the above equation 6, μ is a constant. Also, to reduce the costs, we can use sample-mean instead of statistic mean to approximate equation (5),
So updating equation (6) with equation (7) becomes
an+1(i)=an(i)−μ×(ŷ(n)−y(n))×ŷ(n−i) (8)
When there is not any impulse interference present to cause noise blanker 40 to operate in prediction mode, control signal CONTROL causes noise blanker 40 to operate in training mode. In training mode, the original MPX signal is used to train the All-Pole Model as implemented in
In equation 9, function {y(n)} is the original received MPX signal at 240 KS/s, and {an(i), i=1, 2, . . . p} are the model coefficients at the time index n. When spikes are detected by the noise detector 34, the trained All-Pole model starts to generate predictions to replace the originally corrupted MPX signal samples, where
Generally, noise blanker 106 requires less complexity to implement than noise blanker 40 because the sampling rate of noise blanker 106 is much lower than the sampling rate of noise blanker 40. Also, noise blanker 106 provides a multiplex signal with higher fidelity than noise blanker 40 because noise blanker 106 uses lower frequency components than noise blanker 40, and only the audio signal is predicted having relatively low frequencies. The operation of noise blanker 106 will be described in more detail in the discussion of
Generally, noise blanker 106 generates updated coefficients in a manner similar to noise blanker 40. However, instead of detecting ultrasonic noise (USN) to control the training and predicting modes, noise blanker 106 uses a prediction error generated by subtracting an output of the noise blanker from the original input MPX signal. The prediction error is used to detect ignition noise. When there is no ignition noise, the prediction error is a “white noise” type of signal. When ignition noise is present, the noise spikes appear in the error signal because, by their nature, cannot be predicted by noise blanker 40.
Noise blanker 106 generates updated coefficients in the same manner as noise blanker 40. Noise blanker 106 is an adaptive all-pole predictor used to suppress impulse-type noise effects on audio output in a digitized intermediate frequency (DIF) radio. Noise blanker 106 provides the benefit of better audio quality compared to prior art impulse noise blanker as used in FM/AM radio. As illustrated in
An all-pole model is used to model the LPR1 signal at 48 KS/s. This is different from a traditional method to obtain those model coefficients. An adaptive algorithm is designed to adjust the model, or prediction, coefficients dynamically.
The spike-corrupted LPR1 signal at 48 KS/s is
y(n)=d(n)+Spike(n), (11)
where d(n) is the original LPR1 signal from the transmitter, and Spike(n) is the impulse noise caused by ignition noise.
The function of noise detector 34 is to detect when the original MPX signal is corrupted by ignition noise and the function of noise blanker 40 is to replace the spike-distorted signal with samples predicted from previously received good samples.
If we use an all-pole model to model the MPX signal, we have,
where {a(i), i=1, 2, . . . p} are the model coefficients that are updated by coefficient updaters 66, 68, and 70. Minimized Mean Squared Error (MMSE) is used in noise blanker 40, and
where y(n) is the MPX signal as shown above. To find the solution, set the partial derivative with respect to a(i) to zero as shown in equations 14 and 15.
To simply the digital signal processor (DSP) calculations, an adaptive algorithm is used to adjust the model by updating the coefficients as illustrated in the following equation 16.
In the above equation 16, μ is a constant. Also, to reduce costs, we can use sample-mean instead of statistic mean to approximate equation (15),
So updating equation (16) with equation (17) provides
an+1(i)=an(i)−μ×(ŷ(n)−y(n))×ŷ(n−i) (18)
When there is not any impulse interference causing noise blanker 106 to operate in prediction mode, control signal CONTROL causes noise blanker 106 to operate in training mode. In training mode, the original LPR1 signal is used to train the All-Pole Model as implemented in
where {y(n)} is the original received LPR1 signal at 48 KS/s, {an(i),i=1, 2, . . . p} are the model coefficients at the time index n. When spikes are detected by the noise detector 154, the trained All-Pole model starts to generate predictions to replace the originally corrupted MPX signal samples, where
To detect noise spikes, noise detector 154 takes the prediction error from the output of summation element 152. An absolute value calculation is performed by absolute value calculator 156. The result is provided to a first input of comparator 160 via LPF 158 and also directly to a second input of comparator 160 via a threshold multiplier 159. The threshold value THRESHOLD is a predetermined noise threshold. The output of LPF 158 is compared to the predetermined noise threshold THRESHOLD to detect the present of noise. If the output of LPF 158 is higher than the predetermined threshold, then noise is not present and a control signal labeled CONTROL, having a predetermined logic state, is provided through a switch 162 to control switches 142 and 166. As illustrated in
Note that in the illustrated embodiments the noise controllers are implemented in a combination of hardware and software, where the software is run on a digital signal processor. However, in other embodiments, the noise controllers can be implement in hardware or in software.
In the foregoing specification, the invention has been described with reference to specific embodiments. However, one of ordinary skill in the art will appreciate that various modifications and changes can be made without departing from the scope of the present invention as set forth in the claims below. Accordingly, the specification and figures are to be regarded in an illustrative rather than a restrictive sense, and all such modifications are intended to be included within the scope of present invention.
Benefits, other advantages, and solutions to problems have been described above with regard to specific embodiments. However, the benefits, advantages, solutions to problems, and any element(s) that may cause any benefit, advantage, or solution to occur or become more pronounced are not to be construed as a critical, required, or essential feature or element of any or all the claims. As used herein, the terms “comprises,” “comprising,” or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
Number | Name | Date | Kind |
---|---|---|---|
4528678 | Udren | Jul 1985 | A |
4672665 | Nagai et al. | Jun 1987 | A |
5535280 | Chahabadi et al. | Jul 1996 | A |
5537675 | Bond | Jul 1996 | A |
5661795 | Maeda | Aug 1997 | A |
5890059 | Shoemaker et al. | Mar 1999 | A |
6181753 | Takada et al. | Jan 2001 | B1 |
6418159 | Umemoto | Jul 2002 | B1 |
6426983 | Rakib et al. | Jul 2002 | B1 |
6459727 | Cho et al. | Oct 2002 | B1 |
6570986 | Wu et al. | May 2003 | B1 |
6628788 | Azizi | Sep 2003 | B2 |
6937978 | Liu | Aug 2005 | B2 |
20030039327 | Suganuma | Feb 2003 | A1 |
Number | Date | Country | |
---|---|---|---|
20040203551 A1 | Oct 2004 | US |