FSK Demodulation with ADAU 1701
Hi,
I am firmly new to DSP and just verifying, if my application can be fulfilled by ADAU1701. We use this DSP for audio enhancement and signal leveling. Now I am wondering, if it could also demodulate an FSK signal. In this case, we would not need an additional modem IC.
The requirements are really simple: frequency-shift between 1300 Hz and 2100 Hz; Modulation rate of 1200 baud
However, The FSK signal is transmitted along with default speech audio and I need to detect the FSK signal and mute it on one output channel.
I found approach for incoherent filters here. However, I cannot get it to work.
Thanks in advance.
Hello Lama,
You found the right post with two different ways to demodulate. So you want to mute the audio output when FSK is detected correct?
Well, the first approach in the post you found is showing a way to do it. The output of the two filters are going through a peak envelop generator. That output can be summed and tested with a threshold level stored in a DC cell using an ABCD block like KJBob did. Then with that signal you invert it and use that to control a volume control. Most of the pieces are there.
So what are you not able to get working? The FSK or the muting?
Feel free to attach your project. It usually saves time so we are not guessing.
Dave T
Hello Dave,
here is my project:
Design_Demodulation.zip
I am still working on detection. I guess muting will be easy.
Made some progress, so now I can measure the GPIO 2 and 3 outputs on a logic analyzer. If I play a pure 1300 Hz sine wave tone, GPIO 2 becomes Low Level. On 2100 Hz it becomes high level. When I lower the Level for threshold to 0.02, I see GPIO 2 level too.
But I am a little bit disturbed by the fact that when I raise the input volume above 30 %, the audio output on the speaker has more and more gaps.
When I play a pure sine tone of 1300 Hz, I do only have these hickups - no real tone at all.
However, with my real FSK signal, I detect nothing at all.
The gaps come from insufficient Power supply. Sorry for this inconvenience
I played with the total levels, gain and threshold. I am able to get something moving. However, in order to get a continuous "signal active", I have to use very little threshold (0.02) at full throttle signal level.
If I do this, of course it will be massively disturbed by a speech signal.
Design_Demodulation_V0.3.dspproj.zip
Also tried the PLL variant, but get no signal on GPIO. However, audio seems to filter the FSK signal much better.
Design_Demodulation_PLL_V0.1.dspproj.zip
Got the sample PLL working. It shows a perfect signal at 50 Hz and is working fine up to 200Hz.
I adopted the sample to my frequencies and even the 50 Hz signal does not show fine:
However I need to achieve 1200 Baud. Is this a kind of magic feedback and filter configuration, or do I want too much from the little 1701 on 48 kHz sampling?
Design_Demodulation_PLL_V0.2.dspproj
After some more days of work on this project, I decided to give up.
I ignore the glitches and I tried to raise the sampling frequency, but no luck. Above 200 Hz it seems to be no more working at all. Seems, 1701 is not suited for this needs.
Hello Lama,
Can you attach your project?
Can you also attach your hardware schematic?
Dave T
The project is quit. We willl use a modem IC.
Please log in to reply.



