版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档-下载后可编辑ADPCM语音编解码VLSI芯片的设计方法-基础电子
ADPCM算法及其编解码器原理
ADPCM(AdaptiveDifferentialPulseCodeModulation,自适应差分脉冲编码调制)综合了APCM的自适应特性和DPCM系统的差分特性,是一种性能较好的波形编码。它的思想是:利用自适应改变量化阶的大小,即使用小的量化阶去编码小的差值,使用大的量化阶去编码大的差值;使用过去的样本值估算下一个输入样本的预测值,使实际样本值和预测值之间的差值总是。ADPCM记录的量化值不是每个采样点的幅值,而是该点的幅值与前一个采样点幅值之差。
ADPCM是利用样本与样本之间的高度相关性和量化阶自适应来压缩数据的一种波形编码技术。ADPCM标准是一个代码转换系统,它使用ADPCM转换技术实现64kb/sA律或u律PCM(脉冲编码调制)速率和32kb/s速率之间的相互转换。ADPCM的简化框图如图1所示。
ADPCM编解码器的输入信号是G.711PCM代码,采样率是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解码器
电路设计过程
本文采用Top-down方法进行电路设计。主要设计流程如下:首先基于VerilogHDL运用Active-HDL进行电路的RTL级描述和功能仿真;将经过功能仿真正确的程序在QuartusII开发系统中进行综合和适配;接下来将得到的网表文件(.vo)和具有时延信息的反标文件(.sdo)调入ModelSimSE中,并加入所选器件相应的器件库进行时序仿真;时序仿真通过后,将QuartusII得到的“*.sof”文件通过JTAG配置模式到FPGA中进行不可掉电的实际测试,也可将“*.pof”文件通过AS配置模式到FPGA中进行可掉电的实际测试。电路系统的顶层程序如下。
图2电路整体结构图
moduleADPCM_TOP(PCM_OUT,PCM_IN,RECORD,PLAY,CLK,CLK8K);
parameterADDR_WIDTH=14;
parameterPCM_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;
inputCLK,RECORD,PLAY;
outputCLK8K;
wire[3:0]code_in,code_out;
wireen_encoder,en_decoder,re_rst,pl_rst,WE,CS,CLK_8K;
wire[ADDR_WIDTH-1:0]ADDRESS;
assignCLK8K=CLK_8K;
CLOCK_GEU0(CLK,RECORD,CLK_8K);
encoder_newU1(PCM_IN,re_rst,en_encoder,CLK_8K,code_in);
RAMU2(ADDRESS,WE,CS,CLK_8K,code_in,code_out);
decoder_newU3(pl_rst,CLK_8K,code_out,en_decoder,PCM_OUT);
controllogicU4(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存储容量。
整体电路仿真
[table][/table]在子模块电路仿真正确后,对系统整体进行仿真,可以得到图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验证表明:电路的时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司股份合作协议书新
- 厂家电池采购合同
- 并购交易居间协议(与卖方财务顾问签)
- 保温材料公司劳务协议书
- 工地杂工承包合同范文
- 餐饮经营合作协议范文
- 工程学习心得体会
- 工程项目招标自查自纠报告
- 湖南省郴州市九校2023-2024学年高一下学期5月月考地理试题
- 4.1 陆地水体及其关系-河流的补给类型 中图版(2019)选择性必修1高二上学期
- 足球-正面头顶球教案
- 小学道德与法治-天下兴亡匹夫有责的爱国情怀教学设计学情分析教材分析课后反思
- 2023-2024学年安徽省县中联盟高二上学期10月联考物理试卷和答案
- 高中历史学科课堂教学评价量表(试用)
- 广东省通用安装工程综合定额(2018)Excel版
- 《高铁乘务安全管理及应急处置》课程教案-崔艺琳编写
- 数据仓库与大数据分析平台构建方案
- 五年级上册科学水的作用课件
- 服装家居服成品检验标准
- 社会历史的本质高中政治统编版必修四哲学与文化
- 美丽的颜色ppt课件(完美版)
评论
0/150
提交评论