Constant modulue equalization for FSK signals

Started by January 10, 2006
```Hi group,

I have a simulation in which a noisy binary CPFSK signal is filtered
with a FIR filter representing the channel. Due to the channel, the BER
curve shifts to the right. I'm trying to construct a blind equalizer
for CPFSK using the Constant Modulus (CM) criterion operating on a
block of data.

Normally the CM criterion is applied in a recursive way to update a
gradient descent algorithm, just like LMS, RLS, etc. I was wondering if
one can compute the solution directly by computing a least squares
solution to RW=P, where R is the correlation matrix of the channel
output, P is the crosscorrelation of the channel output and a
complex-limited version of the channel output (CM criterion), and
finally W is the FIR tap weight vector that is sought.

So fari I haven't had much luck with this. Any suggestions for a static
channel that I can try that should be equalizable using this approach?
I have tried channels like [k*exp(j*theta) 1], boxcar filters, etc. I
have not tried Rayleigh or Rician channels yet, figuring the static
case should be easier to work with first.

Thanks,

John

```
```
john wrote:
> Hi group,
>
> I have a simulation in which a noisy binary CPFSK signal is filtered
> with a FIR filter representing the channel. Due to the channel, the BER
> curve shifts to the right. I'm trying to construct a blind equalizer
> for CPFSK using the Constant Modulus (CM) criterion operating on a
> block of data.
>
> Normally the CM criterion is applied in a recursive way to update a
> gradient descent algorithm, just like LMS, RLS, etc. I was wondering if
> one can compute the solution directly by computing a least squares
> solution to RW=P, where R is the correlation matrix of the channel
> output, P is the crosscorrelation of the channel output and a
> complex-limited version of the channel output (CM criterion), and
> finally W is the FIR tap weight vector that is sought.

Certainly you can do it this way if you like. The disadvantage is the
need to have a huge storage for the correlation data to average the
statistics over time. Once the data is accumulated the amount of the
computation is also going to be hideous. The direct calculation of the
long vector W can suffer from the computing problems, especially when R
is near singular, which is likely.
Also this method assumes the time invariant channel, whereas the
gradient algorithms are tracking the variations.

> So fari I haven't had much luck with this. Any suggestions for a static
> channel that I can try that should be equalizable using this approach?
> I have tried channels like [k*exp(j*theta) 1], boxcar filters, etc. I
> have not tried Rayleigh or Rician channels yet, figuring the static
> case should be easier to work with first.

Probably there is a mistake somewhere. The method should work.