基于ADPCM的语音信号编解码_第1页
基于ADPCM的语音信号编解码_第2页
基于ADPCM的语音信号编解码_第3页
基于ADPCM的语音信号编解码_第4页
基于ADPCM的语音信号编解码_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于ADPCM的语音信号编解码 班级:电子与通信工程姓名:学号: 目录一、语音压缩编码简介- 2 -1.1 语音压缩技术的现状及发展方向- 2 -1.2 语音压缩编码分类- 2 -1.3 语音信号压缩的基本原理- 2 -1.4 语音压缩编码性能的评价指标- 3 -二、G.721编码及算法实现- 4 -2.1自适应差分脉冲编码调制ADPCM- 4 -2.2 G.721各部分算法介绍- 5 -三、仿真结果- 9 -四、分析与总结- 11 -五、仿真程序- 12 -六、参考文献- 14 -摘要自适应差分脉冲编码调制(ADPCM)是运用了自适应技术、脉冲编码调制、差值调制技术,对PCM(脉冲编码调制)

2、语音信号进行再压缩。本报告从ADPCM编码基础理论出发,基于对G721标准的分析和理解,对语音压缩编码算法进行了仿真,包括了一下几个模块,自适应预测,快速非锁定因子的计算,单频信号的判定,窄带信号瞬变判定,自适应速度控制,量化矩阵自适应因子的计算,自适应量化编码,自适应逆量化,量化器标度因子自适应的选取,速度控制。然后,实现了一个ADPCM的编码器程序。最后,基于对编码器的研究,进行了解码输出的仿真。一、语音压缩编码简介语音信号的数字化传输一直是通信发展的主要方向之一,语音的数字通信和模拟通信相比,无疑具有更好的效率和性能,这主要体现在:具有更好的语音质量:具有更强的抗干扰性,并易于进行加密;

3、可节省带宽,能够更有效的利用网络资源;更加易于存储和处理。最简单的数字化方法是直接对语音信号进行模数转换,只要满足一定的采样率和量化要求,就能够得到高质量的数字语音,但这时语音的数据量仍旧很大,因此在进行传输和存储之前,往往要对其进行压缩处理,以减少其传输码率或存储量,即进行压缩编码。传输码率也称为数码率或编码速率,表示每秒传输语音信号所需的比特数。1.1 语音压缩技术的现状及发展方向    语音压缩编码技术的发展是十分迅速的,CELP的编码速率较低,但复杂度较高,可以在4.8kb/s左右的码速率上获得较高质量的语音,是当今中低速率语音编码技术的主流技术

4、之一,许多国际标准化组织及机构纷纷将这一编码方案作为语音编码标准。在对其改善质量、降低复杂度、减少编码延迟等方面都提出了不少新的方法,使CELP在实践中得到广泛应用。随着DSP技术的发展,CELP技术还具有一定的潜力,例如将G.729扩展到6.4kb/s,用于TDMA/CDMA移动无线系统和DCME。目前,语音压缩编码技术主要有两个努力方向:一个是中低速率的语音编码的实用化,及如何使用化过程中进一步减低编码速率和提高其抗干扰、抗噪声能力;另一个是如何进一步的降低其编码速率,目前已能在5kb/s-6kb/s的速率上获得高质量的重建语音,下一个目标则是要在4kb/s的速率上获得短延时、高质量的重建

5、语音。特别是对中长延时编码,人们正在研究其更低速率(如400b/s-1200b/s)的编码算法,在这个过程中当编码速率降至2.4kb/s速率以下时,CELP算法即使应用更高效的量化技术也无法达到预期的指标,需要其它一些更符合低速率编码要求的算法,目前比较好的算法还有正弦变换编码(STC)、混合激励线性预测编码(MELPC)、时频域插值编码(TFI)、基音同步激励线性预测编码(PSELP)等,同时还要求引入新的分析技术,如非线性预测、多精度时频分析技术(包括子波变换技术)、高阶统计分析技术等,这些技术更能挖掘人耳听觉掩蔽等感知机理,更能以类似人耳的特性作语音的分析与合成,使语音编码系统更接近于人

6、类听觉器官的处理方式工作,从而在低速率语音编码的研究上取得突破。1.2 语音压缩编码分类语音编码按编码方式分为3类:波形编码、参数编码、混合编码。波形编码是将时间域或变换域信号直接变换为数字信号,力求使重建语音波形保持原始语音信号的波形形状。参数编码又称声码器编码,它是将信源信号在频域或其他变换域提取特征参数,然后对这些特征参数重建语音信号。混合编码将波形编码和参数编码结合起来,克服了波形编码和参数编码的缺点,吸收了它们的长处,能够在低速率上得到高质量的合成语音。1.3 语音信号压缩的基本原理在数字通信中,语音信号被编码为二进制数字序列,通过信道传输或存储,在经过解码后恢复为可懂的语音。将语音

7、信号编码为二进制数字序列后再经传输或储存有其独特的优点。例如,可摆脱传输或存储中噪声的干扰。模拟传输信道的噪声总是要使语音信号发生畸变,而数字通信只要有足够的通信站,就能排除所有噪声的影响;另一方面,磁带录音机存储模拟信号时要受磁带噪声和其他噪声的影响,而采用计算机存储数字语音信号时,惟一的失真来自模数转换前的低通滤波。另外,数字编码的信号还便于处理和加密、再生与转发,也可与其他信号复用一个信道,设备便于集成等。 最简单的语音编码方法是对其直接进行模/数变换;只要其取样率足够高,量化每个样本的比特数足够大,那么就能保证解码恢复的语音信号有非常好的音质,而且也不会丢失有用信息。可是对语音信号直接

8、进行数字化其所需数码率太高,比如普通电话通信中采用8KHZ取样率,如用12bit进行量化,则数码率为96kbit/s,这样大的数码率即使对很大容量的传输信道也是难以承受的。而语音信号用PCM编码后,数码率为64kbit/s,不进行压缩很难用调制解调器在电话线路上传输,所以必须进行压缩编码。 对语音进行编压缩码的基本依据有两个。一是,从产生的物理机理和语音结构的性质来看,语音信号中存在较大的冗余度。从信息保持的角度讲,只有当信源本身具有冗余度,才能对其进行压缩。语音压缩实质上就是识别语音中的冗余度并设法去除掉它们。冗余度最主要部分可以分别从时域或频域来考虑,归纳起来有以下几个方面:1,语音信号样

9、本间的相关性很强,即其短时谱不平坦。2,浊音语音段具有准周期性。3,声道的形状及其变化比较慢。4,传输码值的概率分布是非均匀的。 语音编码的第二个依据是利用人类听觉的某些特性。人耳听不到或感知不灵敏的语音分量可视为冗余(这种冗余可看作为主观上的冗余),所以可以利用人耳感知模型,去除掉人耳感觉不灵敏的语音分量,而重构后的语音质量不明显下降。 总之,利用冗余度或者是听觉上的制约,可以压缩表示语音信号的必要信息,从而可降低传输速率或存储容量脉冲编码的基本框图:1.4 语音压缩编码性能的评价指标语音编码的根本目标就是在尽可能低的编码速率条件下,重建得到尽可能高的语音合成质量,同时还应尽量减小编码延时和

10、算法复杂度,因此编码效率、编码语音质量评价、编解码延时以及算法的复杂度就成了评价一个语音编码算法性能的基本指标。编码速率直接反应了语音编码对语音信息的压缩程度。编码速率可以用“比特/秒”来度量,它代表总的编码速率。现在大部分编码标准都是固定速率编码,其范围为0.8-64kbit/s。其中,保密电话的编码速率最低,其原因是它的通信信道带宽限定在4.8kbit/s一下。数字蜂窝移动电话和卫星电话编码器的编码速率为3.3-13kbit/s,它使数字蜂窝系统的容量可以达到模拟系统的多倍。编码语音质量评价分为主观评价和客观评价。主观评价方法是基于一组测听者对原始语音与合成语音进行对比试听,然后根据某种事

11、先规定好的尺度标准来对失真语音划分等级的。主要反映的是测听者主观上对语音质量或者可懂度的一种感知。客观评价算法在理想情况下需要在没有原始语音下对语音进行评价。需要结合不同的处理过程的知识,包括底层处理和高层处理。现有的评价方法局限于要知道原始的语音信号,并且多数只能模拟在底层的处理过程。编解码延时一般用单次编解码所需的时间来表示,在实时语音通信系统中,语音编解码延时同线路传输延时的作用一样,对系统的通信质量有很大影响。过长的语音延时会使通信双方产生交谈困难,而且会产生明显的回声而干扰人的正常思维。对于公用电话网,编解码延时通常要求不超过5-10ms,而对于移动蜂窝通信系统,允许最大延时不超过1

12、00ms,算法复杂度主要影响到语音编解码器的硬件实现,它决定了硬件实现的复杂度、体积、功率和成本等。对一些复杂的语音编码算法,一般编码算法的复杂度与语音质量有密切关系。再同样速率的情况下,复杂一些的算法将会获得更好一些的语音质量。同时,算法的复杂度与硬件实时实现也有密切关系。二、G.721编码及算法实现2.1自适应差分脉冲编码调制ADPCMADPCM将脉冲编码调制、差值调制和自适应技术三者结合起来,进一步利用语音信号样点间的相关性,并针对语音信号的非平稳特点,使用了自适应预测和自适应量化,在32kbit/s速率上能够给出网络等级语音质量,从而符合进入公共网的要求。图 是G.721算法的框图,其

13、中虚线部分是解码器框图。由图中可以看出,编码器中嵌入一个解码器,使得编码器的自适应修正完全取决于信号的反馈值。这个反馈值与解码器的输出是一致的,所以后续的差值采样就补偿了量化误差,从而避免了量化误差的积累。 图2-1 G.721编码器原理框图2.2 G.721各部分算法介绍(1)、求采样值s(k)和其估计值se(k)之差 (2.2.1)(2)自适应量化d(k)并编码输出I(k) (2.2.2)其中,I(k)还含有以为符号。表 给出了I(k)的编码值。y(k)是量化阶矩自适应因子,它由调整短时能量变化较快的语音信号的yu(k)和调整数据类慢变信号的yl(k)两部分,经速度调整因子al(k)加权平

14、均而成 (2.2.3)对快变信号,趋于1,而对慢变信号趋于0。 表2-1 G.721编码器量化归一化输入log2|d(k)|-y(k)输出代码I(k)归一化量化输出log2|d(k)|-y(k)3.12,+73.322.72,3.1262.912.34,2.7252.521.91,2.3442.131.38,1.9131.660.62,1.3821.05-0.98,0.6210.031-,-0.980- (3)阶矩自适应因子 称快速非锁定标度因子,它的取值范围在 区间,对应的的线性域。 (2.2.4)的取值如表所示 表2-2 的取值|I(k)|76543210wI(k)70.1322.1912

15、.387.004.002.561.13-0.75 为适应语音预测差值信号中的基音引起的能量突变,的高端取值都很大。对于带内数据,信号短时能量基本上是平稳的,阶矩自适应采用 (2.2.5)式中,称为锁定标度因子。(4)速度控制是速度控制因子,它是通过I(n)的长时平均幅度值与短时平均幅度值相差求出的。它反应了预测余量信号的变化率。函数FI(k)的取值如下表 表2-3 FI(k)的取值|I(k)|76543210FI(k)73111000当余量信号短时能量平稳时,I(k)的统计特性随时间变化很小,与相差不大。而当余量信号短时能量起伏较大时,他们出现差值。利用这一特性先计算中间参数: (2.2.6)

16、显然,当幅度变化较大时,而差别较小时,。条件表明输入信号很小,处于轻音段或噪声段,这是也有,以便使量化器处于快速自适应状态来等待输入信号的突然变化。量化器速度控制因子通过对限幅得到 (2.2.7)这样,量化器从快速自适应向慢速自适应转变有一个延迟。对于带内调幅数据,这种延迟效应可以防止自适应速度过早变慢,从而避免脉冲沿产生太大的畸变。(5)自适应逆量化器输出 (2.2.8)(6)自适应预测预测器采用6阶零点,二阶极点的模型。预测信号为 (2.2.9) (2.2.10)重建信号为 (2.2.11)极点、零点预测器系数分别是 和。其调整方式为 (2.2.12)此式隐含差,为保证算法稳定,二阶极点预

17、测器系数限制如下 (2.2.13)它们的调整方式为2.2.14)(2.2.15)式中 (2.2.16)(7)单频和瞬变调整当ADPCM编码器遇到频移键控信号(FSK)或其他窄带瞬变信号时,需要将系统从慢速自适应状态强制性地调整到快速自适应状态。为此,引入单频信号判定条件和窄带信号瞬变判据: (2.2.17) (2.2.18)当时,认为出现了单频信号或频率瞬变。这时强制将量化器处于快速自适应状态。当时,还需将和同时置零。采用这些措施后,G.721 ADPCM可以传递4.8kbit/s的FSK信号。同时的判定也由下式决定(2.2.19)当ADPCM与PCM之间发生换码级联时,需要在ADPCM内部进

18、行PCM级联同步调整。方法是在解码端将重建信号重新编码成ADPCM码并与输入的I(n)比较,根据差值调整重建的电平级别。经过同步调整过程,ADPCM可以有效地防止同步级联误差累积三、仿真结果图 3-1 解码前后语音信号波形图3-2 自适应预测前后波形图3-3 预测误差图图3-4 语音信号编码图图3-5 自适应逆量化后输出波形四、分析与总结通过图3-1原始语音信号经过ADPCM的波形,可以看出信号经过编解码后,还是可以较好的恢复出来,虽然局部有些地方没能完全恢复。图3-2是算法中对自适应预测信号和原始语音信号做出的对比,从图中可以看出,自适应预测的波形有一些失真,幅度更加平坦。图3-3是对原始语

19、音信号的采样值与其估计值之差。总体来讲绝对误差偏大了一些,而这也正好和图3-2吻合。图3-4是对语音信号编码后的图形,由于样点数过多,导致点数密集而使下部分几乎连成一片,但通过其峰值只有几个离散值还是可以较明显的看出是编码信号。图3-5是自适应逆量化后的输出波形,相比图3-4,此图更为杂乱些。报告的难点在于对标准算法的分析和理解基础上,对标准算法中描述的各个子功能框图的算法实现。因为报告的实现程序,仅仅用于对标准算法的理解与研究,在具体的实际运用中,根据需要的不同,可能无法做到普遍通用,还需要对算法进行更多的研究。五、仿真程序%主程序clcclear all;coe=1,0,1,0,0,0,0

20、,0,0,0,0;coe1=0,0,0;coe2=0,0,0,0,0,0,0,0,0,0;coe3=0;Dqk=zeros(1,7);fid=fopen('zy7.txt','rt');a=fscanf(fid,'%en');fclose(fid);fid=fopen('zy7.721.txt','wt');zyp0=size(a,1);for i=1:size(a,1) Slk=a(i);Yk_pre=coe2(1);Sek_pre=coe2(2);Ik_pre=coe2(3);Ylk_pre_pre=coe2(

21、4);Srk_pre=coe2(5);Srk_pre_pre=coe2(6);a2=coe2(7);Tdk_pre=coe2(8);Trk_pre=coe2(9);Num=coe2(10); coe2(10)=coe(10)+1;Sek,coe=Sek_com(Srk_pre,Srk_pre_pre,Dqk,coe); zyp1(1,i)=(Sek);Dk=Dk_com(Slk,Sek);zyp2(1,i)=abs(Dk);Yuk_pre=yu_result(Yk_pre,wi_result(abs(Ik_pre);if Yuk_pre<1.06 Yuk_pre=1.06;elseif

22、Yuk_pre>10.00 Yuk_pre=10.00;endYlk_pre=yl_result(Ylk_pre_pre,Yuk_pre);zyp3(1:i)=Ylk_pre;Trk_pre=Trk_com(a2,Dqk(6),Ylk_pre);zyp4(1:i)=Trk_pre;Tdk_pre=Tdk_com(a2);zyp5(1:i)=Tdk_pre;Alk,coe1=Alk_com(Ik_pre,Yk_pre,coe1,Tdk_pre,Trk_pre); if Alk<0.0 Alk=0.0;elseif Alk>1.0; Alk=1.0;endYk,coe3=Yk_c

23、om(Ik_pre,Alk,Yk_pre,coe3);Ik=Ik_com(Dk,Yk);%zyp6(1,i)=Ik;Yk_pre=Yk;Srk_pre_pre=Srk_pre;Sek_pre=Sek;Ylk_pre_pre=Ylk_pre;Ik_pre=Ik;coe2(1)=Yk;coe2(6)=Srk_pre;coe2(2)=Sek;coe2(4)=Ylk_pre;coe2(3)=Ik;Dqk(1)=Dqk(2);Dqk(2)=Dqk(3);Dqk(3)=Dqk(4);Dqk(4)=Dqk(5);Dqk(5)=Dqk(6);Dqk(6)=Dqk(7);Dqk(7)=Dqk_com(Ik_pr

24、e,Yk_pre);zyp7(1,i)=Dqk(7);Srk_pre=Srk_com(Dqk(7),Sek_pre);zyp8(1:i)=Srk_pre;coe2(5)=Srk_pre; fprintf(fid,'%fn',coe2(5);endfid=fopen('zy7.721.txt','rt');b=fscanf(fid,'%en');%子程序%采样值与其估值差值函数function d=Dk_com(Slk,Sek)Dk=Slk-Sek;d=Dk;%快速非锁定标度因子计算函数function yu=yu_result(y

25、_now,wi_now)yu=(1-2(-5)*y_now+2(-5)*wi_now;yu=yu;%锁定标度因子计算函数function yu=yu_result(y_now,wi_now)yu=(1-2(-5)*y_now+2(-5)*wi_now;yu=yu;%单频信号判定子程序function Tdk=Tdk_com(A2k) if(A2k<-0.71875)%(A2k<-0.71875) Tdk=1;else Tdk=0;endTdk=Tdk;%窄带信号瞬变判定子函数function Trk=Trk_com(A2k,Dqk,Ylk)if(A2k<-0.71875)&(fabs(Dqk)>pow(24.2,Ylk) Trk=1;else Trk=0;endTrk=Trk;%自适应速度控制和自适应预测子函数fu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论