基于dsp语音信号编解码器设计毕业设计论文 精品.docx
《基于dsp语音信号编解码器设计毕业设计论文 精品.docx》由会员分享,可在线阅读,更多相关《基于dsp语音信号编解码器设计毕业设计论文 精品.docx(34页珍藏版)》请在冰豆网上搜索。
基于dsp语音信号编解码器设计毕业设计论文精品
摘要
DSP芯片,也称数字信号处理器,是一种针对数字信号处理而特别设计的微处理器。
随着超大规模集成电路技术上取得的突破进展,集成化的DPS数字信号处理器具有体积小、功耗低和运算速度快等诸多优点,因此非常适用于语音信号的压缩处理。
目前的DPS芯片以其强大的数据处理功能而在通信和其他信号处理领域得到广泛注意,并已成为开发应用的热点技术。
近年来,随着多媒体信息技术和网络技术的高速发展,数字语音压缩技术的应用领域越来越广泛,目的是在保证语音一定质量的前提下尽可能降低其编码比特率,便于在有限的传输带宽内让出更多的信道来传送图像、文档、计算机文件和其他数据流。
为此,国际电信联盟(ITU)推出了G.711标准,即PCM编码调制。
具有语音质量高、低延时和稳定性好的优点,可用于数字语音通信领域,具有很高的研究价值。
本文首先简要的介绍了语音压缩编码算法的发展进程,以及发展趋势。
在着重分析和研究了G.711标准的算法原理的基础上,详细说明了基于高性能DSP(TMS320F2812)的语音压缩编解码系统的实现方法,并针对算法的实时实现出现的运算量大的问题。
全文分为四章,第一章概述语音压缩编解码的发展进程、趋势以及课题的主要研究内容及意义。
第二章分析了语音信号编、解码原理与G.711标准的算法原理和论述了TMS320F2812软、硬件的开发和设计。
第三章主要对结果进行讨论与验证。
第四章详细的对全文进行了总结。
关键词:
语音压缩编码,G.711,TMS320F2812。
Abstract
DSPProcessorisdesignedforreal-timedigitalsignalProcess.WiththegreatProgressesandaseriesofbreak-throughinVLSItechnologies,integratedDSPsprocessoutsoonafter.IntegratedDSPsPossessmanyadvantages,suchascompactness,lowPowercost,andhighworkingspeedandsoonwhicharemostlysuitableinspeechsignalcompressing.PresentDSPsaregettingmoreandmoreattentionsintheinformationfield,duetoitsPowerfulsignalProcessingability,becomingahot-pointtechniqueincommunicationandotherrelatingsignalnrocessingareas.
WiththerapiddevelopmentofMultimediacommunicationtechnologyandInternettechnology,ApplicationofDigitalspeechCodingismorewidelyinrecentyears.DigitalspeechCodingcanreducerateofbits,forthepurposeofprovidedmorechannelstotransferimage、document、computerfilesandotherDatastream,buttheoperationmustassurequalityofspeech.SoITUintroduceG.711,avoicecompressingcriterion,64kbpsratespeechCoding.Thecriterionhavetheadvantagesofhighspeechquality、lowtimedelayandgoodstability,whichcanbeappliedintheareaofdigitalspeechcommunicationandbeworthresearchinghighly.
FirstofallthedevelopmentcourseandtendencyofSpeechCompressCodinghasbeenintroduced.OnthebasisofanalysisandresearchtotheoryofG.711criterionarithmetic,realizationofthealgorithmofspeechcoding’ssystembasedonTMS320F2812isnarrated.Duetolargeoperationwhenarithmeticisruninreal-time,severalmethodsofoptimizedcodeswasputforward.LoadedoptimizedcodesinTMS320F2812andsimulated,thearithmetic’sperformancewascompared·
WholepaperismadeupofthreechaptersInthefirstchapter,summarizestheclassification、standardandtendencyofSpeechcoding;inthesecondchapter,theoriesofG.711criterionarithmeticareanalyzed:
designofhardwareandsoftwarespeechcoding,systembasedonTMS320f2812;inthethirdchaptertheresultsoftheexperimentareanalyzed;inthelastchapter,themainconclusionsofdesignaresummarized.
Keywords:
SpeechCompressCoding,G.711criterion,TMS320F2812.
第一章引言
1.1语音编码的发展进程及现状
语音信号处理的研究工作最早可以追溯到1876年贝尔发明的电话,该发明首次用声电、电声转换技术实现了远距离的语音传输。
1939年Dudley研制成功第一个声码器,从此奠定了语音产生模型的基础,这一工作在语音信号处理领域具有划时代的意义。
本世纪30年代以前,语音信号的处理及传输均是以模拟的方式进行。
1937年A.H.Reeves提出了脉冲编码调制PCM(PulseCodeModulation)理论开创了语音数字化通信的历程。
数字化语音的传输与存储可靠性、抗干扰、速交换、易保密等各方面都远胜于模拟语音。
从最初的64kbps的标准PCM波形编码器到现在4kbps以下的参量编码的声码器,语音压缩编码在几十年里得到迅速发展。
语音压缩编码的发展经历了以下几个阶段:
波形编码、参量编码及二者相结合的混合编码。
此外还有此基础上发展而来的增强多带激励声码器MBE(IMBE)算法。
波形编码是将时间域信号直接变换为数字代码,力图使重建语音波形保持原语音信号的波形形状。
波形编码的基本原理是在时间轴上对模拟语音按一定的速率抽样,然后将幅度样本分层量化,并用代码表示。
解码是相反过程,将接收的数字序列经解码和滤波后恢复成模拟信号。
波形编码具有抗噪性能强、语音质量好等优点,但需要较高的数码率,一般为16kbps~64kbps。
如果希望有较高的编码质量,当编码速率在下降时,其合成语音的性能会下降得很快。
最近,对于波形编码器提出了一些新技术,例如后滤波器、改进激励程序等,使得语音质量有比较大的提高。
参数编码又称为声码器技术,它通过对语音信号进行分析,提取参数来对参数进行编码,在接收端能够用解码后的参数重构语音信号。
参数编码主要是从听觉感知的角度注重语音的重现,即让解码语音听起来与输入语音是相同而不是保证其波形相同。
这种编码方式一般对数码率的要求要比波形编码低很多,但只能达到合成语音的质量(即自然度、讲话者的可识别性都较差的语音),即使码率提高到与波形编码相当时,语音质量也不如波形编码。
应用广泛的线性预测LPC(LinearPredictiveCoding)声码器是典型的语音参数编码器。
最新的参数编码器有正弦变换编码器、波形内插编码器等。
在保证语音质量的前提下,进一步降低比特率,仍然是语音编码研究的主要焦点。
然而,这是一个很复杂的问题,它受多种因素的限制,例如:
语音信号所包含的信息内容。
但是,作为一个速率低限,临界信息速率应该是人理解信号所需要的最小速率,但这是一个还需要继续深入研究的问题。
因为有关语音信号的某些信息,人能够感觉到有变化,而编码器却找不到对应的特征参量。
反之,有时语音的波形和特征参量变化很大,而人同样可以理解。
要达到理论上50bit/s确语音信息率最低限这个目标,对人脑感知信号的过程,必须有更深入的研究。
在中国,语音和语言处理技术的研发略晚于国外。
中国科学院声学研究所的俞铁城教授应该说是中国最早涉足这一领域的人之一,他于1977年在《物理学报》发表了全国第一篇关于语音识别的论文。
清华大学语音技术中心紧随其后,语音界老前辈方棣棠教授、吴文虎教授于1979年创立语音技术中心(原名语音实验室),现已有27年的历史。
随后,全国各地从事这方面研究的机构越来越多,比较著名的有清华大学电子工程系、中国科学院自动化研究所、中国科技大学、中国社会科学院语言研究所(在语音学研究方面,吴宗济先生的起步更早)、北京大学、哈尔滨工业大学等等。
在这些顶尖的学术机构的带动下,中国的语音和语言处理技术得到很大发展,并逐步在国际上引起注意。
1.2语音编码技术
语音编码的主要功能就是把语音的采样值编码成少量的比特(帧)。
而且,在通信过程产生误码、网络抖动和突发传输时,这种方法必须具有健壮性(Robustness)。
在接收端,语音帧先被解码为采样值,然后再转换成语音波形。
语音编码的目的,是在给定的编码速率下,使得从解码恢复出的重构语音的质量尽可能高。
语音编码主要可分为两种:
波形编码和参数编码。
波形编码就是根据语音的信号波形导出相应的数字编码形式,令在接收端的解码器能恢复出与输信号波形相一致的原始语音。
波形编码的基本思路是忠实地再现语音的时域波形。
为了降低比特率,波形编码会充分利用相邻抽样点之间的相关性,对差分信号进行编码。
波形编码的方法简单,有较好的合成语音质量。
但它的码率高,当码低于32kbps的时候音质明显降低。
著名的波形编码标准有G.711(64kbpsPCM编码调制)和G.726(16/24/32kbpsADPCM自适应差分脉冲编码调制)。
参数编码的原理和设计思想和波形编码完全不同。
它根据对人的发声机理的第一章绪论分析,着眼于构造语音生成模型,该模型以一定的精度模拟发声者的声道,接收端根据该模型还原生成发声者的语音。
编码器发送的主要信息是语音生成模型的参数,相当于语音的主要特征,而并非语音的波形幅值。
参数编码器可以有效地降低编码比特率,目前小于16kbps的低比特率语音编码都采用参数编码。
1.3本论文的主要内容
随着信息技术的发展,人们对带宽有限的无限通信、信道价格昂贵的卫星通信和军用保密通信的需求不断增加,各种与语音应用服务相关的新业务不断涌现,要求语音数据能被灵活处理、存储、转发和传送。
为了减少存储量和传输速率,需要对语音信号进行编码压缩,因而对语音编码技术的研究和开发受到越来越多研究人员的重视。
如何在有限的频带中得到较高的合成语音质量,并且尽可能地降低语音传输速率,就成为了亟待解决的问题。
研究人员对国际电信联盟ITU公布的一系列语音编码标准的算法实现上做了大量工作,尤其对一些性能优良的算法。
当前,对G.711标准中算法的研究一直在进行,并且取得了很大的成绩,程序得到了很大的优化。
但是这些研究更多的是集中在如何减小整个算法的复杂度方面,完全独立在DSP平台上的实现则相对很少。
本文主要讨论G.711标准的编码以及其在基于TMS320F2812实时实现的设计与开发。
首先简要的介绍了语音压缩编码算法的发展进程,以及发展趋势,然后着重分析和研究了G.711标准的算法原理与结构,详细说明了基于高性能TMS320F2812的语音压缩编解码的实现方法,并针对算法的实时实现出现的运算量大的问题。
全文分为四章,第一章概述语音压缩编解码的发展进程、趋势以及课题的主要研究内容及意义。
第二章分析了语音信号编、解码原理与G.711和论述了TMS320F2812软、硬件的开发和相关技术。
第三章主要介绍对系统进行硬件设计。
第四章详细介绍系统的软件设计以及对实验结果进行了总结。
第二章相关技术介绍
2.1G.711编解码原理介绍
2.1.1语音的数字化过程
语音的数字化过程是语音传输的基础,是把模拟的语音信号转化为可控制的数字信号的过程.其主要操作是将模拟音频信号每隔一定时间间隔截取一段,并将所截取的信号振幅转换成由一组二进制序列表示的离散序列,即数字音频序列。
在这一处理过程中,涉及到对模拟音频信号的采样、量化和编码。
(1)取样过程:
模拟音频信号是一个在时间上和幅值上都连续的函数f(f)。
取样的过程就是在时间上将函数f
(1)离散化的过程。
一般的取样是按均匀的时间间隔进行的。
由于人耳能听到的声音的频率范围大致在20Hz-20kHz,因此声音的质量与音频信号的频谱范围以及采样时间间隔有关。
表2-1常用的音频取样频率
取样频率(khz)
8
11.05
16
22.05
44.1
48
量化精度(bit)
8
8
16
16
16
16
数据率(kb/s)
64
88.4
256
352.8
705.6
768
从2-1表中可以看出,取样频率越高,数字化后的音频质量越高,存储量也越大,所以使用哪种取样频率要兼顾语音质量和信道容量。
(2)量化过程:
是将取样值在幅度上再进行离散化处理的过程。
所有的取样值可能出现的范围被划分成有限多个小阶距(量化步长)的集合,把凡是落入某个量化阶距内的取样值都赋予相同的值,即量化值。
通常这个量化值是用二进制来表示的。
如果量化阶距是相同的,或者说是量化值的分布是均匀的,称之为均匀量化,否则称为非均匀量化。
(3)编码过程:
模拟音频信号经过取样、量化后,就要进行编码,即用二进制数表示每个取样的量化值。
如果取样值既采取均匀量化,又采取自然二进制表示,这种编码方法就是脉冲编码调制PCM(PulseCodeModulation)。
PCM是一种最简单、最方便的编码方法。
经过编码后的数字信号就是数字音频信号。
由于PCM是一种未经过压缩的数字音频信号,因此常常将它作为与其他编码进行比
较的一种参考信号。
表示取样值的二进制的位数为量化位数,它反映各取样值的精度,如4位能表示取样值的16个等级,8位能反映256个等级,其精度为音频信号最大振幅的11256。
量化位数越多,量化值越接近于取样值,其精度越高,但要求的信息存储量越大。
取样值存储量可用下式表示:
v=f×B×s/8式中,v为取样值存储量(bit/s),伪取样频率(kHz),B为量化位数(bit),s为声道数。
2.1.2G.711语音压缩国际标准
G.711是一种工作在8KHz采样率模式下的脉冲编码调制方案,采样值是八位的,按照奈奎斯特法则规定,采样频率必须由高于被采样信号的最大频率成分的2倍,G.711可以编码的频率范围是从0到4KHz。
G.711可以有两种编码方案:
A律和u律。
G.711采用8KHz、8位编码值,占用带宽为64kbps。
PCM编码需要经过连续的三步:
抽样、量化和编码。
抽样取决于信号的振幅随时间的变化频率,由于电弧网络的带宽是4KHz的,为了精确地表现语音信号,必须至少采用8KHz的抽样率来取样。
量化的任务是由模拟转换成数字的过程,但会引入量化误差,应尽量采用较小的量化间隔来减小这一误差。
最后,编码完成的数字化的最后工作,在编码的过程中,应保存信息的有效位,而且算法应利于快速计算,无论是编码还是解码。
其中,压扩运算还可以采用两种标准:
A律和u律。
u律师美国和日本的公认标准,而A律是欧洲采用的标准。
我国采用的是欧洲标准。
一般的,用程序进行A律编码解码有两种方法:
一种是直接计算法,这种方法程序代码比较多,时间较慢,但可以节省宝贵的内存空间;另一种是查表法,这种方法程序量小,运算速度快,但占用较多的内存以存储查找表。
A律压扩标准:
A律编码的数据对象是12位精度的,它保证了压缩后的数据有5位的精度并存储到一个字节中,其方程如下:
F(x)=sgn(x)A|x|/(1+lnA)0<|x|<1/A
=sgn(x)(1+lnA|x|)/(1+lnA)1/A<|x|<1
其中,A为压缩参数取值87.6,x为规格化的12位(二进制)整数。
下面是用折线近似逼近的压缩。
图2-1方程曲线示意图
表2-2A律压缩编码图示
A律解码方程为:
(y)=sgn(y)|y|[1+ln(A)]/A0≤|y|≤1/(1+ln(A))
=sgn(y)
/[A+Aln(A)]1/(1+ln(A))≤|y|≤1
表2-3A律解码示意图
2.2TMS320F2812介绍
2.2.1TMS320F2812的结构及原理
TMS320C2000系列是美国TI公司推出的最佳测控应用的定点DSP芯片,其主流产品分为四个系列:
C20x、C24x、C27x和C28x。
C28x系列的主要芯片种为TMS320F2810和TMS320F2812。
两种芯片的差别是:
F2812内含128K*16位的片内Flash存储器。
有外部存储器接口,而F2810仅有64K*16位的片内Flash存储器,且无外部存储器接口。
TMS320F2812的主要特点:
(1)采用高性能静态CMOS制造工艺:
主频达150MHZ(时钟周期6.67ns),低功耗(150MHz核电压1.9V,135MHz以下核电压1.8V,I/O口电压3.3V),Flash编程电压为3.3V
(2)支持JTAG边沿扫描
(3)高性能32位CPU:
16×16和32×32乘积累加操作,16×16双乘积累加器,程序和数据空间分开寻址(哈佛总线结构),快速中断响应和处理,统一寄存器编程模式,可达4M的线性程序地址,可达4M的线性数据地址,高效的代码转换能力(支持C/C++和汇编语言)
(4)片上存储器:
有多达128K×16的FLASH存储器或有多达128K×16的ROM
(5)外部存储器接口:
有多达1MB的寻址空间,三个独立的片选端
(6)时钟与系统控制:
支持动态的改变锁相环(PLL)的频率,片上振荡器
(7)三个外部中断
(8)外部中断扩展(PIE)模块,支持45个外部中断
(9)三个32位的CPU定时器
(10)串口外围设备:
串行外部设备接口(SPI),两个串行通信接口(SCIs)
(11)12位的ADC,16通道:
2个8通道的输入多路选择器,两个采样保持器,单/连续通道转换,快速转换率80ns/12.5MSPS(兆采样每秒),可用两个事件管理器顺序触发8对模数转换
(12)多达56个独立的可编程、多用途通用输入/输出(GPIO)引脚
图2-2C28x功能框图
2.2.2TMS320F2812的存储系统原理
图2-3TMS320F2812的存储器配置及地址映射
C28x系列DSP的片内存储器包括SARAM、Flash、OTP、BootROM、CSM和中断向量存储器,每种存储器根据其各自的特点分别适合存储不同的内容,这里只介绍程序中使用的SARAM、中断向量和外设帧PF部分:
1.片内SARAM:
单口随机读/写存储器,单个机器周期内只能被访问一次。
C28x片内共有18K×16位的SARAM,分别是:
(1)0和M1:
每块的大小为1K×16位,其中M0映射至地址000000H~0003FFH,M1映射至地址000400H~0007FFH;M0和M1不受CSM模块保护。
(2)L0和L1:
每块的大小为4K×16位,其中L0映射至地址008000H~008FFFH,L1映射至地址009000h~009FFFh;L0和L1受到代码安全模块CSM的保护。
(3)H0:
大小为8K×16位,映射至地址3F8000H~3F9FFFH,H0不受CSM模块保护。
2.中断向量:
图2-3中指出了M0向量、PIE向量、BootROM向量及XINTF向量使能时的条件及各自的映射空间。
通过第五章的学习可以知道,当ST1的位VMAP=0时,CPU的中断向量映射至程序存储器0x000000~0x00003F,共计64个字;当VMAP=1时,CPU的中断向量映射至程序存储器0x3FFFC0~0x3FFFFF。
3.外设帧PF:
片内数据空间映射了3个外设帧PF0、PF1及PF2,专门作为外设寄存器的映射空间,即除了CPU寄存器之外的所有寄存器均映射到此空间,相应的映射到PF0、PF1或PF2空间。
PF0空间大小为2K×16位,地址范围为0x000800h~0x000FFF,直接映射至CPU的存储器总线,可提供16/32位的访问操作;PF1空间大小为4K×16位,地址范围为0x006000~0x006FFF,直接映射至32位外设总线;PF2空间大小为4K×16位,地址范围为0x007000~0x007FFF,直接映射至16位外设总线。
PF0、PF1及PF2各寄存器的映射分布情况分别见表2-4、表2-5和表2-6。
表2-4PF0各寄存器的映射分布情况
名称
地址范围
大小(×16)
访问类型
器件仿真寄存器
0x000880~0x0009FF
384
EALLOW保护
保留
0x000A00~0x000B00
128
Flash寄存器
0x000A80~0x000ADF
96
EALLOW保护、CSM保护
代码安全模块
0x000AE0~0x000AEF
16
EALLOW保护
保留
0x000AF0~0x000B1F
48
XINTF寄存器
0x000B20~0x000B3F
32
非EALLOW保护
保留
0x000B40~0x000BFF
192
CPU定时器寄存器
0x000C00~0x000C3F
64
非EALLOW保护
保留
0x000C40~0x000CDF
160
PIE寄存器
0x000CE0~0x000CFF
32
非EALLOW保护
PIE向量表
0x000D00~0x000DFF
256
EALLOW保护
保留
0x000E00~0x000FFF
512
表2-5PF1各寄存器的映射分布情况
名称
地址范围
大小(×16)
访问类型
eCAN寄存器
0x006000~0x0060FF
256(128×32)
部分eCAN控制寄存器为EALLOW保护
eCAN邮箱寄存器
0x006100~0x0061FF
256(