COTS FSK Demodulation - Page 1
Forum section: electronics / general

author: jgvicke
author_rank: Newbie
timestamp: February 20, 2025, 04:17:25 pm
content: Hey everyone. I am trying to get some COTS hardware to decode a FSK modulation.My setup is a 350VDC power supply with a square wave FSK modulation on top of it. The modulation is a square wave made of 2 frequencies between 10KHz and 100Khz (I can't post the specific frequencies), with a VPP of 1-5V. One frequency represents a logic low, and the other a logic high. The encoding of this signal is standard UART encoding at 4800Baud. I am planning on using an inline HV cap as a DC block to just leave the AC component to decode.I have seen lots of potential solutions to this, but I need to stay away from custom PCBs, FPGA/Micro code on dev boards, etc. I really need something that is a COTS solution.I had been thinking of a frequency comparator that can output a binary signal if the input is higher or lower than a reference frequency. An internally set reference would be best, but I could pipe one in from a signal generator. The binary output should be able to just go into the RX pin of a RS232 converter to get the data.I could potentially use a SDR where the software is done executed from windows software.I would prefer any communications happen over Ethernet or RS232. USB would be my last choice, but I can probably make that work.Anyone have any links to hardware that might do what I need?Thanks!John Vickers

author: ftg
author_rank: Frequent Contributor
timestamp: February 21, 2025, 09:07:06 am
content: I wonder if some modern oscilloscope with a flexible serial decoder might be able to do it.And it would have ethernet.The strict COTS requirement makes this a bit hard.

author: Smokey
author_rank: Super Contributor
timestamp: February 21, 2025, 09:17:53 am
content: Quote from: jgvicke on February 20, 2025, 04:17:25 pmUSB data acquisition (USB Scope?) and GNU Radio?https://en.wikipedia.org/wiki/GNU_RadioDepends on how much data you need to capture.

author: SiliconWizard
author_rank: Super Contributor
timestamp: February 22, 2025, 01:20:31 am
content: Depends on what you call COTS.I personally don't know of anything that would do exactly what you need while requiring zero development.Yes, you could probably use some SDR board, but you'll still have to interface it (a series cap is probably not going to cut it, you'll need at least some protection and maybe some signal level adaptation). And then, it'll all probably run on a computer (or SBC) with customized software. Not exactly what I'd call "COTS" in the end.That could be done on a small MCU with a few additional components - that's personally the path I would favor: some signal conditioning (cap + protection + comparator, probably), an input pin, using input capture to detect the period or alternatively sample it and use the Goertzel algo to detect the 2 frequencies. Not COTS, but not sure it would be significantly more work than using a SDR board and fiddling with its API to get the result you want.If you don't want to deal with a MCU and firmware, that could be all done with a few chips, like 2 LM567C (which have a wide input voltage range so that would probably not require much conditioning apart from the input cap and some protection) and some logic (the LM567 has a open collector output, so that needs a pull-up - detection is a low level). 3 NOR gates (from a quad NOR) would give you 1 for one of the frequencies or if both are undetected (idle level for UART) and 0 for the other frequency only.Yes, not COTS but it could be designed in less time than it takes to find a COTS solution and spend hours fiddling with it and its software/API - just my 2 cents.Note: just had a thought about the above "discrete" solution: you didn't mention the low frequency, but if it's any close to 10 kHz, that's a period of 100 µs and one bit @4800 bds is ~208 µs, so that's merely ~2 periods of signal, which may prove challenging to detect properly with a LM567. That would be more easily done with a MCU in firmware, although again keep in mind that robustly identifying the frequency of a signal over just 2 periods is a bit iffy.

author: shabaz
author_rank: Frequent Contributor
timestamp: February 22, 2025, 01:45:12 am
content: Indeed, this is dead easy to do with one or two DIL IC's at the most, lashed up on any stripboard or scratched onto copper-clad board, or even breadboard to prototype it; doesn't require a custom PCB.I've not tried LM567, but CD4046 would be another option to consider too (the datasheet contains the example circuit).

author: LaserSteve
author_rank: Super Contributor
timestamp: February 25, 2025, 09:34:43 pm
content: See if integrated circuits: TC9400 TC9401 TC9402 formerly TELEDYNE, Probably Telecom Semiconductor are still available.You probably need a low pass and a voltage clamp after your coupling capacitor.Good luck.