ADPCM语音编解码电路设计及FPGA实现【944字】_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

ADPCM语音编解码电路设计及FPGA实现【944字】

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

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可进行写或者读操作。

电路设计过程

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

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_INre_rst,en_encoder,CLK_8Kcode_in);

RAMU2(ADDRESS,WECS,CLK_8K,code_in,code_out);

decoder_newU3(pl_rstCLK_8K,code_out,en_decoderPCM_OUT);

controllogicU4(CS,re_rstpl_rst,en_encoder,en_decoder,WEADDRESS,RECORD,PLAYCLK_8K);

endmodule

予模块电路设计及仿真

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

[1][2]下一页

(责任编辑:qin)