Suggestion to Improve Some Digital Modulations Reception

Hi,

I never used Gnuradio packets transmission blocks and even don’t know
how
the digital benchmark_?X.py work. But, today when I was explaining
GNURadio
for some friends, I noticed that some digital modulations (for example
GMSK)
reception can be improved by using a scrambling engine which is
something I
used before many years ago to improve data reception circuitry
performance.

The problem is raised when the digital source is producing a long
sequence
of 0’s or 1’s. This will make the regeneration process more difficult at
the
receiver. To solve this problem, I used 8 bit shift register with its
input
derived from XOR which is fed from the source digital input and from a
second XOR. The second XOR takes its input from the 4th and 8th shift
register bits. Implementing this circuit as a GR block is easy and
helpful.

Best regards,

Firas


View this message in context:
http://www.nabble.com/Suggestion-to-Improve-Some-Digital-Modulations-Reception-tp24375263p24375263.html
Sent from the GnuRadio mailing list archive at Nabble.com.

On Tue, Jul 7, 2009 at 08:14, Firas A.[email protected] wrote:

…some digital modulations (for example GMSK)
reception can be improved by using a scrambling engine which is something I
used before many years ago to improve data reception circuitry performance.

Pseudo-randomizing bit sequences to prevent long runs is a standard
radio technique, as you mention.

GNU Radio has gr.scrambler() and gr.descrambler() blocks to do this.
The first takes unpacked bits in and feeds them through a configurable
LFSR; the second undoes this operation to return the original bits.
See the ‘digital-bert’ example for how this is used to test the bit
error rate of a BPSK channel.

In the example digital packet radio application, we instead use a
whitener that has a pre-generated sequence of bits that we XOR the
payload with.

Johnathan

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs