4. 音频基础与数字信号处理
在8295座舱音频系统中,从麦克风采集到扬声器播放,音频信号要经历“模拟→数字→处理→传输→再还原”的完整链路。理解采样率、位深、声道、PCM、I2S、TDM以及编解码格式,是排查爆音、断续、延迟和声道错位等问题的基本功。本章把这些概念串成一条可落地的工程认知路径。
一、核心原理:数字音频的三根支柱
模拟声音是连续变化的电压波形,数字音频则用“离散时间点上的离散幅度值”来近似它。这个近似过程由三个参数决定:
- 采样率(Sample Rate):每秒采集多少个时间点,单位Hz。44.1kHz表示每秒44100个采样点,可还原最高约22.05kHz的声音,覆盖人耳听觉上限。座舱常见采样率为48kHz,电话/语音场景常用16kHz或8kHz。
- 位深(Bit Depth):每个采样点用多少比特表示幅度,决定动态范围。16bit理论动态范围约96dB,24bit约144dB。位深越高,弱信号细节越丰富,底噪越低。
- 声道(Channel):独立音频通道数量。单声道1路,立体声2路,5.1为6路,7.1为8路。座舱中常见4.0、5.1甚至7.1.4布局,用于主驾、副驾、后排和头枕扬声器分区。
三者共同决定原始数据率。以48kHz、24bit、8声道为例,未压缩码率为 48000 × 24 × 8 = 9.216 Mbps,约1.152 MB/s。这个数字直接决定总线带宽和存储开销,也是必须引入压缩编码的原因。
二、PCM、I2S与TDM:数据如何被搬运
PCM(脉冲编码调制)是最基础的未压缩数字音频表示,它把每个采样点的量化值按时间顺序排列。WAV文件的主体通常就是PCM数据。PCM本身只描述“数值序列”,不规定物理连线方式。
I2S(Inter-IC Sound)是芯片间传输PCM的常用串行协议,包含三根核心信号:
- SCK/BCLK:位时钟,每个脉冲对应一位数据。
- WS/LRCK:声道选择时钟,低电平左声道、高电平右声道。
- SD:串行数据线,MSB先出。
I2S天然适合双声道,但座舱往往需要8路、16路音频。此时使用TDM(时分复用):在同一组BCLK和FSYNC下,把一帧时间切成多个时隙(Slot),每个时隙承载一个声道。例如16声道TDM,FSYNC频率48kHz,每帧16个slot,BCLK = 48000 × 16 × 32 = 24.576MHz。TDM让一根数据线传输多声道,显著节省引脚和走线。
工程要点:I2S与TDM的配置必须两端一致——采样率、位深、slot数、slot宽度、MSB/LSB对齐方式、时钟极性。任何一项不匹配,都会表现为噪声、单声道、音量异常或完全无声。
三、音频编解码与常见格式
为了降低带宽和存储,音频通常要压缩。编解码分三类:
- 无损压缩:FLAC、ALAC,压缩率约50%~70%,解码后与PCM完全一致,适合高保真音乐。
- 有损压缩:MP3、AAC、Opus,利用心理声学模型丢弃人耳不敏感成分,压缩率高。AAC在同等码率下通常优于MP3,Opus在低延迟语音场景表现突出。
- 语音编码:AMR-NB/WB、EVS,面向通话,码率低至数kbps,强调可懂度和抗丢包。
座舱中,媒体播放常用AAC/MP3/FLAC,蓝牙通话用mSBC/EVS,语音助手上行常用Opus或PCM。解码后的数据统一回到PCM域,再经DSP混音、均衡、延时和分频,最后通过I2S/TDM送到功放或Codec。
| 格式 | 类型 | 典型码率 | 座舱典型用途 |
|---|---|---|---|
| PCM/WAV | 未压缩 | 1.4Mbps(立体声16bit/44.1k) | 本地提示音、测试信号 |
| FLAC | 无损 | 约700~1000kbps | 高保真音乐 |
| AAC | 有损 | 128~320kbps | 流媒体、蓝牙A2DP |
| MP3 | 有损 | 128~320kbps | 兼容老资源 |
| Opus | 有损/低延迟 | 16~64kbps | 语音助手、游戏语音 |
| EVS | 语音 | 5.9~24.4kbps | 车载通话 |
四、案例场景:从麦克风到扬声器的信号链
以“语音助手唤醒”为例,信号链如下:麦克风模拟信号 → Codec采样(16kHz/16bit)→ PCM → I2S送入SoC → DSP做降噪和AEC → Opus编码上传云端 → 云端返回TTS音频(AAC)→ 本地解码为PCM → 混音到媒体通道 → TDM输出到功放 → 扬声器发声。整条链路中,任何一级采样率或位深不匹配,都会导致变调、杂音或延迟累积。
五、常见误区与排障复盘
误区1:采样率越高越好。48kHz已覆盖人耳范围,盲目升到192kHz只会增加带宽和功耗,对座舱听感提升有限。
误区2:位深只影响音量。位深决定动态范围和量化噪声,24bit在低电平细节上明显优于16bit,尤其在小音量播放时。
误区3:I2S和TDM可以随意混用。两者帧结构不同,TDM需要正确配置slot数和FSYNC宽度,否则会出现声道错位或数据截断。
误区4:有损格式听不出差别。低码率AAC在鼓点和高频镲片上容易出现预回声,座舱高保真场景应优先FLAC或高码率AAC。
排障时建议按“时钟→格式→通道→增益”的顺序检查:先用示波器确认BCLK和FSYNC频率是否正确,再核对两端slot配置,然后验证声道映射,最后检查数字增益和模拟增益是否过载。多数爆音和断续问题,根源都在时钟不匹配或slot对齐错误。
# 典型TDM参数核对清单
sample_rate = 48000 # 采样率 Hz
bit_depth = 24 # 位深 bit
channels = 16 # 声道数
slot_width = 32 # 每slot位数
bclk = 48000 * 16 * 32 = 24.576 MHz
fsync = 48000 Hz
data_format = MSB # 对齐方式
fsync_polarity= active_high