Forums

CORDIC based FM demodulation

Started by ma November 21, 2006
Hello,

     I know that it is possible to demodulate an FM signal using a CORDIC 
ATAN core and the subtracting the current ouput of cordic from the last one. 
But I can not understand how carrier frequency and sampling rate would 
change it? What are the requirements? Where are the limitations?



Regards


ma wrote:

> Hello, > > I know that it is possible to demodulate an FM signal using a CORDIC > ATAN core and the subtracting the current ouput of cordic from the last one. > But I can not understand how carrier frequency and sampling rate would > change it? What are the requirements? Where are the limitations? > > > > Regards > >
You'll want to remove the carrier before you try to demodulate it. Any residual carrier will manifest itself as a DC offset at the output of the demodulator. Too much carrier offset will result in phase wrapping. The sample rate affects how far the phase traverses between each sample, smaller for higher rates.
> I know that it is possible to demodulate an FM signal using a CORDIC > ATAN core and the subtracting the current ouput of cordic from the last one. > But I can not understand how carrier frequency and sampling rate would > change it? What are the requirements? Where are the limitations?
Typically, carrier frequency wouldn't enter into the equation, because you would never do this type of computation with a signal at the carrier frequency (this would require a ridiculously-high sample rate). In a real system, you would heterodyne the signal down to an intermediate frequency before sampling, rendering the actual carrier frequency of the signal irrelevant to your demodulator. Then, you would likely mix the signal from IF down to baseband before doing any calculations. If your transmitter on the other end sends an IQ-modulated FM signal, then you end up with two orthogonal channels in the receiver. What you're left with at baseband, then, is a pair of sinusoids whose instantaneous frequencies are directly related to the message waveform; the sinusoids are 90 degrees out of phase. Therefore, performing an atan2 operation on the ratio of the Q channel divided by the I channel will yield the argument to the two sinusoids, which is your message waveform multiplied by a linear ramp. Therefore, your message signal is related to the total phase change per sample of the baseband waveform. You can then run this signal through a differentiator filter to yield an approximation to the desired message signal; demodulation complete. There are other methods that may perform better (such as using the Frerking method instead of using an actual differentiator), but this is the most intuitive way to see what's going on. As was pointed out previously, the algorithm is relatively agnostic to sample rate. As long as you sample quickly enough to avoid aliasing, a higher sample rate will just give you finer steps in your signals every step of the way. Jason
"ma" <ma@nowhere.com> wrote in message
news:BqL8h.27$bz5.10@fe3.news.blueyonder.co.uk...
> Hello, > > I know that it is possible to demodulate an FM signal using a CORDIC > ATAN core and the subtracting the current ouput of cordic from the last
one.
> But I can not understand how carrier frequency and sampling rate would > change it? What are the requirements? Where are the limitations? > > > > Regards > >
Why bother when you can do something like IQ'-QI'/(I^2+Q^2) -- Posted via a free Usenet account from http://www.teranews.com
"Major Misunderstanding" <mad@uni.com> wrote in message
news:4563a6d7$0$21172$88260bb3@free.teranews.com...
> > "ma" <ma@nowhere.com> wrote in message > news:BqL8h.27$bz5.10@fe3.news.blueyonder.co.uk... > > Hello, > > > > I know that it is possible to demodulate an FM signal using a
CORDIC
> > ATAN core and the subtracting the current ouput of cordic from the last > one. > > But I can not understand how carrier frequency and sampling rate would > > change it? What are the requirements? Where are the limitations? > > > > > > > > Regards > > > > > > Why bother when you can do something like > > IQ'-QI'/(I^2+Q^2) > >
He may not have hardware multipliers available. CORDIC only requires registers and add/sub. Also, I think you need a square root in the demonibator above? -Clark
Major,

How about the differences in available number of cycles and instruction
set for a given processor and application?

Dirk

Dirk Bell
DSP Consultant

Major Misunderstanding wrote:
<snipped>
> Why bother when you can do something like > > IQ'-QI'/(I^2+Q^2) > > > > -- > Posted via a free Usenet account from http://www.teranews.com
cincydsp@gmail.com wrote:

>> I know that it is possible to demodulate an FM signal using a CORDIC >>ATAN core and the subtracting the current ouput of cordic from the last one. >>But I can not understand how carrier frequency and sampling rate would >>change it? What are the requirements? Where are the limitations? > > > Typically, carrier frequency wouldn't enter into the equation, because > you would never do this type of computation with a signal at the > carrier frequency (this would require a ridiculously-high sample rate). > In a real system, you would heterodyne the signal down to an > intermediate frequency before sampling, rendering the actual carrier > frequency of the signal irrelevant to your demodulator. Then, you would > likely mix the signal from IF down to baseband before doing any > calculations. If your transmitter on the other end sends an > IQ-modulated FM signal, then you end up with two orthogonal channels in > the receiver.
Not necessarily. I'm just wrapping up a beamforming receiver design that includes an FM demodulator (among others). It samples the antenna elements at 500MHz and does the downconversion, filtering and beamforming all in the digital domain...for 240 antenna elements. But you are correct, you normally mix with a local oscillator before attempting to do the FM demod, That is often followed by a carrier lock circuit that mixes the downconverted signal with a frequency error signal to remove any residual offset due to tuning frequency differences between the transmitter and receiver. Even then there is often a little bit of frequency offset left due to imperfect locking and dynamic effects such as multi-path or doppler.
> > What you're left with at baseband, then, is a pair of sinusoids whose > instantaneous frequencies are directly related to the message waveform; > the sinusoids are 90 degrees out of phase. Therefore, performing an > atan2 operation on the ratio of the Q channel divided by the I channel > will yield the argument to the two sinusoids, which is your message > waveform multiplied by a linear ramp. Therefore, your message signal is > related to the total phase change per sample of the baseband waveform. > You can then run this signal through a differentiator filter to yield > an approximation to the desired message signal; demodulation complete. > There are other methods that may perform better (such as using the > Frerking method instead of using an actual differentiator), but this is > the most intuitive way to see what's going on. > > As was pointed out previously, the algorithm is relatively agnostic to > sample rate. As long as you sample quickly enough to avoid aliasing, a > higher sample rate will just give you finer steps in your signals every > step of the way. > > Jason >
Major Misunderstanding wrote:

> "ma" <ma@nowhere.com> wrote in message > news:BqL8h.27$bz5.10@fe3.news.blueyonder.co.uk... > >>Hello, >> >> I know that it is possible to demodulate an FM signal using a CORDIC >>ATAN core and the subtracting the current ouput of cordic from the last > > one. > >>But I can not understand how carrier frequency and sampling rate would >>change it? What are the requirements? Where are the limitations? >> >> >> >>Regards >> >> > > > Why bother when you can do something like > > IQ'-QI'/(I^2+Q^2) > > >
Because this requires a divide and a square root unless you have a hard limited signal, in which case the arctan method provides better performance.
Thanks for comments.



"Ray Andraka" <ray@andraka.com> wrote in message 
news:_tQ8h.1968$EV5.1773@newsfe16.lga...

> cincydsp@gmail.com wrote: > >>> I know that it is possible to demodulate an FM signal using a CORDIC >>>ATAN core and the subtracting the current ouput of cordic from the last >>>one. >>>But I can not understand how carrier frequency and sampling rate would >>>change it? What are the requirements? Where are the limitations? >> >> >> Typically, carrier frequency wouldn't enter into the equation, because >> you would never do this type of computation with a signal at the >> carrier frequency (this would require a ridiculously-high sample rate). >> In a real system, you would heterodyne the signal down to an >> intermediate frequency before sampling, rendering the actual carrier >> frequency of the signal irrelevant to your demodulator. Then, you would >> likely mix the signal from IF down to baseband before doing any >> calculations. If your transmitter on the other end sends an >> IQ-modulated FM signal, then you end up with two orthogonal channels in >> the receiver. > > Not necessarily. I'm just wrapping up a beamforming receiver design that > includes an FM demodulator (among others). It samples the antenna > elements at 500MHz and does the downconversion, filtering and beamforming > all in the digital domain...for 240 antenna elements.
How can I do it when the signal is not in base band? For example in the case of the system that you designed, the down converter didn't bring signal to base band but it would bring it to some IF band ( I assume it as I believe it is not possible to do beam forming in base band , Am I wrong). Being in IF band means that there are some carrier frequency. Do we need another step of down conversion or we can do FM demodulation in IF band?
> > But you are correct, you normally mix with a local oscillator before > attempting to do the FM demod, That is often followed by a carrier lock > circuit that mixes the downconverted signal with a frequency error signal > to remove any residual offset due to tuning frequency differences between > the transmitter and receiver. Even then there is often a little bit of > frequency offset left due to imperfect locking and dynamic effects such as > multi-path or doppler. >
Is not mixing with a local oscillator means down conversion? Can I drop samples for down conversation? In fact I believe dropping samples means multiplying with some square signal. If I have an IQ signal at the input of an FM demodulator, how can I down convert them to base band? And then use CORDIC FM demodulation. Is there any documentation that explains these things in mathematics? I am not only interested in technology but as a student I am interested in learning mathematics behind it.
>> >> What you're left with at baseband, then, is a pair of sinusoids whose >> instantaneous frequencies are directly related to the message waveform; >> the sinusoids are 90 degrees out of phase. Therefore, performing an >> atan2 operation on the ratio of the Q channel divided by the I channel >> will yield the argument to the two sinusoids, which is your message >> waveform multiplied by a linear ramp. Therefore, your message signal is >> related to the total phase change per sample of the baseband waveform. >> You can then run this signal through a differentiator filter to yield >> an approximation to the desired message signal; demodulation complete. >> There are other methods that may perform better (such as using the >> Frerking method instead of using an actual differentiator), but this is >> the most intuitive way to see what's going on. >> >> As was pointed out previously, the algorithm is relatively agnostic to >> sample rate. As long as you sample quickly enough to avoid aliasing, a >> higher sample rate will just give you finer steps in your signals every >> step of the way. >> >> Jason >>
On Wed, 22 Nov 2006 02:43:03 GMT, "Anonymous" <someone@microsoft.com>
wrote:

> >"Major Misunderstanding" <mad@uni.com> wrote in message >news:4563a6d7$0$21172$88260bb3@free.teranews.com... >> >> "ma" <ma@nowhere.com> wrote in message >> news:BqL8h.27$bz5.10@fe3.news.blueyonder.co.uk... >> > Hello, >> > >> > I know that it is possible to demodulate an FM signal using a >CORDIC >> > ATAN core and the subtracting the current ouput of cordic from the last >> one. >> > But I can not understand how carrier frequency and sampling rate would >> > change it? What are the requirements? Where are the limitations? >> > >> > Regards >> > >> >> Why bother when you can do something like >> >> IQ'-QI'/(I^2+Q^2) >> > >He may not have hardware multipliers available. CORDIC only requires >registers and add/sub. > >Also, I think you need a square root in the demonibator above? > >-Clark
Hi Clark, I've seen that "IQ'-QI'/(I^2+Q^2)" algorithm before. I don't remember it requiring any square root operation. Can ya' tell us when a square root is necessary? Thanks, [-Rick-]