MSP430 的语音与音频压缩/解压缩技术

2019-08-05 16:13发布

本应用报告将介绍 IMA 自适应差分脉冲代码调制 (ADPCM) 的压缩/解压缩算法,讨论在 MSP430上使用 ADPCM 库的相关步骤。我们在介绍 ADPCM 库的使用时,将给出两种均采用 MSP430 微控制器片上信号链解决方案的语音记录器实例。
1 引言
  采用微控制器 (MCU) 来实施语音记录器比较简单。许多 MCU 均采用集成模数 (A/D)转换器。扩音器将捕获到的声音提供给放大器,然后再馈送给 A/D 转换器的模拟输入。可将录制的声音存储在闪存或 RAM等存储器中,按下按钮就能触发 MCU 以播放录制到的声音,其原理是将存储的数据先提供给数模 (D/A) 转换器,然后再提供给音频功率放大器
  利用 MSP430 很容易实现这种语音记录器。MSP430 微控制器利用集成外设来实现片上模拟信号链。此外,MSP430 的 CPU 处理能力非常强大,足以执行录制声音的压缩。

2 压缩与解压缩算法

  举例来说,实现语音记录器的最简单办法就是将 A/D 转换器转换结果(如 12 位采样)直接存储在闪存中。音频数据大多数时间都不使用整个 A/D 转换器范围,也就是说,冗余数据也存储在闪存中。压缩算法可去除这些冗余信息,从而减小所存储数据的容量。
  自适应差分脉冲代码调制 (ADPCM) 就是此种类型的压缩算法。ADPCM 算法存在各种类型,但都使用量化器差分编码与量化器中自适应量化阶步长方案。在进一步讨论 IMA ADPCM 算法用于相关代码之前,我们首要来简单介绍一下差分 PCM 编码。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
i1mcu
2019-08-05 22:55
图 2 显示了一小段录制音频流,并通过两个示意图给出了模拟音频输入采样(PCM 值)与连续采样(DPCM 值)间差值的比较。
{{分页}}
  PCM 值的范围在 26 到 203 之间,总共 177 个步长。编码的 DPCM 值范围在 –44 至 46之间,总共 90个步长。尽管量化器步长仅为 1,但这种 DPCM 编码已经实现了输入数据的压缩功能。只需选择较大的量化器步长即可将编码 DPCM值的范围进一步缩小。



                              图 2. 8 位音频数据与连续采样差值的比较
                                  (差分 PCM 步长 = 1)

一周热门 更多>