1 声学基础知识
最开始的声音传播诞生于1876年美国,其实就是声音通过在带动铁片震动,然后引起经过磁铁上电流的变化。

对于现在流行的PCM(脉冲编码调制(Pulse Code Modulation,PCM)),则是一种将模拟信号转换为数字信号的编码技术。该技术由英国工程师Alec Reeves于1937年提出。
这里顺便说一下PCM和我以前接触比较多的G.711的关系,总的来说就是一种压缩,实现了体积减半。当然,现在开发了话不学这个了,学Opus了。
G.711 是一套编码标准,它的基础载体就是 PCM;G.711 ≠ PCM,G.711 是对 8kHz、16bit 线性 PCM 做压缩映射后的编码规范。
声音的本质:机械纵波与三要素

| 振幅 | 响度 | dB SPL(0dB=20µPa) |
| 频率 | 音高 | Hz(A4=440Hz) |
| 波形/谐波 | 音色 | 基频+泛音组合 |
数字化:把连续的声波变成 0/1

关键概念:
| 采样率 | 每秒取多少个点(常见 16k/48k) | 决定带宽上限(48k→24kHz)、算力、延迟 |
| 位深 | 每个点用多少 bit 表示(16/24/32) | 决定动态范围(每 bit 约 6dB) |
| dB | 对数刻度,+6dB≈电压翻倍,+10dB≈功率×10 | 所有指标都用它,不懂 dB 无法判断"提升 3dB"值不值 |
| SNR | 信号/噪声比 | 降噪算法的核心 KPI |
| THD+N | 总谐波失真+噪声 | 评估音质劣化的硬指标 |
| 延迟 | 从采集到输出的时间 | ANC/AEC/通话的生命线,通常 <10ms 才自然 |
| 块处理 | 攒够 N 个点再算一次 | 块越大越省算力但延迟越大,核心权衡 |
| 定点/浮点 | 定点(Q15)快省电,浮点简单 | 芯片选型与移植成本的关键 |
| MIPS/负载 | 算法每秒要多少运算 | 决定能不能跑在目标芯片上、要不要加钱 |
| 自适应滤波 | 滤波器参数随环境自动调整 | AEC/ANC/降噪的公共内核 |
| 波束成形 | 多麦克风"聚焦"某个方向 | 远场语音的核心,麦克风数量=成本 |
| 心理声学 | 利用人耳掩蔽效应省比特/省算力 | 编码器、降噪策略的底层依据 |
换能器总览:麦克风与喇叭/耳机互为镜像

麦克风 → ADC(采样率、位深、THD+N、SNR)→ 分块(块处理,带来延迟)→ DSP(定点 / MIPS 算力约束)→ 算法:波束成形拾音 → 自适应滤波(AEC/ANC)→ 心理声学降噪 / 编码 → DAC 输出
2 录音全流程
麦克风:声 → 电
目前的几种麦克风:
|
麦克风输出 |
模拟电压/电流 |
1-bit 比特流 |
多位 PCM 数据 |
|
ADC 在哪里 |
外部 Codec / SoC 等 |
麦克风内部 |
麦克风内部 |
|
是否需要 PDM 解码 |
不需要 |
需要 |
不需要 |
|
常见连接 |
模拟输入 |
DATA + CLK |
BCLK + WS + DOUT |
|
MCU 工作 |
采样 ADC |
PDM 滤波、抽取 |
接收 I²S DMA 数据 |
目前用的最多的基本上就是数字麦克风,全流程如下:

数字麦克风全流程:

PDM(Pulse Density Modulation,脉冲密度调制)
PDM 是单比特的音频调制格式,广泛用于 MEMS 数字麦克风。它只用 0 和 1 两种电平,不靠幅值、而是依靠脉冲的疏密密度来表征声音信号大小:信号幅值越大,高脉冲占比越高。只需要两根线(时钟 + 数据)传输,电路简单、抗干扰强;缺点是原始 PDM 不能直接给音频 DSP 算法使用,必须经过抽取滤波(Decimation),降采样、多 bit 量化后转换成 PCM。
PCM(Pulse Code Modulation,脉冲编码调制)
PCM 是我们 DSP 算法里最常用的标准数字音频格式,ADC 或者 PDM 解码器输出后的标准形式。它按固定采样率周期性采样,每个采样点用多位二进制(16bit/24bit 等)编码表示信号幅值,是规整的多比特采样序列。AEC、ANC、波束成形、滤波等所有音频算法,都是直接对 PCM 数据流做运算,也是音频编解码、I2S 总线传输的主流信号格式。
模拟信号到PDM的转换:


PDM到PCM的转换:


对于我们用的最多的有线耳机,其实是模拟麦克风。

此时ADC通常在手机、电脑或USB音频设备里,而不是传统耳机的麦克风里。
从分工来说,算法工程师通常从 PCM 开始;嵌入式音频工程师要能追溯到 PDM、I²S、DMA 和 Codec;硬件与芯片工程师才会经常深入到模拟前端和 Σ-Δ 电路内部。整个步骤了解就行,因为一般处理都是针对最后的PCM。
3 播放全流程
喇叭(扬声器):电 → 声

4 常见算法
算法链通常是:
高通(去直流) → 降噪(NS) → 回声消除(AEC) → 波束成形(BF)
→ EQ → 动态范围控制(DRC/限幅) → 输出
可以玩的一些小练习。
| 采样/量化/DFT、FIR/IIR 设计、定点运算(Q 格式、饱和舍入) | C 语言实现 biquad/FFT,与 scipy 结果对比误差 <1e-3 |
| 实时音频框架:ALSA/块处理/环形缓冲/延迟测量 | Pi 上 C 语言实时 EQ+DRC 链路,报告 CPU% 与端到端延迟 |
| 自适应滤波:NLMS/LMS 推导+实现、AEC 结构 | 回声消除 demo:Pi 放音乐同时录人声,ERLE 指标 >15dB |
| 麦克风阵列:延迟求和/MVDR、后滤波降噪 | 双麦波束成形:测 SNR 提升 + 声源定位误差(你的板子正好双麦) |
网硕互联帮助中心




评论前必须登录!
注册