DSPRelated.com
Forums

Tracking a moving FM carrier

Started by salukibob June 4, 2009
Hello,

I'm looking into a demodulation application for an FM signal. The message
signal is fixed bandwidth (~30kHz), but due to the measurement environment,
the carrier (nominally around 500kHz) moves above and below the nominal
frequency within about a 100kHz range.

To demodulate, I'd like to mix to baseband, so I need to find the carrier
of the incoming FM signal. The carrier moves about the nominal freq slowly
(in relation to the message frequency).

So my question is, what would be the best way to track the slow variation
in the carrier freq, to allow correct mixing to baseband? So far, I've
considered basic ideas such as looking at the power spectrum. I'm just
after some ideas of methods or algorithms to look at that might suit, so
any suggestions would be most appreciated.

Kind Regards
Rob




On Jun 5, 10:11&#4294967295;am, "salukibob" <saluki...@hotmail.com> wrote:
> Hello, > > I'm looking into a demodulation application for an FM signal. The message > signal is fixed bandwidth (~30kHz), but due to the measurement environment, > the carrier (nominally around 500kHz) moves above and below the nominal > frequency within about a 100kHz range. > > To demodulate, I'd like to mix to baseband, so I need to find the carrier > of the incoming FM signal. The carrier moves about the nominal freq slowly > (in relation to the message frequency). > > So my question is, what would be the best way to track the slow variation > in the carrier freq, to allow correct mixing to baseband? So far, I've > considered basic ideas such as looking at the power spectrum. I'm just > after some ideas of methods or algorithms to look at that might suit, so > any suggestions would be most appreciated. > > Kind Regards > Rob
Use a phase-locked loop. It will give a dc offset when the carrier shifts - but it may loose lock if the variation is too much. Best to fix the original problem and fix the free-running frequency. Hardy

salukibob wrote:

> Hello, > > I'm looking into a demodulation application for an FM signal. The message > signal is fixed bandwidth (~30kHz), but due to the measurement environment, > the carrier (nominally around 500kHz) moves above and below the nominal > frequency within about a 100kHz range.
Wow, +/- 20% frequency variation. That must be a homework. Do you have to acquire the signal or just track it? The first is more difficult.
> To demodulate, I'd like to mix to baseband, so I need to find the carrier > of the incoming FM signal. The carrier moves about the nominal freq slowly > (in relation to the message frequency). > > So my question is, what would be the best way to track the slow variation > in the carrier freq, to allow correct mixing to baseband?
Define "slow" Define "best" Define "correct"
> So far, I've > considered basic ideas such as looking at the power spectrum.
What a brilliant idea. Have you thought of a frequency counter?
> I'm just > after some ideas of methods or algorithms to look at that might suit, so > any suggestions would be most appreciated.
Feed back the DC component from the discriminator to the LO, so it will tune itself to the signal. BTW, this is a classic AFC used in every FM radio. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
salukibob <salukibob@hotmail.com> wrote:
 
< I'm looking into a demodulation application for an FM signal. The message
< signal is fixed bandwidth (~30kHz), but due to the measurement environment,
< the carrier (nominally around 500kHz) moves above and below the nominal
< frequency within about a 100kHz range.

It would seem easiest to demodulate as is, then high pass filter
to remove the drift component.  How do you know which is signal
and which drift?
 
< To demodulate, I'd like to mix to baseband, so I need to find the carrier
< of the incoming FM signal. The carrier moves about the nominal freq slowly
< (in relation to the message frequency).

500kHz seems close enough to baseband for me.  IF for usual FM
radios is 10.7MHz, so you are much less than that.  Then again,
some people believe that 60kHz is RF...

http://tf.nist.gov/stations/radioclocks.htm

-- glen
On Jun 4, 6:11&#4294967295;pm, "salukibob" <saluki...@hotmail.com> wrote:
> Hello, > > I'm looking into a demodulation application for an FM signal. The message > signal is fixed bandwidth (~30kHz), but due to the measurement environment, > the carrier (nominally around 500kHz) moves above and below the nominal > frequency within about a 100kHz range. > > To demodulate, I'd like to mix to baseband, so I need to find the carrier > of the incoming FM signal. The carrier moves about the nominal freq slowly > (in relation to the message frequency). > > So my question is, what would be the best way to track the slow variation > in the carrier freq, to allow correct mixing to baseband? So far, I've > considered basic ideas such as looking at the power spectrum. I'm just > after some ideas of methods or algorithms to look at that might suit, so > any suggestions would be most appreciated. > > Kind Regards > Rob
What is the message and what is the SNR?