到第10篇为止,我们完成了定向扬声器的硬件部分。现在舞台转向数字领域。在实际产品中,声音要经历模拟 → ADC(转换为数字)→ 数字处理 → DAC(再变回模拟)→ 滤波器这一旅程。站在这段旅程起点上的那条规则,就是今天的主题——奈奎斯特-香农采样定理。
在普通音频设备中,这条定理通常被一句话概括完毕:"44.1kHz 就够了。"然而我们要处理的信号是 40kHz 的超声载波。当你必须用数字方式生成一个超过听觉上限两倍的频率时,这条定理就不再是一句概括,而成为决定设计规格的计算式。采样率该定多少、它前面的滤波器需要几阶、需要多少比特、会产生多大延迟——全都从这一行分岔出来。
把声音变成数字的两个轴——采样率与位深
把连续的模拟波形搬进数字领域时,要沿两个方向细切。
- 采样率(Sampling Rate)——时间轴。决定每秒记录多少次波形的数值。CD 音频是每秒 44,100 次(44.1kHz)。
- 位深(Bit Depth)——幅度轴。决定每个记录下来的数值放在多细的刻度上。16 比特就是 65,536 个台阶。
两个轴的性质截然不同。位深是"有多精确"的问题,不足时只是噪声变大,而噪声是叠加在原信号之上的成分,因此后续还有一定的管理余地。但采样率不足时,声音本身会变成另一种声音。变身后的信号落在与原信号相同的频带内,一旦这样记录下来,任何后处理都无法把它们分开。可挽回的失误与不可挽回的失误之别——这就是先讲时间轴规则的原因。
采样太稀就会出现幽灵——混叠
如果采样点取得过于稀疏,把这些点连起来复原出的波形就会变成与原波形毫无关系的虚假低频。这个幽灵信号就是混叠(Aliasing)。日常生活中也能见到——视频里飞机螺旋桨看起来在缓慢倒转的错觉,正是完全相同的现象。相机的帧率(时间采样)跟不上螺旋桨的转速。
幽灵会落在哪里是可以精确计算的。以采样率 f_s 采集输入频率 f 时,折叠后的频率等于 f 到最接近的 f_s 整数倍之间的距离。
f_alias = | f − round(f ÷ f_s) × f_s |
把定向扬声器中实际会遇到的频率代入这个式子,采样率选错有多危险便一目了然。下表中的数值全部由上式直接计算得出,加粗的格子表示幽灵落在可听频带(20Hz~20kHz)内、会被真正听见的情形。
| 输入频率 | 48kHz 采样 | 96kHz 采样 | 192kHz 采样 | 384kHz 采样 |
|---|---|---|---|---|
| 20kHz(听觉上限) | 20kHz 正常 | 20kHz 正常 | 20kHz 正常 | 20kHz 正常 |
| 40kHz(载波) | 8kHz 幽灵 | 40kHz 正常 | 40kHz 正常 | 40kHz 正常 |
| 60kHz(上边带末端) | 12kHz 幽灵 | 36kHz 幽灵 | 60kHz 正常 | 60kHz 正常 |
| 80kHz(载波二次谐波) | 16kHz 幽灵 | 16kHz 幽灵 | 80kHz 正常 | 80kHz 正常 |
| 100kHz(驱动级开关残留) | 4kHz 幽灵 | 4kHz 幽灵 | 92kHz 幽灵 | 100kHz 正常 |
| 120kHz(驱动级开关残留) | 24kHz 幽灵 | 24kHz 幽灵 | 72kHz 幽灵 | 120kHz 正常 |
第二行是这张表里最可怕的格子。用常见音频接口的 48kHz 去采 40kHz 载波,载波消失了,留下的是清晰可闻的 8kHz 啸声。本不该被听见的信号,反而搬到了听觉最敏感频段的正中央。从第三行开始更加隐蔽——96kHz 虽然能正确记录 40kHz 载波本身,但载波旁边的边带(60kHz)与谐波(80kHz)会折叠进信号频带。也就是说,不能只看载波来定采样率。
奈奎斯特-香农定理——两倍法则
那么究竟要采得多密才安全?定理的答案十分明确——以高于信号最高频率(f_max)两倍的速度采样(f_s > 2·f_max)。在频域中可以看清理由。采样会以 f_s 为间隔复制原始频谱的副本;若 f_s 遵守两倍法则,副本之间会留下间隙(Gap),原始频谱便可被干净地切出来;若违反法则,副本就会相互重叠(Aliasing Overlap),原始信号再也无法还原。CD 采用 44.1kHz 的理由也在这里——可听上限 20kHz 的两倍(40kHz),再加上给滤波器的余量。
这条法则上挂着两个人的名字。1928 年一篇整理电报传输理论的论文提出了一个极限:带宽为 B 的传输线路每秒最多承载 2B 个独立脉冲。那讨论的是通信线路的容量,并不是把声音变成数字的话题。把这一结果正式化为从样本完全复原原信号形式的,是 1949 年的论文;我们今天使用的形式——用 sinc 函数对样本进行插值即可精确复原原来的带限信号——就出自那里。以通信语言诞生的定理,用了二十余年才成为音频、影像与计测的共同基础。
实务上必须记住两点附加条件。第一,定理要求的是信号处于完全带限状态。实际信号中总是混有带外成分与噪声,因此采样之前必须有滤波器。第二,那个不等号不包含等号。若把 f_s 恰好取为 2·f_max,正好落在奈奎斯特频率上的成分可能因相位关系被采样成幅度为零。把 40kHz 恰好用 80kHz 采样,每周期只有 2 个点,而若这 2 个点每次都落在波形的过零点上,记录到的值将全是 0。规则是"超过两倍"而非"两倍以上",实务中会把超出部分留得宽裕。
时间与空间是同一套数学——与第8篇的衔接
您应该还记得第8篇中阵元间距必须满足 d ≤ λ/2。当时只写了一句"与数字采样的奈奎斯特定理是同一原理"便带过,现在可以精确验证这句话了。两条规则不是比喻,而是同一个式子换了变量名。
阵列是在阵元位置上对连续波前进行空间采样。若时间采样率是每秒的样本数,那么空间采样率就是每米的样本数——即 1/d。而与信号最高时间频率 f_max 相对应的,是最高空间频率 1/λ。把它直接代入两倍法则,便得到
1/d > 2 × (1/λ) ⟹ d < λ/2
第8篇的第一法则就这样从奈奎斯特定理中一行导出。整理对应关系如下——采样间隔 Δt ↔ 阵元间距 d,采样率 f_s ↔ 1/d,奈奎斯特频率 f_s/2 ↔ 1/(2d),混叠 ↔ 栅瓣,抗混叠滤波器 ↔ 阵元指向性。最后一组对应尤其有趣。在时间轴上预先切掉带外成分的是模拟滤波器;在空间轴上,每一个阵元自身的指向图会预先削弱来自大角度的成分,从而抑制栅瓣。第8篇把阵元直径限制在 λ/2 以下,实际上正是空间域的抗混叠设计。
抗混叠滤波器——真正的代价是过渡带
如前所述,采样器前面必定要接一个切除奈奎斯特频率以上成分的抗混叠滤波器。问题在于无法造出理想的"墙"。实际滤波器要在通带边缘(f_p)到阻带起点(f_stop)之间留出过渡带缓慢下降。而阻带必须开始的位置是确定的——为了阻止折叠进通带,f_stop = f_s − f_p。
所需衰减量也是确定的。折叠成分必须小于量化噪声才有意义,因此对 16 比特系统而言,后文将要计算的约 98dB 就是基准。模拟滤波器每个极点提供每倍频程 6dB 的衰减,所以所需极点数就是 98dB 除以过渡带的倍频程数。以下是计算结果。
| 条件 | 通带边缘 | 阻带起点 | 过渡带宽(倍频程) | 达到 98dB 所需极点数 |
|---|---|---|---|---|
| CD 音频(44.1kHz) | 20kHz | 24.1kHz | 0.27 | 约 60 极(实际不可行) |
| 48kHz 音频 | 20kHz | 28kHz | 0.49 | 约 34 极 |
| 192kHz · 仅音频带 | 20kHz | 172kHz | 3.10 | 约 5.2 极 |
| 192kHz · 载波带 | 60kHz | 132kHz | 1.14 | 约 14.3 极 |
| 384kHz · 载波带 | 60kHz | 324kHz | 2.43 | 约 6.7 极 |
第一行就是 1970~80 年代早期数字音频撞上的那堵墙。要在 20kHz 之前保持平坦、到 24.1kHz 时下降 98dB,需要 60 极以上的模拟滤波器;这样的滤波器造不出来,即便造出来,通带内的相位也会严重扭曲。在采样率上省下的,会原封不动地记到模拟滤波器的账上——这就是该表的结论。反过来,提高采样率会拓宽过渡带,滤波器随之急剧变得容易。在 192kHz 下只处理音频带时,一个常见的 5 极滤波器就足够了。
过采样——把滤波器从模拟搬进软件
把这一观察变成设计策略的,就是过采样(Oversampling)。想法很简单:以远高于需要的速率采样,从而免去模拟滤波器的负担;真正陡峭的截止留到后面用数字滤波器完成;然后再把采样率降到实际需要的值(抽取)。这是把模拟域难以实现的特性交易到数字域,而数字滤波器只要改系数即可,既没有元件公差,也没有温度漂移。
还有附带的好处。量化噪声的总量与采样率无关、保持恒定,而过采样会把这份总量摊到更宽的频率范围上。留在关心频带内的噪声因此减少,增益为 10·log₁₀(OSR) dB——每 4 倍过采样得到 6dB,也就是 1 比特。相当于用 4 倍采样率买来 1 比特;若再配上把噪声主动推到带外的噪声整形(noise shaping),这个交换比会有利得多。Σ-Δ 变换器能用接近 1 比特的粗糙量化器做出 24 比特级性能,靠的正是这个原理。
- 2 倍过采样——增益 3.0dB,0.5 比特
- 4 倍——6.0dB,1 比特
- 8 倍——9.0dB,1.5 比特
- 16 倍——12.0dB,2 比特
在定向扬声器中,这一策略在输出侧尤为重要。DAC 之后的重建滤波器面临与抗混叠滤波器相同的问题,而阶梯状输出(零阶保持)本身的衰减还要叠加上去。零阶保持会以相对 f_s 的 sinc 形状削减高频;计算 192kHz 下 40kHz 载波所受的衰减,结果是 0.63dB。同样的计算用于 48kHz 下的 20kHz,则是 2.64dB——超过四倍。仅仅提高采样率,载波幅度损失就会自动减小,而剩下的 0.63dB 可以在数字滤波器中预先补偿。
幅度轴上的精度——6.02N + 1.76
现在轮到第二个轴。量化是把连续值四舍五入到最近刻度的操作,其中被舍弃的误差就是量化噪声。把这个误差视为在一个刻度宽度内均匀分布的噪声的分析,在 1948 年得到整理;在此基础上,对满量程正弦波的信噪比可用一行式子给出。
SNR = 6.02 × N + 1.76 [dB](N = 比特数)
系数 6.02 意味着每增加一个比特就把幅度刻度分成两半(20·log₁₀2 = 6.02dB),1.76 则是正弦波有效值与均匀分布噪声有效值之比所产生的常数。一个比特恰好等于 6dB——这个换算率就是音频设计的基本单位。
| 比特数 | 量化台阶 | 理论 SNR | 2V 满量程下一个台阶 | 用途 |
|---|---|---|---|---|
| 8 比特 | 256 | 49.9dB | 7.81mV | 噪声明显可闻 |
| 12 比特 | 4,096 | 74.0dB | 488µV | 控制与计测 |
| 16 比特 | 65,536 | 98.1dB | 30.5µV | 发行格式的基准 |
| 20 比特 | 1,048,576 | 122.2dB | 1.91µV | 高级变换器 |
| 24 比特 | 16,777,216 | 146.2dB | 0.12µV | 内部处理留裕量 |
最后一行是常被误解的地方。24 比特的 146dB 并不是实际能得到的数值——仅室温下电阻产生的热噪声,就足以把其下的位数淹没。使用 24 比特不是为了听到 146dB,而是为了确保处理过程中可供消耗的裕量。把增益调低再调高、经过多级滤波器、反复进行调制运算,低位比特会持续被消耗。内部处理用宽裕的比特数、只在输出时降到 16 比特,是标准的构成方式。
定向扬声器还要再加上一条。采样时刻若发生抖动(孔径抖动),其本身就会成为噪声,其极限由 −20·log₁₀(2π·f·t_j) 计算。由于信号频率 f 位于括号之内,频率越高,同样的抖动造成的损伤越大。在 1 纳秒抖动下,20kHz 尚能维持 78dB,40kHz 则降到 72dB;若要在 40kHz 上保住 16 比特(98dB),抖动必须控制在 100 皮秒以下(计算值 92dB)。这正是处理超声载波的系统对时钟电路格外讲究的原因。
定向扬声器的采样——如何处理 40kHz
定向扬声器的特殊性在这里显现。普通音频设备只要处理到 20kHz 即可,而我们必须用数字方式生成 40kHz 超声载波。按奈奎斯特规则最低要 80kHz——实务中会留出余量,采用 192kHz 采样。这样 40kHz 载波每个周期可获得 4.8 个样本,经过 DAC 插值便能复原为平滑的波形。普通声卡(44.1/48kHz)连载波都造不出来——这就是定向扬声器的信号处理硬件不同于音频设备的原因。
不过,"80kHz 就够"只是单看载波时的说法。实际需要输出的是已调信号,把最高 20kHz 的音频调幅到 40kHz 载波上,频谱会从 20kHz(下边带末端)一直铺展到 60kHz(上边带末端)。若再施加第12、13篇将要介绍的开方预处理,带宽还会更宽。最高频率若为 60kHz,奈奎斯特最小值就是 120kHz,而要连过渡带一并确保,则必须高于此值。把候选方案摆出来比较如下。
| 采样率 | 奈奎斯特频率 | 40kHz 每周期样本数 | 能否覆盖到 60kHz | 判定 |
|---|---|---|---|---|
| 48kHz | 24kHz | 1.2 个 | 不能 | 载波折叠为 8kHz |
| 96kHz | 48kHz | 2.4 个 | 不能 | 载波可以,但边带折叠 |
| 192kHz | 96kHz | 4.8 个 | 能(余量 36kHz) | 标准选择 |
| 384kHz | 192kHz | 9.6 个 | 能(余量 132kHz) | 可管到谐波,运算量翻倍 |
为什么 192kHz 是答案,从表中就能读出。用奈奎斯特频率 96kHz 减去信号上限 60kHz,剩下 36kHz 的余量,这个宽度正是抗混叠与重建滤波器下降所需的跑道。如前面滤波器表所算,这一条件对应约 14 极——大部分工作可交给数字滤波器,模拟侧只需一个平缓的低通收尾。反之若选 384kHz,连载波的二次谐波(80kHz)也能无失真地管理,但在同样滤波器长度下,运算量与功耗都会翻倍。选择采样率就是在滤波器难度与运算成本之间做交易,而对 40kHz 载波来说,这个平衡点在 192kHz 附近。
块长决定延迟——实时这个条件
采样率也直接关系到延迟。数字信号处理通常不是逐个样本处理,而是按块汇集后处理。这样等待一个块填满的时间就直接成为延迟,其数值只需一次除法即可得出。
缓冲延迟 = 块长(样本数)÷ 采样率
同样的块长,采样率越高延迟越小。以下是该计算,右侧一列是在这段时间内声音在空气中传播的距离(声速 343m/s)。把延迟换读成"相当于把扬声器往后挪了多少厘米",感觉就清楚了。
| 块长 | 48kHz 下的延迟 | 192kHz 下的延迟 | 192kHz 延迟折合距离 |
|---|---|---|---|
| 32 样本 | 0.67ms | 0.17ms | 5.7cm |
| 64 样本 | 1.33ms | 0.33ms | 11.4cm |
| 128 样本 | 2.67ms | 0.67ms | 22.9cm |
| 256 样本 | 5.33ms | 1.33ms | 45.7cm |
| 512 样本 | 10.67ms | 2.67ms | 91.5cm |
| 1024 样本 | 21.33ms | 5.33ms | 182.9cm |
块取得短,延迟会减小,但每块附带的固定开销(函数调用、滤波器状态更新、中断处理)占比上升,运算效率下降;取得长则效率变好而延迟增加。192kHz 下的 256 样本是 1.33ms——声音走 46cm 的时间,在多数安装环境中会被到听者的传播延迟所淹没。信号处理整体的延迟预算还须把滤波器延迟加进去,那份账目将在第14篇按项目重新展开。
局限与常见误解
- "采样是阶梯状的,所以和原波形不一样"——最常见的误解。样本之间以阶梯相连并不是采样的性质,而只是 DAC 输出在经过重建滤波器之前的形状。只要遵守了带限条件,样本中就一点不漏地包含原信号的信息,用 sinc 插值可精确复原原波形。阶梯会被最后的滤波器抹平。
- "采样率越高越好"——它不是免费的。运算量、内存与功耗成比例增加,频带变宽也意味着带外噪声与抖动的影响一并进来。信号上限一旦确定,所需数值是算出来的,而不是可以无限提高的对象。
- "增加比特声音就会变大"——比特数决定的不是最大音量,而是最小声与最大声之间的间距(动态范围)。音量是后级放大器的分内事。
- "混叠以后用滤波器消掉就行"——做不到。折叠成分坐在信号频带之内,与原有成分无法区分。这正是抗混叠滤波器必须位于采样之前的原因;在数字域里无论用多好的滤波器,已经混在一起的东西都分不开。
- "遵守定理就完美了"——定理讲的是理想条件下的事。完全带限的信号、无限长度的 sinc 插值、没有抖动的时钟、没有误差的量化——四者在现实中都不存在。定理只告诉你不能越过的那条线,线内的品质由滤波器、时钟与比特设计决定。
小结
数字声音以每秒样本数(采样率)与刻度数(位深)记录,采样必须超过最高频率的两倍,原信号才能保全。违反规则,时间轴上(混叠)与空间轴上(栅瓣)都会出现幽灵——两条规则其实是同一个式子换了变量名。把 20kHz 音频加载到 40kHz 载波上,信号会铺展到 60kHz;再算上滤波器下降所需的跑道,192kHz 便成为平衡点。在幅度轴上,一个比特值 6.02dB,而 16 比特的 98dB 直接决定了抗混叠滤波器必须提供的衰减量。下一篇要讲的,是用这样做好的数字信号把声音装载到载波上的技术——调制(AM·FM·PWM)。
系列导览
《定向扬声器的科学》按以下顺序展开。
- 什么是定向扬声器——声音的手电筒
- 把声音装载到听不见的声音上——工作原理第一步
- 定向扬声器应用案例——展览·安全·零售·办公
- 什么是超声波——定义·种类·传播特性
- 为什么选超声波——生成原理与应用地图
- 空气变成扬声器的魔法——PAA 非线性声学
- PAA 理论深化——Berktay·Westervelt·KZK
- 为声音瞄准——相控阵与波束成形
- 压电效应——电变成声的瞬间
- 超声换能器设计——谐振与排布
- 奈奎斯特定理——数字声音的起点(本篇)
- 之后:调制入门、调制策略、信号处理优化
本系列是将亲自研究整理的超声波定向声学技术自制讲义,以博客形式重新编排而成。图版摘自该资料。
参考资料
- H. Nyquist, "Certain Topics in Telegraph Transmission Theory," Trans. AIEE 47(2), 617 (1928):带宽为 B 的传输线路每秒承载 2B 个独立脉冲这一结论的原始出处——"两倍法则"的起点
- C. E. Shannon, "Communication in the Presence of Noise," Proc. IRE 37(1), 10 (1949):从样本完全复原带限信号的正式化与 sinc 插值——本文定理的最终形态
- W. R. Bennett, "Spectra of Quantized Signals," Bell Syst. Tech. J. 27(3), 446 (1948):把量化误差作为均匀分布噪声处理的分析——SNR = 6.02N + 1.76dB 的依据
- B. Widrow, "Statistical analysis of amplitude-quantized sampled-data systems," Trans. AIEE Part II 79, 555 (1961):与采样理论一并整理量化噪声模型成立条件的论文
- J. C. Candy, "A Use of Double Integration in Sigma Delta Modulation," IEEE Trans. Commun. 33(3), 249 (1985):以过采样与噪声整形从粗糙量化器获得高分辨率的方法
- P. P. Vaidyanathan, "Multirate digital filters, filter banks, polyphase networks, and applications: a tutorial," Proc. IEEE 78(1), 56 (1990):过采样·抽取·插值的理论梳理——采样率变换的标准参考
- M. Unser, "Sampling—50 Years After Shannon," Proc. IEEE 88(4), 569 (2000):梳理采样定理谱系与现代扩展的综述——理想条件与现实之间的落差
- T. W. Parks & J. H. McClellan, "Chebyshev Approximation for Nonrecursive Digital Filters with Linear Phase," IEEE Trans. Circuit Theory 19(2), 189 (1972):指定过渡带与衰减量来设计数字滤波器的标准方法
- F. J. Harris, "On the use of windows for harmonic analysis with the discrete Fourier transform," Proc. IEEE 66(1), 51 (1978):以有限长样本观察频谱时的泄漏与窗函数——采样之后分析阶段的基准
- H. O. Berktay, "Possible exploitation of non-linear acoustics in underwater transmitting applications," JSV 2(4), 435 (1965):解调声正比于调制包络二阶导数的关系式——信号频带铺展到 60kHz 的出处
- M. Yoneyama et al., "The audio spotlight: An application of nonlinear interaction of sound waves to a new type of loudspeaker design," JASA 73(5), 1532 (1983):使用 40kHz 频段载波的空气中参量扬声器的最早实现
- Nyquist–Shannon sampling theorem — Wikipedia:定理的表述、证明与折叠频率计算的概览