Method and apparatus for reducing impulse noise in a signal processing system

An observed signal that is corrupted with impulse noise is recorded in a signal processing system of an image processing system or a digital subscriber line (xDSL). The observed signal that is recorded by the signal processing system includes a noise component and data component. The signal processing system estimates the parameters of an alpha-stable distribution using a modified iteratively reweighted least squares (IRLS) technique. The estimated parameters define a probability density function that is used to model the noise component of the observed signal. Once the parameters of the alpha-stable distribution are estimated, the signal processing system uses them to estimate model coefficients of a non-linear prediction filter such as a Volterra filter. Using the model coefficients, the non-linear prediction filter estimates the data component of the observed signal.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to signal processing, and more particularly, to a method and apparatus for reducing impulse noise in signals transmitted using communication services or recorded using imaging devices.

2. Description of Related Art

Currently, there is a significant desire to exploit the unused available bandwidth of the twisted pair lines of the existing plain old telephone system (POTS) for providing various digital services. Although it is believed that the future media for networked data transmission will be fiber optic based and although the main backbone of the network that interconnects the switching centers is now mainly optical fiber, the ‘last mile’ which is the access portion of the network that connects switches to customers is still dominated by twisted copper wires. For example, there exits over 560 million ‘last mile’ twisted copper pair connections globally. The estimated cost of replacing these connections with fiber optics is prohibitive and therefore the existing unused bandwidth of the POTS provides an important alternative.

Advanced digital transmission techniques such as digital subscriber line services utilize the existing unused bandwidth of the POTS for providing increased data transmission rates for available digital data transmission services. By convention, ‘digital subscriber line’ services are referred to as “DSL” services. The term “DSL” refers a connection created by a modem pair enabling high-speed digital communications. More generally, DSL is referred to as xDSL, where the ‘x’ indicates a number of different variants of the service (e.g., H (High), S (Single-Line), and A (Asymmetric)).

One factor that impairs the performance of xDSL services or other similar services that operate at high frequencies, such as integrated digital services network (ISDN), is “impulse noise.” Impulse noise is noise that occurs with high amplitudes on telephone lines or other transmission mediums. That is, samples of impulse noise have very large amplitudes that occur much more frequently than they would with Gaussian noise. Some known causes of impulse noise include electrical equipment operating near the telephone line or relay re-openings and the ringing of a telephone on the line.

In operation, xDSL services rely on modems to carry digital signals over the pass-band channels of the POTS. The modems translate digital data to analog signals at the sender end of the telephone line and translate the analog signals to digital data at the receiver end of the telephone line. The analog signal output at the receiver end of a telephone line is a corrupted version of the analog signal input at the sender end of the telephone line.

More specifically, the analog signal output from a telephone line is generally referred to as an “observed” signal. The observed signal includes a noise component and data component. An observed signal without the noise component is defined herein as a clean signal. In order to recover the data component from the observed signal, impulse noise introduced during the transmission of the data component must be identified.

One technique for recovering the data component is to estimate (i.e., predict) what the clean signal is without the noise component. Data components of output signals that are estimated are referred to herein as “cleaned” signals. One such estimation technique isolates the noise component from the data component in an observed signal by modeling the noise component using a probability density function (i.e., pdf) that describes the observed statistical properties of the noise component.

Once the noise component is accurately modeled using a pdf, the pdf can be used to define an error criterion (also referred to herein as a cost function). The error criterion is minimized to solve for model parameters, which are used to estimate the data component of a sampled signal.

A common pdf used to model noise is a Gaussian (or normal) distribution. One factor for using a Gaussian distribution to estimate noise is that the Gaussian assumption leads to simple estimation techniques. The reason the Gaussian distribution does not accurately estimate impulse noise is because impulse noise exhibits large amplitudes known as outliers that occur too frequently to fit to a Gaussian model. This characteristic suggests that the underlying probability distribution that models the noise has heavier tails as compared to a Gaussian distribution.

It has been suggested that an alpha-stable distribution is one alternative to a Gaussian distribution for modeling impulse noise. Because there exists no compact form to express its probability distribution function, an alpha-stable distribution is typically defined by its characteristic function φ(z), which is the Fourier transform of its probability density function.
φ(z)=exp(jδz−γ|z|α[1+jβ sign(z)w(z,α)]}  (1)
where,α is the characteristic exponent such that 0<α≦2,β is the symmetry parameter such that −1≦β≦1,γ the dispersion such that γ>0,δ is the location parameter such that −∞<δ<∞, andw⁡(z,α)={tan⁢⁢α⁢⁢π2,if⁢⁢α≠12π⁢⁢log⁢z,if⁢⁢α=1.

More specifically, the parameters control the properties of the pdf of an alpha-stable distribution as follows. The characteristic exponent α is a measure of the thickness of the tails of the alpha-stable distribution. The special case of α=2 corresponds to the Gaussian distribution, and the special case of α=1 with β=0 corresponds to the Cauchy distribution. The symmetry parameter β sets the skewness of the alpha-stable distribution. When β=0 the distribution is symmetric around the location parameter δ, in which case the alpha-stable distribution is called a symmetric alpha-stable (i.e., SαS) distribution. The location parameter δ determines the shift of the alpha-stable distribution from the origin, and is the mean (if 1<α≦2) or median (if β=0) of the alpha-stable distribution. Finally, the dispersion γ measures the deviation around the mean in a manner similar to the variance of a Gaussian distribution.

Alpha-stable distributions have been used to design systems for detecting signals in the presence of impulse noise. (See for example, E. E. Kuruoglu, W. J. Fitzgerald and P. J. W. Rayner, “Near Optimal Detection of Signals in Impulsive Noise Modeled with a Symmetric alpha-Stable Distribution”,IEEE Communications Letters, Vol. 2, No. 10, pp. 282-284, October 1998.) However, most of these systems that use alpha-stable distributions in their statistical models, assume a priori knowledge of the parameters of the alpha-stable distribution. Systems that assume a priori knowledge of the parameters of an alpha-stable distribution pre-assign values for the parameters. Having the ability to estimate, and not pre-assign, the value of parameters of the alpha-stable distribution is vital since most existing systems are sensitive to the parameters of the alpha-stable distribution that models the impulse noise.

Existing methods for estimating parameters of an alpha-stable distribution generally provide limited solutions for the special case of a symmetric alpha-stable distribution (SαS) (i.e., where the parameter β=0). Assuming that an alpha-stable distribution is symmetric, however, may yield a poor model of impulse noise because impulse noise tends to be more accurately modeled by skewed rather than symmetric distributions. Existing methods for estimating the parameters of an alpha-stable distribution, which provide general solutions that are not limited to the special case of a symmetric distribution, tend to be computationally expensive or provide estimates with high variances.

It would be advantageous therefore to provide an improved system for modeling additive impulse noise corrupting data streams. Furthermore, it would be advantageous if such a system were able to model impulse noise using an alpha-stable distribution. Also, it would be advantageous if the improved system were able to adaptively estimate, and not pre-assign, the parameters of an alpha-stable distribution.

SUMMARY OF THE INVENTION

In accordance with the invention, there is provided a signal processing system for reducing impulse noise corrupting sampled signals. A memory of the signal processing system accumulates sampled signals from a transmission medium. The sampled signals have a noise component and a data component. In one embodiment of the invention, signals are sampled after being transmitted over a transmission medium such as a digital subscriber line (DSL) service. In another embodiment of the invention, signals are sampled from a transmission medium such as a sensor array in an imaging system such as a scanner.

In accordance with another aspect of the invention, the parameters of an alpha-stable distribution are estimated using a sampled signal having only a noise component. In the embodiment in which the signal processing systems operates a DSL service, a clean signal is transmitted over an analog data channel. To sample a signal without a data component, the analog data channel is sampled when no data signals are transmitted over the data channel. In contrast, in the embodiment in which the signal processing system operates in an imaging system, a sampled signal containing only a noise component is generated by applying centro-symmetrizing and centralizing transformations to corresponding pixels from multiple recorded images of the same scene.

In accordance with yet another aspect of the invention, the characteristic exponent of an alpha-stable distribution is used to define the order of the moment in the cost function that optimizes estimation of cleaned signals by the prediction filter. In effect, the cost function is defined to be the pth-power error criterion, and the modified IRLS technique is applied to optimize the model coefficients of the prediction filter.

Advantageously, the present invention provides a method and apparatus therefor, for modeling impulse noise in xDSL services using an alpha-stable distribution. In addition, a number of different methods for computing parameters of the alpha-stable distribution are disclosed. Generally, these different methods for estimating parameters of an alpha-stable distribution include the steps of performing transformations and computing moments.

DETAILED DESCRIPTION

A. Operating Environment

FIG. 1illustrates an operating environment of a signal transmission system (i.e., signal processing system) for performing the present invention. The operating environment of the signal transmission system includes a multi-functional device102that communicates with other devices over a broadband network104. The multi-functional device102receives and transmits digital data over the broadband network through a central office terminating unit106and a remote terminating unit108. The terminating units106and108form a modem pair that operate together to transmit digital data over an analog data channel (or pass-band channel)110. In one embodiment, the analog data channel110is a twisted pair line of the plain old telephone system (POTS).

The terminating un its106and108have switches118. Each of the switches118have two operating positions A and B. In the operating position A, the terminating units are in normal operating mode, during which digital data is transmitted between the multi-functional device102and the broadband network104over the analog data channel110. In the operating position B, the terminating units couple the input to the analog data channel with a null modem116. The purpose of the null modem116is to sample the analog data channel110when it is absent of data signals. As discussed in more detail below, the null modems116provide the noise suppression modules114with a sampled signal115consisting of a noise component and no data component.

In accordance with one aspect of the invention, the central office terminating unit106and the remote terminating unit108operate together to provide a digital subscriber line (xDSL) service. Each of the terminating units106and108includes a modem112for transmitting digital signals over the analog data channel110. The modems112receive signals filtered by a noise suppression module114. The noise suppression module reduces impulse noise corrupting signals transmitted over the analog data channel110. To transmit and receive digital data, the modems112in the terminating units106and108typically include a modulator unit and a demodulator unit. To transmit digital data, the modulator unit of a modem receives digital data and encodes the digital data into one or more symbols having a plurality of bits. Each encoded symbol is then input to a transmit filter which is used to produce a continuous time signal. The continuous time signal is transmitted over the analog data channel110.

The signal sampled at the output of either end of the analog data channel110is defined herein as the observed signalxt. In accordance with another aspect of the invention, the observed signalxtis processed by the noise suppression module114before being demodulated by a demodulator unit and decoded by a decoder unit in the modem112. The demodulator unit of the modem receives a cleaned signalyt, which is the output of the noise suppression module114. The symbols output by the demodulator unit of the modem are then input to the decoder unit of the modem to produce digital data. When the modem112forms part of the remote terminating unit108, the multi-functional device102receives the digital data output by the decoder unit of the modem. Alternatively, when the modem112forms part of the central office terminating unit106, the digital data is output to the broadband network104.

B. Overview Of The Noise Suppression Module

FIG. 2illustrates a detailed block diagram of the noise suppression module114shown in FIG.1. The noise suppression module114corrects distortions caused by impulse noise introduced to analog signals propagating along the data channel110. The characteristics of additive impulse noise corrupting input signalxtare typically unknown. Consequently, the elements of the noise suppression module114are used to estimate (i.e., predict) what the output signalxtis without noise (i.e., the cleaned signalyt). Generally, the elements of the noise suppression module include a data latch202, a signal estimation module200and a parameter estimation module206. In one embodiment, the signal estimation module200includes a noise symmetrizer216, a non-linear prediction filter210, and a coefficient optimization module208.

In operation, an observed block of L signalsxtis input to the noise suppression module114and stored in the data latch202. The signals forming the observed block of signals are sampled at some predetermined interval from the analog data channel110. The data latch202is a memory which stores L sampled data signals output from the analog data channel110. The signals input to the noise symmetrizer216and the non-linear prediction filter210are delayed by one block of signals (i.e.,xt−1), where each block of signals has a length of L samples. The observed block of signals which is stored in the memory of the data latch202can be represented in a matrix form as follows:x_t=[x⁡[t×L]⋮x⁡[t×L+L-1]],where⁢⁢t=0,1,2,3,…

In one embodiment, a measure of the noise on the analog data channel110is taken and the parameters α, β, γ, and δ are estimated once and hard-coded coded or fixed as input to the coefficient optimization module208. In an alternate embodiment, the parameters α, β, γ, and δ are adaptively estimated and modified during the operation of the noise suppression module using a new observed block of signalsxt. In this alternate embodiment, the switches118transition from operating position A to operating position B to record samples of noise on the analog data channel110thereby momentarily interrupting transfer of data traffic transmitted over the analog data channel110.

Once estimated, the parameters α, β, γ, and δ of the alpha-stable distribution are input to the coefficient optimization module208. In one embodiment, the coefficient optimization module208optimizes model coefficientsa,b, andcof the nonlinear prediction filter210using a modified iteratively reweighted least squares (IRLS) technique. The model coefficientsa,b, andcare then input to the non-linear prediction filter210to estimate what the observed signal blockxt−1is without impulse noise. The cleaned signal blockyt, which is an estimate of the signal blockxt−1without impulse noise, is defined in matrix form as:y_t=[y⁡[t×L]⋮y⁡[t×L+L-1]],where⁢⁢t=0,1,2,3,…
In one embodiment, the non-linear prediction filter210is a one-dimensional (i.e., 1-D) Volterra filter. Those skilled in the art will appreciate that the non-linear Volterra prediction filter210has a non-linear dependence on its input data and a linear dependence on in its coefficientsa,b, andc. Volterra filters are known in the art as disclosed by M. Schetzen,The Volterra and Wiener Theories of Nonlinear Systems, New York: John Wiley & Sons, 1980. It will also be appreciated by those skilled in the art that the non-linear prediction filter operates in an extrapolatory mode (i.e., extrapolation). The extrapolatory mode involves the prediction of future values using observations from past time steps (i.e., predicting values at time t=T, using observations having time steps at time t<T).

In alternate embodiments of the non-linear prediction filter210, other non-linear filters that are linear in their coefficients such as Radial Basis Function filters (which are known in the art as disclosed by B. Mulgrew, in “Applying Radial Basis Functions,” IEEE Signal Processing Magazine, Vol.13, No.2, pp.50-65 Mar. 1996) and Self-Exciting Threshold Autogregressive (SETAR) filters (which are known in the art as disclosed by H. L. Koul and A. Schick, in “Efficient Estimation In Nonlinear Autoregressive Time-Series Models,” Bernoulli, 1997, Vol.3, No.3, pp.247-277) are used in place of a Volterra filter.

In another alternate embodiment of the non-linear prediction filter210, the non-linear prediction filter operates in an interpolatory mode (i.e., interpolation) rather than an extrapolatory mode. In the interpolatory mode, observations from both past and future time steps [t−k,t−k+1, . . . ,t−1,t+1,t+2 . . . ] are used to predict the value of the data at time step t. It will be understood by those skilled in the art that this alternate embodiment results in the same formulas as presented here in Section C up to a relabeling of the time step indices. For example given eight observed signalsxt=0,xt=1,xt=2,xt=3,xt=4,xt=5,xt=6, andxt=7, the data componentyt=4of a signalxt=4is estimated (i.e., predicted) using the eight observed signals.

In addition to the parameters α, β, γ, and δ of the alpha-stable distribution, the observed signal blockxt−1, and the extended matrix Xextare input to the coefficient optimization module208. As described in more detail below, the coefficient optimization module208uses the parameters of the alpha-stable distribution to specify an Ip-norm estimation criterion (i.e., cost function). The cost function is minimized by the coefficient optimization module208to determine the model coefficientsa,b, andcof the non-linear prediction filter210. However, because the Ip-norm estimator only produces unbiased estimates when the noise in the observed signal blockxt−1is symmetric, the noise symmetrizer216may be required to deskew and centralize the noise in an observed signal blockxt. In an alternative embodiment, a zeros order (i.e., constant) (e.g.,α0in equation (2) below) term is included in the Volterra filter to compensate for bias in the Ip-norm estimation.

The non-linear prediction filter210uses model coefficientsa,b, andcto estimate the cleaned signalsyt. The model coefficientsa,b, andcare optimized using a parameter of an alpha-stable distribution that models impulse noise corrupting the observed signalxt−1. A general alpha-stable distribution is different from the Gaussian distribution because the alpha-stable distribution lacks finite second order statistics. As a result, the prediction filter210cannot use conventional least squares estimation techniques that are based on minimum mean squared error criterion to accurately estimate the cleaned signalsyt, since such techniques employ second order statistics.

It is known that minimizing the dispersion of a parameterized random variable distributed with an alpha-stable probability density function is equivalent to minimizing the pthorder moment of the random variable's probability distribution (see for example V. M. Zolotarev, “Mellin-Stieltjies Transforms In Probability Theory,”Theory of Probability and Applications, vol. 2, no. 4, pp. 433-460, 1957). Whereas the minimum mean squared error criterion leads to least squares estimation (I2-norm), the minimum mean pth-power error criterion leads to Ip-norm estimation.

Although the minimum mean squared error criterion leads to a linear predictor for Gaussian data with Gaussian noise, the error criterion for alpha-stable data or alpha-stable noise need not be linear. The filter210is, therefore, selected to be a non-linear Volterra filter or polynomial filter even if the process generating the clean data may be modeled as linear. The non-linear Volterra filter is used to estimate the data component of the observed signalxt−1or of the centro-symmetrized observed signalxt−1. Those skilled in the art will appreciate that the observed signal need not be centro-symmetrized before being input to the non-linear prediction filter if the noise in the observed signal is symmetric or if zerothorder terms are included in the Volterra filter. The estimate of the data component of the observed signalxt−1is defined herein as the estimated cleaned signalyt.

Using the estimated cleaned signalyt, the noise signal (or component) of the observed signalx1can be estimated using an additive model which assumes that the noise signal is produced independently of the data signal (or component). The estimate of the noise signal is defined herein as the estimated noise signalrt. The relationship between the observed signalxt−1, the estimated cleaned signalyt, and the estimated noise signalrtcan therefore be represented using the additive model as:
xt−1=yt+rt.

The input-output relationship of a Volterra filter can be defined as:y⁡(n)=a0+∑i=1N⁢ai⁢x⁡(n-i)+∑i=1N⁢∑j=iN⁢bi,j⁢x⁡(n-i)⁢x⁡(n-j)+∑i=1N⁢∑j=iN⁢∑k=jN⁢ci,j,k⁢x⁡(n-i)⁢x⁡(n-j)⁢x⁡(n-k)+…(2)where:x(n) is the observed signal,y(n) is the data component or cleaned signal,n is the observed block index that runs from 0 . . . L−1, anda0, ai, bi,j, and ci,j,kare the Volterra filter coefficients.
In one embodiment, the Volterra filter210is defined for computational efficiency with only the first three terms (excluding the term α0) of the general Volterra filter set forth in equation (2). Limiting the general Volterra filter to its the first three terms defines a truncated Volterra filter having up to third order non-linearity. It will be appreciated, however, by those skilled in the art that in alternate embodiments the filter210can be defined using truncated Volterra filters that have less than or more than three terms.

Using this input-output relationship, the data signalytfor a signal block is computed given the observed signal blockxt−1and the model (or Volterra) coefficients a, b, and c. The model coefficients a, b, and c are received from the coefficient optimization module208. In computing the data signalyt, the observed signal blockxt−1is delayed by one sample. In operation, the Volterra filter uses a block of signals sampled at the times [L×t−L−1+k, L×t−L+k, . . . , L×t−2+k] to estimate what a cleaned block of signals is at the times [L×t−L+k, L×t+k, . . . , L×t−1+k] for some k in the range 0 to N−1. The block length L is chosen to be substantially longer than the number of coefficients in the Volterra filter.

The input-output relationship of the Volterra filter can also be represented in matrix form as:y=XextC where,the extended Volterra data matrix Xext=└X(1)X(2)X(3)┘, such that:X(1)=[x⁡[t×L]0⋯0x⁡[t×L+1]x⁡[t×L]⋯0⋮⋮⋮x⁡[t×L+L-1]x⁡[t×L+L-2]⋯x⁡[t×L+L-N]]X(2)=[x2⁡[t×L]0⋯0x2⁡[t×L+1]x⁡[t×L]⁢x⁡[t×L]⋯0⋮⋮⋮x2⁡[t×L+N]x⁡[t×L+N]⁢x⁡[t×L+N-1]⋯x2⁡[t×L]⋮⋮⋮x2⁡[t×L+L-1]x⁡[t×L+L-1]⁢x⁡[t×L+L-2]⋯x2⁡[t×L+L-N]]X(3)=[x3⁡[t×L]0⋯0x3⁡[t×L+1]x2⁡[t×L+1]⁢x⁡[t×L]⋯0⋮⋮⋮x3⁡[t×L+N]x2⁡[t×L+N]⁢x⁡[t×L+N-1]⋯x3⁡[t×L]⋮⋮⋮x3⁡[t×L+L-1]x2⁡[t×L+L-1]⁢x⁡[t×L+L-2]⋯x3⁡[t×L+L-N]]whereeach row in X(2)(and X(3)) corresponds to the quadratic (cubic) terms in the Volterra expansion for a fixed time instant t given in equation (2) above,t is a fixed me constant having a range from 0,1, . . . , N, where N represents the memory capacity of the filter210,L is the data block length size; andthe Volterra vector of coefficientsC=[a_b_c_],such that:a_=[a1⋮aN],b_=[b1⋮bN⁡(N+1)2],and⁢⁢c_=[c1⋮cN⁡(N+1)⁢(N+2)6].

FIGS. 3-6illustrate different elements of a non-linear Volterra filter210.FIG. 3illustrates a general block diagram that represents the different elements forming a Volterra filter. As illustrated, the delayed observed signal blockxt−1is input to a linear filter302, a quadratic filter304, and a cubic filter306. The output of the filters302,304, and306is the product of the Volterra data matrices and Volterra coefficients defined above as X(1)a, X(2)b, and X(3)c. The elements in each of the resulting vectors are summed together by summation unit308to provide the estimated cleaned data signalyt.

FIG. 4illustrates one embodiment of a linear filter302. In operation, the linear filter302has shifted through the first register of shift register402each element in the sequence (or vector) of observed data signalsxt−1, starting with the first element of the blockxt−1(n=0). After each shift of the shift register402, the coefficients are multiplied by the Volterraacoefficients using multipliers404. These results are summed at adders406and output to define the entries in the resulting vector X(1)a.FIG. 3illustrates the computation of the first element in the vector X(1)a. This operation can be summarized as the convolution of the input signal blockxt−1and the impulse response of the filter210(i.e., the filter coefficients a, b, and c). In an alternate embodiment, the operation inFIG. 3is performed using overlapping blocks.

FIG. 5illustrates an example of the quadratic filter304illustrated in FIG.3. The quadratic filter304can be defined using a quadratic sequence generator502and a linear filter504. The output of the quadratic sequence generator is a quadratic sequence which is input to the linear filter504to produce the resulting vector X(2)bwhich can be viewed as the convolution of the quadratic sequence with the filter coefficientsb. Similarly,FIG. 6illustrates an example of a cubic filter306illustrated in FIG.3. The cubic filter306includes a cubic sequence generator602for generating a cubic sequence. The resulting cubic sequence is subsequently input to the linear filter604to produce the resulting vector X(3)c. Each sample in the quadratic (cubic) sequence corresponds to (or generated such that they correspond to) a quadratic (cubic) term in the Volterra filter expression given above in equation (2). One reason for representing the Volterra filter in matrix form is to simplify the computations of the coefficient optimization module208by utilizing the extended matrix Xext.

D. Coefficient Optimization Module

As illustrated inFIG. 2, the coefficient optimization module208receives as input parameters from the parameter estimation module206and the extended matrix Xextfrom the non-linear prediction filter210. The coefficient optimization module208adaptively determines the coefficients of the Volterra filter using a modified iteratively reweighted least squares (IRLS) technique. The steps for performing this technique are summarized in the flow diagram set forth in FIG.7.

Initially at step700, the index k is initialized to zero. Also at step700, the weight matrix W is initialized to an identity matrix I, and the value of ||r(−1)||(p)is initialized to zero. At step702, the value of p is set equal to the value of the characteristic exponent α received from the parameter estimation module206. In accordance with this aspect of the invention, the value of the characteristic exponent α is used to define the order of the moment used to compute the model coefficients of the non-linear prediction filter210.

At step704, an initial value for the vector of Volterra coefficients C(0) is computed for k=0. Subsequently, at step706, an error signal ri(or residual error term) is computed for each i in (0 . . . L−1) using the observed signal blockxt−1, the extended Volterra data matrix Xextand the vector of Volterra coefficients C(k). At step708, elements Wiiof the diagonal weight matrix W are computed for each i in (0 . . . L−1). The resulting vector of error signalsrtand diagonal weight matrix W are defined as:r_t⁡[r0⋮rL-1]⁢⁢and⁢⁢W=[W0,00⋯00W1,1⋮⋮⋰000WL-1,L-1].

At step710, a vector of Volterra coefficients C(k+1) is computed for the subsequent index value (e.g., k+1) using the computed diagonal weight matrix, the extended Volterra data matrix Xext, and the observed signal blockxt. At step712, a determination is made as to whether the error criterion for estimating the Volterra coefficients has sufficiently converged. Sufficient convergence is achieved when the relative change in the norm of the estimation error ||r||(p)between iterations is smaller than the convergence limit ε. In one embodiment, the convergence limit ε equals 10−4. The error criterion ||r||(p), which is the pth-power error criterion, is computed as follows:r_(p)=∑i=0L-1⁢rip.

When convergence is successfully achieved, then step716is performed and the vector of Volterra coefficients C(k+1) last computed at step710is passed to the non-linear prediction filter210. If the solution did not successfully converge then step714is performed. At step714, the index k is incremented and step706is repeated. It will be appreciated by those skilled in the art that an upper limit of the index k can be defined in order to assure that a Volterra coefficient vector is found at step716within a constrained amount of time.

In general, the coefficient optimization module208can only produce unbiased estimates of the coefficients of the Volterra model with no zerothorder term if the impulse noise has a symmetric probability density function. In accordance with another aspect of the invention, the noise symmetrizer216, which includes a random noise sequence generator212and a differencer214, is adapted to convert observed signal blocks with impulse noise having non-symmetric probability density functions into a form that can be used to compute an unbiased estimate of the coefficients of the non-linear prediction filter210. This aspect of the invention relies on the assumption that there exists a means for obtaining replicas of observed signal blocks with the same data component but different noise component that are derived from the same statistical distribution.

More specifically, the random noise sequence generator212computes a matched noise sequence (i.e., a sequence with the same parameters as an observed signal blockxt) using the parameters estimated by the parameter estimation module206. In effect, the noise sequence generator212generates synthetic noiseeusing parameters of the original sample of noise input to the parameter estimation module206. The synthetic noise sequence is a sequence of alpha-stable random variables of the same length as the original sequencextnoiseinput to the parameter estimation module206(i.e., a matched noise sequence made up of random numbers having an alpha-stable distribution). In one embodiment, the matched noise sequence is generated using an alpha-stable random number generator, which is known in the art as disclosed by J. M. Chambers, C. L. Mallows, and B. W. Stuck, in “A Method For Simulating Stable Random Variables,”Journal of the American Statistical Association, Vol. 71, No. 354, pp. 340-344, June 1976, and hereby incorporated herein by reference.

After generating a sequence of alpha-stable variables using the random noise generator212, the differencer214subtracts this sequence of synthetic noiseefrom the observed signal blockxt−1, thereby converting skewed noise into symmetric noise. The resulting signal blockx′t−1output from the differencer214is a modified signal block composed of a data component and centro-symmetrized (i.e., deskewed and centralized) noise component. In effect, subtractingefromxt−1, results in the addition of random noise to the observed signal blockxt−1, thereby making noise the resulting signal blockx′t−1symmetric. The modified signal blockx′t−1is then used by the non-linear prediction filter to estimate a cleaned signal blockyt. Advantageously, the random noise sequence generator212and the differencer214provide an apparatus for centro-symmetrizing impulse noise in an observed signalxt−1so that the Ip-norm minimization technique for estimating the parameters of the Volterra filter is unbiased (at least when a zerothorder term is included and when no self-terms are included in this Volterra filter i.e., terms of the form bi,j, ci,j,kwhere any pair of i,j,k are equal).

F. Parameter Estimation Module

FIG. 8illustrates a flow diagram that sets forth the steps that are performed by the parameter estimation module206to estimate the parameters of an alpha-stable distribution. By way of overview, the steps performed by the parameter estimation module can be summarized as follows. Initially, at step802a block (or sequence) of observed data signals or samples S={Xk}={X0, . . . XL−1} is received at the parameter estimation module206. The samples are obtained by observing a signal block when the switches118are set to operating position B.

At step804, a determination is made whether to transform the observed data received at step802. Depending on the outcome of the determination made at step804, one or more transformations are performed on the observed data to obtain deskewed (i.e., symmetric) or centralized alpha-stable random variables at step806. Once the transformation of the observed data is complete, moments of the alpha-stable distribution are computed at step808. Using the computed moments, estimates of the parameters α, β, γ, and δ of an alpha stable distribution are computed at step810.

Step804is repeated depending upon whether all parameters were estimated at step812. Once all parameters of the alpha-stable distribution have been computed, the parameters are output to the signal estimation module at step814. It will be appreciated by those skilled in the art that the method set forth inFIG. 8need not be used to compute every parameter, but instead can be used to estimate a subset of the four parameters α, β, γ, and δ of an alpha-stable distribution.

More specifically at step804, a decision is made whether to perform one or more transformations on the sequences of data signals Xk. Those transformations selected to be performed at step804are computed at step806. The purpose of performing a transformation is to eliminate one or more of the parameters in the distribution, thereby minimizing the number of variables that are being solved for at any one time. The transformations presented below in Tables 1-4 are used to generate, for example, sequences with δ=0 or β=0, or with sequences with both δ=0 and β=0 (except when α=1). Advantageously, by using such sequences, methods that can be applied to symmetric variates can be applied to skewed variates. In addition, skew-estimation methods for centered variates can be applied to non-centered variates, with a loss of some sample size.

The transformations that can be performed at step804include a centro-symmetrization transformation XkCS, a symmetrization transformation Xks, and a centralization transformation XkC. Another available transformation at step804is a relocated or approximately centralized transformation XkR, which requires an estimate of the location parameter δ. Each of these transformations are set forth in Tables 1-4, respectively. More specifically, each of the Tables 1-4 set forth a particular transformation that takes the weighted sums of the sequences of noise signals Xk(i.e., sequence of stable variates).

The resulting transformed sequence of noise signals are defined in Tables 1-4 in the form of the parameters of the alpha stable distribution Sn(dispersion parameter γ, symmetry parameter β, location parameter δ) for some value of the characteristic exponent α (e.g., α=1.5). Which one or ones of these four transformations are performed at step806depends on the particular variable of the alpha-stable distribution being solved at step810.

F.2 Computing Moments of Alpha-Stable Distributions

After transforming the observed noise signals at step806if necessary, moments for the alpha-stable distribution are estimated at step809. Estimating a moment of an alpha-stable distribution involves evaluating the equations set forth in Tables 5-10 with n samples (where L=n samples inFIG. 2) of the transformed signals. It will be appreciated by those skilled in the art that other choices of sample length may be employed to provide a better trade-off between computation or sampling time and variance of the parameter estimates. Specifically, set forth in Tables 5-10 are formulas for computing up to six different classes of moments. The different classes of moments include absolute fractional lower order moments (FLOM), signed FLOM, signed logarithmic moments, absolute logarithmic moments, extreme value moments, and empirical characteristic function moments each of which is set forth in Tables 5-10 respectively. In these tables, random variables are denoted by capital letters (e.g., example X).

In Tables 5 and 6, the pthorder moment should be chosen on the basis of a lower bound on the possible value of the parameter alpha. If this lower bound is αmin, then a value of P=αmin/4 is a good choice of p. The value of p should not be chosen to be too large, since if p is greater than α/2 then the variance of the FLOM is infinite, and the variance of the alpha estimate is therefore large. If p is too small then the absolute FLOM will be close to one, and the variance of the alpha estimate again becomes large.

TABLE 5Absolute FLOMMomentMoment EstimateAp= E|X|pA^p=1n⁢⁢∑k=1n⁢Xkp,where p is the orderof the moment.

TABLE 6Signed FLOMMomentMoment EstimateSp= EX<p>S^p=1n⁢⁢∑k=1n⁢sign⁢⁢(Xk)⁢Xkp,where p is the orderof the moment.

TABLE 10Empirical Characteristic FunctionMomentMoment Estimateφ⁡(p)=EejpXφ^⁡(p)=1n⁢⁢∑k=1n⁢ⅇjpXk,wherep is the order of themoment.

F.3 Estimating Parameters Using The Computed Moments

Using the moments computed using Tables 5-10, the parameters of an alpha-stable distribution α, β, γ, and δ are computed using the formulas given in Tables 11-14. Each of the Tables 11-14 have an “ID” column, a “condition” column, and an “estimators column. The “ID” column identifies different estimators for the same parameter. The “condition” column defines when a particular moment computed at step808may be applied. For some of the estimates of the parameters, there is included a lower bound on the alpha estimate (i.e., αmin). For these cases, the αminprevents numerical problems from arising and improves the performance of the estimators in situations where such a bound is available. It has been found that a good estimate of αminfor signal transmission systems is one (i.e., αmin=1). It will be appreciated that dependent on which of the transformations from Tables 1-3 are applied prior to application of these estimators, it will be necessary to re-transform the estimates obtained for the transformed sample back to the parameter values for the original sample.

Some of the estimators in the Tables 11-14 include a superscript X or Y on the moment as in estimators â2and â3set forth in Tables 11B and 11C. The presence of a superscript X or Y means that the noise samples (e.g., signal blockxt) are partitioned into two partsUandV, with each part containing data samples U1, U2, U3, . . . and V1, V2, V3, . . . respectively. The moment with superscript X is computed for the summed samples as:
X1=U1+V1, X2=U2+V2, X3=U3+V3, . . . ,
while that for superscript Y is computed for the concatenated samples as:
Y1=U1, Y2=V1, Y3=U2, Y4=V2, Y5=U3, Y6=V3, . . . .

In addition, some of the estimators of alpha in the Tables 11A-11E include an auxiliary variable Z. The auxiliary variable Z is used to denote some intermediate function of certain moments to simplify the exposition. Also in the estimator â1set forth in Table 11A, the arcsinc function is used. By definition, the arcsinc function is the inverse of the sinc function (i.e., if y=sinc(x)=sin(x)/x and if 0≦x<π, then x=arcsinc(y)). In the estimator {circumflex over (δ)}1in Table 13, a sample's f-fractile is computed. A sample's f-fractile is the point x for which a fraction f of the sample lies below x. For example, the lower quartile of the data is the 0.25-fractile and the median is the 0.5-fractile.

In the estimator {circumflex over (δ)}2in Table 13, the p% truncated sample mean is computed. The p% truncated sample mean is the mean of all samples except those larger than the (p/2)% largest and smaller than the (p/2)% smallest samples. For example, given a sorted list of one-hundred samples, the p% truncated sample mean is computed by truncating p/2 of the largest and p/2 of the smallest samples in the sorted list of samples.

TABLE 14Estimates of DeltaIDConditionEstimate{circumflex over (δ)}1Estimate of α, β{circumflex over (δ)} = the f - fractile of the sample, whereavailablef=12-θπ⁢⁢α,θ=arctan⁢⁢(β⁢⁢tan⁢⁢(α⁢⁢π/2)).{circumflex over (δ)}2β = 0{circumflex over (δ)} = the p % truncated sample mean(this also includes the median).

F.4 Origins Of The Parameter Estimators For Stable Distributions

Sections F.4.1-F4.4 describe the principles used to derive the equations set forth in Tables 1-14.

The estimators based on the fractional lower order moments (FLOM) are all rearrangements of the formula in Theorem 1.

Theorem 1: If X is a stable random variable with parameters α, β, γ, and with δ=0 then:E⁡[(sign⁡(X))k⁢Xp]=Γ⁡(1-pα)Γ⁡(1-p)⁢γcos⁢⁢θpα⁢⁢cos⁡(p⁢⁢θα-k⁢⁢π2)cos⁡((p-k⁢)⁢π2),with pε(−2,−1)∪(−1,α), p≠1, for k=1,or with pε(−1,α), p≠1 for k=0,wheretan⁢⁢θ=β⁢⁢tan⁢α⁢⁢π2.
The proof of Theorem 1 is disclosed by V. M. Zolotarev, in “One-dimensional Stable Distributions”, Providence, RI: AMS, 1984.

The estimators based on logarithmic moments are the consequence of differentiating the formula of Theorem 1 and rearranging the formulae obtained by applying the following result:

Lemma 2: Assuming the necessary derivatives exist for a random variable X,E⁡[(log⁢X)k]=limp→0⁢ⅆkⅆpk⁢⁢E⁡[Xp]⁢⁢for⁢⁢k=1,2,⋯⁢.

The proof of Lemma 2 is arrived at by differentiating the moment generating is function for the logarithmic process.

F.4.3 Extreme Value Estimators

Extreme value estimators are parameter estimators for the Frechet distribution which the tails of the stable pdf obey, which is given by following theorem:

Theorem 3: The tails of a stable pdf are asymptotically described by:limλ→∞⁢⁢Pr⁡(X>λ)~C⁡(α)⁢(1+β)⁢λ-αlimλ→∞⁢⁢Pr⁡(X<-λ)~C⁡(α)⁢(1-β)⁢(-λ)-αfor a suitable function C(α).
The proof of Theorem 3 is disclosed by G. Samorodnitsky and M. S. Taqqu, in Stable Non-Gaussian Random Processes: Stochastic Models with Infinite Variance, Chapman & Hall, New York, 1994.

F.4.4 Weighted Empirical Characteristic Function Estimators

The empirical characteristic function estimator has been described by S. Kogon and D. B. Williams, in “On The Characterization Of Impulsive Noise With Alpha-Stable Distributions Using Fourier Techniques,” Asilomar Conf. on Signals, Systems, and Computers, 1995. The weighted version of this estimator may be derived by:1) Taylor expanding the residuals in the classical characteristic function method up to 1storder in the moment estimates.2) Approximating the covariance matrix of the residuals using this Taylor expansion.3) Computing the maximum likelihood estimate of the parameters assuming the residuals have a normal distribution with covariance described by the approximated covariance matrix.
G. Estimation Examples

FIG. 9Ais a flow diagram which sets forth one combination of steps for estimating the parameters α, β, γ, and δ of an alpha-stable distribution. More specifically,FIG. 9Asets forth an example of a particular sequence in which the steps inFIG. 8can be performed. It will be appreciated by those skilled in the art that the flow diagram sets forth only one of many different possible sequences in which the estimators in Tables 11-14 can be applied, as evidenced by the condition column in the Tables.

Initially at step902, a data sample S (e.g., signal blockxt−1) is observed with the switch118in operating position B. At step904, the centro-symmetrization transform set forth in Table 3 is applied to the data sample S to obtain a transformed data sample C. A determination is made at step906whether a lower bound (i.e., αmin) on alpha is known. In one embodiment, the lower bound on alpha is assumed to equal one—this is an appropriate choice for most communication systems. If there exists such a lower bound on alpha, then an estimate for the alpha parameter is computed at step908by applying the alpha estimator α2to the data sample C; otherwise, the alpha parameter is computed at step910by applying the alpha estimator α3to the data sample C. The alpha estimators α2and α3are defined above in Tables11A and11B, respectively.

To estimate the parameter δ for the data sample S, steps912and914are performed. At step912, the symmetrization transformation set forth in Table 2 is applied to the data sample S to obtain a transformed data sample T. At step914, the parameter δ is estimated as the median of the transformed data sample T using the delta estimator {circumflex over (δ)}2, set forth in Table 14. This estimate is divided by (2−21/α)to obtain a delta estimate appropriate for the untransformed sample. Subsequently at step916, the data sample S is relocated using the estimate of delta computed at step914to obtain a transformed data sample R. At step918, the parameter beta is estimated by applying the beta estimator {circumflex over (α)}1, set forth in Table 12 to the transformed data sample R. In addition at step920, the parameter gamma is estimated by applying the gamma estimator1set forth in Table 13 to the transformed data sample R. At step922, the estimated parameters for the alpha-stable distribution are output to the signal estimation module at step922.

In another embodiment,FIGS. 9B and 9Cset forth another combination of steps950-961that can be performed to estimate the parameters α, β, γ, and δ of an alpha-stable distribution. More specifically, the estimator of the parameters is a weighted empirical characteristic function estimator (see Table 10). It is known to perform an empirical characteristic function method without performing the steps955,956,960, and961. Advantageously, the additional steps955,956,960, and961greatly reduce the variance of the estimates of the parameters. It will be appreciated by those skilled in the art that it may be advantageous to iterate through steps955,956,960, and961more than once to yield better estimates.

The embodiment shown inFIGS. 9B and 9Cfirst observes a data sample S (e.g., signal blockxt−1) with the switch118in operating position B. Since the characteristic function is the Fourier transform of the pdf of a distribution, it is necessary to select some frequencies (i.e. arguments of the characteristic function) to use for estimation. At step950, the set of frequencies [t1,t2, . . . , tm] is chosen to be a sequence of positive real numbers. The numbers are chosen to be positive in order to simplify the presentation of subsequent steps of the estimation procedure. However, it is important that the numbers be unique and non-zero. A good choice for these numbers has been found to be [0.05, 0.10, 0.15, . . . , 0.90, 0.95, 1.0].

At step952, the centro-symmetrization transform set forth in Table 3 is applied to the data sample S to obtain a transformed data sample Y. At step953, the empirical characteristic function is estimated at each of the frequencies selected at step950, using the formula given in Table 10. The logarithm of the is logarithm of the characteristic function estimate at frequency tkis computed and assigned to a variable Ψk. From the formula for the characteristic function of an alpha-stable random variable (i.e., equation (1)), it can be seen that such a double logarithm has a linear dependence on the characteristic exponent α and on the logarithm of the dispersion log γ. Hence a linear regression is used to estimate these parameters.

Since the residuals in this regression are correlated, good estimates are not expected unless a weighting matrix is employed to decorrelate them. However, the extent of the correlation depends on the values of the characteristic exponent and dispersion parameters, which are what is being estimated. Therefore, an iterative solution procedure is employed in which the weighting matrix and the parameters are alternately estimated. The solution procedure is initialized at step951by assuming that the weighting matrix is the identity matrix. New parameter estimates are obtained at step954. Using these parameters a new weighting matrix is determined at step955. At step956, a more accurate set of parameter estimates is produced. It is possible to iterate this procedure a number of times. However, it has been found that a single iteration (as shown inFIGS. 9B and 9C) usually provides most of the improvement in the estimates that can be obtained.

Next it is necessary to estimate the skew and location parameters of the distribution. This is accomplished at steps957-961by making use of the characteristic exponent and dispersion estimates obtained at step956. At step957, the imaginary parts of the logarithm of the empirical characteristic function are computed for the original data (rather than the centro-symmetrized data) using the formula given in Table 10. These quantities are divided by their frequency and assigned to the variables ωk. From the formula for the characteristic function of an alpha-stable random variable (i.e., equation (1)), it can be seen that these quantities have a linear dependence on the skew parameter β and on the location parameters. Hence step957performs a linear regression to estimate these parameters.

The regression is again performed iteratively, starting from an identity matrix estimate of the weight matrix at step958and producing an improved estimate of the weight matrix at step960. The formula for the weight matrix has been given in terms of the real and imaginary parts of the characteristic function evaluated at the frequencies chosen in step950and at the sums and differences of these frequencies.

Finally, after one or more iterations, at step961the estimated parameters for the alpha-stable distribution are output to the signal estimation module200.

H. Alternate Operating Environment

FIG. 10illustrates an alternate operating environment for performing the present invention. The operating environment illustrated inFIG. 10is directed at an image processing system (i.e., signal processing system), and more particularly to an image processing system for cleaning impulse noise from digitally recorded or artificially generated images.FIG. 10shows hardware components1012and software components1010of the digital image processing system operating on a general-purpose computer1002.

When operating, the general-purpose computer1002receives digital images from an imaging device1004or an imaging synthesizer1028. The imaging device or imaging synthesizer may be operating local to the general purpose computer1002or may be operating on a network1004such as the Internet, thereby requiring digital images to be received through a transmission medium1005coupling the network1004and network I/O1022of the general purpose computer1002.

Also coupled to the general-purpose computer1002is a printer1007and a display1008for outputting digital images. Additional hardware components1012operating in the general purpose-computer1002include user I/O1014, memory1016, CPU1018, and storage1020. In addition, the software components1010operating in the general-purpose computer include operating system software1024, filter switch118, pure noise extractor1026, and noise suppression module114.

FIG. 11illustrates a process for cleaning impulse noise from digital images recorded by imaging device1006or formulated by imaging synthesizer1028in accordance with the present invention. In the event the imaging device1006is operating, an image of an original scene1102is recorded with an imaging device such as a scanner, a digital camera, a camera with a frame grabber, or the like. Typically, an image captured by an imaging device includes noise inherent in the image signal sampled using the imaging device.

One source of impulse noise corrupting noisy digital image1104is the transmission medium1005. Noise that degrades the quality of sampled image signals can either be signal dependent noise or additive noise. It is assumed for the purposes of this invention that impulse noise that corrupts image data is additive, similar to impulse noise corrupting data signals transmitted over analog data channel110(shown in FIG.1).

The filter switch118, as set forth above, has two operating positions. The operating position A Is the normal operating mode of the noise suppression module114. The elements forming the noise suppression module114are set forth in FIG.2and described above. In normal operating mode, noisy images are cleaned as described above to produce an estimate of a clean image1106. In operating position B, the filter switch118directs noisy digital image1104to the pure noise extractor1026. The purpose of the pure noise extractor1026is to provide the parameter estimation module206with an observed signal block that consists entirely of impulse noise that is absent of image content.

The pure noise extractor1026is necessary because the impulse noise corrupting an image recorded with the imaging device1006cannot be measured independent of the data signals. That is, although the noise is additive, it cannot be independently measured as shown inFIG. 1using null modem116. As set forth above, estimating the parameters of an alpha stable distribution of the imaging device1006requires an observed signal block consisting of impulse noise to be input to parameter estimation module206.

FIG. 12is a flow diagram that sets forth the steps performed by the pure noise extractor1026to produce an observed signal block that consists of impulse noise and no image content. Initially at step1202, three images I1, I2, and I3of the same original scene1102are recorded using imaging device1006and transmitted, if necessary, through transmission medium1005to pure noise extractor1026. At step1204, the difference between two of the images recorded at step1026is computed (e.g., I1-I2) to define a centro-symmetrized difference image. This operation has the effect of canceling the data component and performing the centro-symmetrization transformation set forth in Table 1 on the noise component.

At step1206, an estimate of the characteristic exponent α is obtained by applying one of the alpha estimators set forth in Tables 11A-11E to the centro-symmetrized difference image. Subsequently at step1208, a centralizing transformation, which is set forth in Table 3, is applied to the three images I1, I2, and I3to define a centralized difference image I4. At step1210, the centralized difference image I4computed at step1208is input to the parameter estimation module206. The parameter estimation module206computes the parameters of an alpha-stable distribution by considering each pixel of the image as an independent sample. Once computed, these parameters are then input to the signal estimation module200for estimating clean image1106.

In a first alternate embodiment of the pure noise extractor1026, an image recorded with the imaging device1006or the like that consists of characters or line segments. A segment of the image that has no characters or line segments is isolated. Because the isolated area is abs ent image content, it can be input into the parameter estimation module206to estimate the alpha-stable parameters.

In a second alternate embodiment of the pure noise extractor, a search is performed to identify an area of an image recorded with the imaging device1006that is smooth or flat. A smooth or flat region is one which has a constant20background region or that has small changes in gray level or luminance across an area of the recorded image. Properties of a such a region in an image can be discovered by moving a window over the recorded image and detecting when greater than ninety percent of the gray values lie within plus or minus epsilon of some gray-value, where epsilon is a pre-selected threshold value. All the points in the discovered region are treated as independent samples of an alpha-stable distribution and input to the parameter estimation module206.

In an alternate embodiment of the non-linear prediction filter210, the signal estimation module200shown in detail inFIG. 2is configured to accept signal blocks that are two dimensional matrices. In the event a one-dimensional Volterra filter is used to estimate a cleaned signal block, images recorded by the imaging device1006or formulated by the imaging synthesizer1028are treated as one-dimensional vectors. To accommodate two-dimensions in this alternate embodiment, the non-linear prediction filter210is modified as described below.

An example of a two-dimensional (i.e., 2-D) non-linear prediction filter210is a 2-D Volterra system that can be described as:y⁡(m,n)=∑i⁢⁢∑j⁢⁢a⁡(i,j)⁢x⁡(m-i,n-j)+∑i⁢⁢∑j⁢⁢∑k⁢⁢∑l⁢⁢b⁡(i,j,k,l)⁢x⁡(m-i,n-j)⁢x⁡(m-k,n-l)+∑i⁢⁢⋯⁢∑r⁢⁢c⁡(i,j,k,l,s,r)⁢x⁡(m-i,n-j)⁢x⁡(m-k,n-l)⁢x⁡(m-r,n-s).(3)
More details of this Volterra model are described in “A Computational Method For The Design Of 2-D Nonlinear Volterra Models,” by G. F. Ramponi, G. L. Sicuranza, W. Ukovich,IEEE Trans. On Circuits and Systems, Vol. 35, No. 9, September 1988, pp. 1095-1102, which is hereby incorporated by reference.

The 2-D Volterra model set forth above extends up to third order non-linearity. Extending the 2-D Volterra model to a fourth order non-linearity provides little improvement in noise suppression but is much more computationally intensive. The summations in the 2-D Volterra model apply to a neighborhood of the pixel under consideration. For simplicity, only the nine pixels that make up a 3×3 square centered at the pixel being considered are included in the sum. However, alternative neighborhood structures can also be applied. In addition, it will be appreciated by those skilled in the art that techniques are available for eliminating insignificant coefficients in the summations as described by K. C. Nisbet, B. Mulgrew, and S. McLaughlin, in “Reduced State Methods In Nonlinear Prediction,” Signal Processing, Vol. 48, pp. 37-49, 1996. R. D. Nowak and B. D. van Veen, “Reduced Parameter Volterra Filters,” Proceedings of ICASSP-95, Vol. 3, pp. 1569-1572, 1995.

Also, in this alternate embodiment, the matrices in the coefficient optimization module208are constructed by placing every coefficient in the summation of equation (3) in a vector. The data terms x(.), x(.)x(.) and x(.)x(.)x(.) are placed in the vector according to the scheme of the 1-D embodiment. This produces a matrix equation for the 2-D embodiment identical in form to the 1-D embodiment. The only difference between the 1-D and 2-D embodiments is that the entries of the vector of coefficients are defined by the above-described neighboring structure. Once complete, the coefficient optimization module208is run as described above for the 1-D embodiment.

It will be appreciated that the present invention may be readily implemented in software using software development environments that provide portable source code that can be used on a variety of hardware platforms. Alternatively, the disclosed system may be implemented partially or fully in hardware using standard logic circuits. Whether software or hardware is used to implement the system varies depending on the speed and efficiency requirements of the system and also the particular function and the particular software or hardware systems and the particular microprocessor or microcomputer systems being utilized.

The invention has been described with reference to a particular embodiment. Modifications and alterations will occur to others upon reading and understanding this specification taken together with the drawings. The embodiments are but examples, and various alternatives, modifications, variations or improvements may be made by those skilled in the art from this teaching which are intended to be encompassed by the following claims.