DSPRelated.com
Forums

digital FM phenomena/question ????

Started by jacobfenton May 18, 2010
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?
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

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
> Are you band-limiting your test signal
Do you mean in MATLAB? If so, I don't think I am, I just create FM using the standard FM equation.
>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?

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
>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........

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........
On May 17, 8:00&#4294967295;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
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 ;/