1
$\begingroup$

This is probably as basic a question as it gets, but still the answer eludes me. I have a function from a library that I can use to both modulate, and demodulate an FSK encoded piece of data. For the sake of simplicity, let's just say it's one byte.

From the example provided, it exists in the perfect world of PC memory. The modulate function simply updates the pointer, the receive function takes that and demodulates the buffer. This is on an STM32F4.

In the real world, I need to:

1- Convert the data value to an ADC value (I know how to do this) 2 - Output the data at the sampling interval/rate (pretty sure I have this figured out with a bit more testing) 3 - Output to an amplifier & transmit through antenna (I have this done) 4 - Receive signal into antenna, amplifier and anti-aliasing LPF (OK, I have this) 5 - Process incoming signal through ADC at sampling rate - ideally, the same as transmit. 6 - The data is in a buffer. This is where I am stuck!

The receive amplifier and LPF is continuously processing incoming samples. How do I "look" for the FSK data? How do I know what I am looking for? What would an algorithm be to perform this task?

In analog, I would send out a preamble tone burst of a number of cycles such that the receive would use this to buffer data after that. In the world of DSP, I have no clue how this would happen.

Can someone enlighten me? (Make me clue-ful instead of clue-less?)

Thank you...

$\endgroup$
  • $\begingroup$ So you know how to do the demodulation, but you still need symbol timing recovery, right? $\endgroup$ – Matt L. Jan 20 '15 at 20:58
  • $\begingroup$ not sure. Your response implies I do. Please elaborate. $\endgroup$ – user10326 Jan 22 '15 at 1:07
  • $\begingroup$ You said you have a function that demodulates FSK data, so I was wondering what else you might need. So what I came up with is that you need to know the symbol boundaries, i.e. somehow retrieve the symbol timing from the data. But I'm not sure either what it exactly is that you need on top of the the demodulator function that you already have. $\endgroup$ – Matt L. Jan 22 '15 at 8:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.