jopohl / urh

Universal Radio Hacker: Investigate Wireless Protocols Like A Boss
GNU General Public License v3.0
10.97k stars 873 forks source link

GFSK demodulation? Shockburst? #915

Closed robcazzaro closed 2 years ago

robcazzaro commented 2 years ago

I'm trying to decode ANT+ signals (GFSK, 1Mbps, with 160khz deviation and Enhanced Shockburst. https://www.west-l.com/uploads/tdpdf/nrf24ap2_8ch_productbrief_tds.pdf) using a PlutoSDR. Given the 1Mbps data rate, and the Pluto being limited to 4Msps when used with USB, I only have 4 samples per bit to play with.

I'm using FSK demodulation, and it seems to mostly work, but I see what look like a bit too many changed values in the stream (not sure, but I'm sending what I think are similar packets from the device)

I'm a noob, so I might be doing something wrong, but I think that a GFSK demodulator might help clean up the signal. Is there a way to implement GFSK on top of FSK? Or is this a problem of not being able to interpret Shockburst packets?

I'm enclosing a screenshot and the file I captured (a very short one)

For more information, I'm also enclosing a past effort to decode ANT signals, but using a toolchain I'm not familiar with (Pothos) https://github.com/sghctoma/antfs-poc-defcon24

image PlutoSDR-20211115_171213-2_457GHz-4MSps-300KHz.zip

andynoack commented 2 years ago

If you select FSK, URH will already be able to demodulated GSFK. As you already said, your signal is difficult because 4 Samples/Symbol is pretty low. In your case you could try with a little fine tuning, however, playing around with center+noise as well as error tolerance and maybe even Samples/Symbol (just a few...) could do the job. Anyway, this isn't an issue but rather fits into #urh of our slack channel. I am closing here, please ask in the slack channel for assistance.