《ADPCM原理与应用简介》由会员分享,可在线阅读,更多相关《ADPCM原理与应用简介(6页珍藏版)》请在金锄头文库上搜索。
1、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 d
2、ecoding 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 coding1、引言近几十年来对语音数字化和数字化压缩进行了许多研究工作,并取得了丰硕的成果。1982 年 CCITT 制定了 64kb/s 压扩 PCM 语音编码标准 G.711。1986年 CCITT 又制定了 32kb/s ADPCM 语音压缩编码标准 G.7
3、21。ADPCM 是波形编码中非常有效的一种数字编码方式。在 ADPCM 系统中量化器和预测器均采用自适应方式,即量化器和预测器的参数能随输入信号的统计特性自适应于或接近于最佳的参数状态。与 PCM 系统相比,ADPCM 的量化器和预测器都是根据前面出现的 PCM 抽样值并对下一个抽样值进行预测,将当前的抽样值和预测值进行求差,然后对差值进行编码。对差值编码需要的位数要比直接对原始语音信号编码所需的位数少,从而达到对信号压缩的目的,在这里编码所包含的信息从原来的原始语音信号变为语音信号之间的变化。本文对 PCM、DPCM、DM、ADM 以及 ADPCM 的基本原理进行讨论,并对它们性能进行比较
4、,最后简单介绍了 ADPCM 在现代通信中的应用。2、基本原理介绍1. 脉冲编码调制 PCM脉冲编码调制 PCM(Pulse Code Modulation )是使用最为广泛的调制方法。在 PCM 的调制过程中,将输入的模拟信号进行取样,量化和编码。这种方法通过用脉冲编码量化后的值来代表模拟信号的幅度,即用二进制的大小来代表模拟信号的幅度。在接收端再将这些编码的二进制数还原为原来的模拟信号。2. 差分脉冲编码调制 DPCM差分 PCM(Differential PCM)记录的不是信号的绝对大小而是相对大小。因为信号的相对大小的变化通常要比信号本身要小,编码是所用的码位也就少。如果取样频率足够高
5、,大多数连续的样值之间会有很大的相关性。差分系统就是利用这种信息的冗余,不记录信号的大小,而是记录相邻值之间的差值的大小。抽样值+量化器预测器+xnenenxnxn图 2.1 DPCM 编码器示意图差分编码采用预测编码技术,从输入中减去预测值,然后对预测误差进行量化,最终的编码就是预测值与实际值之间的差值。解码器用以前的数据对当前样值进行预测,然后用误差编码重构原始样值。这种方法使用的比特数较少,但它的性能决定于预测编码方法以及它对信号变化的适应能力。3. 增量调制 DMDPCM 对输入信号与预测值之差进行编码。当取样的频率提高时,样值之间的变化减小,样值之间的相对性变强。增量调制 DM(De
6、lta modulation)是一种特殊简化的 DPCM,只用了 1 bit 的量化器,它采用较高的取样频率和 1 比特的编码。因为只能用一个量化级来代表样值的变化,为了跟踪信号的变化,必须使用高的取样频率,一般要求在 200kHz 以上。因此编码反映的只是差分本身,而不是原始的信号。而且在 DM 中,当语音波形幅度发生急剧变化时,译码波形不能充分跟踪这种急剧的变化而必然产生失真,这称为斜率过载。而在没有语音的无声状态时,或者信号幅度为固定值时,量化输出都将呈现 0、1交替的序列。这种噪声称为颗粒噪声。4. 自适应增量调制 ADM一般情况下,人耳对过载量化噪声不是很敏感,而对颗粒噪声较为敏感,
7、所以要将的幅值取得足够小。但是取得小,过载噪声就会增大,因而这时必须增加采样频率,以减少信号量化过程中的过载噪声,然而如果提高采样频率,那么信息压缩的效果就会降低。兼顾这两方面的要求,应采用随输入波形自适应的改变大小的自适应编码方式,使值随信号平均斜率而变化:斜率大时,自动增大;反之则减小。这就是自适应增量调制 ADM(Adaptive DM) 。这个方法的原理是:在语音信号的幅值变化不太大的区间内,取小的值来抑制颗粒噪音;在幅值变化大的地方,取大的值来减小过载噪音。其增量幅度的确定方法为,首先在颗粒噪音不产生大的影响的前提下,确定最小的幅值。在同样的符号持续产生的情况下,将幅值增加到原来的
8、2 倍。即当+、+这样持续增加时,如果下一个残差信号还是相同的符号,那么再将幅值增加一倍,如此下去,并且确定好某一个最大的幅值上限,只要在这个最大的幅值以内同样的符号持续产生,就将幅值继续增加下去。如果相反,残差信号值为异号时,就将前面的幅值设为原来的 ,重新以 为幅值。也就212是说,如果同样的符号持续产生两次以上,在第三次时就将幅值增加一倍,如果产生异号,将幅值减小 。而且,当异号持续产生而减小幅值时,一21直减小到以最初确定的最小的幅值为下限为止。这种 ADM 算法中,它的采样率至少是 16 kHz。5. 自适应差分脉冲编码调制 ADPCM1. 编码原理自适应差分脉冲编码调制 ADPCM
9、(Adaptive Differential Pulse Code Modulation)用预测编码来压缩数据量。它结合了 ADM 的差分信号与 PCM 的二进制码的方法,是一种性能比较好的波形编码。它的核心想法是:利用自适应的思想改变量化阶的大小,即使用小的量化阶(step-size)去编码小的差值,使用大的量化阶去编码大的差值,使用过去的样本值估算下一个输入样本的预测值,使实际样本值和预测值之间的差值总是最小。+量化步长调节预测器SiXp( n - 1 )-+逆量化器d+编码输出dqSrSpq图 2.2 ADPCM 原理框图编码的核心思想是对差值进行编码和预测,采用非均匀量化,并使不同幅值
10、的信号信噪比接近一致,避免大幅值语音信号信噪比大而小幅值语音信号信噪比小。ADPCM 编码过程如图 2.2 所示输示。输入 是一个 16bit 二进制补码Si语音数据,其范围在 32767 到-32767 之间。预测采样值 ,与线性输入 的Spi差值为 d。量化器对差值进行量化产生一个有符号的 4 位编码数据 I,这个数据的表示范围在 7 到-7 之间,最高位为符号位。编码时,首先计算 16 位的二进制补码的当前采样值 和上一预测采样值i之间的差值 d,这个差值的量化编码即输出 4 位 ADPCM 值 I。在算法实现Sp中,定义一个结构变量存储预测采样 和量化步长索引,并制定了两个表。一Sp个
11、表为索引调整表,其输人为差值量化编码 I,用来更新步长索引。另一个表为步长调整表,其输人为步长索引,输出为步长 q。编码时,首先用上一个采样点的步长索引查步长调整表求出步长 q。如果当前采样值 和采样预测值Si之间的差值 d 为负,则 I 的 D3 位置 1。如果该差值绝对值大于步长 q,则 ISp的 D2 位置 1。如果 大于 ,则 I 的 D1 位置 1,如果 大于q22d,则 I 的 D0 位置 1。如果以上条件不满足,则相应位置 0。这样就确定了4q编码值 I。然后编码值 I 作为索引调整表的输入,查表输出索引调整,并和结构变量中原步长索引相加,产生新的步长索引,在下一个采样值的编码中
12、使用。编码输出 I 后,编码还需要重复进行和解码完全一样的计算过程,求出新的预测采样值 。Sp逆量化器步长调节 预测器+IdqSrSpq图 2.3 解码原理框图2. 解码原理解码是编码的逆过程,ADPCM 的解码过程如图 2.3 所示。解码输入即编码输出 I,逆量化器将 I 逆量化成差值 。差值 与预测采样 相加得到解码dqqSp输出 。解码过程同编码过程中求预测采样的原理是一样的,当编码端的Sr能很好的跟踪上 时,解码端的 也能同样再现 。这里涉及算法本身r i Sr i的时延和实现平台、实现方法的实时性等因素。解码时首先通过步长索引查步长调整表得到量化步长,差值量化编码 I 经逆量化器得到
13、语音差值 ,这是求 I 的逆过程;然后与前次预测值一起重建当dq前语音信号 ,最后用固定预测 ,更新预测采样 ,用 I 更新量化Sr rpSp步长索引值。3、ADPCM 在通信系统中的应用根据 CCITT 的 G.721 建议,以码率为 32kb/s 的 ADPCM 作为语音压缩的国际标准。在 ADPCM 算法中,它的采样率可以是 8KHz,采样精度 16bit,量化阶的保存为 4 位,因此压缩比为 4:1,即每秒保存或者传送大小为 32Kbit。且从波形恢复出来的声音效果与原始声音几乎没有区别,人耳无法辨别。ADPCM 在语音编码的技术要求如下:语音信号经 ADPCM 编码后,客观测量 SN
14、R 完全符合 PCM 编码系统的指标要求(CCITT G.721 G.711 的建议),主观听觉测试性能,应非常接近于 PCM质量。经过 4 次音频转接后,主观语音测试质量良好。在信道误码率低于 的情况下能稳定工作。103的 Modem 信号经过 4 次编解码后,其误码率应小于 。sbit80 1065输人输出接口采用标准的 A 律或 律 信号。目前PCMskbit6主要应用于扩充现有 PCM 信道传输容量,即把两个 30 路ADPCMskbit32PCM 信号合并成一个 的 60 路 ADPCM 信号,这是 CCITT G.761 建skbit2048议的国际标准。由于标准 是经过对数压缩后
15、的数字信号,它不能PC6直接进行一般算术运算。所以,在进人 ADPCM 编码前,必须把 A 律 PCM 码变换成自然二进码,又称为 PCM 线性码。这可以通过两者之间内在的对应关系来实现。在接收端,则需要进行一次反变换,即将收到的 60 路的的信号,分解成两个含 30 条话路的信号,且这两个 PCM 信号中各skbit2048话路所占时隙位置与编码转换前完全相同,从而实现了在不提高传输速率的情况下将数字信道的容量扩大一倍。即用 ADPCM 码解码得到的线性 PCM 码来表示重建的信号,然后变换成 A 成律或 律后对数信号输出。图 3.1 是一个ADPCM 在实际应用中的示意图。终端机信道机 信
16、道机终端机A D P C M 信道机信道机A D P C M信道机信道机图 3.1 ADPCM 实际应用示意图。4、总结ADPCM 算法思路清晰,软件编程实现方便,具有良好的语音跟踪性能,能够很好地压缩语音信号,从而大大缩减数据存储空间,并且提高数据的传输速度。与其它编码方式相比,ADPCM 能提供跟高的压缩比,提高了频率利用率,因此在频带紧缺的现代通信中具有广泛的应用前景。参考文献1 李白萍.现代通信理论.西安电子科技大学出版社.20062 廖广锐,刘萍基于 ADPCM 的语音压缩算法研究计算机与数字工程第 35 卷 2007 第 7 期3 戴振华 .ADPCM 设备在湖北微波通信中的应用.电力系统通信.1997 年第 2 期4 陈明义 .基于 FPGA 的 ADPCM 语音编解码器设计实现.电子科技.2007年第 1 期5 杨自 .ADPCM 语音解码合成输出系统的设计.光通信研究.2009 年第 1期6 钱亚生,冯重熙 .A