DSPRelated.com
Forums

CORDIC based FM demodulation

Started by ma November 21, 2006
Anonymous 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
A square root is not needed because the numerator magnitude is I^2 + Q^2. John
> >> > >> 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-] >
Sounds like the concensus is that you don't need a sqrt, but a division is just as inconvenient. Of course, since the envelope is supposed to be constant maybe you can get away without the normalization anyway? -clark

Anonymous wrote:

>>> I know that it is possible to demodulate an FM signal using a > > CORDIC
I also know that it is possible to drink beer using a colander, however most of people prefer the mugs.
>>>ATAN core and the subtracting the current ouput of cordic from the last >>one.
So you have to compute the derivative anyway.
>>>But I can not understand how carrier frequency and sampling rate would >>>change it? What are the requirements? Where are the limitations?
Limitations are in the brains.
>> >>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.
It does not matter from what side you are approaching the problem. You will end up with exactly the same operations.
> Also, I think you need a square root in the demonibator above?
No. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Anonymous wrote:
>>>> 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-] >> > > Sounds like the concensus is that you don't need a sqrt, but a division is > just as inconvenient. > > Of course, since the envelope is supposed to be constant maybe you can get > away without the normalization anyway?
The quotient rule of elementary differential calculus tells us that IQ'-QI'/(I^2+Q^2) = (Q/I)' Two differences are usually faster than one division, and given that I^2+Q^2 is nearly constant. 1/sqrt(I^2+Q^2) is easily approximated without division, and squaring the result is simple in most DSP chips. Were this not so, directly computing Q/I and then (Q/I)' would be the usual way. Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
Ray Andraka wrote:
> Major Misunderstanding wrote:
...
>> 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.
Why square root? Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
Anonymous wrote:
 >>>> Why bother when you can do something like
 >>>>
 >>>> IQ'-QI'/(I2+Q2)
 >>>>
 >>> 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'/(I2+Q2)"
 >> algorithm before.  I don't remember it
 >> requiring any square root operation.
 >>
 >> Can ya' tell us when a square root is
 >> necessary?
 >>
 >> Thanks,
 >> [-Rick-]
 >>
 >
 > Sounds like the concensus is that you don't need a sqrt, but a 
division is
 > just as inconvenient.
 >
 > Of course, since the envelope is supposed to be constant maybe you 
can get
 > away without the normalization anyway?

The quotient rule of elementary differential calculus tells us that
                    IQ'-QI'/(I2+Q2) = (Q/I)'

Two differences are usually faster than one division, and given that 
I2+Q2 is nearly constant, 1/sqrt(I2+Q2) is easily approximated without 
division. Squaring the result is simple in most DSP chips. Were this not 
so, directly computing Q/I and then (Q/I)' would be the usual way.

Jerry
-- 
Engineering is the art of making what you want from things you can get.
&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
No answer to my questions or maybe nobody saw them.
Can you please help me to find the answer to my questions?
there are here: marked as [MA]

"ma" <ma@nowhere.com> wrote in message 
news:VAW8h.686$qd7.673@fe1.news.blueyonder.co.uk...
> 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. > > >
[MA] 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. >> > > >
[MA] Is not mixing with a local oscillator means down conversion?
> > > >[MA]Can I drop samples for down conversation? In fact I believe dropping >samples means multiplying with some square signal. > > > >[MA] 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. >
[MA] 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 >>> > > > >
ma wrote:
> No answer to my questions or maybe nobody saw them. > Can you please help me to find the answer to my questions? > there are here: marked as [MA]
I'm out of my depth here. What does frequency modulation at baseband mean? For that matter what does AM at baseband mean? Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
Jerry Avins wrote:
> ma wrote: >> No answer to my questions or maybe nobody saw them. >> Can you please help me to find the answer to my questions? >> there are here: marked as [MA] > > I'm out of my depth here. What does frequency modulation at baseband > mean? For that matter what does AM at baseband mean?
FM modulation index is the ratio of the maximum carrier deviation to the highest modulating frequency. When the same modulation is beat down from the high end of the FM band (say 107 MHz) to the 10.7 MHz if the IF, the modulation index increases by a factor of ten. At DC, it would be infinite. There's a conceptual problem here. Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
Jerry Avins <jya@ieee.org> writes:

> ma wrote: >> No answer to my questions or maybe nobody saw them. >> Can you please help me to find the answer to my questions? >> there are here: marked as [MA] > > I'm out of my depth here. What does frequency modulation at baseband > mean? For that matter what does AM at baseband mean?
Baseband is what you get if you filter a carrier-based signal at the desired bandwidth and then translated the positive half frequencies of the resulting band-limited signal so that the carrier frequency becomes DC. For example, say you had an FM station at 89.7 MHz. You'd filter at 89.6-89.8 (I'm assuming the marketing frequency is the center frequency) and then translate the positive freequencies from 89.7 MHz down to DC. This is synonymous with "quadrature downconversion." Note that baseband signals are, in general, complex. -- % Randy Yates % "With time with what you've learned, %% Fuquay-Varina, NC % they'll kiss the ground you walk %%% 919-577-9882 % upon." %%%% <yates@ieee.org> % '21st Century Man', *Time*, ELO http://home.earthlink.net/~yatescr