Hi Teensiers
So there's a bunch of modules for FM modulation but none for demodulation. Actually none for any sort of demodulation.
As I'm still a big noob when it comes to this topic of DSP I was wondering if anyone had suggestions or advice about this.
What I'm working with is a direct conversion receiver with a 20khz IF pushed straight into the Teensy analog port. From spending several days reading the easiest way to do this without I/Q is to just pass the signal through a Biquad highpass filter with a ~15khz corner, which results in an AM signal.
From there it needs to become an audio signal, but I'm not entirely sure what to do there. So far I put together the most simplistic module here https://github.com/calston/x-uhf/blob/master/controller/AM_demod.cpp which just emulates a diode detector circuit kinda. Now I need to remove all the other frequency information, or am I lost? I guess I can just do a rolling average window and reconstruct like that or is there some fancy way people use FIR/IIR filters?
Throwing my dead simple abs() straight out to a speaker through the DAC actually does work, the audio quality is just really crummy.
I would really like to get a something in a single block that I can contribute back to the Audio library because the other examples of FM demodulation for Teensy I've been able to find are either built around very old versions of the library or are based on I/Q signals from off the shelf receiver hardware.
So there's a bunch of modules for FM modulation but none for demodulation. Actually none for any sort of demodulation.
As I'm still a big noob when it comes to this topic of DSP I was wondering if anyone had suggestions or advice about this.
What I'm working with is a direct conversion receiver with a 20khz IF pushed straight into the Teensy analog port. From spending several days reading the easiest way to do this without I/Q is to just pass the signal through a Biquad highpass filter with a ~15khz corner, which results in an AM signal.
From there it needs to become an audio signal, but I'm not entirely sure what to do there. So far I put together the most simplistic module here https://github.com/calston/x-uhf/blob/master/controller/AM_demod.cpp which just emulates a diode detector circuit kinda. Now I need to remove all the other frequency information, or am I lost? I guess I can just do a rolling average window and reconstruct like that or is there some fancy way people use FIR/IIR filters?
Throwing my dead simple abs() straight out to a speaker through the DAC actually does work, the audio quality is just really crummy.
I would really like to get a something in a single block that I can contribute back to the Audio library because the other examples of FM demodulation for Teensy I've been able to find are either built around very old versions of the library or are based on I/Q signals from off the shelf receiver hardware.