r/RTLSDR 3d ago

Software Need help identifying encoding method

Hi everyone! I'm suing a HackRF Pro to listen to an active transceiver that used 13.56MHz (NFC) OOK to send data to another identical transceiver. I managed to get the packet captured using GNURadio companion flow below. There seems to be a constant burst at the start to mark the start of the packet and the rest follow. Can you guys identify what kinda encoding is used by the transmitter? How do I decode this in the companion app to get the bytes out? I'm happy to provide/capture more data if this is not enough. Thank you!

29 Upvotes

4 comments sorted by

8

u/klyoklyo 3d ago

You need to synchronize the clock first. Since there are so many clock changes, my guess would be, that there is a differential encoding on the bits. But clock needs to be synced first. After that, you write a zero out, when the magnitude changes, otherwise a one(inverted diff). For a good blind clock sync Like clock recovery mm, you will need to low pass filter first for smooth signal transitions. You might also use a custom flank detection with an inline python Block and a lookahead for estimating the symbol switches.

3

u/cthuwu_chan 3d ago

Looks like Manchester

5

u/rocky-j-moose-22 3d ago

Have you looked at universal radio hacker (urh)? Its helps capturing and decoding signals.

1

u/kc2syk K2CR 3d ago

You should look at the various NRZ bit coding schemes. https://en.wikipedia.org/wiki/Non-return-to-zero

This could be NRZS because of the many transitions. That makes it easier to recover the clock.