On Wed, Sep 17, 2014 at 2:06 PM, Sam mite <[email protected]> wrote:

> Hi, I am trying the CMA equalizer of gnuradio and for understanding I am
> studying the reference paper  mentioned in the doc as well. I have a
> question after going through the code- Why the real and imag part of the
> error signals are being clipped at 1.
>
> float re = gr::clip(error.real(), 1.0); float im = gr::clip(error.imag(),
> 1.0);
> Shouldn't it be "d_modulus" instead of 1.
>
> Regards,
>
> Sam
>


The answer is no. The clipping is just to make sure that the error signal
doesn't walk away too far or go to some strange state if the incoming
signal is too ugly. There's nothing that I can find that ties that value to
the modulus at all, though I can see why you might think so. In fact, when
you make the change you suggested, the results get noticeably worse.

I've attached an example that uses our dynamic fading model to explore the
results. You can select between different UMTS PDP models, both of which
are pretty bad. I found that restricting this error value even more makes
the algorithm a bit more robust, though it likely takes longer to lock. But
when using d_modulus here, the algorithm never actually converges.

Tom

Attachment: digital_cma_equalizer_cc.grc
Description: Binary data

_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to