DSPRelated.com
Forums

FM demodulation

Started by ma November 13, 2006
Interesting, where can I find more information on this subject?
Regards

"Ray Andraka" <ray@andraka.com> wrote in message 
news:rtH6h.49645$WD6.2480@newsfe13.lga...
> ma wrote: >> There are two cons of using atan: >> 1- It is very expensive ( processing ) to use it in software. >> 2- I am not sure if I can use it in FPGA at all. >> >> so I am looking for other ways to do this. Still couldn't find a good >> book or paper or ... on digital FM demodulation. Any suggestion? >> >> Regards >> >> > > > Atan2 is actually pretty easy to do on the FPGA using CORDIC. I just did > a digital AM/FM demod last month for Virtex2Pro using a CORDIC rotator to > extract the ATAN2 and magnitude (for AM).
ma wrote:
> Interesting, where can I find more information on this subject?
Ray is the man. http://www.dspguru.com/info/faqs/cordic.htm 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: > >> Interesting, where can I find more information on this subject? > > > Ray is the man. http://www.dspguru.com/info/faqs/cordic.htm > > Jerry
Thanks Jerry. I have a tutorial paper on CORDIC for FPGAs on my website. It is the most hit page on my website, and has been cited in several dozen papers that I am aware of. Look under the publications page. http://www.andraka.com/papers.htm
Ray Andraka wrote:
> Jerry Avins wrote: > >> ma wrote: >> >>> Interesting, where can I find more information on this subject? >> >> >> Ray is the man. http://www.dspguru.com/info/faqs/cordic.htm >> >> Jerry > > Thanks Jerry. I have a tutorial paper on CORDIC for FPGAs on my > website. It is the most hit page on my website, and has been cited in > several dozen papers that I am aware of. Look under the publications > page. http://www.andraka.com/papers.htm
A (it turns out outdated) link to that page is in the DSPguru page I cited. 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;
On Tue, 14 Nov 2006 15:14:18 -0500, Jerry Avins <jya@ieee.org> wrote:

>Vladimir Vassilevsky wrote: >> >> >> Jerry Avins wrote: >> >> >>> A formula for a derivative that gives good results up to quarter of >>> the sample rate is not easy to devise. Don't be misled into thinking >>> it's trivial. >> >> But this is trivial. The differentiator is a linear phase filter which >> has response proportional to the frequency. A filter like that can be >> designed to any given accuracy. > >The operative word is "designed". Most implementors merely imagine one >and use it without checking the performance (or phase characteristics). >That the delay through the filter be a whole number of samples requires >an odd number of taps. In turn, that implies that the amplitude at f be >the same as the response at Fs/2 - f. For a differentiator, the response >is zero at f = 0. An off number of taps ensures that the response is >also zero at Fs/2, which is hardly ideal. > >Jerry
Hi Jer, maybe the differentiator at http://www.elecdesign.com/Articles/Index.cfm?AD=1&ArticleID=13358 would be useful to ma. See Ya, [-Rick-]
Rick Lyons wrote:
> On Tue, 14 Nov 2006 15:14:18 -0500, Jerry Avins <jya@ieee.org> wrote: > >> Vladimir Vassilevsky wrote: >>> >>> Jerry Avins wrote: >>> >>> >>>> A formula for a derivative that gives good results up to quarter of >>>> the sample rate is not easy to devise. Don't be misled into thinking >>>> it's trivial. >>> But this is trivial. The differentiator is a linear phase filter which >>> has response proportional to the frequency. A filter like that can be >>> designed to any given accuracy. >> The operative word is "designed". Most implementors merely imagine one >> and use it without checking the performance (or phase characteristics). >> That the delay through the filter be a whole number of samples requires >> an odd number of taps. In turn, that implies that the amplitude at f be >> the same as the response at Fs/2 - f. For a differentiator, the response >> is zero at f = 0. An off number of taps ensures that the response is >> also zero at Fs/2, which is hardly ideal. >> >> Jerry > > Hi Jer, > maybe the differentiator at > > http://www.elecdesign.com/Articles/Index.cfm?AD=1&ArticleID=13358 > > would be useful to ma.
Rick, I recognize that design as the one we corresponded about some months ago. Being linear phase, it lacks the 90-degree phase shift that is an important part of some applications in control loops. The delay elements being two unit delays each show that this is a half-band structure, with all the attendant constraints and advantages. These symmetric differentiators can't do better than get to pi/2 in the limit, and yours is pretty close to that. As good as this is, there's still room for a few improvements. 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:
> Rick Lyons wrote: >> On Tue, 14 Nov 2006 15:14:18 -0500, Jerry Avins <jya@ieee.org> wrote: >> >>> Vladimir Vassilevsky wrote: >>>> >>>> Jerry Avins wrote: >>>> >>>> >>>>> A formula for a derivative that gives good results up to quarter of >>>>> the sample rate is not easy to devise. Don't be misled into >>>>> thinking it's trivial. >>>> But this is trivial. The differentiator is a linear phase filter >>>> which has response proportional to the frequency. A filter like that >>>> can be designed to any given accuracy. >>> The operative word is "designed". Most implementors merely imagine >>> one and use it without checking the performance (or phase >>> characteristics). That the delay through the filter be a whole number >>> of samples requires an odd number of taps. In turn, that implies that >>> the amplitude at f be the same as the response at Fs/2 - f. For a >>> differentiator, the response is zero at f = 0. An off number of taps >>> ensures that the response is also zero at Fs/2, which is hardly ideal. >>> >>> Jerry >> >> Hi Jer, >> maybe the differentiator at >> http://www.elecdesign.com/Articles/Index.cfm?AD=1&ArticleID=13358 >> >> would be useful to ma. > > Rick, > > I recognize that design as the one we corresponded about some months > ago. Being linear phase, it lacks the 90-degree phase shift that is an > important part of some applications in control loops. The delay elements > being two unit delays each show that this is a half-band structure, with > all the attendant constraints and advantages. These symmetric > differentiators can't do better than get to pi/2 in the limit, and yours > is pretty close to that. > > As good as this is, there's still room for a few improvements.
Rick, I should have gone over the equations instead of relying on memory. Your new differentiator is antisymmetric and exhibits the required quadrature phase shift Sorry about that! 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;