DSPRelated.com
Forums

Digital FM demodulation

Started by Unknown September 26, 2006
Patrick,

Please describe what you are doing. What you are trying to do is pretty
simple for DSP (not as simple as Algebra though!).

"Starting with a signal described as _____, creating I and Q signals by
_____ (detail here), ......"

Lots of detail and I bet you get lots of useful responses.

Dirk

Dirk Bell
DSP Consultant


patrick.melet@dmradiocom.fr wrote:
> hi > > I have simulated the FM demodulation under matlab and I have a problem > > At the output of the substractor, there's a DC offset > > I made the differentiator with I[n]-I[n-1] > > My I and Q signals are center to 50 kHz, with +/- 40 kHz deviation > > What do you mean by I and dI (Q and dQ) alignment, we put a one sample > (frequency sampling at 2 MHz delay on the I and Q branch before > multpliying by dI and dQ > > I don't understand why I have this DC offset > > thanks
patrick.melet@dmradiocom.fr wrote:

> hi > > I have simulated the FM demodulation under matlab and I have a problem > > At the output of the substractor, there's a DC offset > > I made the differentiator with I[n]-I[n-1] > > My I and Q signals are center to 50 kHz, with +/- 40 kHz deviation > > What do you mean by I and dI (Q and dQ) alignment, we put a one sample > (frequency sampling at 2 MHz delay on the I and Q branch before > multpliying by dI and dQ > > I don't understand why I have this DC offset > > thanks >
The DC offset is due to your signal not being centered at DC rather than at 50KHz as Vladmir mentioned. It comes about because with the 50 KHz carrier, your phase difference from sample to sample is a constant due to the carrier frequency plus a delta due to the modulation. The constant translates to a DC offset. You need to either mix the signal down to complex baseband first, or do something with the output to remove the DC offset. The former is the better solution because the DC offset can swamp your signal in real systems.
What is a one-bit long box car filter ?

Is it a FIR filter with all the coefficients at value one, so it's a
moving average filter ?

thanks