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

发布者:NexusDream最新更新时间:2020-11-27 来源: elecfans关键字:MSP430  压缩  解压缩技术 手机看文章 扫描二维码
随时随地手机看文章

  引言

  采用微控制器 (MCU) 来实施语音记录器比较简单。许多 MCU 均采用集成模数 (A/D) 转换器。扩音器将捕获到的声音提供给放大器,然后再馈送给 A/D 转换器的模拟输入。

可将录制的声音存储在闪存或 RAM 等存储器中,按下按钮就能触发 MCU 以播放录制到的声音,其原理是将存储的数据先提供给数模 (D/A) 转换器,然后再提供给音频功率放大器


  利用 MSP430 很容易实现这种语音记录器。MSP430 微控制器利用集成外设来实现片上模拟信号链。此外,MSP430 的 CPU 处理能力非常强大,足以执行录制声音的压缩。


  压缩与解压缩算法

  举例来说,实现语音记录器的最简单办法就是将 A/D 转换器转换结果(如 12 位采样)直接存储在闪存中。音频数据大多数时间都不使用整个 A/D 转换器范围,也就是说,冗余数据也存储在闪存中。压缩算法可去除这些冗余信息,从而减小所存储数据的容量。


  自适应差分脉冲代码调制 (ADPCM) 就是此种类型的压缩算法。ADPCM 算法存在各种类型,但都使用量化器差分编码与量化器中自适应量化阶步长方案。在进一步讨论 IMA ADPCM 算法用于相关代码之前,我们首要来简单介绍一下差分 PCM 编码。


  差分脉冲代码调制 (DPCM)

  DPCM 通过使用当前采样与前一个采样的差值来对模拟音频输入信号进行编码。图 1 显示了DPCM 编码器与解码器的结构图。在本例中,我们用信号估算 Se(n) 而非前一个输入来决定信号差值 d(n),从而确保了编码器使用的信息与解码器相同。如果编码器使用的是上一个输入采样的话,那么就会造成量化的累积错误,从而使重建信号与原始输入信号不同。通过采用如图 1 所示的信号估算,我们能避免重建信号 Sr(n) 与原始输入信号出现差异。重建信号 Sr(n) 是预测器 (predictor) 的输入,其决定了下一个信号估算 Se(n+1)。

  图 2 显示了一小段录制音频流,并通过两个示意图给出了模拟音频输入采样(PCM 值)与连续采样(DPCM 值)间差值的比较。

  PCM 值的范围在 26 到 203 之间,总共 177 个步长。编码的 DPCM 值范围在-44 至 46之间,总共 90 个步长。尽管量化器步长仅为 1,但这种 DPCM 编码已经实现了输入数据的压缩功能。只需选择较大的量化器步长即可将编码 DPCM 值的范围进一步缩小。


  适应差分脉冲编码调制 (ADPCM)

  ADPCM 是 DPCM 的一个变体,编码器步长会有差异。语音输入信号的强度差异体现在不同的扬声器上,也体现在语音输入信号的语音和非语音部分上。量化器步长对每个采样都进行适应调节,确保高低输入信号强度都能实现同样的编码效率。图 3 显示了采用步长调节技术的修订版 DPCM结构图。

  ADPCM 编码器通过解码 ADPCM 代码进行信号估算 (Se),这就是说,解码器是 ADPCM 编码器的一部分,因此已经编码的音频数据流只能用解码器进行重放,这样解码器就必须对编码器加以跟踪。


  最初的编码器和解码器信号估算等级以及步长大小调节等级必须在开始编码或解码前就加以定义,否则,编码或解码的值就会超过范围。


  MSP430 片上信号链

  MSP430 系列微控制器支持多种片上外设。为了实现完整的片上信号链解决方案,MSP430 至少必须提供 1 个 A/D 转换器模拟输入和 1 个 D/A 转换器。下面我们将介绍两种 MSP430 解决方案。

  MSP430F169 片上信号链解决方案

  MSP430F169 包括 1 个集成 12 位 SAR A/D 转换器,作为一种硬件乘法器模块,它能高效支持数字滤波器,此外 MSP430F169 还包括 1 个集成 12 位 D/A 转换器模块。图4给出了 MSP430F169 信号链电路图。


  上述配置也适合采用外部串行闪存的情况,从而可以满足音频数据的存储需求。外部闪存可通过 MSP430 的 I2C 或 SPI 接口来连接。MSP430F169 DMA 模块可自动将接收到的数据传输给 RAM,从而大幅降低了 CPU 的负载。


  MSP430FG4618 片上信号链解决方案

  我们用 MSP430FG4618 可以实现另一种片上信号链解决方案。MSP430F169 可支持 60 KB 的集成闪存,而 MSP430FG4618 则可支持 116 KB 的闪存。MSP430FG4618 的另一优势在于,它还集成了运算放大器模块。运算放大器可用于放大扩音器的输入及数模转换器的模拟输出。


图 5 显示了 MSP430FG4618 信号链电路图。具体配置采用的是TI推出的 MSP430FG4618/F2013 试验板。该评估板可与相关代码示例配合使用。

  扩音器的输出信号非常小,必须放大。MSP430 的运算放大器可用于不同的运算模式。如果用于 PGA 模式,那么最大只能放大到 15 倍,对扩音器放大器来说还不够。因此,需要通过外部组件来加大增益。图 5 中的运算放大器 OA0 即用于通用放大器模式。放大器共有 8 种设置方式,可以使增益-带宽乘积和转换率等性能与电流消耗达到最佳平衡。图中的所有放大器 OA0、OA1 及 OA2 均采用了高性能模式(快速模式)。


  如欲了解有关运算放大器使用的更多详情,敬请参见MSP430FG4618/F2013 试验板用户指南。


  利用通用串行通信接口 (USCI) 可将音频数据存储到外部闪存中。我们也可通过 I2C 总线或 SPI 总线与外部存储器相连。


  MSP430 性能

  相关代码文件中有一些 *.wav 文件示例,可表明解码 ADPCM 数据的质量。我们可在 PC 上用媒体播放器等软件来比较这些文件,这样就能体验 ADPCM 压缩算法的实际质量了。请注意,通过提高音频采样率和音频采样大小(解析度),我们可以进一步提高音频质量。


  使用相关代码

  相关代码中包含了两个软件项目,这两个版本都基于第三部分中所介绍的内容,也都采用 IMA ADPCM 算法。


  ADPCM函数的使用非常简单。首先,必须在应用代码中包含ADPCM.h首标文件。该首标文件定义了ADPCM.c文件的ADPCM函数。在每次音频数据的录制或重放工作之前,必须调用 ADPCM_Init() 函数。该函数定义了信号估算(Se)的起始值以及用作量化器步长调节的步长指针。编码器和解码器通过设置可实现同步。调用ADPCM_Encoder (int value)函数就能进行编码,每个音频采样调用 ADPCM_Decoder() 函数就能进行回放。以下代码段显示了如何完成上述工作。


  #include "ADPCM.h"
  void main(void)
  { // 应用软件初始化
  while(1) // 主循环
     { // 应用软件
     if (P1IN & 0x01)
      record();
     if (P1IN & 0x02)
       play();
   }
  }
  void record(void)
  { // 初始化后,以便 A/D 转换器、定时器、放大器等的录制
   ADPCM_Init(); // 须在开始录制之前完成
   // 开始录制
  }
  void play(void)
  { //初始化后,以便 A/D 转换器、定时器、放大器等的录制
   ADPCM_Init(); //须在开始录制之前完成
   // 开始回放
  }

  接下来,我们用 IAR Embedded Workbench KickStart version 3.42A 来测量 ADPCM 函数执行的次数。测量时,采用的是默认优化设置。

  ADPCM_Encoder() 函数调用需要114~126个循环。

  ADPCM_Decoder() 函数调用需要99~109个循环。

  请注意,这只包含压缩/解压缩算法。要实现录制和回放功能,还需要更多代码。


  参考文献:

  1. MSP430x4xx 系列用户指南 (SLAU056)

  2. MSP430F169 产品说明书 (SLAS368)

  3. MSP430FG4618 产品说明书 (SLAS508)

  4. 基于 TMS32010 的 32kbps ADPCM (SPRA131)

  5. 基于 MSP430F13x 的低成本 12 位语音编解码器设计 (SLAA131)

  6. MSP430FG4618/F2013试验板用户指南(SLAU213)


关键字:MSP430  压缩  解压缩技术 引用地址:基于MSP430的语音与音频压缩/解压缩技术

上一篇:采用MSP430行驶车辆检测电路设计
下一篇:基于MSP430单片机的原油含水率测定仪

推荐阅读最新更新时间:2024-10-21 20:44

基于MSP430语音音频压缩/解压缩技术
  引言   采用微控制器 (MCU) 来实施语音记录器比较简单。许多 MCU 均采用集成模数 (A/D) 转换器。扩音器将捕获到的声音提供给放大器,然后再馈送给 A/D 转换器的模拟输入。 可将录制的声音存储在闪存或 RAM 等存储器中,按下按钮就能触发 MCU 以播放录制到的声音,其原理是将存储的数据先提供给数模 (D/A) 转换器,然后再提供给音频功率放大器。   利用 MSP430 很容易实现这种语音记录器。MSP430 微控制器利用集成外设来实现片上模拟信号链。此外,MSP430 的 CPU 处理能力非常强大,足以执行录制声音的压缩。   压缩与解压缩算法   举例来说,实现语音记录器的最简单办法就是将 A/D
[单片机]
基于<font color='red'>MSP430</font>的<font color='red'>语音</font><font color='red'>与</font><font color='red'>音频</font><font color='red'>压缩</font>/<font color='red'>解压缩</font><font color='red'>技术</font>
基于MSP430语音音频压缩/解压缩技术
   引言   采用微控制器 (MCU) 来实施语音记录器比较简单。许多 MCU 均采用集成模数 (A/D) 转换器。扩音器将捕获到的声音提供给放大器,然后再馈送给 A/D 转换器的模拟输入。可将录制的声音存储在闪存或 RAM 等存储器中,按下按钮就能触发 MCU 以播放录制到的声音,其原理是将存储的数据先提供给数模 (D/A) 转换器,然后再提供给音频功率放大器。   利用 MSP430 很容易实现这种语音记录器。MSP430 微控制器利用集成外设来实现片上模拟信号链。此外,MSP430 的 CPU 处理能力非常强大,足以执行录制声音的压缩。   压缩与解压缩算法   举例来说,实现语音记录器的最简单办法就是将 A/D
[单片机]
基于<font color='red'>MSP430</font>的<font color='red'>语音</font><font color='red'>与</font><font color='red'>音频</font><font color='red'>压缩</font>/<font color='red'>解压缩</font><font color='red'>技术</font>
对线性预测语音解压缩方法的探讨
    摘要: 本文针对常见的语音压缩方法,具体叙述了线性预测编码的基本原理及具体格式,并对算法实现的软件及硬件进行了详细的分析。     关键词: 线性预测编码 格形滤波器 PWM MATLAB                                                                                       引言 现实生活中,有大量语音数字存储和传输、语音综合、说话人确认和辨认、语音识别的应用,这些应用需要处理的数据量很大,这必须采用一定的压缩方法进行处理。 对频率范围为300Hz——3000Hz的语音,诸如电脑语音图书、真人发声电子字典、
[应用]
对线性预测语音解压缩方法的探讨
    摘要: 本文针对常见的语音压缩方法,具体叙述了线性预测编码的基本原理及具体格式,并对算法实现的软件及硬件进行了详细的分析。     关键词: 线性预测编码 格形滤波器 PWM MATLAB                                                                                       引言 现实生活中,有大量语音数字存储和传输、语音综合、说话人确认和辨认、语音识别的应用,这些应用需要处理的数据量很大,这必须采用一定的压缩方法进行处理。 对频率范围为300Hz——3000Hz的语音,诸如电脑语音图书、真人发声电子字典、
[嵌入式]
我国家庭中央空调技术持续创新 破解压缩机能效的世界性难题
   中国制冷学会节能环保委员会主任、中国标准化研究院研究员成建宏宣读报告   3月8日,中国制冷学会节能环保委员会主任、中国标准化研究院研究员成建宏在“节能革命”格力家 中央空调 变频变容技术发布会上宣读了《中国制冷 空调 实际运行状况调研报告》。报告显示,家用多联机60%的运行时间都是单开1台机,近60%的时间在30%负荷运行。随着我国 家庭中央空调 技术持续创新,压缩机在低负荷运转下能效低的世界性难题,已由中国企业破解。   随着现代生活水平的不断提高,人们对生活品质的追求也日益提升,家庭中央空调成为了越来越多消费者的选择。但家庭中央空调相较于分体式的 家用空调 依然存在一些固有弊端,最主要的就是能耗较大的问题。家用多联
[家用电子]
Samplify 推出新版 Prism 压缩解压缩技术
赛灵思联盟合作伙伴,混合信号半导体和 IP 信号压缩厂商 Samplify Systems 公司现已推出面向 FPGA 实施的 Prism 解压缩算法 3.0 版。 Samplify 成立于 2008 年,公司总部位于美国加州圣克拉拉,很快就以其用户可修改的压缩/解压缩技术荣获了一系列专业期刊大奖,深受客户赞誉。上述技术主要面向需要通过高速 I/O 来传输大量数据的 ISM 以及通信等各种不同市场领域。 Samplify 的技术主要包括两大部分,其一是 16 通道、12 位、65Msps A/D 数据转换器压缩芯片。用户通常在 FPGA 中实施该解压缩算法。 Samplify 公司的营销副总裁 All
[嵌入式]
基于ADV202的JPEG2000图像压缩解压缩系统
引言 新的静止图像压缩ISO/ITU-T标准JPEG2000提供了比以前的JPEG标准更好的编码效能。ADI公司在前期推出小波变换图像压缩芯片ADV611的基础上,率先推出了实现JPEG2000标准第一部分的专用芯片ADV202。本文给出了一种基于ADV202的JPEG2000图像压缩与解压缩系统的设计方案。 JPEG2000图像压缩标准 JPEG2000是JPEG2000工作组制定的静止图像压缩编码的国际标准,标准号为ISO/IEC 15444|ITU-T T.800。JPEG2000标准和其他标准一样,由多个部分组成。其中,第一部分为编码的核心部分,是公开并可免费使用的。它对于连续色调、二值的,灰度或
[手机便携]
VoIP中语音压缩编码技术的研究性能分析
0、引言 Internet的巨大成功。必将使IP成为未来信息网络的支柱技术,以IP为核心的分组化和以移动通信为核心的无线化已成为电信网络演进的主流方向。TCP/IP的网络技术不但无可置疑地成为数据领域的主导技术,而且已经开始进入电信领域,其突破口就是电话业务。 IP网络电话是一项涉及计算机网络、信令协议、数字信号处理等多个领域的综合性技术,它具有价格低廉、可以灵活地提供各种增值业务、有利于企业建立高效综合服务内部网、有利于运营商开拓新的市场、有助于和IP网络新技术的融合、促进网络技术的发展等独特的优势。其中价格低廉是IP电话能够进入市场的首要因素,其根本原因是IP电话均采用语音分组技术、语音压缩编码和统计复用,带宽利用率高,完成
[网络通信]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved