Most active commenters
  • lrasinen(3)

←back to thread

259 points zdw | 18 comments | | HN request time: 0.829s | source | bottom
1. 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 #
2. analog31 ◴[] No.41833080[source]
One possibility is a phase-locked loop. I don't know if there's anything better. It matches the frequency of a voltage controlled oscillator to the frequency of the incoming signal by detecting the phase mismatch. Then, the control voltage for the VCO becomes the audio signal.
replies(1): >>41834559 #
3. ◴[] No.41833184[source]
4. jedimastert ◴[] No.41833231[source]
I'm actually studying for my general ham radio license right now! Most FM receivers use something called a "mixer" to modulate the frequency to a known constant, then they use a circuit called a "discriminator" or "quadrature", both of which are "detectors".

Typically they're not measuring the frequency or phase itself, but rather the change in frequency or phase.

Edit: I should note that's only for analog circuits. DSP is also common.

5. CodeBeater ◴[] No.41833237[source]
Most FM receivers nowadays rely on creating a signal of a specific frequency that interferes with the desired on-dial frequency, this is called an intermediate frequency. Then the actual audio signal is analogous to the changes on that IF.

This technique is known as superheterodyne, and Technology Connections has a wonderful video explaining it better than I can.

6. 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!

7. jasonjayr ◴[] No.41833388[source]
Having recently purchased a RTL-SDR and watched and learned about FM -- there is "pilot" frequency that doesn't change and is fixed relative to the tuner frequency. See this chart here:

https://en.wikipedia.org/wiki/FM_broadcasting#/media/File:RD...

Each radio station has 100khz of bandwidth centered on it's tuner frequency. in the, there are channel spacing rules that give some gaps +/- another 100khz of that. (That's why in the US, radio stations are typically on 'odd' decimals, ie 92.3 mhz, 94.1 mhz, etc) That chart does not show HD radio frequencies, which due to those spacing rules, and more accurate transmitters, are on the +/- 100khz spaces along side the original analog 100khz. You can "see" the audio modulating the frequency on the spectrogram. But the OFDM digital signal on either side looks like a band of more intense noise. It's mind blowing to realize there's a signal in that!

replies(1): >>41834675 #
8. rnhmjoj ◴[] No.41834559[source]
I don't think radios use a PLL to demodulate the FM audio: the signal has a huge "pilot" tone at 19kHz that you can match to get the first part of the spectrum, mono audio (L+R channels), and at double that frequency you know you'll find the stereo part (L-R channels). Precise phase estimation is only necessary to decode the RDS digital data (station name, datetime, etc.).
replies(3): >>41834779 #>>41836740 #>>41837522 #
9. lrasinen ◴[] No.41834675[source]
The pilot is there for stereo decoding, it has nothing to do with the ability to tune to an FM station.

https://wiki.analog.com/university/courses/electronics/elect... has some of the analog approaches collected.

replies(1): >>41836017 #
10. lrasinen ◴[] No.41834779{3}[source]
They do.

First of all, the pilot is only required for decoding stereo and RDS. Mono FM does not use a pilot, so obviously there had to be a way to detect FM before stereo came along. I linked to a few of the approaches in a sibling (cousin?) comment.

Second, the pilot is embedded in the decoded FM audio. You need to demodulate FM to get to it in the first place. If you look at the waterfall display in an SDR receiver, it might seem like the signal is already present in the original radio frequencies (especially during silent periods), but it's there only indirectly.

If you have silence in an FM transmission (say 96.6 MHz), the only audio component present is the 19 kHz pilot signal, which causes the FM radio signal frequency to vary between 96.6 MHz ± k*19 kHz (not sure what's the value for k, but it's not 1). The sine likes to spend most of the time near the extreme values of its range; plot a histogram of a sine wave and you'll see peaks on either end.

The waterfall is basically a histogram over frequencies so it gets those peaks as streaks on both sides of the main carrier frequency (plus smaller ones for other components in the signal).

replies(1): >>41841141 #
11. rileymat2 ◴[] No.41835939[source]
It locks into the range where the number on your dial is the center of the range, then listens over the whole range.

The range does not change.

12. jasonjayr ◴[] No.41836017{3}[source]
You're right -- after reading some of the peer responses, I realized that (I think...) my response is just how the Broadcast FM signal modulates the parts of the signal, and not how it actually 'locks on'. I'm still learning!
replies(1): >>41836161 #
13. lrasinen ◴[] No.41836161{4}[source]
I got an RTL-SDR this summer and brushed up my DSP skills playing with FM signals. PLLs are marvellous beasts; you can do a slapdash job in "designing" one and it'll still probably lock on just fine. Might not be optimal but will still lock.

Another fun one, when you have IQ samples, is the polar discriminator: calculate x[t] * x*[t-1] where x* is the complex conjugate, and take the angle with arctan. Feels a bit like magic ("is that all?") but is justified by the theory.

14. kmbfjr ◴[] No.41836740{3}[source]
It is not “huge”, it is no more than 10 percent and no less than 8 percent of the total modulation.
15. Johnythree ◴[] No.41837501[source]
Most FM receivers can lock on the carrier because they have a "Phase locked loop" to cancel any tuning errors.

Many good AM receivers do exactly the same thing, especially those receivers which have "Synchronous Detectors" for AM.

It's just that the circuitry involved is simple for FM, but rather more complex for AM.

16. Johnythree ◴[] No.41837522{3}[source]
Most cheap FM receivers definitely use a PLL to detect FM. Giving automatic tuning is just a side benifit.
replies(1): >>41841169 #
17. jhallenworld ◴[] No.41841141{4}[source]
The 19 KHz pilot tone is interesting: it's not filtered out and is often reproduced by the speakers if you have good ones. You can verify this by using an audio spectrum analyzer application on your phone.

I've wondered if FM stereo drives pets nuts with its constant high-pitched tone.

18. jhallenworld ◴[] No.41841169{4}[source]
Do you mean AFT (automatic fine tuning)? This has nothing to do with a PLL-based demodulator. Older receivers with ratio detectors or discriminators also had AFT- there is a low frequency feedback path from the demodulator to the local oscillator to make this work.