CORDIC FM Demodulation

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

Reply to
ma
Loading thread data ...

On a sunny day (Tue, 21 Nov 2006 23:30:19 GMT) it happened "ma" wrote in :

You can also demodulate an FM signal by generating a short fixed length fixed amplitude pulse (one shot) on each zero crossing on an output, and then doing a lowpass. A lot simpler.

Reply to
Jan Panteltje

Very interesting! In fact I can understand its mathematic! calculating frequncy based on zero crossing. How can I do this in software or FPGA?

Regards

Reply to
ma

On a sunny day (Wed, 22 Nov 2006 11:36:59 GMT) it happened "ma" wrote in :

generate short pulse with XOR ......................................... . ---gate delay-- IO pin FM--| XOR------ pulse----0---- resistor---------- demodulated FM --------------- . | . === . | FPGA . /// .........................................

LOL

Reply to
Jan Panteltje

this needs that FM signal be an analouge signal but in my case it is a digital one ( samples using an ADC). Am I wrong?

Reply to
ma

On a sunny day (Wed, 22 Nov 2006 12:47:26 GMT) it happened "ma" wrote in :

That depends, in *FM* there must be some zero crossings, and depending on how you digitised the signal that would corresond to a specific level. For example 8 bit ADC, and symmetric AC, and zero at 128 decimal, use comparator, pseudo code: if( my_signal > 128 ) then pulse = 1; else pulse = 0;

Feed that 'pulse' to xor gate below. In a micro you can count period time too, or grab and then reset a counter that inclremets on a fst clock, there are many ways.

Reply to
Jan Panteltje

Of course the code should have been:

if( adc > 127) ... else ....

So you can simply grab the 'sign bit', bit 7.

Reply to
Jan Panteltje

A lot noisier too, I think. No?

Reply to
Ray Andraka

On a sunny day (Mon, 27 Nov 2006 12:00:20 -0500) it happened Ray Andraka wrote in :

No, why should it be. You take the sign bit of the ADC, do the xor-delay thingy (basically a oneshot on each zero crossing), and average the output with a lowpass. There are a few issues: 1) You need a stable supply (pulse height). 2) you need a stable pulse length. 3) If no input, then the signal will drop to zero.

This is a very classical method, and was used in the first consumer video recorder (Sony Umatic) for FM demodulation of the video. High bandwidth, good quality too. Unfortunately dropouts in the tape caused a huge white spike in the signal. Because it is such a good demodulation method Philips later used it again in the semie prof BVU? helical scans, but they used a trick, had the FM signal sync an oscillator, so if the input was interrupted (tape dropout) that oscillator would run at its own frequency, and that was 'black level'.

That was some history. I made a 10GHz wireless video link using this modulation in the seventies.

All that said, how would you do it?

Reply to
Jan Panteltje

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.