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: trond...@trondeau.com [mailto:trond...@trondeau.com] 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 <vij...@sfu.ca> 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





_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to