|
Claims  |
|
|
What is claimed is:
1. A system for detecting and correcting non-stationary noise present on an input data signal comprising: a detector module based on Gram Schmidt orthogonalization, receiving
the input data signal and producing as output a correction enable signal indicating when a correction is required; a corrector module receiving the input data signal and correction enable signal and producing a corrected data signal as output; and a
reliability estimator and selector module receiving the corrected data signal and the input data signal and producing an output signal which is the more reliable of the input data signal and the corrected data signal.
2. The system of claim 1, wherein the reliability estimator and selector module comprises: a first reliability estimator receiving the corrected data signal and producing as output a first reliability estimate indicating the reliability of the
corrected data signal; a second reliability estimator receiving the input data signal and producing as output a second reliability estimate indicating the reliability of the input data signal; and a comparison module receiving the first and second
reliability estimates and selecting one of the corrected data signal and the input data signal as output depending on relative values of the first and second reliability estimates.
3. The system of claim 2, wherein the comparison module is configured to select a default output signal when the input data signal and the corrected data signal have reliabilities which are less than a predetermined reliability threshold.
4. The system of claim 3, wherein the default output signal comprises an erasure.
5. The system of claim 2, wherein: the first and second reliability estimators each comprise a slicer; and the first and second reliability estimates each comprise a reliability metric indicating a difference between the input to the respective
slicer and the output from the respective slicer, wherein the lower the reliability metric, the more reliable the signal.
6. The system of claim 5, wherein the comparison module is configured to select a default output signal when the first and second reliability estimates each exceed a predetermined threshold.
7. The system of claim 1, wherein the non-stationary noise is an impulse noise and wherein the detector module includes an impulse detector module which comprises: a first impulse detector receiving the input data signal and producing a first
impulse detection signal as output; a second impulse detector receiving the input data signal and producing a second impulse detection signal as output; and an impulse correction enable module receiving the first and second impulse detection signals
and producing the correction enable signal in accordance with the first and second impulse detection signals.
8. The system of claim 1, wherein the non-stationary noise is an impulse noise and wherein the corrector module includes an impulse corrector module which comprises an impulse blanker module and an impulse canceler module, the blanker or
canceler modules being selected in accordance with the correction enable signal produced by the impulse corrector module.
9. The system of claim 7, wherein the first and second impulse detectors are complementary.
10. The system of claim 9, wherein: the first impulse detector comprises a Gram Schmidt impulse detector; and the second impulse detector comprises a moving window threshold detector.
11. The system of claim 10, wherein the impulse corrector module comprises an impulse blanker module and an impulse canceler module, the blanker or canceler modules being selected in accordance with the correction enable signal produced by the
impulse corrector module.
12. The system of claim 11, wherein the impulse correction enable module is configured to generate the correction enable signal to: blank an impulse if an impulse is detected by the moving window threshold detector but not the Gram Schmidt
impulse detector; cancel an impulse if an impulse is detected using the Gram Schmidt impulse detector but not the moving window threshold detector; cancel an impulse if an impulse is detected by the Gram Schmidt impulse detector at a first time of
arrival, and an impulse is detected by the moving window threshold detector at a second time of arrival within a predetermined interval from the first time of arrival; and blank an impulse if an impulse is detected by the Gram Schmidt impulse detector
at a first time of arrival, and an impulse is detected by the moving window threshold detector at a second time of arrival which is not within a predetermined interval from the first time of arrival.
13. The system of claim 8, wherein the detector module generates an impulse location signal which is provided to the impulse canceler module which in turn generates as output a waveform estimate of a detected impulse which is used to cancel the
detected impulse.
14. The system of claim 13, wherein the impulse canceler module comprises an iterative decision feedback impulse canceler.
15. The system of claim 13, wherein the impulse canceler module comprises a least square impulse canceler.
16. The system of claim 13, further comprising a merge module which receives the impulse location signal from the detector module and also receives at least one additional impulse location signal from an impulse detector associated with a
neighboring band and which produces as output a combined estimated impulse timing.
17. The system of claim 1, wherein the non-stationary noise comprises low dimensionality noise contained in at most a few dimensions.
18. The system of claim 17, wherein the low dimensionality noise comprises fast popping ingresses.
19. The system of claim 1, wherein the data signal is carried on one of a single carrier modem, a multitone modem, and a CDMA modem.
20. A method for detecting and correcting non-stationary noise present on an input data signal comprising: receiving the input data signal at a detector module based on Gram Schmidt orthogonalization which produces as output a correction enable
signal indicating when a correction is required; receiving the input data signal and correction enable signal at a corrector module which produces a corrected data signal as output; and receiving the corrected data signal and the input data signal at a
reliability estimator and selector module which produces an output signal which is the more reliable of the input data signal and the corrected data signal.
21. The method of claim 20, further comprising the following steps: receiving the corrected data signal at a first reliability estimator which produces as output a first reliability estimate indicating the reliability of the corrected data
signal; receiving the input data signal at a second reliability estimator which produces as output a second reliability estimate indicating the reliability of the input data signal; and comparing the first and second reliability estimates using a
comparison module which selects one of the corrected data signal and the input data signal as output depending on relative values of the first and second reliability estimates.
22. The method of claim 21, wherein the comparison module performs the step of selecting a default output signal when the input data signal and the corrected data signal have reliabilities which are less than a predetermined reliability
threshold.
23. The method of claim 22, wherein the default output signal comprises an erasure.
24. The method of claim 21, further comprising the following steps: utilizing a slicer in each of the first and second reliability estimators; and the first and second reliability estimates each comprising a reliability metric indicating a
difference between the input to the respective slicer and the output from the respective slicer, wherein the lower the reliability metric, the more reliable the signal.
25. The method of claim 24, wherein the comparison module performs the step of selecting a default output signal when the first and second reliability estimates each exceed a predetermined threshold.
26. The method of claim 20, wherein the non-stationary noise is an impulse noise and wherein the detector module includes an impulse detector module, the method further comprising the following steps: receiving the input data signal at a first
impulse detector which produces a first impulse detection signal as output; receiving the input data signal at a second impulse detector which produces a second impulse detection signal as output; and receiving the first and second impulse detection
signals at an impulse correction enable module which produces the correction enable signal in accordance with the first and second impulse detection signals.
27. The method of claim 20, wherein the non-stationary noise is an impulse noise and wherein the corrector module includes an impulse corrector module which comprises an impulse blanker module and an impulse canceler module, the method further
comprising the step of selecting the blanker or canceler modules in accordance with the correction enable signal produced by the impulse corrector module.
28. The method of claim 26, wherein the first and second impulse detectors are complementary.
29. The method of claim 28, wherein: the first impulse detector comprises a Gram Schmidt impulse detector; and the second impulse detector comprises a moving window threshold detector.
30. The method of claim 29, wherein the impulse corrector module comprises an impulse blanker module and an impulse canceler module, the method further comprising the step of selecting one of the blanker or canceler modules in accordance with
the correction enable signal produced by the impulse corrector module.
31. The method of claim 30, further comprising the step of utilizing the impulse correction enable module to generate the correction enable signal to: blank an impulse if an impulse is detected by the moving window threshold detector but not the
Gram Schmidt impulse detector; cancel an impulse if an impulse is detected using the Gram Schmidt impulse detector but not the moving window threshold detector; cancel an impulse if an impulse is detected by the Gram Schmidt impulse detector at a first
time of arrival, and an impulse is detected by the moving window threshold detector at a second time of arrival within a predetermined interval from the first time of arrival; and blank an impulse if an impulse is detected by the Gram Schmidt impulse
detector at a first time of arrival, and an impulse is detected by the moving window threshold detector at a second time of arrival which is not within a predetermined interval from the first time of arrival.
32. The method of claim 27, wherein the detector module performs the step of generating an impulse location signal which is provided to the impulse canceler module which in turn generates as output a waveform estimate of a detected impulse which
is used to cancel the detected impulse.
33. The method of claim 32, wherein the impulse canceler module comprises an iterative decision feedback impulse canceler.
34. The method of claim 32, wherein the impulse canceler module comprises a least square impulse canceler.
35. The method of claim 32, further comprising the step of receiving at a merge module the impulse location signal from the detector module and also receiving at least one additional impulse location signal from an impulse detector associated
with a neighboring band and producing as output a combined estimated impulse timing.
36. The method of claim 20, wherein the non-stationary noise comprises low dimensionality noise contained in at most a few dimensions.
37. The method of claim 36, wherein the low dimensionality noise comprises fast popping ingresses.
38. The method of claim 20, wherein the data signal is carried on one of a single carrier modem, a multitone modem, and a CDMA modem. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
FIELD OF THE INVENTION
This invention is related generally to receiving apparatus for a data communication system. More particularly, this invention is directed to a method and system for detecting, timing, and correcting impulse noise on a data communication channel.
BACKGROUND OF THE INVENTION
Communications systems are used to transfer data between remote transmitting and receiving locations over one or more physical channels. The integrity and reliability of such data transmissions can be compromised by several factors, such as
transmission imperfections, receiving imperfections, and physical channel interference. Examples of interference which affect the quality and rate of data transmission include impulses (or bursts), and other short duration events, and long duration
interference, such as ingresses. A relatively large effort has been directed to improving the transmitter and receiver robustness for long duration interference. However, compensating for impulse/burst noise has received little attention. Impulse or
burst noise can be caused by many uncontrollable events, such as arcing and electrical transients coupled through a power system, lightning, etc. This type of noise typically occurs at unexpected times and lasts for a relatively short period of time (on
the order of several microseconds). Because it is broad band in effect, impulse noise is of particular concern in multi-carrier transmission schemes since the impulse noise may affect many, or even all channels simultaneously.
For example, in a multi-tone modulation transmission scheme, a number of carriers positioned at different frequencies are used and data is transmitted simultaneously in parallel over the carriers. Each band carries a fraction of the total
information being transmitted. The discrete bands or sub-channels are independently modulated, and each has a carrier frequency at the center frequency of the particular band. For example, multi-tone modulation schemes include DMT (Discrete Multitone
modulation), used for DSL channel communication, and VCMT (Variable Constellation Multi Tone), suggested for use in HFC CATV applications.
In one DMT configuration, a 1.1 MHz channel is broken down into 256 sub-channels or bands, each of which is 4 KHz wide. Each sub-channel has its own carrier frequency. Each of the sub-channels is used to transmit a fixed number of information
bits in a single symbol or signal period. The DMT system monitors the signal to noise ratio for each of the sub-channels and uses this information to determine how many bits per signal period (symbol) may be carried in each of the sub-channels. The
number of bits per signal in a sub-channel is typically referred to as the loading of the sub-channel. The DMT system dynamically adjusts the loading of each of the sub-channels in accordance with the noise characteristics of the sub-channel. If a
sub-channel is particularly noisy, it may not be used at all.
VCMT modulation is a transmission scheme specifically designed to effectively combat the high ingress and impulse/burst impairments present in cable TV channels, and also to maximize the data throughput capacity of such channels. Like DMT, data
is transmitted over multiple sub-channels, typically 36. However, in VCMT, data is transmitted using a variable bit loading per tone, along with coding and interleaving. The VCMT system measures the noise present on each channel and independently
modulates the tone data transmission scheme from QPSK (quadrature phase shift keying) to 256-QAM (quadrature amplitude modulation) accordingly. During operation, the signal-to-noise ratio across the channels are monitored for each tone and the headend
receiver instructs the upstream transmitter in the cable modem to modify the QAM constellation for each tone to maintain a desired bit error rate. VCMT also uses spectral shaping to reduce the frequency sidelobes of the tones to thereby reduce the
effect of narrowband interference to only the closest tones.
Multi-tone transmission schemes have relatively good noise immunity. However, there is a tradeoff when resistance to impulse noise is considered. Because data is transmitted on multiple channels, the symbol length can be relatively long while
still providing a high overall data transmission rate. Both DMT and VCMT have relatively long symbol periods. Thus, each has fairly good immunity (compared to a single carrier signal) from weak time domain events, such as impulses and bursts, because
the effect of a short time domain event will be averaged out over the relatively longer symbol period. However, strong impulses are very damaging to DMT transmission because the impulse may simultaneously corrupt all of the 256 symbols occupying the 256
DMT sub-channels. Similarly, strong impulses are also very damaging to VCMT transmissions because the impulse can corrupt the symbols occupying every VCMT sub-channel at the time the impulse hits. In addition, because VCMT uses spectral shaping,
neighboring symbols may also be corrupted by the impulse.
Impulses can be corrected by either canceling or blanking. Impulse canceling is a process where the impulse waveform is estimated and then subtracted from the data signal at the appropriate time. Impulse blanking is a process in which the
impulse is located in time and the data input is zeroed (or blanked) for the duration of the impulse. Canceling is superior to banking because it preserves the underlying data. However, it is considerably more complex to implement.
Various techniques for compensating for impulse noise are known. U.S. Pat. No. 5,410,264 to Lechleider, which is incorporated herein by reference, describes very basic techniques for impulse detection, timing, and cancellation. The techniques
are based on match filtering with a known impulse shape. An impulse is detected by using a match filter and monitoring when the filter output energy crosses a defined threshold. The location of the impulse is estimated to be the single match filter
output sample which has the maximum energy. However, the techniques disclosed in the '264 patent are incapable of handling impulses having more than one degree of freedom (e.g., spanned by a basis of more than one vector).
U.S. Pat. No. 5,479,440 to Esfahani, which is incorporated herein by reference, discloses an impulse cancellation technique which compensates for out-of-band impulse noise by filtering out frequency components suspected as impulses. However,
the '440 patent does not adequately address in-band impulse noise. U.S. Pat. No. 5,703,904 to Langberg, which is incorporated herein by reference, discusses temporarily inhibiting (e.g., blanking) modem adaptation circuits when an impulse is detected. However, impulses are detected only by using a simple thresholding input signal. Further, no attempt is made to cancel the impulse. A somewhat more detailed impulse detection scheme, using an adaptive threshold, is disclosed in U.S. Pat. No.
5,119,321, which is incorporated herein by reference.
However, none of these prior art impulse detection and compensation schemes provides a robust and efficient impulse detection system which can adequately detect impulses which have two or more unknown (or varying) degrees of freedom. Further,
none discloses an efficient scheme for handling strong impulses in a multi-channel transmission system.
Accordingly, it is an object of the present invention to provide a method for compensating for strong impulse interference in a multi-carrier system, such as DMT and VCMT.
It is a further object of the invention to provide an improved technique for detecting and timing impulses which have attributes that span a number of degrees of freedom.
Yet another object of the invention is to provide a system which will reliably detect an impulse, determine its attributes, and then take appropriate corrective action.
Yet a further object of the invention is to provide an impulse detection and correction system which is suitable for in band impulse noise as well as out-of-band impulses.
A further object of the invention is to detect and correct non-stationary noise, i.e., noise which has statistics which change over time.
SUMMARY OF THE INVENTION
This invention is directed to novel methods and apparatus for detecting and correcting impulse noise on a data communication channel. In one embodiment of the invention, a dual-detection scheme is used. The communication signal, which can be a
single carrier signal or a multi-carrier signal, is input to two or more separate impulse detectors, each of which uses a different impulse detection scheme. Preferably, complementary detection schemes are used such that the weaknesses in the first
detection scheme are countered by the strengths in the second detection scheme, and vice versa.
The outputs of the impulse detectors are provided to an impulse correction enable circuit which uses the impulse detection signals to determine when an impulse is present and produces an output indicating that corrective action should be taken.
Preferably, more than one corrective action can be taken and the enable circuit further indicates what corrective action to take. The received signal is also provided to the impulse correction circuit, such as a canceling/blanking circuit. In
accordance with the output of the enable circuit, the impulse correction circuit corrects for impulse noise by, e.g., subtracting an estimated impulse waveform from the data signal at the appropriate time or by blanking the data signal for the duration
of the impulse. The output of the impulse correction circuit can be sent directly to subsequent components, such as a decoder. Preferably, and according to another aspect of the invention, the output of the pulse corrector is provided to a reliability
estimator and selector. The original (uncorrected) data signal is also input to the selector. The selector compares the corrected and uncorrected input signals and determines which is more reliable. The most reliable signal is then selected and
provided to subsequent components.
Various impulse detection schemes can be used. One preferred and novel impulse correction scheme is based on utilizing the high intertone impulse correlation generated when an impulse hits a multitone symbol. When a short impulse hits a
multitone symbol that is longer than the impulse duration, the noise phasors inflicted on neighboring tones are very similar. This similarity can be quantified by computing the cross correlation among neighboring tones, which would thus be close in
absolute value to 1 (the phase depends on the timing of the impulse within the symbol). The high cross correlation is utilized for estimating impulse timing and for estimating the impulse noise waveform.
In particular, the new impulse detection/correction scheme uses quiet tones (sub channels) among the multiple channels in the data link wherein a fraction (typically a few percent) of the sub channels are not used for data transmission.
According to this aspect of the invention, the signals on the quiet tone channels are uncorrupted by any transmit signal and therefore can be used to accurately detect the presence of an impulse. Because of high cross correlation of impulse noise across
all channels, an impulse detection in a quiet-tone can be used to indicate an impulse on other channels as well. Most preferably, impulses are detected and their timing estimated based on a Gram Schmidt orthogonalization process.
The new Gram Schmidt scheme provides superior impulse timing and shape estimation. However, it is less accurate when multiple impulses are present in a short time period. Accordingly, when used in a dual-detection scheme, a complementary
detection scheme which more accurately detects multiple impulses should be used. Preferably, a detection scheme based on a signal energy moving average window is used.
In addition to detection of impulses, new methods of canceling impulses are also presented, including a linear least square scheme, and a decision feed back scheme.
The new technique for detecting and canceling strong impulses can be used in conjunction with multitone transmission schemes, such as DMT and VCMT, to solve their vulnerability to impulse noise. However, the new method is not limited to
multitone modulations, but also is suitable for other types of communication schemes, such as CDMA and single carrier modulation, and even non-communication signals. Furthermore, by applying the present method but switching the model time and frequency
axes, the invention can be used to acquire the frequency of fast rising or changing ingresses (narrow band interference) and cancel them accordingly. In addition, in some data transmission and reception schemes, received and amplified signals may be
subjected to clipping. The effect of clipping on a signal is similar to that produced by impulse noise. The present invention may also be adapted to detect and cancel noise generated by clipping, thus permitting the use of less complex and expensive
receiving circuits.
BRIEF DESCRIPTION OF THE DRAWINGS
The foregoing and other features of the present invention will be more readily apparent from the following detailed description and drawings of illustrative embodiments of the invention in which:
FIG. 1 is a block diagram of an impulse detector and corrector;
FIG. 2 is a detailed block diagram of one embodiment of the impulse detector and corrector of FIG. 1;
FIG. 3 is a block diagram of a Gram Schmidt-based impulse detector;
FIG. 4 is a block diagram of a moving window impulse detector; and
FIG. 5 is a block diagram of a decision feedback impulse cancellation module.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Turning to FIG. 1, there is shown a block diagram of an impulse detector and corrector system 10 according to the invention. The received input communication signal 11, which can be a single carrier signal or a multi-carrier signal, is input to
an impulse detector 8, which preferably comprises two or more separate impulse detectors, 12, 14, each of which uses a different impulse detection scheme. The outputs of the impulse detectors 12, 14 are provided to an impulse correction enable module
16. The signals produced by the impulse detectors 12, 14 indicate when an impulse has been detected and may contain information about the detected impulse itself. The correction enable module 16 uses the information contained in the impulse detection
signals to determine when an impulse is present and signals via its output that impulse correction is required.
In the preferred embodiment, the outputs of two or more separate impulse detectors are used to determine the timing and possibly shape of an impulse. Thus, the results are generally more accurate than if a single impulse detector is used.
Further, the use of multiple detectors permits the use of complementary detection schemes, wherein weaknesses inherent in a first detection scheme are countered by the strengths in a second detection scheme and vice versa. Preferred detection schemes
are discussed in detail below.
Impulse correction can be by cancellation or blanking. Preferably, both methods are available. In such a situation, the output of impulse detector 8 indicates whether the impulse should be canceled or blanked. When two or more impulse
detectors 12, 14 are used in impulse detector 8, the selection of which correction method to use is made with consideration as to the accuracy of the impulse detection schemes in use and how well the impulse waveform can be predicted in various
circumstances. If the impulse correction enable circuit 16 determines that an accurate waveform can be generated, an indication to cancel the impulse is output. Otherwise, an indication to blank the impulse is output.
An impulse corrector module 18 is provided which receives the input signal 11, pre-processed by a match filter 68 if necessary, and the output from the impulse detector 8 (correction enable 16). In accordance with the signal output from the
impulse detector, the impulse correction module 18 corrects for the detected impulse noise by, e.g., subtracting an estimated impulse waveform from the data signal at the appropriate time or by blanking (zeroing) the data signal for the duration of the
impulse. The output of the impulse correction module 18 can be sent directly to subsequent components, such as a decoder. Preferably, however, the output is provided to a reliability estimator and selector 20, which also receives as input the original
(uncorrected) data signal, pre-processed by a match filter 72 if necessary. Selector 20 evaluates the corrected and uncorrected data signals to determine which is more reliable. The most reliable signal is then selected and provided to subsequent
components. As can be appreciated, the dual-output path can be implemented using a variety of impulse detectors. Preferably, however, a dual-path impulse detector, such as described below, is used.
Turning to FIG. 2, there is shown a detailed block diagram of one embodiment of the dual-path impulse detector and corrector 10 of FIG. 1. In this embodiment, a novel Gram Schmidt-based impulse detection scheme which detects impulses and
estimates their timing primarily through the use of quiet tones in a multi-tone transmission is used for the first impulse detector 12. A moving window threshold impulse detection scheme that detects impulses by thresholding the signal energy of the
entire signal plus interference is used for the second impulse detector 14. These impulse detectors are configured for use in data transmission schemes, such as DMT and VCMT, which use multiple data transmission sub-channels, and are discussed in more
detail below with reference to FIGS. 3 and 4, respectively.
Also shown, although not technically part of the detector and corrector 10, is an analog and digital front end comprising an A/D converter 22 and a decimator 24. The received analog data signal is sampled by A/D converter 22 at a rate sufficient
to prevent aliasing of the data signals. Because of the difficulty of implementing high roll off analog filters, the sampling rate is usually considerably higher than required by the Nyquist Rate. To reduce the sampling rate to a value closer to the
Nyquist frequency, the sampled signal is decimated by decimator 24 to produce the input signal 11 which is subsequently processed by the impulse detector and corrector 10. The front end may also contain standard timing and frequency loops. These are
well-understood components to those skilled in the art and will, thus, not be described in detail.
The Gram Schmidt impulse detection method produces data which is suitable for estimating the waveform of a detected impulse. The output of detector 12 is used by an impulse estimator 19 which estimates the impulse waveform. This information is
used later for impulse cancellation, when appropriate.
To further improve the accuracy of one or both of the impulse detectors, timing information from analogous detectors operating in neighboring signal bands may be shared and merged. Because impulses are typically wide enough to cover many
adjacent receiver bands, sharing and merging impulse detection information from multiple detectors operating on adjacent bands can further improve the accuracy of the detection. For example, as shown in FIG. 2, the output of neighboring band impulse
detectors analogous to detector 12 is provided via TOA interface 12 to a module 13 which merges the impulse time of arrival (TOA) determined by detector 12 and its neighbors. The weight to be given to the neighboring band impulse detection information
when merging this information is dependent on the degree to which impulses are expected to cross multiple bands. Various merging methods will be apparent to those of skill in the art. This feature is discussed further below.
In addressing the operation of the various impulse detectors and other aspects of the invention, it is useful to define various terms and parameters. The signal input to the system is comprised of the Xmit signal (transmitted from remote
transmitter), stationary noise sources (e.g. white noise or narrow band noise), and impulses. From the point of view of the impulse detection and correction mechanism, the impulse is the signal of interest while the Xmit signal and stationary noise
sources are the unwanted interfering signals. These unwanted signals are referred to herein as the background noise.
It will be assumed that impulses to be detected have an expected length of L. If the detector 10 is used when impulses of indeterminate length are expected, the methods for detecting impulses of a known length L discussed below may be repeated
with each possible L. In addition, the following parameters will be used in the following discussion of impulse detection and correcting schemes, as well as in the mathematical appendices:
NTones--Number of tones (sub-channels, carriers) in the multi-carrier communications channel
M.sub.GS --Gram Schmidt matrix of size (L*L), time dependent for DMT (see derivation in appendix)
M.sub.LS --Least square impulse estimation matrix of size (L*L), time dependent for DMT
TH.sub.GS --Gram Schmidt window energy threshold.
TH.sub.MW --Moving window energy threshold.
TH.sub.ERA --Erasure threshold used by the reliability detector
T.sub.G --The size of group on which local maximization is performed as part of Multiple Detection Suppression
NN--The number of neighbors used when merging impulse detection TOA information from other bands
.DELTA.f--The carrier frequency difference between successive tones
f(n)--The impulse response of the whitener 30 (FIG. 3)
G.sub.K --gain at center frequency of tone K when viewing f(n) in frequency domain
y(n)--Signal at output of whitener 30 (FIG. 3).
.sigma.--The background noise power after being whitened by whitener 30.
.alpha.--The memory of the decision feed back impulse canceler
Turning to FIGS. 2 and 3, the impulse detection using the new Gram Schmidt-based detection will now be discussed. According to one aspect of the invention, the input signal 11 is initially processed to accentuate impulses which may be present
relative to other signals on the NTones sub-channels being considered. The preprocessing makes use of quiet tones, e.g., sub-channels which are not being used to transmit data, and therefore only contain noise from stationary sources. More
particularly, the input signals are processed by a whitening filter 30 which equalizes the noise in the input signal and produces an output y(n). The whitening filter 30 has an impulse response f(n), that provides a gain of G.sub.K at the center
frequency of tone K. The gains G.sub.K are selected to whiten the input background noise (input to 30), as a result the noise at output of whitener 30 is primarily a .sigma. power white Gaussian noise. Various whitening schemes are known to those of
skill in the art.
The sub-channel(s) designated as quiet tones can be selected arbitrarily. However, there are performance differences between different quiet tone arrangements, as will be appreciated by one of skill in the art. One way to assess the merits of a
certain arrangement of quiet tones is to plot the combined impulse response of the whitener 30 and whitener match filter 32, (i.e., f(n)*f*(-n)). In a preferred quiet tone arrangement, the combined impulse response at the middle of the impulse is
maximized while the impulse response at other locations is minimized.
Coefficients of the whitener filter 30, as well as the coefficients of the detection matrix M.sub.GS generated for use in the impulse detection routine, and discussed below, are generated in accordance with dynamic measurements of the noise power
spectrum of the input signal. The background noise is preferably continuously measured and the relevant matrices and filters updated accordingly. Because changes in background noise are relatively slow, the matrix update rate can be low. Background
noise measurement can be done using conventional techniques, such as averaging of the per-tone-energy of slicer errors, where the slicer error is the difference between the slicer input and output.
Data signals are not transmitted on the quiet tone sub-channels. Thus, these sub-channels (in the absence of an impulse) contain only the stationary noise sources. The power spectrum for these channels will therefore be considerably lower than
that on the sub-channels used to transmit data (i.e., those with the higher "background noise") and so, during the whitening process, the data carrying sub-channels will be attenuated far more than the quiet tone sub-channels. As a result, when an
impulse is present, it will have a much larger effect on the power level in a whitened quiet tone when compared to the power level of the sub-channels which are carrying data tones. This effect is graphically illustrated in the input and output graphs
adjacent the whitener filter 30 shown in FIG. 3.
The output of the whitener filter 30 is passed through a whitener match filter 32. This filter has a transfer function which is the complex conjugate of the whitener, i.e., f*(-n) and produces from input y(n) an output equal to y(n)*f*(-n). The
whitener match filter 32 functions to collect the energy from an impulse into a short interval having duration similar to the impulse.
The whitener filter 30 and whitener match filter 32 are preferably implemented as frequency-domain multiplications, although time convolution can be used instead. For frequency-domain, a filter bank is used that analyzes the input to the
whitener 30, and then applies a per-band gain for the whitener, then a per-band gain for the match filter 32, and finally, combines all bands into one wider signal, e.g., by using a filter bank. The per-band whitener gain and the per-band whitener match
filter gain can be combined into one gain (i.e., multiplied) to reduce complexity. Efficient implementation of a filter using filter banks is well-known to those skilled in the art.
Following the whitener and whitener match filters 30, 32, the processed signal is fed to the Gram Schmidt Impulse TOA estimator 34, shown in detail in FIG. 3. First, the processed signal is fed to a FIFO 40 having a length L equal to the
estimated length of the impulse. Each time a new sample enters FIFO 40, the oldest sample is discarded. The output of FIFO 40 is a parallel column vector of height L.
Next, the vector output of the FIFO 40 is left multiplied by a Gram Schmidt matrix M.sub.GS of size (L*L) in Gram Schmidt module 42. The output of Gram Schmidt multiplication 42 is a column vector of height L, where each component of the vector
represents the projection of the impulse on one of the Gram Schmidt (orthogonal) basis vectors. In general, multiplication by matrix M.sub.GS transforms values that are the results of correlation with the match filter (i.e., f*(-n)) into projections on
the Gram Schmidt basis vectors. The specific form of matrix M.sub.GS is dependent on the type of data transmission scheme at issue. Detailed derivations of the Gram Schmidt matrices for VCMT and DMT are presented in Appendixes A-C, below. Similar
analyses can be used to derive the appropriate Gram Schmidt matrix for other data transmission schemes, as will be understood by those of skill in the art in view of the present disclosure. In addition, while the appendixes present a derivation of some
implementations of various aspects of the present invention, the invention is not limited to an implementation which adopts the precise mathematical relationships discussed in the appendixes and various adjustments to the parameters and mathematical
relationships may be made while still falling within the overall scope of the invention.
The column vector output of Gram Schmidt module 42 is processed by Energy Summation module 44. Summation module 44 sums up the square values of the coordinates of the input vector. This value represents the (estimated) net impulse energy after
being filtered by the whitener filter for the impulse samples which are contained in FIFO 40. Thus, the value can be used to determine whether an impulse is present and, if so, when it occurred.
As an artifact of this impulse detection scheme, the impulse energy may be smeared across several time points. In particular, a genuine impulse will generate a high-energy sample at the output of energy summation 44 which has a temporal location
corresponding to the TOA of the impulse. However, and in addition, the impulse will generate lower energy values at small distances from the actual (correct) TOA of the impulse. This leaked energy is usually significantly lower energy than the energy
present at the impulse's TOA. To avoid erroneous multiple detections, a Multiple Detection Suppression module 36 is used.
In a preferred embodiment, Multiple Detection Suppression module 36 comprises three sub-modules as shown in FIG. 3. Group divider 46 divides the vector input into several non-overlapping groups of size T.sub.G and identifies the maximum energy
point in each group. These group maximums are provided to a Local Maxima Detector 48. Energy values that are higher than a previous group and not lower than a subsequent group are passed to Threshold Local Maxima module 50. (Only immediate neighboring
groups are considered. This is the usual Local Maxima Detection). Finally, local maximas that are higher than a predetermined energy threshold, TH.sub.GS, are identified. The temporal position of those identified maximas corresponds to the TOA of an
impulse. It should be noted that the final TOA is not the timing of the local maxima achieving group, but the timing of the maximum sample within that group.
Thus, multiple detection suppression module 36 acts to remove the false alarms and pass on only the true impulse detection using local maximization and assuming that the true detection energy is higher than the surrounding energy. The size
T.sub.G determines the size of the area in which local maximization is performed. The Local Maxima Detector 48 assures that two impulse detections are at least T.sub.G apart. It can be appreciated that increasing T.sub.G reduces false alarms but also
reduces the probability of genuine impulse detection. (In cases when two genuine impulses occur in an interval shorter than T.sub.G samples, one of the impulses would be discarded by this process.) Those of skill in the art will recognize that there are
a variety of other techniques for multiple detection suppression, each having various tradeoffs between false alarm rates, probability of impulse detection, and complexity.
This impulse detection scheme can be modified in several ways. One variation is removing the Gram Schmidt multiplication (in module 42). This can easily be accomplished by setting M.sub.GS to the identity matrix. As a result, the energy
summation will compute the energies in the output vector of FIFO 40 directly. This reduces performance but also reduces complexity since M.sub.GS does not need to be computed. An alternative option is available if a good prediction of the impulse power
is available in advance. If so, this information can be incorporated into matrix M.sub.GS.
As discussed above, and with reference to FIG. 2, there are cases where a channel is divided into multiple successive bands, each of which is utilized by a different set of modems. Typically the same transmitter and receiver hardware is used,
but located at different non-overlapping bands. For example, in an HFC channel, a 35 MHz upstream channel (5-40 MHz) may be divided into successive 1.6 MHz bands. On each HFC band, there are multiple transmitters (e.g., the cable subscribers) and a
single receiver at the Head End (cable central office). In many channels, impulse noise has a wide enough bandwidth to affect multiple successive modem bands. Advantageously, the timing of impulses on each band is detected independently, and then the
multiple detection information is combined to obtain a refined estimation.
In the preferred embodiment, a local TOA estimation is output from detector 12 and which, when a Gram Schmidt detector is used, includes sample energy found by Local maximizer 48 after multiple detection suppression. This data is broadcast to
neighboring bands via the TOA interface 12'. At the same time, neighboring band receivers also broadcast their multiple detection suppressed TOA's (including sample energy found by their respective local maximizers). The TOA interface 12' receives the
TOA's of neighboring bands and sends them to the TOA Merge module 13 which combines this data with the local TOA estimation.
In a preferred implementation, the TOA estimates are combined using a weighted average, where weight is related to the TOA sample energy. There are other possible TOA merge algorithms, with tradeoff being between estimation noise and complexity. For example, the merge may be based on a median computation on all the TOA's, where the sample weight is interpreted as a TOA repetition used for the median computation.
When TOA information from multiple bands is merged, it is possible to vary the distribution of quiet tones in ways not possible without this data sharing. In one embodiment, the quiet tones are distributed evenly among different bands, in which
case there will be similar TOA estimations of similar reliabilities from all bands. In another embodiment, the quiet tones can be distributed unevenly. In an extreme case, one band may host all of the quiet tones, and all other bands may use its
estimation directly.
Turning to FIG. 4, there is | | |