DSPRelated.com
Forums

fm-demodulation on an FPGA

Started by Unknown July 21, 2004
Hi all,

I have created an FM-receiver which is implemented on an FPGA (Virtex-II)=
=2E
After the FM-demodulator (currently I'm subtracting the phase of the=20
previous sample from the phase of the current sample) I have to put a=20
highpass filter removing the lower 300 Hz of the output signal,=20
otherwise I have a tone on approx. 250 Hz. The funny thing is that the=20
250 Hz tone only shows up when I'm using a real radio signal as input,=20
when I use an FM-modulated signal from a signal generator the receiver=20
works perfectly. The problem is that the tone is so strong that the real =

information is hard to hear.

Does anybody have a clue why I get the low-frequency tone from an=20
FM-modulated radio signal when I don't get it from a signal generator.


/johan
--=20
-----------------------------------------------
Please remove the x's in the email address if
replying to me personally.

Johan Bernsp=E5ng, xjohbex@xfoix.se
Johan Bernsp�ng wrote:

> Hi all, > > I have created an FM-receiver which is implemented on an FPGA (Virtex-II). > After the FM-demodulator (currently I'm subtracting the phase of the > previous sample from the phase of the current sample) I have to put a > highpass filter removing the lower 300 Hz of the output signal, > otherwise I have a tone on approx. 250 Hz. The funny thing is that the > 250 Hz tone only shows up when I'm using a real radio signal as input, > when I use an FM-modulated signal from a signal generator the receiver > works perfectly. The problem is that the tone is so strong that the real > information is hard to hear. > > Does anybody have a clue why I get the low-frequency tone from an > FM-modulated radio signal when I don't get it from a signal generator. > > > /johan
Broadcast? FM Stereo broadcast in the US has a 19kHz pilot tone that the receiver locks to in order to decode the L-R signal. If this is how it's done wherever you are this pilot tone, or harmonics of it, may be beating with your sampling rate and producing your tone. If so then sampling at some exact multiple of the pilot tone may be all that you need to do to fix this. http://cgould.com/radioguide/pdf/june03.pdf -- Tim Wescott Wescott Design Services http://www.wescottdesign.com
Tim Wescott wrote:

> Johan Bernsp�ng wrote: > >> Hi all, >> >> I have created an FM-receiver which is implemented on an FPGA >> (Virtex-II). >> After the FM-demodulator (currently I'm subtracting the phase of the >> previous sample from the phase of the current sample) I have to put a >> highpass filter removing the lower 300 Hz of the output signal, >> otherwise I have a tone on approx. 250 Hz. The funny thing is that the >> 250 Hz tone only shows up when I'm using a real radio signal as input, >> when I use an FM-modulated signal from a signal generator the receiver >> works perfectly. The problem is that the tone is so strong that the >> real information is hard to hear. >> >> Does anybody have a clue why I get the low-frequency tone from an >> FM-modulated radio signal when I don't get it from a signal generator. >> >> >> /johan > > > Broadcast? FM Stereo broadcast in the US has a 19kHz pilot tone that > the receiver locks to in order to decode the L-R signal. If this is how > it's done wherever you are this pilot tone, or harmonics of it, may be > beating with your sampling rate and producing your tone. If so then > sampling at some exact multiple of the pilot tone may be all that you > need to do to fix this. > > http://cgould.com/radioguide/pdf/june03.pdf >
I forgot to mention: In the US FM stations will also do a form of frequency-division multiplexing, where they'll add a modulated signal that falls above the stereo portion, and rent it to some commercial user (often for elevator music). This also involves subcarriers that may be causing your tone... -- Tim Wescott Wescott Design Services http://www.wescottdesign.com
Johan Bernsp�ng wrote:
> Hi all, > > I have created an FM-receiver which is implemented on an FPGA (Virtex-II). > After the FM-demodulator (currently I'm subtracting the phase of the > previous sample from the phase of the current sample) I have to put a > highpass filter removing the lower 300 Hz of the output signal, > otherwise I have a tone on approx. 250 Hz. The funny thing is that the > 250 Hz tone only shows up when I'm using a real radio signal as input, > when I use an FM-modulated signal from a signal generator the receiver > works perfectly. The problem is that the tone is so strong that the real > information is hard to hear. > > Does anybody have a clue why I get the low-frequency tone from an > FM-modulated radio signal when I don't get it from a signal generator.
Is the signal from broadcast, or two-way? The latter uses tones in the 50-300 Hz range for coded squelch (i.e. only unsquelch when tone X is present) for improved frequency-sharing. A high-pass at 300 is not a bad thing in that case. Or, even cooler, identifying the current tone and just notching it out...
Yes, it was the squelch that I saw. Thanks for your comments guys...

I'll put the work on a notch filter on my to-do list to see if it is=20
feasable to implement on an FPGA.

/johan

Eric C. Weaver wrote:

> Johan Bernsp=E5ng wrote: >=20 >> Hi all, >> >> I have created an FM-receiver which is implemented on an FPGA=20 >> (Virtex-II). >> After the FM-demodulator (currently I'm subtracting the phase of the=20 >> previous sample from the phase of the current sample) I have to put a =
>> highpass filter removing the lower 300 Hz of the output signal,=20 >> otherwise I have a tone on approx. 250 Hz. The funny thing is that the=
=20
>> 250 Hz tone only shows up when I'm using a real radio signal as input,=
=20
>> when I use an FM-modulated signal from a signal generator the receiver=
=20
>> works perfectly. The problem is that the tone is so strong that the=20 >> real information is hard to hear. >> >> Does anybody have a clue why I get the low-frequency tone from an=20 >> FM-modulated radio signal when I don't get it from a signal generator.=
>=20 >=20 > Is the signal from broadcast, or two-way? The latter uses tones in the=
=20
> 50-300 Hz range for coded squelch (i.e. only unsquelch when tone X is=20 > present) for improved frequency-sharing. >=20 > A high-pass at 300 is not a bad thing in that case. Or, even cooler,=20 > identifying the current tone and just notching it out...
--=20 ----------------------------------------------- Please remove the x's in the email address if replying to me personally. Johan Bernsp=E5ng, xjohbex@xfoix.se
On Wed, 21 Jul 2004 22:33:33 -0700, "Eric C. Weaver" <weav@sigma.net>
wrote:

>Is the signal from broadcast, or two-way? The latter uses tones in the >50-300 Hz range for coded squelch (i.e. only unsquelch when tone X is >present) for improved frequency-sharing. > >A high-pass at 300 is not a bad thing in that case. Or, even cooler, >identifying the current tone and just notching it out...
Could you explain to me where that tone was coming from. Do you mean someone was talking on a walkie-talkie on the same frequency as the FM station was broadcasting on? Thanks for helping me understand. Regards, Steve Drake
Steve Drake wrote:

> On Wed, 21 Jul 2004 22:33:33 -0700, "Eric C. Weaver" <weav@sigma.net> > wrote: > > >>Is the signal from broadcast, or two-way? The latter uses tones in the >>50-300 Hz range for coded squelch (i.e. only unsquelch when tone X is >>present) for improved frequency-sharing. >> >>A high-pass at 300 is not a bad thing in that case. Or, even cooler, >>identifying the current tone and just notching it out... > > > Could you explain to me where that tone was coming from. Do you mean > someone was talking on a walkie-talkie on the same frequency as the FM > station was broadcasting on? > > Thanks for helping me understand. > > Regards, > > Steve Drake
FM two-way radios often use a subaudable tone (PL or "CTCSS", IIRC) to control squelch. The idea is that you regect any signal that doesn't have your special tone on it. It's used so that groups who want to talk to each other don't have to listen to _other_ groups yakking. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com