How do YOU packet detect?

Hi all,

As the subject states, how have you detected packets in your packet
based
gnu radio SDR?

The only example I have come across is Tom’s OFDM packet detect in the
digital examples folder. There, he uses an OFDM specific block to
generate
the trigger signal for the Header/Payload demux.

My use case is very basic. I have a QPSK radio that I am using to
measure
the performance of different source codes. What I want to do is transmit
a
file (USRP N210) from the Tx and on the Rx dump the received signal into
a
file only after detection of the start of the file. I don’t want a lot
of
garabage data before the file actually starts. To stop the dump, I would
be
happy detecting an end of file condition or using a smart preamble with
the
file length specified. Doesn’t matter to me.

If you have any advice for my case, I would appreciate that.

v/r,
Rich

Have you looked at the narrowband example scripts? The
benchmark_[rx|tx].py
scripts support packetized QPSK.

On Wed, Mar 4, 2015 at 11:54 AM, Richard B. [email protected]

No I haven’t. I was hoping to keep this a self contained grc radio,
because
it makes my life easier. I will look at the benchmark scripts though.

Thanks,
Rich

Ah, after re-reading the Header/Payload Demux docs, I noticed the
trigger
port is optional. The block will trigger on tags connected to the input
stream.

What seems like the best strategy to me now is this:

  1. Detect the header with a correlator and add a tag at the start

  2. Feed the output of the correlator into the input port of the
    Header/Payload Demux block

  3. Process the out header port and generate a message that feeds into
    the
    message port of the Header/Payload Demux block

  4. The Header/Payload Demux block then releases the corresponding number
    of
    payload samples through the payload port.

I haven’t touched messages before so this should be interesting. I
welcome
any feedback or common pitfalls to avoid.

Rich

On Wed, Mar 4, 2015 at 10:54 AM, Richard B. [email protected]

On 04.03.2015 14:04, Richard B. wrote:

  1. Process the out header port and generate a message that feeds into
    the message port of the Header/Payload Demux block

  2. The Header/Payload Demux block then releases the corresponding number
    of payload samples through the payload port.

I haven’t touched messages before so this should be interesting. I
welcome any feedback or common pitfalls to avoid.

This is indeed the intended strategy for using this block. I haven’t
managed to try this yet, but I was thinking of using the corr_and_sync
block in conjunction with the HPD for generating the tags.

Also, Tom has an entire branch for doing packet stuff on his github,
with new features you might want to check out.

Cheers,
M

Oh, what branch might that be? It’s not obvious to me.

Thanks,
Rich

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