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输出到功放 → 扬声器发声。整条链路中,任何一级采样率或位深不匹配,都会导致变调、杂音或延迟累积。

座舱音频信号链:采样 → PCM → I2S/TDM → 编解码 → 功放 麦克风/音源 模拟波形 ADC / Codec 采样率 · 位深 PCM 数据 未压缩样本序列 I2S / TDM BCLK · FSYNC · SD DSP 处理 混音 · EQ · 延时 采样率 44.1k / 48k / 16k 决定频率上限 位深 16bit / 24bit / 32bit 决定动态范围 声道 1 / 2 / 5.1 / 7.1.4 决定空间布局 编解码格式 PCM / FLAC / AAC / Opus 决定带宽与音质 TDM 帧结构示例:FSYNC = 48kHz,16 slots × 32bit,BCLK = 24.576MHz Slot0 主驾 · Slot1 副驾 · Slot2 后排左 · Slot3 后排右 · … · Slot15 头枕

五、常见误区与排障复盘

误区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