Hot!DSP for beginners - Decoding FSK

Author
AndersG
Junior Member
  • Total Posts : 111
  • Reward points : 0
  • Joined: 2008/08/05 04:51:24
  • Location: 0
  • Status: offline
2017/08/13 07:56:15 (permalink)
3 (1)

DSP for beginners - Decoding FSK

Hi!
 
Please excuse me. I am a complete NOOB when it comes to DSP. I am familiar with Fourier-transform (And Walsh) and D/A - A/D conversion, but have never done anyhing DSP-like, except for recording, delaying, and playing sound.
 
I am looking at decoding FSK, specifically SITOR-B which has a 170Hz shift with a bitrate of 100bps and need to find something to get me started. Should I go the FFT-route or simply create two filters for mark and space and output that to logic.
 
Any pointers to good self-study resources are appreciated!
#1

10 Replies Related Threads

    Antipodean
    Super Member
    • Total Posts : 1543
    • Reward points : 0
    • Joined: 2008/12/09 10:19:08
    • Location: Didcot, United Kingdom
    • Status: offline
    Re: DSP for beginners - Decoding FSK 2017/08/13 10:51:23 (permalink)
    4 (1)
    Have a look at this Analog Devices book, which discusses this.
    http://www.analog.com/en/education/education-library/mixed_signal_dsp_design_book.html
     
     

    Do not use my alias in your message body when replying, your message will disappear ...

    Alan
    #2
    Nikolay_Po
    Super Member
    • Total Posts : 1628
    • Reward points : 0
    • Joined: 2012/04/01 13:49:27
    • Location: Russia, Novorossiysk
    • Status: offline
    Re: DSP for beginners - Decoding FSK 2017/08/13 12:11:15 (permalink)
    0
    You may filter common passband to obtain a selectivity then just count the transitions through a zero across a bit interval. Higher count means higher frequency is active and vice versa. Too low count means the absence of valid signal or the presence of strong noise. In some cases the autotuning may be desirable to narrow down common passband filter.
    #3
    AndersG
    Junior Member
    • Total Posts : 111
    • Reward points : 0
    • Joined: 2008/08/05 04:51:24
    • Location: 0
    • Status: offline
    Re: DSP for beginners - Decoding FSK 2017/08/13 22:50:35 (permalink)
    3 (1)
    Yes. That was the approach in the initial design, but it seems that it is far to0 sensitive to noise.
    post edited by AndersG - 2017/08/13 23:43:26
    #4
    rpg7
    Super Member
    • Total Posts : 1315
    • Reward points : 0
    • Joined: 2003/11/07 12:47:35
    • Status: offline
    Re: DSP for beginners - Decoding FSK 2017/08/13 23:33:48 (permalink)
    3 (1)
    AndersG
    Yes. That was the approach in the initial design, but it seems that it is far to sensitive to noise.

    What are the audio frequencies involved?
     
    #5
    AndersG
    Junior Member
    • Total Posts : 111
    • Reward points : 0
    • Joined: 2008/08/05 04:51:24
    • Location: 0
    • Status: offline
    Re: DSP for beginners - Decoding FSK 2017/08/13 23:51:09 (permalink)
    0
    Initial design (http://www.flashforth.com/oh2aun/navtex1_4.txt) (http://www.flashforth.com/oh2aun/schema1_3.gif) had 6kHz, but I found a derivative (but no code) that used 1.2kHz, but I could really mix it down to almost anything faster than twice the bitrate, right?
     
    NAVTEX uses 100bps and a 170Hz shift
    #6
    rpg7
    Super Member
    • Total Posts : 1315
    • Reward points : 0
    • Joined: 2003/11/07 12:47:35
    • Status: offline
    Re: DSP for beginners - Decoding FSK 2017/08/14 01:37:11 (permalink)
    4 (1)
    AndersG
    but I could really mix it down to almost anything faster than twice the bitrate, right?
     
    NAVTEX uses 100bps and a 170Hz shift


    If you mix it down to a reasonably low carrier (center frequency) so that the center freq is an 4 samples or multiples of 4 samples you can then multiply the signal with a  delayed by 1 (or multiples of 1 :) )  sample, just low pass the result with a 70Hz lowpass filter and you have your demodulated signal. 70Hz, because the highest freq in 100bps is 50Hz.
    edit: Demodulation technique is 'quadrature demodulation'.
    post edited by rpg7 - 2017/08/14 01:46:51
    #7
    CinziaG
    rome burns :D
    • Total Posts : 2699
    • Reward points : 0
    • Joined: 2016/12/07 14:20:36
    • Location: Wien
    • Status: offline
    Re: DSP for beginners - Decoding FSK 2017/08/14 02:16:12 (permalink)
    0
    That coder did not know about CBLOCK Smile
     
    #8
    AndersG
    Junior Member
    • Total Posts : 111
    • Reward points : 0
    • Joined: 2008/08/05 04:51:24
    • Location: 0
    • Status: offline
    Re: DSP for beginners - Decoding FSK 2017/08/14 02:25:31 (permalink)
    3 (1)
    @CinziaG
     
    If you are referring to the code I linked to, then in all fairness, the original is from 2002 and presumably "good enough" as the NAVTEX signal where that Author lives is so much better. Coding standard in those days were different, but that was one of the things that I realised I would have to fix if I were to do anything with the code apart from compile. That way of defining variables makes it impossible to set watches in MPSIM.
     
    @rpg7
    So what you are saying is that I should digitise the signal. Assuming a 1kHz IF, then sample at 4k. Then multiply Sample[n] with  Sample[n-1] to get the results that then need to be lowpassfiltered digitally?
    post edited by AndersG - 2017/08/14 02:27:13
    #9
    rpg7
    Super Member
    • Total Posts : 1315
    • Reward points : 0
    • Joined: 2003/11/07 12:47:35
    • Status: offline
    Re: DSP for beginners - Decoding FSK 2017/08/14 02:36:25 (permalink)
    4 (1)
    AndersG
    So what you are saying is that I should digitise the signal. Assuming a 1kHz IF, then sample at 4k. Then multiply Sample[n] with  Sample[n-1] to get the results that then need to be lowpassfiltered digitally?

    Basically, yes. You multiply the signal with a 90deg delayed version of itself. The 90deg is at the nominal carrier, it will be more than 90 for higher frequencies and less for lower frequencies. The product of this is 2f and DC, the LP filter removes the 2f component.
    #10
    AndersG
    Junior Member
    • Total Posts : 111
    • Reward points : 0
    • Joined: 2008/08/05 04:51:24
    • Location: 0
    • Status: offline
    Re: DSP for beginners - Decoding FSK 2017/08/14 04:06:08 (permalink)
    0
    I see. I really need to put this on a breadboard to test further!
    #11
    Jump to:
    © 2017 APG vNext Commercial Version 4.5