用户中心

资讯 > 人机界面

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

来源:今日电子2006.09.18阅读 2850

ADPCM算法及其编解码器原理
    ADPCM(Adaptive Differential Pulse Code Modulation,自适应差分脉冲编码调制)综合了APCM的自适应特性和DPCM系统的差分特性,是一种性能较好的波形编码。它的核心思想是:利用自适应改变量化阶的大小,即使用小的量化阶去编码小的差值CONTROL ENGINEERING China版权所有,使用大的量化阶去编码大的差值;使用过去的样本值估算下一个输入样本的预测值,使实际样本值和预测值之间的差值总是最小。ADPCM记录的量化值不是每个采样点的幅值控制工程网版权所有,而是该点的幅值与前一个采样点幅值之差。
    ADPCM是利用样本与样本之间的高度相关性和量化阶自适应来压缩数据的一种波形编码技术。ADPCM标准是一个代码转换系统,它使用ADPCM转换技术实现64kb/s A律或u律PCM(脉冲编码调制)速率和32kb/s速率之间的相互转换。ADPCM的简化框图如图1所示。
    ADPCM编解码器的输入信号是G.711 PCM代码,采样率是8kHzCONTROL ENGINEERING China版权所有,每个代码用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可进行写或者读操作。
 aADPCM编码器bADPCM解码器图1ADPCM简化框图电路设计过程本文采用Top-down方法进行电路设计主要设计流程如下首先基于VerilogH…
(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电路整体结构图moduleADPCM_TOPPCM_OUTPCM_INRECORDPLAYCLKCLK8K;parameterADDR_WIDTH14;parameterPCM_WIDTH8;inp…
图2 电路整体结构图
module  ADPCM_TOP ( PCM_OUT,PCM_IN ,RECORD,PLAY,CLKCONTROL ENGINEERING China版权所有, 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   CLKCONTROL ENGINEERING China版权所有, RECORD,PLAY;
output  CLK8K;
wire    [3:0] code_in,code_out;
wire    en_encoder,en_decoder,re_rst,pl_rst,WEwww.cechina.cn,CS,CLK_8K;
wire    [ADDR_WIDTH-1:0] ADDRESS;
assign   CLK8K =CLK_8K;
CLOCK_GE  U0 (CLKCONTROL ENGINEERING China版权所有,RECORD, CLK_8K);
encoder_new   U




























版权声明:版权归控制工程网所有,转载请注明出处!
继续阅读

频道推荐

关于我们

控制工程网 & CONTROL ENGINEERING China 全球工业控制、自动化和仪器仪表领域的先锋媒体

CE全球

联系我们

商务及广告合作
任小姐(北京)                 夏小姐(上海)
电话:010-82053688      电话:18616877918
rendongxue@cechina.cn      xiashuxian@cechina.cn
新闻投稿:王小姐

关注我们的微信

关于我们 | 网站地图 | 联系我们
© 2003-2020    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688