←back to thread

259 points zdw | 1 comments | | HN request time: 0.203s | source
Show context
massysett ◴[] No.41833059[source]
What I’ve never understood is how the FM receiver can lock on to the signal if its frequency is always changing. Doesn’t the receiver need to lock on to something? If the answer is “it locks on to the amplitude, which doesn’t change,” well AM is bad because the amplitude is subject to interference, so wouldn’t FM have the same problem?
replies(8): >>41833080 #>>41833184 #>>41833231 #>>41833237 #>>41833327 #>>41833388 #>>41835939 #>>41837501 #
1. kragen ◴[] No.41833327[source]
Disclaimer: I don't really know any of this stuff, and I've never built a radio. I'm just repeating what I've read, or in some cases, simulated in software.

The simplest answer is that you use a narrowband bandpass filter around the transmitting station's center frequency to eliminate the signals from other radio stations, just as you do for AM radio, and then you measure the frequency of the remaining signal instead of its amplitude. This works because the frequency deviations are small compared to the spacing between the frequencies on which different stations are transmitting. Downconverting to an intermediate frequency by mixing with a local oscillator, as CodeBeater correctly said most FM receivers do, doesn't really alter this fundamental principle, although it does alter the details. (Most current AM radios are also superheterodyne designs.)

Most current FM radios use a phase-locked loop, as analog31 correctly said, which is sort of the same but sort of different; it gives better results. A PLL uses a much narrower bandpass filter which is centered on, not the nominal center frequency of the radio station, but the instantaneous, modulated frequency, which makes it much better at rejecting interference than the simpler approach. So the frequency band you're filtering down to gets swept back and forth in real time, thousands of times a second, to follow the FM signal.

There's the question of how your PLL can initially achieve its lock if its passband is so narrow, of course. I don't know how mainstream FM radio does this, but it's not as hard a problem as you might think; because broadcast FM radio's frequency is always oscillating back and forth around its nominal center frequency, you can just wait for the audio signal to cross zero. Alternatively, you can sweep the PLL's local oscillator frequency over the band until you achieve a lock.

I hope this is helpful!