discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Fwd: Clock recovery / Symbol sync of a C4FM / 4FSK Signal


From: HLL
Subject: Fwd: Clock recovery / Symbol sync of a C4FM / 4FSK Signal
Date: Sun, 16 Aug 2020 10:23:06 +0300

Hello all,

I Am in the information security industry (so I do not have a signal processing background) and I'm trying to properly extract symbols of a signal.
The device that I have access to (and no real internal documentation, I'm reverse-engineering it 'from the outside') can be triggered to send the data, I do not have access to the internal hardware.
Also, The product is outside the US, but I think I've managed to find a similar device which the data does make sense for.

Measured Frequency deviation ~600hz (for +1, for +3 1800)
FCC: Channel width: 12.5khz, I do not know how to measure it (?)
FCC: Symbol rate 6kb/s ; I Measured 5900~6010 Sym/s
FCC: Modulation 4 Level FSK, (Seems to make sense, see capture)

Googling, I've found 2 Related things:
1. C4FM Demodulator via gnuradio - As it seems, I have almost exact modulation, I've tried to change the symbol rate accordingly, but I did not get any proper results
2. I Have checked out the OOT Blocks that are referenced here, but they are for an ancient version of GR; In order to port it I'd have to somehow understand both the old and the new version.

I've scoured the internet trying to understand how to perform this task independently while I'm no math expert.
What I've tried:
*I tried using various configurations of RRC (as I understood that's the filter I should feed into the symbol synchronizer block) I somehow manage to configure it in such a way as intended, I believe so that the value is that; but do I really need such a filter? If I'm not mistaken, the fm-demodulated time domain looks like a gaussian filter, not a RRC one.
image.png
*Tried using polyphase clock sync (the old version and the 'symbol sync' version) with various values, again usually the sampling doesn't occur at the best position and slicer can't properly tell between +3 and +1 etc) .
*Universal radio hacker" somehow did the trick, but I guess "autodetect" for the 4 level does not work properly and I can't configure the values so that I would have consistent results.

If someone could point me out to how to properly and reliably extract the symbols from these kinds of signals, I would greatly appreciate it.
I've attached the capture from 2 different devices (they send a few bursts with each trigger, this case 3 each), after I've ~centered them and downsampled to 100ks/s (IQ Float)

I Would like to "get the fish" but I would also value that you point me out to learning "how to fish" as it's not the first time that I'm having trouble in clock recover/symbol timing and this field is just an online puzzle that I never seem to get right (even for clean-looking signals with proper reception).

Thank you All!

Attachment: capture_centered_100k
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]