You can find some details on this at URL: http://radioware.nd.edu/documentation/basic-gnuradio
It sounds like much of this will be old hat to you, but there is a section entitled "Exploring the FM receiver," which addresses at least some of your specific question.
On Jul 10, 2011, at 9:07 PM, concernedconsumer wrote:
I am a high school student and am very interested in the AM and FM demodulation processes. I have been using gnu radio in combination with a USRP to receive radio signals, demodulate, and listen. This past year, I worked through the details of AM demodulation in gnu radio by computing mixing, low-pass filtering, decimating, interpolating, and normalizing algorithms. This helped me better understand the AM demodulation process, and especially what was being done in each of the gnu radio blocks. I am now trying to do the same thing with FM demodulation and have implemented the following; frequency x-lating FIR filtering, calculating the instantaneous frequencies, and decimating and interpolating routines (as performed in the rational resampler).
My question is about the instantaneous frequencies in FM demodulation. I know that the frequency of the carrier varies with the strength of the transmitted signal. The instantaneous frequencies must then be the deviation of the modulated signal from the carrier (which is at baseband) and denote changes in the strength of the transmitted signal. Still, I must be missing some steps that are performed in the WBFM block. After I calculate the instantaneous frequencies, what do I have to do to complete the demodulation process and be able to play the file back through the audio sink? I have attached a screenshot of the gnuradio-companion flow graph I am following, along with a pdf of the process I am implementing.
What does the WBFM block do, mathematically, to the signal? I would also appreciate feedback on the process I am using.
Discuss-gnuradio mailing list