|
在高容量 STM32F103xx 微控制器中实现 ADPCM 算法 前言 本应用笔记描述了 ADPCM 音频固件编解码器,并提供了演示固件来说明如何在使用STM32F103xxI2S 时,利用外部的 DAC 来播放 ADPCM 文件。 本应用笔记基于 “AN2739:如何利用具有外部 I2S 音频编解码器的高容量 STM32F103xx 微控制器播放音频文件 ”。由于关于 SPI、I2S 和外部 DAC 的部分在 AN2739 中已有说明,此处不再赘述。因此,为了能充分理解本应用笔记,建议您参考 AN2739。 1 ADPCM 算法 1.1 概述 自适应差分脉冲编码调制 , 或简称为 ADPCM, 是波形编码的音频算法 , 它通过以前的信号值预测当前的信号值 , 并且仅发送真实值和预测值的差值。 在普通的脉冲编码调制 (PCM)中,发送的是真实或实际信号值。 ADPCM 的优势在于通常预测信号值和真实信号值的差值相当小,这意味着与相应的 PCM 值相比,它可以用更少的位数来表示。 根据需要的质量和压缩比,差分信号按照 4 (2 位)、 8 (3 位)、 16 (4 位)或 32 (5 位)水平量化。 ADPCM 算法的实现方法有很多。它们在量化和预测模式上有所不同。 在本应用笔记中,我们提供了由交互式多媒体协会(IMA)开发的4位量化算法IMA ADPCM。 选择 IMA ADPCM 有多种原因: ● 它可以应用于 8 kHz 到 44.10 kHz 之间的不同采样率 ● 它能在较低的 CPU 的使用率和较少的内存占用情况下保证音频的播放质量 ● 它具有广泛的实现方式,例如在 Windows 和 Mac 操作系统中 IMA 数字音频对焦和技术工作组公布的一份文件对 IMA ADPCM 算法进行了充分说明:“ 在多媒体系统中增强数字音频兼容性的建议措施 ” 版本 3。 1.2 ADPCM 算法实现 本应用笔记提供的 IMA ADPCM 算法用于对具有下述规范的音频文件进行编码: ● 音频格式:PCM ● 音频采样大小:16 位 ● 通道 : 1 ( 单声道 ) ● 音频采样率:8 kHz 到 44.1 kHz 每个 16 位 PCM 采样被编码为 4 位 ADPCM 采样,压缩比达到 1/4。 IMA ADPCM 算法实现包含两个函数,一个函数编码音频采样,另一个函数解码音频采样。 ADPCM 固件由两个文件组成: a) adpcm.c:它包括执行编码和解码的两个 ADPCM 函数的源代码。 b) adpcm.h:它是 adpmc.c 的头文件。它应该包含在调用 ADPCM 函数的文件中。 .......... 想了解更多,请下载原文阅读 |
| 谢谢楼主分享~! |
| 支持~~~~~~~~~~~~~~ |
| 谢谢楼主分享~! |
【福利三:雨露均沾·逢7狂欢】之三:AI帮我查BUG
福利三:雨露均沾·逢7狂欢】之二:STM32F407VG串口通信乱码故障的排除
基于STM32F103的I2C主从机通信
OpenBLT移植到STM32F103战舰开发板上适用于所有STM32F103系列的Bootloader
TFT LCD 与 FSMC 的硬件连接大容量 STM32F10xxx FSMC 接口
单片机:初学者该了解的STM32F103基础知识
2025软件工具兔哥知道
STM32之继电器模块
STM32固件库分享,超全系列整理
【MCU实战经验】基于STM32F103的二轮平衡车(6轴上位机 源代...
微信公众号
手机版