In MATLAB I am simulating an digital FM receiver. FM signal: Carrier at 3MHz (last IF in real system) Sampled at 24MHz FM deviation = 30kHz Single tone = 7.5kHz FM signal is then digitally quadrature mixed down to baseband, I,Q. I and Q are decimated by 96 in 3 stages, to create 250kHz IQ data. IQ data is then demodulated using (IdQ-QdI)/(I^2+Q^2) Audio data at 250kHz is decimated again by factor of 3, 83.33kHz data rate. (when I say decimation, i mean LPF and downsample) Tone detection is done with Goertzel Algorithm to check for 7.5kHz Block = 240 threshold = 4000 The simulation works very well, and has been backed up by actual hardware system. The interesting thing I am seeing is that if I sweep the FM carrier (with modulation) away from 3MHz, and I look at the output from the Goertzel detector, the tone magnitude starts to drop off (which is expected) and goes aways but then starts to come back again (with very strong magnitude) and continues this pattern (sine wave like). I have verified this in hardware as well, its like there is a Null in the FM as you take it off center. Is this some common function of FM? Or is it some function of digital mixing? It is not from spurious signals, since in my simulation there is none. Is it a function of the digital demodulation algorithm? I will try tomorrow the arctan(I/Q) and see if the result is the same. Another interesting note is I^2+Q^2 does not show signal power coming back, perhaps the tone detector is just so sensitive that some aliasing effects are occuring and being picked up and just cannot be attenuated enough?
digital FM phenomena/question ????
Started by ●May 18, 2010
Reply by ●May 18, 20102010-05-18
jacobfenton wrote:> In MATLAB I am simulating an digital FM receiver. > > FM signal: > Carrier at 3MHz (last IF in real system) > Sampled at 24MHz > FM deviation = 30kHz > Single tone = 7.5kHz > > FM signal is then digitally quadrature mixed down to baseband, I,Q. > > I and Q are decimated by 96 in 3 stages, to create 250kHz IQ data. > > IQ data is then demodulated using (IdQ-QdI)/(I^2+Q^2) > > Audio data at 250kHz is decimated again by factor of 3, 83.33kHz data > rate. > (when I say decimation, i mean LPF and downsample) > > Tone detection is done with Goertzel Algorithm to check for 7.5kHz > Block = 240 > threshold = 4000 > > The simulation works very well, and has been backed up by actual hardware > system. > > The interesting thing I am seeing is that if I sweep the FM carrier (with > modulation) away from 3MHz, and I look at the output from the Goertzel > detector, the tone magnitude starts to drop off (which is expected) and > goes aways but then starts to come back again (with very strong magnitude) > and continues this pattern (sine wave like). I have verified this in > hardware as well, its like there is a Null in the FM as you take it off > center. Is this some common function of FM? Or is it some function of > digital mixing? It is not from spurious signals, since in my simulation > there is none. Is it a function of the digital demodulation algorithm? I > will try tomorrow the arctan(I/Q) and see if the result is the same. > Another interesting note is I^2+Q^2 does not show signal power coming back, > perhaps the tone detector is just so sensitive that some aliasing effects > are occuring and being picked up and just cannot be attenuated enough?The spectrum of a sinusoidal signal that's been frequency modulated is a Bessel function, multiplied by spectral lines of various amplitudes at harmonics of the signal frequency away from the carrier. The Bessel function amplitude oscillates in frequency -- perhaps your carrier is far enough away that you're catching enough of those spectral lines to see signal at your 3MHz IF? Are you band-limiting your test signal after you modulate it at 3MHz? -- Tim Wescott Control system and signal processing consulting www.wescottdesign.com
Reply by ●May 18, 20102010-05-18
jacobfenton wrote:> The interesting thing I am seeing is that if I sweep the FM carrier (with > modulation) away from 3MHz, and I look at the output from the Goertzel > detector, the tone magnitude starts to drop off (which is expected) and > goes aways but then starts to come back again (with very strong magnitude) > and continues this pattern (sine wave like). I have verified this in > hardware as well, its like there is a Null in the FM as you take it off > center. Is this some common function of FM?You see the aliases of the input through the S-like frequency response of discriminator. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Reply by ●May 18, 20102010-05-18
> Are you band-limiting your test signalDo you mean in MATLAB? If so, I don't think I am, I just create FM using the standard FM equation.
Reply by ●May 18, 20102010-05-18
>You see the aliases of the input through the S-like frequency response >of discriminator. > > >Vladimir Vassilevsky >DSP and Mixed Signal Design Consultant >http://www.abvolt.com > >That definetly makes sense to what I am seeing. I have also implimented some strong LPF on I,Q prior to demodulation and the aliasing response gets attenuated some, but still shows up. I am using pretty strong LPF, 80-100dB at stop band. Any hints as to what else I could try?
Reply by ●May 18, 20102010-05-18
jacobfenton wrote:>>You see the aliases of the input through the S-like frequency response >>of discriminator. >> >> > > That definetly makes sense to what I am seeing. I have also implimented > some strong LPF on I,Q prior to demodulation and the aliasing response gets > attenuated some, but still shows up. I am using pretty strong LPF, 80-100dB > at stop band. Any hints as to what else I could try?Your project has the word "homework" written over it; and the way the processing goes makes very little sense. VLV
Reply by ●May 18, 20102010-05-18
>Your project has the word "homework" written over it; and the way the >processing goes makes very little sense. > >VLV > >The point of my post is to learn about the problem and ask advice from more experienced engineers. I don't see the point of you posting anything if you are not going to post something informative about the problem. I am sure you didn't learn everything on your own........
Reply by ●May 18, 20102010-05-18
jacobfenton wrote:>>Your project has the word "homework" written over it; and the way the >>processing goes makes very little sense. >> >>VLV >> >> > > The point of my post is to learn about the problem and ask advice from more > experienced engineers. I don't see the point of you posting anything if you > are not going to post something informative about the problem. I am sure > you didn't learn everything on your own........
Reply by ●May 18, 20102010-05-18
On May 17, 8:00�pm, "jacobfenton" <jacob.fenton@n_o_s_p_a_m.gmail.com> wrote:> Tone detection is done with Goertzel Algorithm to check for 7.5kHz > Block = 240 > threshold = 4000 > > The simulation works very well, and has been backed up by actual hardware > system. > > The interesting thing I am seeing is that if I sweep the FM carrier (with > modulation) away from 3MHz, and I look at the output from the Goertzel > detector, the tone magnitude starts to drop off (which is expected) and > goes aways but then starts to come back again (with very strong magnitude) > and continues this pattern (sine wave like).A Goertzel tone detector acts like a 1-bin DFT with a rectangular window. A rectangular window in the time domain convolves a signal with a Sinc function in the frequency domain. So you could be seeing the humps in the amplitude of the Sinc function as you sweep the carrier frequency across the DFT bin center. Plot the shape vs. frequency offset to test this hypothesis. And it's not exactly a Sinc function, but a decent enough approximation. A more detailed description is on my dsp web page: http://www.nicholson.com/rhn/dsp.html IMHO. YMMV. -- rhn A.T nicholson d.0.t C-o-M
Reply by ●May 18, 20102010-05-18
jacobfenton wrote:>> Your project has the word "homework" written over it; and the way the >> processing goes makes very little sense. >> >> VLV >> >> > The point of my post is to learn about the problem and ask advice from more > experienced engineers. I don't see the point of you posting anything if you > are not going to post something informative about the problem. I am sure > you didn't learn everything on your own........Not to worry. He gets cranky at times. I haven't had a problem set in 40 years and he has made similar comments to me ;/






