# Equalization class help

**URL:** <https://www.ruby-forum.com/t/equalization-class-help/241075>\
**Category:** GNU Radio\
**Created:** [May 12, 2014, 12:00pm UTC](https://www.ruby-forum.com/t/equalization-class-help/241075 "2014-05-12T12:00:55Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Detlef\_R](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/58f4c7/32.png) [@Detlef\_R](https://www.ruby-forum.com/u/Detlef_R)\
**Post date:** [May 12, 2014, 12:00pm UTC](https://www.ruby-forum.com/t/equalization-class-help/241075/1 "2014-05-12T12:00:55Z")

</div>

I want to work on equalization for ISI removal due to multipaths for  
burst  
frequency shift keying system. I found equalizer class in gnruadio, I  
want  
to know if somebody used cma\_equalizer for the task with success or if I  
can use it for equalization of burst frequency shift keying system  
before  
continuing with it?

Thanks

---

<div class="post-metadata">

**Author:** ![bob\_wole](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/b4bc9f/32.png) [@bob\_wole](https://www.ruby-forum.com/u/bob_wole)\
**Post date:** [May 12, 2014, 3:03pm UTC](https://www.ruby-forum.com/t/equalization-class-help/241075/2 "2014-05-12T15:03:40Z")

</div>

On Mon, May 12, 2014 at 5:59 AM, bob wole [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Bob

It’ll conceivably work, but the challenge with the CMA equalizer (and  
the  
LMS-DD equalizer as well) is the long convergence time. Between every  
burst, you’re going to lose tracking of the taps, so you might want to  
think of a way to shut down the tap update loop when you’re not  
receiving a  
packet (which involves knowing when that’s happening in time to send the  
info to the equalizer). For starters, just use a few taps in the  
equalizer  
and a gain higher than you would expect to see if you can get it to  
converge to “close enough” early in the burst.

Tom

---

<div class="post-metadata">

**Author:** ![bob\_wole](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/b4bc9f/32.png) [@bob\_wole](https://www.ruby-forum.com/u/bob_wole)\
**Post date:** [May 12, 2014, 4:44pm UTC](https://www.ruby-forum.com/t/equalization-class-help/241075/3 "2014-05-12T16:44:05Z")

</div>

Thanks for your reply Tom. Could I have some more explanation on it?  
if a  
training sequence at start of each burst could help in fast convergence  
for  
burst modem?

–  
Bob

---

<div class="post-metadata">

**Author:** ![bob\_wole](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/b4bc9f/32.png) [@bob\_wole](https://www.ruby-forum.com/u/bob_wole)\
**Post date:** [May 13, 2014, 3:18pm UTC](https://www.ruby-forum.com/t/equalization-class-help/241075/4 "2014-05-13T15:18:48Z")

</div>

On Mon, May 12, 2014 at 10:43 AM, bob wole [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Thanks for your reply Tom. Could I have some more explanation on it? if  
> a training sequence at start of each burst could help in fast convergence  
> for burst modem?
> 
> –  
> Bob

Time-domain equalizers just generally take a bit of time to converge,  
and  
when there’s no signal, it will try to equalize the noise floor, so  
every  
burst starts it fresh. It’s certainly possible that the training  
sequence  
may be enough, and tuning the length of the equalizer and gain may help.

Also, if you know the training sequence, you could potentially use that  
to  
get calculate the channel. Look at the correlate\_and\_sync block, which  
uses  
a known training sequence to estimate the timing and phase of a burst.  
That  
could be modified to also estimate the channel and initialize your taps.

Tom
