discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] Decoding constellation (0, 1-1) using gnuradio


From: abhinav narain
Subject: Re: [Discuss-gnuradio] Decoding constellation (0, 1-1) using gnuradio
Date: Mon, 12 Oct 2015 11:19:59 -0700

Hi Marcus,
 
the problem is that you're not doing BPSK, really. It's an Amplitude shift keying, if you want so. 
That is partially true - in ASK absence of pulse is bit 0, but in my case bit 0 is inverted pulse and absence of pulse is a third symbol. 
I want to send across two different bits sparsely spaced in time using gnuradio hardware.

Two things: 
* you might want to consider what AGC2 does while you're transmitting zeros -- it will increase amplification until noise scales up to signal power. What you're getting after that will more or less be useless, unless your AGC is really set to be slow (I don't think so, according to the attack rate of 6/100).
Okay, I used it as this block is used in generic_mod_demod.py with these parameters
  
* you're throwing a FLL at your signal -- which would be fine, if there was definitely a carrier. I don't see how that should work for a signal that's zero most of the time.
Yes, I guess I need to do upconversion but I am right now just doing things in baseband. Even if I turn off the FLL Band-Edge block, I did not see any improvement in the output.

* Assuming the polyphase clock synth did work with such a signal, the resulting signal would still contain a symbol that was '0', and hence had random phase (the phase of the additive noise at the sampling time). Hence, the costas loop can't do anything reasonable about that.

I see, I am vaguely familiar with costas loop, should I not use costas loop then?
If I give order ==3 ( constObj.arity()) which is the size of constellation 0,1,-1, it doesn't work at all, hence I gave the parameter value as 2, and I get the previous output.
After following your advice of increasing rolloff in RRC filter and sps, I get the following stable output, although it is scaled to -2,2.
Please see the following image - (http://postimg.org/image/6kenur0ix/) constellation_after_channel_and_after_costas_loop.png

If I understand you correctly, however, you *actually* want to do BPSK, and the 0 symbol is just a "filler" in between symbols, right?
Yes! Exactly!
 
That might actually work, if you just increase the rolloff duration/samples per symbol of your pulse shaping filter.

Okay, I have increased the symbols, but the output of the decoder is wrong! Please see the image - (http://postimg.org/image/ngar9353z/) constellation_decoder_ouput.png.

It should be equally spaced values of 1, 0 with a lot of 2s(representing (0+0j)s transmitted) in betweeen.
I doubt the way I am using constellation decoder is the right way. 
I want the decoder to decode as the image attached - ( http://postimg.org/image/k0awzlq0h/ ) decoder_wanted.JPG 


So, I think it might be best to explain what kind of system you're trying to build, so that we can understand that better!

I am trying to build a covert system where I transmit very rarely so that it is difficult for someone to find out I am on the channel.

Thanks for your response,
Abhinav

Attachment: decoder_wanted.JPG
Description: JPEG image

Attachment: constellation_decoder_output.png
Description: PNG image

Attachment: constellation_after_channel_and_after_costas_loop.png
Description: PNG image


reply via email to

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