AM调制可能是通信原理里最容易被低估的一个技术。说它过时,可航空语音通话到现在还坚持用 AM,中波广播也还在运行;说它简单,可调制度、边带、包络检波、超外差这一串概念,真要拿到频谱图上逐条对照,很多人又会含糊。这篇文章围绕 AM 调制,从“为什么需要它”讲到“实际怎么收一个中波台”,最后再用 RTL-SDR 和软件无线电把理论知识落到频谱图上。适合刚学通信原理的学生、业余无线电爱好者,以及所有想搞懂“收音机里到底发生了什么”的人。
1. 为什么到了 5G 世代,AM 调制还值得我们认真捋一遍
1.1 天线尺寸这道坎,逼着信息必须“坐”上高频载波
想理解 AM 调制真正解决了什么问题,得先体会一个通信里的现实约束:天线长度。
电磁波要有效辐射出去,天线尺寸必须和波长在同一个数量级,工程上最常见的折中是四分之一波长。波长由频率决定,公式很简单:
λ = c / f
其中 c 是光速,约 3×10⁸ m/s。人声的主要频段在 300Hz 到 3.4kHz 之间,取上限 3.4kHz 来算,波长差不多 88km,四分之一波长也要 22km。这个尺寸放在任何场景下都不现实。
但如果我们把声音这种低频信息,搬到几百 kHz 甚至 MHz 的载波上,情况立刻不一样。以中波广播常用的 1MHz 为例,波长 300m,四分之一波长 75m,用铁塔还能做;再往上到 100MHz,波长 3m,四分之一波长才 0.75m,手持设备的天线毫无压力。
这个“把低频信息送到高频载波上”的过程,就是调制。AM 就是其中一种:让高频载波的幅度随低频信息变化。
你可能会问:既然做天线这么麻烦,直接把语音信号的频率往上平移不行吗?不行。因为“频率平移”这件事本身就是调制,而 AM 恰恰是最直观、最便宜的一种实现方式。把信息放到高频载波上,既解决了天线辐射效率的问题,也让多个电台可以用不同的载波频率同时广播,接收端用滤波器就能挑出想听的台——这就是频分复用的雏形。
1.2 幅度被调制后的时间波形到底长什么样
假设载波是高频正弦波,信息是低频正弦波,AM 信号的完整表达式可以写成:
s(t) = Ac × [1 + m × cos(2π fm t)] × cos(2π fc t)
其中:
- Ac 是载波幅度,决定信号的整体强度;
- fc 是载波频率,决定信号在频谱上的位置;
- fm 是信息信号频率,比如一个人说话的某个频率分量;
- m 是调制度,范围通常在 0 到 1 之间,代表幅度变化的剧烈程度。
把中括号里的 [1 + m·cos(2π fm t)] 看作一个“随时间变化的增益系数”,载波 cos(2π fc t) 被这个慢速变化的系数不断调整幅度。当 m = 0 时,没有信息,输出就是等幅的纯载波;当 m = 1 时,包络最低点会触及零轴,说明幅度变化已经达到满调制状态。
这个波形用示波器看非常直观:高频正弦波被一个低频轮廓包着,那个轮廓就是信息信号的形状,所以叫“包络”。包络检波能工作,本质上就是利用了“载波频率远高于信息频率”这个前提。
2. 频域视角:AM 其实不是把信号“搬”到载波上,而是复制了两个“镜像”
2.1 从数学公式看 AM 的完整频谱结构
把 AM 信号表达式用积化和差公式展开,会得到三个非常清晰的分量:
s(t) = Ac·cos(2π fc t) + (m·Ac/2)·cos[2π(fc + fm)t] + (m·Ac/2)·cos[2π(fc − fm)t]
三部分分别是:
- 载波分量,频率 fc,幅度 Ac,它本身不携带信息;
- 上边带,频率 fc + fm,幅度 m·Ac/2;
- 下边带,频率 fc − fm,幅度 m·Ac/2。
这里有个初学者最容易误解的点:很多教科书说“AM 把信号频谱搬到载波频率附近”,实际更准确的说法是:AM 把低频信息在频谱上复制出了两个镜像,一个比载波高,一个比载波低,二者携带的信息完全一样。如果信息信号本身占 0 到 4.5kHz 的带宽,那 AM 信号的总带宽就是 9kHz,等于最高信息频率的两倍。
中波广播信道间隔定为 9kHz(我国)或 10kHz(美洲),就是依据这个来的:信道带宽约等于双边带宽度,保证不同电台之间不重叠。
2.2 功率都耗哪去了:载波占大头,信息只占三分之一
从频谱结构立刻能看出 AM 的“天生缺陷”:载波分量占了发射功率的大头,但载波本身不携带任何信息,真正有用的信息全在两个边带里。
功率分配可以算得很清楚。载波功率 Pc 与边带总功率 Ps 的关系是:
Ps / Pc = m² / 2
当 m = 1 时,两个边带的总功率也只有载波功率的一半。整个信号的功率利用率这样算:
效率 = 边带总功率 / 信号总功率 = m² / (m² + 2)
m = 1 时效率约为 33.3%,m = 0.3 时效率只有约 4.3%。绝大多数广播节目不会长期保持满调制度,实际平均效率经常不到 10%。
这就是为什么后来出现了 DSB-SC(抑制载波的双边带)和 SSB(单边带)调制:省掉载波,甚至省掉一个边带,把发射功率几乎全部用来传递有用信息。SSB 在短波通信里广泛使用,也正是 AM 功率效率低这个现实逼出来的。
2.3 带宽和邻台干扰的权衡
AM 广播 9kHz 信道间隔决定了音频上限大约 4.5kHz。这也是为什么中波广播听起来“闷”,音乐细节明显不如 FM 广播——不是广播台不肯放好音源,而是双边带 AM 的物理带宽就这么宽,再高的音频频率传出去也会落在别人的信道里。
实际操作中,如果发射台音频处理不当出现过调制,边带会向外扩展,直接干扰相邻信道,这是中波台常见的“串台”原因之一。后面讲调制度的时候还会碰到这个问题。
3. 调制度这个参数,调错了电台直接没法听
3.1 调制度怎么定义、怎么测
调制度 m 的严格定义是:包络幅度变化量 ΔA 除以载波幅度 Ac。
m = ΔA / Ac
在示波器上,可以直接从 AM 波形读出最大值 Vmax 和最小值 Vmin,然后用这个公式算:
m = (Vmax − Vmin) / (Vmax + Vmin)
比如一个波形包络最高点到 180mV,最低点到 20mV,那 m = (180 − 20) / (180 + 20) = 0.8。
在频谱仪上看更直观:载波谱线的幅度 A 和边带谱线幅度 B 之间满足 B = m·A/2,所以 m = 2B/A。你只要在频谱上读出载波和边带的差值,乘以 2 再换算成线性比例,就能算出调制度。用 SDR 软件看中波台频谱时,两边可见的“小耳朵”就是边带,它们比载波低多少 dB,直接反映当前的调制度。
3.2 过调制:包络“反着走”,检波直接失真
当 m 超过 1,也就是 1 + m·cos(2πfm t) 在某些时刻变成负数,会发生什么?
数学上,载波相位会在包络过零的时刻发生 180° 翻转。用包络检波器解调时,二极管整流后得到的波形不再是原始信息的正确轮廓,而是出现严重的非线性失真。听众的耳朵会听到明显的破裂声、断续感,甚至完全听不懂内容。
过调制更麻烦的问题是频谱展宽。因为包络过零引入的非线性会生成大量高次谐波分量,信号实际占用带宽远超 9kHz,直接挤占邻台。所以正规发射台都会在音频处理链路里加限幅器,把峰值压住,保证 m 不超过 1 左右,宁可让调制度低一点,也要保证不干扰别人。
3.3 实际声音节目怎么取值
日常中波广播并不会长期顶着满调制度。人声的动态范围相对稳定,语言节目调制度可以取到 50% 到 80%;音乐节目峰值起伏大,一不小心就会过调,通常调制度会压得更保守一些,保证峰值不过冲。平均调制度低,功率利用率更差,但换来了听感和宽容度。
这里可以给出一个工程上的粗略经验:
- 语言广播:m 尽量保持在 30% 到 60% 之间,偶尔峰值冲到 80% 可以接受;
- 音乐广播:m 控制在 30% 到 50%,峰值不得超过 95%,否则发射机末级过激会导致邻频干扰;
- 接收端判断调制度是否合适,可以看 SDR 频谱里边带与载波的高度差,经验值大约在 −10dB 到 −6dB 之间,太低了说明调制不足,声音发轻,太高了要警惕过调。
4. 解调不是把调制反过来做一遍这么简单
4.1 包络检波器为什么能工作
AM 最吸引人的地方在于解调极其简单:一个二极管、一个电阻、一个电容,就能组成包络检波器。
原理是:AM 信号的包络本身就是信息信号,二极管把交流信号整流成单向脉冲,RC 低通滤波器把高频载波滤掉,剩下的就是缓慢变化的包络,也就是原始信息。这个电路不需要额外产生本地载波,不需要频率同步,成本几乎为零,这也是早期广播接收机能做得那么便宜的根本原因。
但“便宜”不等于“随便”。包络检波能正确工作有三个前提:输入信号不能太弱,否则二极管根本不导通;载波频率要远高于信息最高频率;调制度不能超过 1。前两个条件靠接收机设计保证,第三个条件靠发射端限幅保证。
4.2 RC 时间常数怎么选:夹在载波和信息之间走钢丝
RC 低通滤波器的截止频率要同时压得住载波、跟得上包络,这其实是个取舍。
如果 RC 太小,对载波的滤除不干净,输出里会残留明显的载波纹波,听感粗粝;如果 RC 太大,在包络快速下降的时候电容放电跟不上,输出会沿一个指数曲线慢慢降,出现所谓“对角线削波”,声音发糊,节奏快的内容会明显失真。
工程经验是把 RC 时间常数取在载波周期和信息周期之间,量级上有这条经验链:
1 / fc << RC << 1 / fm_max
以中波广播为例,载波频率约 1MHz,信息最高频率约 4.5kHz。载波周期 1μs,信息最短周期约 220μs。RC 取 20 到 100μs 都很合理。比如 R = 10kΩ,C = 4.7nF,算出来 RC = 47μs,就在这个区间内。
4.3 同步检波:为什么必须同频同相
包络检波依赖载波,但如果信号是抑制载波的双边带 DSB-SC,包络不再等于原信息,这时候就得用同步检波。
原理是把接收信号与一个本地产生的同频同相载波相乘。用三角函数展开可以看到,乘法会产生一个低频分量和一个高频分量,低通滤波器把高频分量滤掉后,就还原出了原始信息。
本地载波必须与发射端载波频率、相位都严格一致。频率偏差 Δf 会导致输出信号叠加上一个 cos(2π Δf t) 的慢变化,表现为声音忽大忽小的“呼吸效果”;相位偏差会让输出幅度按 cosφ 衰减,相偏接近 90° 时输出接近零。这就是“相干解调”里“相干”二字的含义。
普通 AM 接收机之所以能用极其廉价的包络检波,正是因为发射端保留了完整的载波分量,接收端完全不需要构造本地参考载波。载波功率看似浪费,实际上换取了解调端的极低复杂度。这是 AM 在技术演进中存活至今的重要理由。
5. 超外差接收机里 AM 链路到底经历了什么
5.1 为什么收音机都要先“降频”再解调
直接调谐式接收机理论上也能收 AM:天线进来一个信号,调谐回路选出想要的电台,放大,检波,输出。问题是射频信号频率高、频段宽,要在 520kHz 到 1710kHz 这么宽的范围内做到高选择性和高增益,非常困难。
超外差架构的出现解决了这个问题。核心思路是:不管电台在哪个频率,先通过混频器把射频信号和一个本地振荡器信号相乘,统一变到一个固定的中频,比如 AM 广播常用的 455kHz。然后在固定频率上做放大和滤波,再用包络检波器解调。
混频的数学本质也是乘法。射频信号 fc 和本振信号 flo 相乘,会产生和频 fc + flo 与差频 |fc − flo|,中频滤波器只挑其中某一个分量。调台时改变本振频率,让不同电台的射频信号都落在同一个中频上,后端电路永远工作在固定频率,这就解决了“在不同频率上都要获得稳定高性能”的麻烦。
5.2 镜像频率:超外差接收机的经典伴生问题
本振和射频混频会同时产生两个射频输入频率都能落入中频:一个是想要的电台频率 fc,另一个是 fc + 2·fif,也就是镜像频率。
假设中频是 455kHz,想收 756kHz 的台,本振频率取 756 + 455 = 1211kHz。此时如果天线附近还有一个 1211 + 455 = 1666kHz 的强信号,它和本振混频同样会产生 455kHz 的中频,直接干扰到你正在听的台。中波波段里这种镜像干扰很常见,因此接收机前端在混频之前就要用预选器或低通滤波器把这个镜像频率衰减掉。
镜像问题对 AM 中波接收影响不算致命,但在短波和航空频段会明显得多。选 SDR、选收音机时,看中频大小和前端滤波设计,就是在看这个指标。
5.3 AGC 为何是 AM 接收的隐形功臣
包络检波器有一个工作死穴:输入信号幅度太小,二极管接近截止,输出会有明显的“门限效应”;输入信号幅度太大,又会进入非线性区,包络被削平。而中波信号的场强变化极大,白天晚上差几倍很正常,如果无处理,收远处台和近处台的手感完全不一样。
AGC(自动增益控制)电路持续检测中频信号的平均幅度,并反向控制中频放大器的增益。信号弱时自动调高增益,信号强时自动压低增益,保证送到检波器的信号幅度基本稳定。这也是中波收音机里“信号过强反而堵塞”的原因——AGC 反应不过来或者环路带宽设计不当,就会出现强台背景噪声下降、弱台被压掉的现象。
用 SDR 接收中波时,如果打开了自动增益,频谱上强台附近可能会有一片噪声被压低。这时手动把增益调低再配合 AGC 开关切换,往往能看到更真实的频谱形态。
6. 用 RTL-SDR 和 SDR 软件实际抓一次中波 AM
6.1 硬件准备和天线选择
RTL-SDR 是目前最容易上手的 SDR 硬件,二三十块钱的电视棒级别设备就能覆盖中波、短波、FM、航空频段。但要注意,不是所有 RTL-SDR 的中波性能都一样好,早期 R820T 芯片配合直接采样模式接收中波效果一般,建议用 RTL-SDR V3 或 V4,打开 HF Direct Sampling 模式后直接采样 520kHz 到 1710kHz 的中波信号。
天线方面,中波一定不要指望自带的小鞭状天线。中波波长几百米,天线必须足够长才能在低频段获得合理效率。最简单的做法是在阳台拉一根十几米的软铜线,注意绝缘和防风;效果更好的是有源环天线,体积小、抗本地电场干扰还更强。我第一次用 RTL-SDR 收中波就是栽在天线上,换了长线以后同一时间能收到的台数量翻了几倍。
6.2 用 SDR# 快速收听的设置
SDR# 是最常见的 Windows 端 SDR 软件,操作路径很经典:
- 左上角 Source 选 RTL-SDR/USB,点击 Configure,Sample Rate 设为 2.4M,Frequency 设为当地一个强中波台的频率,比如 756kHz;
- 点击 Play 后,频谱中央会看到一条很高的载波谱线,两侧各有边带;
- 右上角 Radio 面板把 Mode 切到 AM;
- Radio 面板里把 Bandwidth 设为 9kHz 左右,正好覆盖双边带;
- 适当调大音量,用耳机听。
如果听到强烈的交流声或“嗡嗡”底噪,多半是电脑电源或劣质 USB HUB 的干扰,换一个 USB 口或加一个磁环通常能改善。中波频段的电磁环境比高楼层的 FM 频段复杂,不要把期望值定得太高,但听清本地强台没有问题。
6.3 在 GNU Radio 里搭一个“看得懂链路”的 AM 接收流程
SDR# 适合快速体验,但如果你想看清 AM 信号的每一处理步骤,GNU Radio 是更好的教学工具。用 GNU Radio Companion 搭一个最简接收链路,比直接调用 AM Demod 块更直观:
- Osmocom Source:Device 选你的 RTL-SDR,Ch0 Frequency 设到想听的电台频率,Sample Rate 设 2.4M,Ch0 RF Gain 适当调低;
- Low Pass Filter:Cutoff Freq 设为 9kHz 或 10kHz,Transition Width 设 1kHz,把中心频率周围需要的 9kHz AM 信号取出来,滤掉其他电台;
- Complex to Mag:对复信号取模,得到幅度包络;
- DC Blocker:去掉取模后残留的大直流分量,这个直流分量对应载波功率,不滤掉会让音频叠加一个持续的偏移;
- Rational Resampler:把采样率从 2.4M 降到 48kHz,方便送声卡;
- Audio Sink:音频输出。
这个过程实际上就是手写了一个 AM 包络检波器:取模是整流,滤波是低通,DC Blocker 是隔直。跑通了以后再看教科书上的检波电路,会有一层“原来如此”的通透感。
6.4 实测里最容易翻车的几个坑
在我反复抓中波信号的过程中,下面这几个坑踩得最频繁:
- 自带天线收不到台。中波必须外接长线或有源环,否则频谱上只有一条纯噪声地板。判断方法:把 SDR 频率调到当地强台,看频谱中央是否出现明显的窄峰。
- 中心频率正好压在 0Hz 直流处。RTL-SDR 的接收链路在 0Hz 附近有巨大的直流偏置,如果电视台的载波恰好落在屏幕正中央,会看到一个异常的大尖峰,掩盖真实信号。解决办法是让目标电台稍微偏离屏幕中央,比如把中心频率设到电台频率附近但偏开 5kHz,再用后续滤波把想要的边带拉回 0Hz。
- 带宽设太宽。有些新手把 AM 带宽拉到 200kHz,结果把邻台和整个通带的噪声全放进来了,听起来一片嘈杂。中波 AM 双边带就 9kHz 左右,带宽高于 12kHz 基本只会带来噪声。
- 用 FM 模式听 AM 信号。AM 的幅度信息在 FM 解调里会被当作无用变化丢掉,听感变成“吱哇乱叫”的怪声。调成 FM 模式看 AM 频谱是为了看形态,真正收听务必切回 AM 模式。
- 忘记关 AGC。SDR 的自动增益会让频谱基线不停起伏,影响对边带高度的判断,调试制度时建议把 Tuner AGC 关掉,手动调增益到一个合适水平。
这几个坑里,我印象最深的是直流偏置那次:挂了长线,看着频谱中央一根“气象台”一样的大尖峰,激动了半天,查了接收机增益设置才意识到那只是 RTL-SDR 的 DC spike,真正的电台在屏幕偏左十来个 kHz 地方安安静静待着。从那以后,我每次抓中波都会刻意让目标频率远离 0Hz 振荡。
如果你第一次抓中波信号,建议从本地最强的那一家广播台开始。调制度可以慢慢观察:音乐节目时边带谱线会随节奏起伏,语言节目边带则相对平稳。等你在频谱图上能一眼认出载波和双边带,再回看前面那一堆公式,AM 调制的全貌自然就通了。