discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] LMS-DD Equalizer with OOK Modulation


From: Vijay Galbaransingh
Subject: Re: [Discuss-gnuradio] LMS-DD Equalizer with OOK Modulation
Date: Wed, 18 Nov 2015 17:13:51 -0800 (PST)

Putting this here in case someone else goes looking for it: had to make a child class for my desired constellation.

 

From: address@hidden [mailto:address@hidden On Behalf Of Vijay Galbaransingh
Sent: November-17-15 19:59
To: 'Tom Rondeau'
Cc: 'GNURadio Discussion List'
Subject: Re: [Discuss-gnuradio] LMS-DD Equalizer with OOK Modulation

 

Changing to the non-causal AGC so that samples are <=1 and adding -0.5 so that it is zero-biased worked. The equalizer output now performs as expected in GRC and has cleaned things up considerably.

 

Leads to another question though: my final target for this is Android, which means writing the flowgraph in C++, and I’m having some difficulty declaring a constellation object for LMS-DD’s make function since it’s a virtual class. I realize this is more of a C++ question than a gnuradio question, but could you provide some pointers here?

 

Thanks,

Vijay

 

From: address@hidden [mailto:address@hidden] On Behalf Of Tom Rondeau
Sent: November-17-15 07:47
To: Vijay Galbaransingh
Cc: GNURadio Discussion List
Subject: Re: [Discuss-gnuradio] LMS-DD Equalizer with OOK Modulation

 

On Mon, Nov 16, 2015 at 1:30 PM, Vijay Galbaransingh <address@hidden> wrote:

Hello,

 

I am trying to demodulate an on-off-keyed signal, and in doing so am trying to use the LMS-DD equalizer as follows:

 

Source --> BPF --> AGC --> PLL --> RRC --> M&M Clk Recovery --> LMS-DD EQ --> GUI Sink.

 

The LMS-DD has gain set to 0.01, taps set to 20, and sps set to 1 to match the M&M output. The constellation object I’m passing to the LMS-DD has: Symbol Map [0,1], Constellation Points [0,1], Rot. Symmetry 1, Dimensionality 1.

 

The issue I’m having is that the equalizer’s output converges towards being zero-centred—instead of getting values between 0 and 1, it’s spitting them out in the range -0.5–0.5. Also the waveform itself doesn’t look at all like a pattern of high and low.

 

Am I using this module incorrectly? Did I mess up in the constellation settings? I’ve tried tinkering with all of the parameters of the LMS-DD and constellation blocks but with no success. It is entirely possible that the noise and multipath issues in my testing environment are too much, but I’d like to make sure I’m at least using the modules correctly before I go back to the drawing board!

 

Thanks,

Vijay

 

 

Do you know for sure that your signal is getting phase and frequency locked properly? If you plot the constellation at the output of the clock recovery block, does it look like you expect it to (a cloud of samples at (0,0) and another at (1,0))?

 

It's likely that there are assumptions built into this equalizer that it's expecting symmetry around the origin. It would have been developed mostly around GMSK, PSK, and QAM signals.

 

What happens if you just have an add_const block that adds 0.5 to the output?

 

Tom

 

 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]