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.
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:
Detect the header with a correlator and add a tag at the start
Feed the output of the correlator into the input port of the
Header/Payload Demux block
Process the out header port and generate a message that feeds into
the
message port of the Header/Payload Demux block
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.
Process the out header port and generate a message that feeds into
the message port of the Header/Payload Demux block
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.