DSPRelated.com
Forums

FM demodulation

Started by ma November 13, 2006
Hello,

 I want to write a subroutine to implement FM demodulation. The input should 
be in the format of IQ. How can I do this and where can I read about the 
technique and the implementation technique and mathematics behind it?



Any help is much appreciated.



Regards





ma wrote:

> Hello, > > I want to write a subroutine to implement FM demodulation. The input should > be in the format of IQ. How can I do this and where can I read about the > technique and the implementation technique and mathematics behind it? >
Here is the simplest way: I dQ/dt - Q dI/dt W = ------------------ I^2 + Q^2
> > > Any help is much appreciated. >
Enjoy :) Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Thanks,



Where can I find mathematical background to the technique? How sampling rate 
is affecting this technique? How FM bandwidth is affecting this.



Regards


"Vladimir Vassilevsky" <antispam_bogus@hotmail.com> wrote in message 
news:vF96h.5564$IR4.606@newssvr25.news.prodigy.net...
> > > ma wrote: > >> Hello, >> >> I want to write a subroutine to implement FM demodulation. The input >> should be in the format of IQ. How can I do this and where can I read >> about the technique and the implementation technique and mathematics >> behind it? >> > > Here is the simplest way: > > I dQ/dt - Q dI/dt > W = ------------------ > I^2 + Q^2 >> >> >> Any help is much appreciated. >> > > Enjoy :) > > Vladimir Vassilevsky > > DSP and Mixed Signal Design Consultant > > http://www.abvolt.com
Vladimir Vassilevsky wrote:
> ma wrote: > > > Hello, > > > > I want to write a subroutine to implement FM demodulation. The input should > > be in the format of IQ. How can I do this and where can I read about the > > technique and the implementation technique and mathematics behind it? > > > > Here is the simplest way: > > I dQ/dt - Q dI/dt > W = ------------------ > I^2 + Q^2 > > > > > > Any help is much appreciated. > > >
Another way is atan2(z(k)*conj(z(k-1)). The math is easy to understand -- you're computing the phase change from one sample to the next. Multiply by Fs to get it into Hertz. The behavior in noise is best understood with the help of a good textbook. Check out titles by Ziemer & Tranter or Mischa Schwartz. John

ma wrote:

> Thanks, > > > > Where can I find mathematical background to the technique?
In the ABC book on trigonometry. How sampling rate
> is affecting this technique? How FM bandwidth is affecting this.
This formula is exact. How does the sample rate affect 2 x 2 = 4 or e = mc^2 ? VLV
> > > > Regards > > > "Vladimir Vassilevsky" <antispam_bogus@hotmail.com> wrote in message > news:vF96h.5564$IR4.606@newssvr25.news.prodigy.net... > >> >>ma wrote: >> >> >>>Hello, >>> >>> I want to write a subroutine to implement FM demodulation. The input >>>should be in the format of IQ. How can I do this and where can I read >>>about the technique and the implementation technique and mathematics >>>behind it? >>> >> >>Here is the simplest way: >> >> I dQ/dt - Q dI/dt >>W = ------------------ >> I^2 + Q^2 >> >>> >>>Any help is much appreciated. >>> >> >>Enjoy :) >> >>Vladimir Vassilevsky >> >>DSP and Mixed Signal Design Consultant >> >>http://www.abvolt.com > > >
Thanks,
lets look at the problem from other side.
What is W? Is it the  demodulated signal? If we are in digital space then 
this equation should change to:

             I * (q(n)- q(n-1)) - q * (I(n)- I(n-1))
W(n)= ---------------------------------------
            I(n) ^2 + q(n) ^2

I am wondring how sampling rate of the input signal doesn't have any effect 
on this equation?  Doesn't it matter that I have 10 sample per cycle of 
input signal or 2 samples per cycle of input signal?

Regards

"Vladimir Vassilevsky" <antispam_bogus@hotmail.com> wrote in message 
news:Ynk6h.7082$6t.2092@newssvr11.news.prodigy.com...
> > > ma wrote: > >> Thanks, >> >> >> >> Where can I find mathematical background to the technique? > > In the ABC book on trigonometry. > > > How sampling rate >> is affecting this technique? How FM bandwidth is affecting this. > > This formula is exact. > How does the sample rate affect 2 x 2 = 4 or e = mc^2 ? > > VLV > > >> >> >> >> Regards >> >> >> "Vladimir Vassilevsky" <antispam_bogus@hotmail.com> wrote in message >> news:vF96h.5564$IR4.606@newssvr25.news.prodigy.net... >> >>> >>>ma wrote: >>> >>> >>>>Hello, >>>> >>>> I want to write a subroutine to implement FM demodulation. The input >>>> should be in the format of IQ. How can I do this and where can I read >>>> about the technique and the implementation technique and mathematics >>>> behind it? >>>> >>> >>>Here is the simplest way: >>> >>> I dQ/dt - Q dI/dt >>>W = ------------------ >>> I^2 + Q^2 >>> >>>> >>>>Any help is much appreciated. >>>> >>> >>>Enjoy :) >>> >>>Vladimir Vassilevsky >>> >>>DSP and Mixed Signal Design Consultant >>> >>>http://www.abvolt.com >> >>
This is not right.

I[n] - I[n-1] is not the same thing as dI/dt.

The sample rate affects how you are going to calculate the derivatives.



VLV



ma wrote:

> Thanks, > lets look at the problem from other side. > What is W? Is it the demodulated signal? If we are in digital space then > this equation should change to: > > I * (q(n)- q(n-1)) - q * (I(n)- I(n-1)) > W(n)= --------------------------------------- > I(n) ^2 + q(n) ^2 > > I am wondring how sampling rate of the input signal doesn't have any effect > on this equation? Doesn't it matter that I have 10 sample per cycle of > input signal or 2 samples per cycle of input signal? > > Regards > > "Vladimir Vassilevsky" <antispam_bogus@hotmail.com> wrote in message > news:Ynk6h.7082$6t.2092@newssvr11.news.prodigy.com... > >> >>ma wrote: >> >> >>>Thanks, >>> >>> >>> >>>Where can I find mathematical background to the technique? >> >>In the ABC book on trigonometry. >> >> >> How sampling rate >> >>>is affecting this technique? How FM bandwidth is affecting this. >> >>This formula is exact. >>How does the sample rate affect 2 x 2 = 4 or e = mc^2 ? >> >>VLV >> >> >> >>> >>> >>>Regards >>> >>> >>>"Vladimir Vassilevsky" <antispam_bogus@hotmail.com> wrote in message >>>news:vF96h.5564$IR4.606@newssvr25.news.prodigy.net... >>> >>> >>>>ma wrote: >>>> >>>> >>>> >>>>>Hello, >>>>> >>>>>I want to write a subroutine to implement FM demodulation. The input >>>>>should be in the format of IQ. How can I do this and where can I read >>>>>about the technique and the implementation technique and mathematics >>>>>behind it? >>>>> >>>> >>>>Here is the simplest way: >>>> >>>> I dQ/dt - Q dI/dt >>>>W = ------------------ >>>> I^2 + Q^2 >>>> >>>> >>>>>Any help is much appreciated. >>>>> >>>> >>>>Enjoy :) >>>> >>>>Vladimir Vassilevsky >>>> >>>>DSP and Mixed Signal Design Consultant >>>> >>>>http://www.abvolt.com >>> >>> >
Ok, now I can understand!

What is the best way to calculate derivatives? If I am going to develop a 
software program to do the job? What about when I am going to develop a FPGA 
core to do the job? Is there any difference?

Is there any paper or book on other persons who did this before? Is there 
any software library that shows how others did it before?



Regards



"Vladimir Vassilevsky" <antispam_bogus@hotmail.com> wrote in message 
news:xLk6h.7095$6t.4229@newssvr11.news.prodigy.com...
> > This is not right. > > I[n] - I[n-1] is not the same thing as dI/dt. > > The sample rate affects how you are going to calculate the derivatives. > > > > VLV > > > > ma wrote: > >> Thanks, >> lets look at the problem from other side. >> What is W? Is it the demodulated signal? If we are in digital space then >> this equation should change to: >> >> I * (q(n)- q(n-1)) - q * (I(n)- I(n-1)) >> W(n)= --------------------------------------- >> I(n) ^2 + q(n) ^2 >> >> I am wondring how sampling rate of the input signal doesn't have any >> effect on this equation? Doesn't it matter that I have 10 sample per >> cycle of input signal or 2 samples per cycle of input signal? >> >> Regards >> >> "Vladimir Vassilevsky" <antispam_bogus@hotmail.com> wrote in message >> news:Ynk6h.7082$6t.2092@newssvr11.news.prodigy.com... >> >>> >>>ma wrote: >>> >>> >>>>Thanks, >>>> >>>> >>>> >>>>Where can I find mathematical background to the technique? >>> >>>In the ABC book on trigonometry. >>> >>> >>> How sampling rate >>> >>>>is affecting this technique? How FM bandwidth is affecting this. >>> >>>This formula is exact. >>>How does the sample rate affect 2 x 2 = 4 or e = mc^2 ? >>> >>>VLV >>> >>> >>> >>>> >>>> >>>>Regards >>>> >>>> >>>>"Vladimir Vassilevsky" <antispam_bogus@hotmail.com> wrote in message >>>>news:vF96h.5564$IR4.606@newssvr25.news.prodigy.net... >>>> >>>> >>>>>ma wrote: >>>>> >>>>> >>>>> >>>>>>Hello, >>>>>> >>>>>>I want to write a subroutine to implement FM demodulation. The input >>>>>>should be in the format of IQ. How can I do this and where can I read >>>>>>about the technique and the implementation technique and mathematics >>>>>>behind it? >>>>>> >>>>> >>>>>Here is the simplest way: >>>>> >>>>> I dQ/dt - Q dI/dt >>>>>W = ------------------ >>>>> I^2 + Q^2 >>>>> >>>>> >>>>>>Any help is much appreciated. >>>>>> >>>>> >>>>>Enjoy :) >>>>> >>>>>Vladimir Vassilevsky >>>>> >>>>>DSP and Mixed Signal Design Consultant >>>>> >>>>>http://www.abvolt.com >>>> >>>> >>
ma wrote:
> Thanks, > lets look at the problem from other side. > What is W? Is it the demodulated signal? If we are in digital space then > this equation should change to: > > I * (q(n)- q(n-1)) - q * (I(n)- I(n-1)) > W(n)= --------------------------------------- > I(n) ^2 + q(n) ^2
That doesn't work. There are delays in your differences but not in the corresponding I and Q. All quantities need to be refer to the same instant. 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;

ma wrote:

> Ok, now I can understand!
Good.
> What is the best way to calculate derivatives?
There are two best ways to accomplish anything: doing it yourself or hiring somebody else. If I am going to develop a
> software program to do the job? What about when I am going to develop a FPGA > core to do the job? Is there any difference?
Yes, there is :)
> > Is there any paper or book on other persons who did this before?
Yes, there are :) Is there
> any software library that shows how others did it before? >
Heck, you need the software library to implement two lines of code? VLV
> > > Regards > > > > "Vladimir Vassilevsky" <antispam_bogus@hotmail.com> wrote in message > news:xLk6h.7095$6t.4229@newssvr11.news.prodigy.com... > >>This is not right. >> >>I[n] - I[n-1] is not the same thing as dI/dt. >> >>The sample rate affects how you are going to calculate the derivatives. >> >> >> >>VLV >> >> >> >>ma wrote: >> >> >>>Thanks, >>>lets look at the problem from other side. >>>What is W? Is it the demodulated signal? If we are in digital space then >>>this equation should change to: >>> >>> I * (q(n)- q(n-1)) - q * (I(n)- I(n-1)) >>>W(n)= --------------------------------------- >>> I(n) ^2 + q(n) ^2 >>> >>>I am wondring how sampling rate of the input signal doesn't have any >>>effect on this equation? Doesn't it matter that I have 10 sample per >>>cycle of input signal or 2 samples per cycle of input signal? >>> >>>Regards >>> >>>"Vladimir Vassilevsky" <antispam_bogus@hotmail.com> wrote in message >>>news:Ynk6h.7082$6t.2092@newssvr11.news.prodigy.com... >>> >>> >>>>ma wrote: >>>> >>>> >>>> >>>>>Thanks, >>>>> >>>>> >>>>> >>>>>Where can I find mathematical background to the technique? >>>> >>>>In the ABC book on trigonometry. >>>> >>>> >>>>How sampling rate >>>> >>>> >>>>>is affecting this technique? How FM bandwidth is affecting this. >>>> >>>>This formula is exact. >>>>How does the sample rate affect 2 x 2 = 4 or e = mc^2 ? >>>> >>>>VLV >>>> >>>> >>>> >>>> >>>>> >>>>>Regards >>>>> >>>>> >>>>>"Vladimir Vassilevsky" <antispam_bogus@hotmail.com> wrote in message >>>>>news:vF96h.5564$IR4.606@newssvr25.news.prodigy.net... >>>>> >>>>> >>>>> >>>>>>ma wrote: >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>>Hello, >>>>>>> >>>>>>>I want to write a subroutine to implement FM demodulation. The input >>>>>>>should be in the format of IQ. How can I do this and where can I read >>>>>>>about the technique and the implementation technique and mathematics >>>>>>>behind it? >>>>>>> >>>>>> >>>>>>Here is the simplest way: >>>>>> >>>>>> I dQ/dt - Q dI/dt >>>>>>W = ------------------ >>>>>> I^2 + Q^2 >>>>>> >>>>>> >>>>>> >>>>>>>Any help is much appreciated. >>>>>>> >>>>>> >>>>>>Enjoy :) >>>>>> >>>>>>Vladimir Vassilevsky >>>>>> >>>>>>DSP and Mixed Signal Design Consultant >>>>>> >>>>>>http://www.abvolt.com >>>>> >>>>> > >