
STM32 微控制器上的 PDM 音频软件解码2 D: _9 i+ D6 J1 [# O 1 简介 本应用笔记以 ST MP45DT02 MEMS 麦克风与 STM32 微控制器的连接为例,介绍了 PDM信号解码和音频信号重建时使用的软件优化算法和架构。该软件可直接采集麦克风输出的脉冲密度调制 (PDM) 数据,并将其转换为 16 位脉冲编码调制 (PCM) 格式。 本文档还提供了快速入门信息,介绍如何通过基于 STM32F4 微控制器和 STM32F4DISCOVERY板的 I2S 对 PDM 库进行单麦克风采集。 有关这一过程的详细信息,请参见 AN3997 使用 STM32F4DISCOVERY 进行音频回放和录音。 + G" Q ?; `3 M& m$ Z2 U 2 PDM 信号简介 脉冲密度调制 (PDM) 是一种用于表示数字域中的模拟信号的调制形式。 3 r6 j A$ B2 B 在 PDM 信号中,不会像在 PCM 中一样将具体的幅值编码到脉冲中。而是对与模拟信号幅值相应的、一系列脉冲的相对密度进行编码。 要从 PDM 比特流中获取数据帧,通常使用采样滤波器。采样过程第一阶段要降低采样频率,然后使用高通滤波器去除信号直流偏移。 3 硬件接口:麦克风连接和采集 , l' p0 W% ?- J! d$ d 0 z; V1 O; U% ?* c$ w+ `1 ?' X MP45DT02 MEMS 麦克风会输出一个 PDM 信号,该信号具有高频(1 到 3.25 MHz)1 位数字采样流。 " \8 F' f3 J( S6 t! i, m3 V! L 该输出信号通过 STM32 微控制器的同步串口(SPI 或 I2S)以 8 个样本为一组进行采集。麦克风的 PDM 输出信号与其输入时钟同步;因此,可通过一个 STM32 SPI/I2S 外设生成麦克风的时钟信号。$ v# _- `0 P, Q* O2 } ![]() 4 软件接口:数字信号处理 / j( J& K4 N! z: m麦克风输出的数据发送到采样过程,该过程包括两个组成部分:一个用于将 1 位 PDM 数据转换为 PCM 数据的采样滤波器,还有两个可单独配置的 IIR 滤波器(低通和高通滤波器)。转换后的音频采用 16 位脉冲编码调制 (PCM) 格式。完成转换之后会产生原始数据,可根据实际应用程序对这些数据进行处理(以波形/压缩数据形式存储到大容量存储介质,通过 I2S 外设传输到外部音频编码器 DAC...)。 ![]() |