[Top][All Lists]

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

Re: Boundary alignment (follow up)

From: lannan jiang
Subject: Re: Boundary alignment (follow up)
Date: Sat, 25 Jul 2020 03:18:27 +0000

wHi Kevin, 
  Thank you for your response! 
  I have looked at those examples and specifically those blocks already and I have looked at the C++ API reference. But still, as you said, each block requires a lot of studying, and currently I am just trying to find an easier to prepend a known pattern at the transmitter. Perhaps I’ll go with the more complex examples eventually. 
  Thanks for you help anyway! 
  Best regards,

On Jul 24, 2020, at 10:57 PM, Kevin McQuiggin <mcquiggi@me.com> wrote:

Hi Lannan:

I am at about the same stage as you are with packetization and am researching quite similar requirements.  I spent the last few days reading and experimenting with some success.

There are several blocks that can help you add length tags and headers to your data stream.  Look at the examples in your gnuradio installation such as

/(opt or usr)/local/share/gnuradio/examples/digital/packet 

And give the several flowgraphs there a try.  There is also good associated reading in the gnuradio manual at:

I used these materials and the principles in the example flow graphs to now having my QPSK transceiver almost running.  I expect that with a bit more effort it will be running fine early next week, as I am taking the weekend off.

The examples have stuff that you may not need like CRCs and forward error correction, but you could leave those out if you wish.  Focus on the packet length tagging and header creation, and then on the header/payload demuxing process.  

I have a loopback test flowgraph and am just working the bugs out of header and payload recovery.  It is quite detailed and the blocks need some study because, for example, some of the packet blocks want lengths of items in bits, while others want that info in bytes.  I made errors by assuming byte count when it turned out that the block wanted bit count.  Stuff like that.  You have to read about the details of each block.  

Hope this helps,


On Jul 24, 2020, at 2:54 PM, lannan jiang <jln925@live.com> wrote:

Hi everyone,

   Two days ago I asked something about boundary alignment, and I have been trying many stuff in GRC to solve this. I am stuck on this for days and any help will be appreciated. Below is a description of what I wish to do.

  1) My transmission and receiving chain are like this: signal source -> constellation modulator -> Adalm Pluto Tx-> Antenna -> Adalm Pluto Rx -> Polyphase Clock Sync -> CMA equalizer -> Costas Loop -> decoding. As for modulation scheme, I am using QPSK.
   2)  Now I just want to transmit  one byte output from the signal source, and following with one byte of a known pattern, and then one byte output from the signal source, etc. Then at the receiver, because i already know the known pattern, I need to sync to the known pattern in order to align the bytes, which will allow me to hear clean audio at the receiver.
   3) There are three things I am looking for:
      a.  I have been looking for a SIMPLE way  to prepend a known pattern at the transmitter, and send it with the output bytes of a signal source.  Is there any block that might work to do this in GRC?
      b.  I have been trying to see if i can write an embedded python block to prepend a known pattern, but I am having a hard time trying to understand the input_items of the block, and how i can add a known pattern iteratively.
      c. If i can successfully send the known pattern with my data to the receiver, is there any easy way to parse at the receiver?

 Thank you in advance!

Attachment: smime.p7s
Description: S/MIME cryptographic signature

reply via email to

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