Hi there!
I'm experimenting with a USRP, trying to transmit and receive a simple manchester-coded bfsk signal, and I'm stuck on how to properly build a message packet, and actually extract the data from the received waveform.
Basically, I have the receive chain all functional, and I can see the data in a time-sink window, but I've been unable to figure out where to go from there.
Right now, I'm using a random PDU generator, with a custom block that does the manchester encoding. Here is my current flow-graph:
(Note that the repeats are primarily to make the data easier to see in the time window)
I'm pretty clearly missing a few things - There's no header or synchronization, and I'm not sure how to add them.
As I understand it, I need to do a few things to make this a "real" system:
- Prepend synchronization and header to the data (do I do this in PDU form, or as bytes?
If this is done in the bytes stage, I'd need to also modify the stream length tag, I guess. - Synchronization and header and detection
- clock recovery (easy since it's manchester)
- data unslicing (Is that the right term?)
I'm relatively clear on how I'd do this manually (I've done this kind of thing with simple OOK-ed radios on a microprocessor before), I have no idea how to implement the system within gnuradio. The only example that seems relevant is the `uhd_packet_tx.py` and `uhd_packet_rx.py` files, but for some reason when I try to run them, the `uhd_packet_rx.py` example disables the USRP rx as soon as a single message is received, and I've been unable to determine why.
Any help would be wonderful, I'm currently more or less flailing randomly and realizing how little I know about RF anything.
I'm using GNURadio 3.7.10.1, with a USRP B205mini-i on windows, if it's relevant.
--
Connor Wolf
Sr. Technician / Code Monkey
Akela Inc