Blind channel equalization methods equalize the channel without using the source data and without knowing the impulse response of the channel. Consider the channel to be a single input single output FIR system. The popular methods for blind channelequlization are Constant Modulus Algorithm and Least Mean Squares. Certainly, the equalizer coefficients are the not the estimated channel impulse response. It is not clear to me that once the equalizer weights are estimated, how does one get the estimates of the channel coefficients/ impulse response? I am missing a fundamental step somewhere, can somebody please help how we use the equalizer weights to estimate the channel?
1 Answer
With a blind equalization technique like the constant modulus algorithm (which is often implemented using a least mean squares (LMS) filter as you indicated), you aren't directly estimating the channel impulse response itself. Instead, the signal model is like this:
The receiver observes the following signal: $$ x[k] = s[k] * c[k] + n[k] $$
where:
- $s[k]$ is the underlying desired signal,
- $c[k]$ is the channel's impulse response, and
- $n[k]$ is a noise process introduced by the channel (typically assumed to be additive white Gaussian noise)
A blind equalizer operates by taking advantage of some constraint on the properties of the desired signal $s[k]$. For instance, if it is constant envelope, like phase-shift keying, then the constraint could be: $$ |s[k]| = 1 $$
The CMA-LMS blind equalizer operates in two steps. First, it uses the current length-$L$ vector of LMS filter taps (where $L$ is a design parameter of the filter) $\mathbf{w}[k]$ to calculate its output: $$ y[k] = \mathbf{w}[k]^H\mathbf{x}[k] $$
where $\mathbf{x}[k]$ is a vector of the last $L$ input samples to the filter. Next, it uses the calculated output to update its set of taps for the next iteration: $$ \mathbf{w}[k+1] = \mathbf{w}[k] - \mu \mathbf{x}[k](|y[k]|^2 - 1)y^*[k] $$
When compared to the typical LMS filter structure, one can identify the error signal $e[k]$ as:
$$ e[k] = (|y[k]|^2 - 1)y^*[k] $$
You can see here how the error captures how far the filter output signal $y[k]$ deviates from the expected constant envelope of the desired signal $s[k]$.
Looking at this structure, you can see that at no point is the equalizer trying to directly estimate the channel's impulse response. Instead, it's more "given the knowledge that I have of the expected signal's structure, how do I need to adjust my filter taps to enhance that structure in the filter output?" So it's more of an inverse problem; the tap vector will tend to more closely resemble the inverse of the channel impulse response. Blind equalization techniques like this can do a surprisingly good job at doing so (even more surprisingly, techniques like CMA can even work for signal types that aren't constant envelope, like QAM).
-
$\begingroup$ Thank you for the elaborate answer. Could you please clarify if I these points based on your answer are correct or not?(1) The equaizer weights can be used to get the channel coefficients. In order to get the estimates of the channel impulse response, the last step should be $\hat{c} = y[k]x[k]^H$ where the operation is deconvolution? Is this correct?(2) What if the channel impulse response did not vary with time i.e.,the model was $x[k] =c_1*s(k-1)+c_2*s(k-2)+s(k)+ n[k]$ then would $w$ be evaluated for every time instant? thank you $\endgroup$– SKMCommented Feb 13, 2018 at 6:37
-
$\begingroup$ Deconvolution isn't an operation that you can just calculate directly like that. Likewise, even if the channel impulse response isn't time-varying, you don't know it ahead of time. An LMS equalizer is a gradient descent structure that tries to slowly zero in on a correct estimate of what the inverse of the channel response is. $\endgroup$– Jason RCommented Feb 13, 2018 at 13:26
-
$\begingroup$ The goal of equalization is to make $y$ very close to the input $s$ I think. So, after equalization, how do I use the equalized signal $y$ to get the channel impulse response? There must be some way to do deconvolution. Since, $\hat{s}[k] = y[k]$ how does one use this knowedge to get the channel estimates --- maybe use least squares or something? Can you please explain how to use the equalized signal for channel estimation? $\endgroup$– SKMCommented Feb 13, 2018 at 16:47
-
$\begingroup$ If you had perfect equalization, then $y$ would be equal to $s$, so it would provide you no information about the channel response whatsoever. In this perfect situation, then the tap weights $\mathbf{w}$ would have a frequency response that is the inverse of the channel response. In practice, you won't have perfect equalization, and a robust equalizer won't exactly invert the channel response, as if it has nulls in it (which is common in wireless communication), the corresponding inverse function would be infinite gain at some frequencies, which obviously can't happen. $\endgroup$– Jason RCommented Feb 13, 2018 at 16:54
-
$\begingroup$ Assuming perfect equalization, I know the noisy output of the channel $x$ and the estimated input $\hat{s}$. Then, this setting is similar to Ordinary Least Squares. So, can I not apply the Least Squares formulation or the pseudoinverse $x/s$? $\endgroup$– SKMCommented Feb 13, 2018 at 16:59