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:

https://www.gnuradio.org/doc/doxygen/page_packet_comms.html 
<https://www.gnuradio.org/doc/doxygen/page_packet_comms.html>

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,

Kevin






> On Jul 24, 2020, at 2:54 PM, lannan jiang <jln...@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! 
>  Lannan 
> 
> 
> 

Reply via email to