
ADPCM原理与应用简介.docx
6页ADPCM原理与应用简介摘 要:本文介绍了 PCM、DPCM、DM、ADM以及ADPCM的基本原理, 并以ADPCM为文章的重点,对它的编解码原理及算法实现的流程框图进行了的 讨论最后以ADPCM在通信中的应用为例讨简单介绍了在实际通信中的应用关键字:ADPCM PCM ADM编码原理Abstract:This article introduce the basic principle of PCM、DPCM、DM、ADM and ADPCM. We take emphasis on ADPCM ,and discuss the theorem of coding and decoding of ADPCM,then introduce the flow char of the theorem. At last we take ADPCM as example to see the use in communication system.Keyword: ADPCM PCM ADM theory of coding―、引言近几十年来对语音数字化和数字化压缩进行了许多研究工作,并取得了丰硕 的成果。
1982年CCITT制定了 64kb/s压扩PCM语音编码标准G.7111986年 CCITT又制定了 32kb/s ADPCM语音压缩编码标准G.721ADPCM是波形编码中非常有效的一种数字编码方式在ADPCM系统中量 化器和预测器均采用自适应方式,即量化器和预测器的参数能随输入信号的统计 特性自适应于或接近于最佳的参数状态与PCM系统相比,ADPCM的量化器 和预测器都是根据前面出现的PCM抽样值并对下一个抽样值进行预测,将当前 的抽样值和预测值进行求差,然后对差值进行编码对差值编码需要的位数要比 直接对原始语音信号编码所需的位数少,从而达到对信号压缩的目的,在这里编 码所包含的信息从原来的原始语音信号变为语音信号之间的变化本文对PCM、DPCM、DM、ADM以及ADPCM的基本原理进行讨论,并 对它们性能进行比较,最后简单介绍了 ADPCM在现代通信中的应用二、基本原理介绍1. 脉冲编码调制PCM脉冲编码调制PCM ( Pulse Code Modulation )是使用最为广泛的调制方法 在PCM的调制过程中,将输入的模拟信号进行取样,量化和编码这种方法通 过用脉冲编码量化后的值来代表模拟信号的幅度,即用二进制的大小来代表模拟 信号的幅度。
在接收端再将这些编码的二进制数还原为原来的模拟信号2. 差分脉冲编码调制DPCM差分PCM(Differential PCM)记录的不是信号的绝对大小而是相对大小 因为信号的相对大小的变化通常要比信号本身要小,编码是所用的码位也就少 如果取样频率足够高,大多数连续的样值之间会有很大的相关性差分系统就是 利用这种信息的冗余,不记录信号的大小,而是记录相邻值之间的差值的大小图2.1 DPCM编码器示意图差分编码采用预测编码技术,从输入中减去预测值,然后对预测误差进行量 化,最终的编码就是预测值与实际值之间的差值解码器用以前的数据对当前样 值进行预测,然后用误差编码重构原始样值这种方法使用的比特数较少,但它 的性能决定于预测编码方法以及它对信号变化的适应能力3. 增量调制DMDPCM对输入信号与预测值之差进行编码当取样的频率提高时,样值之 间的变化减小,样值之间的相对性变强增量调制DM(Delta modulation)是一 种特殊简化的DPCM,只用了 1 bit的量化器,它采用较高的取样频率和1比特 的编码因为只能用一个量化级来代表样值的变化,为了跟踪信号的变化,必须 使用高的取样频率,一般要求在200kHz以上。
因此编码反映的只是差分本身, 而不是原始的信号而且在DM中,当语音波形幅度发生急剧变化时,译码波 形不能充分跟踪这种急剧的变化而必然产生失真,这称为斜率过载而在没有语 音的无声状态时,或者信号幅度为固定值时,量化输出都将呈现0、1交替的序 列这种噪声称为颗粒噪声4. 自适应增量调制ADM一般情况下,人耳对过载量化噪声不是很敏感,而对颗粒噪声较为敏感,所 以要将△的幅值取得足够小但是△取得小,过载噪声就会增大,因而这时必须 增加采样频率,以减少信号量化过程中的过载噪声,然而如果提高采样频率,那 么信息压缩的效果就会降低兼顾这两方面的要求,应采用随输入波形自适应的 改变△大小的自适应编码方式,使△值随信号平均斜率而变化:斜率大时,△自 动增大;反之则减小这就是自适应增量调制ADM(Adaptive DM)这个方法的原理是:在语音信号的幅值变化不太大的区间内,取小的△值来 抑制颗粒噪音;在幅值变化大的地方,取大的△值来减小过载噪音其增量幅度 的确定方法为,首先在颗粒噪音不产生大的影响的前提下,确定最小的△幅值 在同样的符号持续产生的情况下,将△幅值增加到原来的2倍即当+△、+△ 这样持续增加时,如果下一个残差信号还是相同的符号,那么再将△幅值增加一 倍,如此下去,并且确定好某一个最大的△幅值上限,只要在这个最大的△幅值 以内同样的符号持续产生,就将△幅值继续增加下去。
如果相反,残差信号值为 异号时,就将前面的幅值△设为原来的12,重新以2为幅值也就是说,如 果同样的符号持续产生两次以上,在第三次时就将△幅值增加一倍,如果产生异 号,将△幅值减小12而且,当异号持续产生而减小△幅值时,一直减小到以 最初确定的最小的△幅值为下限为止这种ADM算法中,它的采样率至少是16 kHz5.自适应差分脉冲编码调制ADPCM1.编码原理自 适应差分脉冲编码调制 ADPCM(Adaptive Differential Pulse Code Modulation)用预测编码来压缩数据量它结合了 ADM的差分信号与PCM的二 进制码的方法,是一种性能比较好的波形编码它的核心想法是:①利用自适应 的思想改变量化阶的大小,即使用小的量化阶(step-size)去编码小的差值,使用 大的量化阶去编码大的差值,②使用过去的样本值估算下一个输入样本的预测 值,使实际样本值和预测值之间的差值总是最小编码输出图2.2 ADPCM原理框图编码的核心思想是对差值进行编码和预测,采用非均匀量化,并使不同幅值 的信号信噪比接近一致,避免大幅值语音信号信噪比大而小幅值语音信号信噪比S小ADPCM编码过程如图2.2所示输示。
输入i是一个16bit二进制补码语音一 s S数据,其范围在32767到-32767之间预测采样值p,与线性输入i的差值为 d量化器对差值进行量化产生一个有符号的4位编码数据I,这个数据的表示范 围在7到-7之间,最高位为符号位S编码时,首先计算16位的二进制补码的当前采样值i和上一预测采样值Sp之间的差值d,这个差值的量化编码即输出4位ADPCM值I在算法实现中,一 S定义一个结构变量存储预测米样p和量化步长索引,并制定了两个表一个表 为索引调整表,其输人为差值量化编码I,用来更新步长索引另一个表为步长 调整表,其输人为步长索引,输出为步长q编码时,首先用上一个采样点的步S S长索引查步长调整表求出步长q如果当前采样值i和采样预测值p之间的差 值d为负,则I的D3位置1如果该差值绝对值大于步长q,则I的D2位置1 如果d - 4大于q 2,贝U I的D1位置1,如果° - q - q2)大于q4,贝U I的D0 位置1如果以上条件不满足,则相应位置0这样就确定了编码值I然后编码 值I作为索引调整表的输入,查表输出索引调整,并和结构变量中原步长索引相 加,产生新的步长索引,在下一个采样值的编码中使用。
编码输出I后,编码还S需要重复进行和解码完全一样的计算过程,求出新的预测采样值p图2.3解码原理框图2.解码原理解码是编码的逆过程,ADPCM的解码过程如图2.3所示解码输入即编码d d S输出I,逆量化器将I逆量化成差值q差值q与预测采样p相加得到解码输S S出Sr解码过程同编码过程中求预测采样的原理是一样的,当编码端的Sr能很S S S好的跟踪上i时,解码端的r也能同样再现i这里涉及算法本身的时延和 实现平台、实现方法的实时性等因素解码时首先通过步长索引查步长调整表得到量化步长,差值量化编码I经逆d量化器得到语音差值q,这是求I的逆过程;然后与前次预测值一起重建当前S S = S 一 S语音信号r,最后用固定预测p r,更新预测米样p,用I更新量化步长索引值三、ADPCM在通信系统中的应用根据CCITT的G.721建议,以码率为32kb/s的ADPCM作为语音压缩的国 际标准在ADPCM算法中,它的采样率可以是8KHz,采样精度16bit,量化阶 的保存为4位,因此压缩比为4:1,即每秒保存或者传送大小为32Kbit且从波 形恢复出来的声音效果与原始声音几乎没有区别,人耳无法辨别ADPCM在语音编码的技术要求如下:语音信号经ADPCM编码后,客观测量SNR完全符合PCM编码系统的指 标要求(CCITT G.721 G.711的建议),主观听觉测试性能,应非常接近于PCM质 量。
经过4次音频转接后,主观语音测试质量良好在信道误码率低于10「3的情况下能稳定工作4800bit s的Modem信号经过4次编解码后,其误码率应小于10「5〜10_6输人输出接口采用标准的A律或卩律64kbitsPCM信号目前 32kbit汕ADPCM主要应用于扩充现有PCM信道传输容量,即把两个30路PCM 信号合并成一个2048kbit;s的60路ADPCM信号,这是CCITT G.761建议的国 际标准由于标准64kbit sPCM是经过对数压缩后的数字信号,它不能直接进 行一般算术运算所以,在进人ADPCM编码前,必须把A律PCM码变换成自 然二进码,又称为PCM线性码这可以通过两者之间内在的对应关系来实现 在接收端,则需要进行一次反变换,即将收到的60路的2048kb決s的信号,分 解成两个含30条话路的信号,且这两个PCM信号中各话路所占时隙位置与编 码转换前完全相同,从而实现了在不提高传输速率的情况下将数字信道的容量扩 大一倍即用ADPCM码解码得到的线性PCM码来表示重建的信号,然后变换 成A成律或卩律后对数信号输出图3.1是一个ADPCM在实际应用中的示意图图3.1 ADPCM实际应用示意图。
ADPCM算法思路清晰,软件编程实现方便,具有良好的语音跟踪性能,能 够很好地压缩语音信号,从而大大缩减数据存储空间,并且提高数据的传输速度 与其它编码方式相比,ADPCM能提供跟高的压缩比,提高了频率利用率,因此 在频带紧缺的现代通信中具有广泛的应用前景参考文献[1] 李白萍•现代通信理论•西安电子科技大学出版社.2006[2] 廖广锐,刘萍.基于ADPCM的语音压缩算法研究.计算机与数字工程.第 35卷2007第7期[3] 戴振华.ADPCM设备在湖北微波通信中的应用.电力系统通信.1997年 第2期[4] 陈明义.基于FPGA的ADPCM语音编解码器设计实现.电子科技.2007 年第1期[5] 杨自.ADPCM语音解码合成输出系统的设计•光通信研究.2009年第1 期[6] 钱亚生,冯重熙.ADPCM自适应差分脉码调制[7] 管叙涛.ADPCM系统中的自适应技术•南京邮电学院学报.1988年,第8 卷,第2期[8] 陈溯.ADPCM语音压缩编码的分析与仿真.中国西部科技.2008年11月 仲旬)第07卷第32期总第157期。
