第四章 · 调制解调实验:亲手解开电波里的声音 章节摘要:本章跟着一行代码走:从"对复数样本取模"出发,一路长成完整的 AM 解调流水线,再演化为 FM 的相位差分与数字调制的星座判决。当第一段从原始样本里解出的声音流入扬声器时,"解调"这件事在你手里完成祛魅——它只是十几行可读的数学。 一条主线 主线是一个跨越:从识别到解开。第 3 章结束时的你已能在频谱图上认出 AM 的三根线、FM 的平台与 FSK 的双峰——这是"识别"。本章要亲手写出解调代码,把原始样本变成声音或比特。这一步的意义远不止"能听广播":解调是软件无线电体系里最典型的"硬件功能软件化"——二十世纪需要一整块鉴频电路板的工作,如今是十行 numpy 代码。 三个实验按难度递进:4.
章节摘要:本章跟着一行代码走:从"对复数样本取模"出发,一路长成完整的 AM 解调流水线,再演化为 FM 的相位差分与数字调制的星座判决。当第一段从原始样本里解出的声音流入扬声器时,"解调"这件事在你手里完成祛魅——它只是十几行可读的数学。
主线是一个跨越:从识别到解开。第 3 章结束时的你已能在频谱图上认出 AM 的三根线、FM 的平台与 FSK 的双峰——这是"识别"。本章要亲手写出解调代码,把原始样本变成声音或比特。这一步的意义远不止"能听广播":解调是软件无线电体系里最典型的"硬件功能软件化"——二十世纪需要一整块鉴频电路板的工作,如今是十行 numpy 代码。
三个实验按难度递进:4.1 的 AM 解调最直观(取模即包络),适合建立"解调就是提取调制参数"的手感;4.2 的 FM 解调引入相位导数,是全书使用频率最高的算法,气象卫星 APT、模拟对讲机都靠它;4.3 的数字解调把视角抬到符号层面,为第 8 章的遥测案例铺路。每个实验都遵循同一节奏:目标画像、算法原理、完整代码、结果解读、变式挑战。收不到本地 AM 电台的读者,可先用 4.1 的合成信号法在纯数据上完成练习。
| 节号 | 站点 | 在主线上推进到哪 | 关键产出 |
|---|---|---|---|
| 4.1 | AM 解调实验 | 从最直观的取模入手 | 完整 AM 接收脚本与包络图 |
| 4.2 | FM 解调流程与实现 | 掌握相位差分这一核心算法 | 正交鉴频公式与流程框图 |
| 4.3 | 数字调制与星座图 | 把视角抬到符号与点云 | 星座观测与判决流程 |
本章的拐点在 4.2 的"三行公式时刻":angle(conj(z[k-1]) * z[k])——相邻复数样本共轭相乘取辐角,一步得到瞬时频偏,也就是声音。复杂的从来不是公式,而是公式成立的前提:信号要居中、要限带、采样率要高于两倍频偏。当你为了消除"嗡嗡"声去补滤波阶数、为了消除折叠噪声去提高采样率时,你在学的其实是"前提意识"——本章真正的产出。落点:解调总原则是把调制参数随时间的变化提取出来;选方案前先问信息装在哪个参数里。
现成软件是黑盒:能出声音,但出了问题无从下手,改一个参数都可能找不到入口。手写解调让你掌握"声音是怎么从样本里出来的"每一环——这正是本章的价值:理解了原理,之后无论用哪个软件,你都能看懂它的每一个参数在干什么。
不必。4.1 节用合成信号先走通全流程——合成信号的好处是"标准答案"已知,代码写错立刻暴露。建议所有新算法都在合成数据上验证一遍再上实弹,这能把排错时间缩短一半以上。
核心只有一行:相邻两个复数样本共轭相乘再取辐角,得到的就是瞬时频偏,即声音。复杂的从来不是公式,而是公式成立的前提——信号要居中、要限带、采样率要够。本章花最多篇幅讲的正是这些前提。
不是三个能用的解调器,而是一套"从现象到参数"的直觉:听到破音想到过调制,看到圆环想到频差,遇到折叠噪声想到采样率不足。这种把失真现象反向映射到参数的能力,是任何现成软件都替代不了的基本功。
本章的解调代码是"手写循环"式的:每一步都看得见、改得动,但缺少实时性、调度与工程封装。第 5 章把同样的算法装配成 GNU Radio 流图——手写代码教会你原理,流图给你工程效率,两者缺一不可。