ADPCM语音编解码电路设计及FPGA实现

发布者:ching80790最新更新时间:2006-08-16 来源: 今日电子关键字:电路  编码  解码  模块 手机看文章 扫描二维码
随时随地手机看文章

  近年来,多媒体技术逐渐深入到人们的生活中。MP3播放器已经成为流行的便携式音频播放设备,由于MP3编码算法非常复杂,目前,一部分MP3播放器的录音功能主要基于ADPCM算法和DSP来实现。本文阐述了ADPCM语音编解码VLSI芯片的设计方法以及利用FPGA的硬件实现。

  ADPCM算法及其编解码器原理

  ADPCM(Adaptive Differential Pulse Code Modulation,自适应差分脉冲编码调制)综合了APCM的自适应特性和DPCM系统的差分特性,是一种性能较好的波形编码。它的核心思想是:利用自适应改变量化阶的大小,即使用小的量化阶去编码小的差值,使用大的量化阶去编码大的差值;使用过去的样本值估算下一个输入样本的预测值,使实际样本值和预测值之间的差值总是最小。ADPCM记录的量化值不是每个采样点的幅值,而是该点的幅值与前一个采样点幅值之差。

  ADPCM是利用样本与样本之间的高度相关性和量化阶自适应来压缩数据的一种波形编码技术。ADPCM标准是一个代码转换系统,它使用ADPCM转换技术实现64kb/s A律或u律PCM(脉冲编码调制)速率和32kb/s速率之间的相互转换。ADPCM的简化框图如图1所示。

  ADPCM编解码器的输入信号是G.711 PCM代码,采样率是8kHz,每个代码用8位表示,因此它的数据率为64kb/s。而ADPCM的输出代码是“自适应量化器”的输出,该输出是用4位表示的差分信号,它的采样率仍然是8kHz,它的数据率为32kb/s,这样就获得了2∶1的数据压缩。

  电路的整体结构

  基于ADPCM算法,可将语音编解码VLSI芯片分成编码、解码、存储、控制和时钟几个模块。编码模块实现数据压缩功能,将输入的PCM信号转换成ADPCM码;存储模块在控制模块的作用下,保存编码所得的ADPCM码;解码模块实现解压缩功能,将ADPCM码转换得到PCM码;控制模块的作用是控制其他模块的协调工作;时钟模块主要实现对外部晶振的原始时钟信号进行分频,以得到电路系统实际所需的时钟信号。

  电路整体结构如图2所示,其中En_en、En_de分别是编码和解码的使能信号,RST则为复位信号。当WE为“1”时,RAM写有效,而当 WE为“0”时,RAM读有效,CS为“1”时,RAM可进行写或者读操作。


(a) ADPCM编码器


(b)ADPCM解码器

图1 ADPCM简化框图

  电路设计过程

  本文采用Top-down方法进行电路设计。主要设计流程如下:首先基于Verilog HDL运用Active-HDL进行电路的RTL级描述和功能仿真;将经过功能仿真正确的程序在Quartus II开发系统中进行综合和适配;接下来将得到的网表文件(.vo)和具有时延信息的反标文件(.sdo)调入ModelSim SE中,并加入所选器件相应的器件库进行时序仿真;时序仿真通过后,将Quartus II得到的“*.sof”文件通过JTAG配置模式下载到FPGA中进行不可掉电的实际测试,也可将“*.pof”文件通过AS配置模式下载到FPGA中进行可掉电的实际测试。电路系统的顶层程序如下。


图2 电路整体结构图

module ADPCM_TOP ( PCM_OUT,PCM_IN ,RECORD,PLAY,CLK, CLK8K);
parameter ADDR_WIDTH=14;
parameter PCM_WIDTH=8;
input [PCM_WIDTH-1:0] PCM_IN ;
wire [PCM_WIDTH-1:0] PCM_IN ;
output [PCM_WIDTH-1:0] PCM_OUT ;
wire [PCM_WIDTH-1:0] PCM_OUT ;
input CLK, RECORD,PLAY;
output CLK8K;
wire [3:0] code_in,code_out;
wire en_encoder,en_decoder,re_rst,pl_rst,WE,CS,CLK_8K;
wire [ADDR_WIDTH-1:0] ADDRESS;
assign CLK8K =CLK_8K;
CLOCK_GE U0 (CLK,RECORD, CLK_8K);
encoder_new U1 ( PCM_IN,re_rst ,en_encoder, CLK_8K ,code_in );
RAM U2 (ADDRESS,WE,CS,CLK_8K,code_in,code_out);
decoder_new U3 (pl_rst, CLK_8K ,code_out ,en_decoder,PCM_OUT);
controllogic U4 (CS,re_rst,pl_rst,en_encoder,en_decoder,WE,ADDRESS,RECORD,PLAY,CLK_8K);
endmodule

  子模块电路设计及仿真

  整个语音编解码VLSI芯片包括编码电路、解码电路、存储电路、控制电路和时钟电路几个部分。下面分别具体描述关键电路的设计。

  1 编码电路
  编码电路实现数据压缩功能,将输入的PCM信号转换成均匀的PCM码,然后与预测信号进行差分,得到的差分信号经过“自适应量化器”进行压缩编码得到ADPCM码,ADPCM码被返回经过“逆自适应量化器”以及“自适应预测器”用来构建下一个预测信号。编码电路仿真波形如图3所示,其中PCM_IN为编码器输入信号(PCM码),CODE为编码后得到的输出信号(ADPCM码)。


图3 编码电路仿真波形

  2 解码电路

  解码电路实现解压缩功能,将ADPCM码经过“逆自适应量化器”得到量化差分信号,量化差分信号与预测值相加得到重构信号,然后转换成PCM码。解码电路仿真波形如图4所示,其中CODE为解码器输入信号(ADPCM码),PCM_OUT为解码后得到的输出信号(PCM码)。与图3中编解码前的PCM_IN对比,可以看出解码误差很小。

  3 其他模块

  控制电路控制其他电路模块的协调工作,在编码的同时使能存储器写入信号,使编码电路输出数据可以及时存入存储器;在解码的同时使能存储器读出信号,编码和解码不能同时进行。时钟电路主要实现对外部晶振的原始时钟信号进行分频,以得到电路系统实际所需的时钟信号。本系统采用的外部晶振固有频率为14.318MHz,经过分频后可以获得8kHz时钟。存储电路在控制电路的作用下,保存编码所得的ADPCM码(32kb/s),由于只需验证电路的功能,所以只设定了2s的录音存储空间,即64kb存储容量。

  整体电路仿真

  在子模块电路仿真正确后,对系统整体进行仿真,可以得到图5所示波形。此次仿真输入信号PCM_IN激励采用Testbench产生。在编码使能信号RECORD为“0”时,开始编码,RECORD跳变到“1”时,编码被屏蔽;此时解码使能信号PLAY为“0”,开始解码,PLAY跳变到“1”时,解码被屏蔽。从图中可以看出编码前输入信号PCM_IN的激励和解码后输出PCM_OUT的响应基本符合。由于ADPCM算法本身是有损压缩,可以确定本电路系统的设计是正确可靠的。

  FPGA验证及结论

  本文基于FPGA验证所设计的电路。这里选用Altera公司Cyclone系列的EP1C6Q240C8器件,其内部有90kb的存储容量,6k个逻辑单元,2 个PLL。由于电路采用8kHz采样频率,编码后的ADPCM码为4位,设定录音时间为2s,所以需要64kb存储容量;同时,设计需要大约400个左右的逻辑单元。所以选用此低成本的FPGA即可满足设计要求,而且基本上充分利用了内部资源。此芯片的引脚有240 个,能满足外面的引脚连接,而且价格也易于接受。

  FPGA验证表明:电路的最大时钟延迟为26.903ns,最高工作频率可达37.17MHz,可以很好地再现被录入的语音,具有较高的保真度和很好的实时性。在电子地图、车载信息终端语音播报、治安报警系统,特别是便携式语音记录装置等方面具有较高的应用价值。同时,也指明了数字语音压缩处理高效设计方法的方向。


图4 编码电路仿真波形


图5 系统仿真波形

关键字:电路  编码  解码  模块 引用地址:ADPCM语音编解码电路设计及FPGA实现

上一篇:视频解码芯片SAA7113的初始化与控制
下一篇:手机电视将在2006年完成布点试验

推荐阅读最新更新时间:2024-05-03 19:17

集成电路和信号完整性的设计
在您努力想要稳定板上的各种信号时,信号完整性问题会带来一些麻烦。IBIS 模型是解决这些问题的一种简单方法。您可以利用 IBIS 模型提取出一些重要的变量,用于进行信号完整性计算和寻找 PCB 设计的解决方案。您从 IBIS 模型提取的各种值是信号完整性设计计算不可或缺的组成部分。 当您在您的系统中处理传输线路匹配问题时,您需要了解集成电路和PCB线路的电阻抗和特性。 图 1 显示了一条单端传输线路的结构图。 图 1 连接发射器、传输线路和接收器组件的单端传输线路 就传输线路而言,我们可以从 IC IBIS 模型提取IC的发射器输出阻抗 (ZT, Ω)和接收器输入阻抗(ZR, Ω)。许多时候,IC 厂商产品说明书中并没
[模拟电子]
集成<font color='red'>电路</font>和信号完整性的设计
NAND Flash与S3C2410的接口电路
  引言   当前各类嵌入式系统开发设计中,存储模块设计是不可或缺的重要方面。NOR和 NAND是目前市场上两种主要的非易失闪存技术。NOR Flash存储器的容量较小、写入速度较慢,但因其随机读取速度快,因此在嵌入式系统中,常用于程序代码的存储。与NOR相比,NAND闪存的优点是容量大,但其速度较慢,因为它的I/O端口只有8或16个,要完成地址和数据的传输就必须让这些信号轮流传送。NAND型Flash具有极高的单元密度,容量可以比较大,价格相对便宜。   本文以三星公司的 K9F2808UOB芯片为例,介绍了NAND Flash的接口电路与驱动的设计方法。文中介绍了开发NAND Flash驱动基本原理,意在简化嵌入式系统开发过程
[单片机]
NAND Flash与S3C2410的接口<font color='red'>电路</font>
分析影响IGBT驱动电路性能参数的因素
  0 引言   IGBT 即绝缘门极双极型晶体管( IsolatedGate Bipolar Transistor), 这是八十年代末九十年代初迅速发展起来的一种新型复合器件。由于它将MOSFET和GTR的优点集于一身, 具有输入阻抗高、速度快、热稳定性好、电压驱动(MOSFET的优点), 同时通态压降较低, 可以向高电压、大电流方向发展(GTR的优点)。因此, IGBT发展很快, 特别是在开关频率大于1kHz, 功率大于5kW的应用场合具有很大优势。在全桥逆变电路中, IGBT是核心器件, 它可在高压下导通, 并在大电流下关断, 故在硬开关桥式电路中, 功率器件IGBT能否正确可靠地使用起着至关重要的作用。驱动电路就是将控
[电源管理]
分析影响IGBT驱动<font color='red'>电路</font>性能参数的因素
特斯拉申请新模块化电线束专利 将突破产能瓶颈
特斯拉近日透露了其革命性的全新布线架构,其中展示了控制器与子组件之间的全新模块化布线结构。这项改进对机器人更加友好,在实际制造过程中可以帮助特斯拉更大程度的实现机器人自动化,减少总装的组装时间。这个设计未来将用于特斯拉皮卡车以及 2020 年即将推出的 Model Y 上。 什么是线束? 线束像人的神经系统,它是连接汽车各个电子元件的桥梁,随着汽车电气化的提高,普通燃油车上基于博世 CAN 总线协议优化过的线束配置标准,内部的线束总长度超过数公里。 尽管 Model 3 的线束总长已经从 Model S 的 3km 缩短至 1.5km ,但机器人并不擅长铺设冗长的软盘线束,导致人工不得不重新介入这一生产流程
[汽车电子]
特斯拉申请新<font color='red'>模块</font>化电线束专利 将突破产能瓶颈
在射击探测器中增加口径确定功能的简单电路
许多美国社区都在灯杆上安装射击探测器,协助对节日期间发生的枪击进行三角形定位,以及对911枪击电话作出反应。除位置信息外,另一个有用的信息是发射枪的口径。幸运的是,研究表明,每种口径都有一种特定的噪声谱。警察可以利用这种谱确定枪的口径,而不是使用响度,响度不可靠。图1的电路已经用于区分不同口径枪的射击。 该电路使用一种7频带图形均衡器——混合信号集成MSGEQ7,它有7个分别设于63、160和400 Hz 以及1、2.5、6.25和16 kHz的带通滤波器。均衡器对输入产生24 dB固定增益。输出为七个标志有结束的直流电平,与一个微控制器的数模转换器(ADC)输入接口。一个TLC081放大器为驻极体麦克风提供所需的额外增益。图2表
[模拟电子]
太极实业:控股股东拟出让6%股份支持集成电路发展
事件:太极实业公告,公司控股股东拟以公开征集受让方的方式协议转让所持公司1.3亿股股份,占公司总股本的6.17%。拟受让方应为集成电路行业内的经营实体或有至少三年的投资经验的产业投资者,拥有与上市公司匹配的资本实力、商业资源和商业信用,应承诺积极支持太极实业在集成电路产业发展,提供相关业务发展支持。本次股份转让的价格最低不得低于7.98元/股的90%。 解读:此次公司出让股份引入投资,是作为公司新的业务拓展的一种模式,将有助于公司未来业绩的新的增长,本次收购价正略高于当前股价,有望对股价形成新的支撑。此外,公司此前公布一季报显示公司归属上市公司股东净利润同比增长89.05%,公司业绩是稳定增长。2017年以来公司中标和辉光电、长江
[半导体设计/制造]
DF无线传送模块应用及原理
多年前就有做一下无线传送数据的想法,最初在现实生活中接触到的是摩托车防盗器上的遥控装置,后来因为种种原因一直拖了下来没有做成,最近凭着搞电波钟解码的余热,利用了五一假期把这个无线传数搞了出来。 无线传数模块在生活中应用途极广,比如车辆监控、遥控、遥测、小型无线网络、无线抄表、门禁系统、小区传呼、工业数据采集系统、无线标签、身份识别、非接触RF能卡、小型无线数据终端、安全防火系统、无线遥控系统、生物信号采集、水文气象监控、机器人控制、无线232数据通信、无线485/422数据通信、数字音频、数字图像传输等。此次采用的模块是价格相对便宜的433M模块,淘宝上价格7元一对,适合用于少量数据的传送,还有些模块是适合较高速率传送的(达M
[单片机]
DF无线传送<font color='red'>模块</font>应用及原理
Microchip推出搭载硬件安全模块的PIC32CK 32位单片机, 轻松实现嵌入式安全功能
这款全新的中端MCU系列为设计人员提供了更高水平的安全性和灵活性 自2024年生效的新法律法规对从消费物联网设备到关键基础设施的网络安全提出了更严格的要求。从产品和供应链的角度来看,满足这些新的安全合规要求可能非常复杂、昂贵且耗时。为了向开发人员提供嵌入式安全解决方案,使他们能够设计出符合法规要求的应用,Microchip Technology(微芯科技公司)今日宣布推出新型PIC32CK 32位单片机(MCU)系列。 该系列集成了硬件安全模块(HSM)子系统和采用TrustZone®技术的Arm®Cortex®-M33内核,可帮助隔离并确保设备安全。 PIC32CK SG是市场上首款将HSM的强大安全性与基于硬件的安全
[单片机]
Microchip推出搭载硬件安全<font color='red'>模块</font>的PIC32CK 32位单片机,  轻松实现嵌入式安全功能
小广播
最新家用电子文章

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 电视相关 白色家电 数字家庭 PC互联网 数码影像 维修拆解 综合资讯 其他技术 论坛

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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