MATLAB的A律PCM译码器系统仿真_第1页
MATLAB的A律PCM译码器系统仿真_第2页
MATLAB的A律PCM译码器系统仿真_第3页
MATLAB的A律PCM译码器系统仿真_第4页
MATLAB的A律PCM译码器系统仿真_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

MATLAB的A律PCM译码器系统仿真摘要脉冲编码调制(PCM)是现代语音通信中数字化的重要编码方式.本课程设计主要目的是在信号传输过程中,运用A律PCM译码实现数字信号到模拟信号的转换。该设计运用MATLAB的M文件来编写程序,依据经过抽样、量化、编码后收到的码组(极性码除外),使用A律译码产生相应的掌握脉冲,从而输出一个与发信端抽样值接近的脉冲,通过计算,得出理论值与实际值近似,成功达到了设计效果。关键词PCM脉冲编码;MATLAB;A律13折线;译码1引言近十年来,随着大规模集成电路的飞速进展,已可将话路滤波器和PCM编码器集成在同一芯片上,这使PCM在光纤通信,数字微波通信,卫星通信等数字通信领域中获得了更广泛的应用。然而在某些需要PCM编码器的实际应用中,如数字交换机中的信号音的产生和实现,单靠PCM编解码芯片来完成整个编解码功能,在电路设计和实现上都显得烦琐和笨拙,相反如果运用软件方法来实现PCM编解码芯片的部分功能并与PCM编解码芯片相结合来共同完成整个电路设计上的编解码,不仅设计简洁,灵敏便利,而且往往可以达到事半功倍的结果。在现代通信系统中以PCM为代表的编码调制技术被广泛应用于模拟信号的数字传输。PCM的主要优点是:抗干扰能力强;失真小;传输特性稳定,尤其是远距离信号再生中继时噪声不累积,而且可以采纳压缩编码、纠错编码和保密编码等来提高系统的有效性、牢靠性和保密性.另外,PCM还可以在一个信道上将多路信号进行时分复用传输。所以,在将来的很长一段时间内,PCM在通信系统中都会起着很大的作用。随着电子技术和计算机技术的进展,仿真技术也得到了广泛的应用。基于信号用于通信系统的动态仿真软件MATLAB具有强大的功能,可以满意从底层到高层不同层次的设计、分析使用,并且供应了嵌入式的模块分析方法,形成多层系统,使系统设计更加简洁明白,便于完成简洁系统的设计。1.1课程设计目的该课程设计的目的是让我们进一步学习PCM编译码器原理;在通信系统仿真软件MATLAB平台上,采纳M文件设计A律PCM码译码器。对设计项目进行调试;对译码器进行仿真;对仿真结果结合编译码理论进行分析等。1。2课程设计要求设计译码器前,首先以理论作指导,构思设计方案.再用MATLAB语言编写程序,在MATLAB软件平台上运行,得到正确程序,并且进行调试、仿真和分析.然后对结果进行处理,输出结果和分析结论应该全都,而且应符合理论。最后,独立完成课程设计并按要求写课程设计报告书。1.3设计平台该设计使用的是MATLAB软件平台。现在应用格外广泛.一种语言之所以能如此飞快地普及,显示出如此旺盛的生命力,是由于它有着不同于其他语言的特点,正如同FORTRAN和C等高级语言使人们摆脱了需要直接对计算机硬件资源进行操作一样,被称作为第四代计算机语言的MATLAB,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATLAB最突出的特点就是简洁。MATLAB用更直观的,符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码.MATLAB给用户带来的是最直观,最简洁的程序开发环境。以下简洁介绍一下MATLAB的主要特点。(1)语言简洁紧凑,使用便利灵敏,库函数极其丰富。MATLAB程序书写形式自由,利用起丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必关注函数的牢靠性。可以说,用MATLAB进行科技开发是站在专家的肩膀上。(2)运算符丰富。由于MATLAB是用C语言编写的,MATLAB供应了和C语言几乎一样多的运算符,灵敏使用MATLAB的运算符将使程序变得极为简短。(3)MATLAB既具有结构化的掌握语句(如for循环,while循环,break语句和if语句),又有面对对象编程的特性。(4)程序限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。(5)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行.(6)MATLAB的图形功能强大。在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化格外简洁。MATLAB还具有较强的编辑图形界面的能力.(7)MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。(8)功能强大的工具箱是MATLAB的另一特色。MATLAB包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能,图示建仿照真功能,文字处理功能以及与硬件实时交互功能。功能性工具箱用于多种学科。而学科性工具箱是专业性比较强的,如control,toolbox,signl

proceessing

toolbox,commumnication

toolbox等。这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高,精,尖的讨论。(9)源程序的开放性。开放性也许是MATLAB最受人们欢迎的特点。除内部函数以外,全部MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱[1]。2设计原理2。1PCM原理脉冲编码调制(PCM,PulseCodeModulation)在通信系统中完成将语音信号数字化功能。是一种对模拟信号数字化的取样技术,将模拟信号变换为数字信号的编码方式,格外是对于音频信号。PCM对信号每秒钟取样8000次;每次取样为8个位,总共64kbps。PCM的实现主要包括三个步骤完成:抽样、量化、编码。分别完成时间上离散、幅度上离散、及量化信号的二进制表示。依据CCITT的建议,为改善小信号量化性能,采纳压扩非均匀量化,有两种建议方式,分别为A律和μ律方式,我国采纳了A律方式,由于A律压缩实现简洁,常使用13折线法编码,采纳非均匀量化PCM编码示意图如图2.1所以[2]。低通滤波瞬时压缩抽样低通滤波瞬时压缩抽样量化编码低通滤波瞬时扩张解调解码信道再生话音输入话音输出话音输出图2.1PCM原理框图其中简洁介绍下抽样、量化、编码和译码原理。(1)抽样所谓抽样,就是对模拟信号进行周期性扫描,把时间上连续的信号变成时间上离散的信号。该模拟信号经过抽样后还应当包含原信号中全部信息,也就是说能无失真的恢复原模拟信号。它的抽样速率的下限是由抽样定理确定的。在一个频带限制在(0,fh)内的时间连续信号f(t),如果以1/2fh的时间间隔对它进行抽样,那么依据这些抽样值就能完全恢复原信号。或者说,如果一个连续信号f(t)的频谱中最高频率不超过fh,当抽样频率fS≥2fh时,抽样后的信号就包含原连续的全部信息.抽样定理在实际应用中应注意在抽样前后模拟信号进行滤波,把高于二分之一抽样频率的频率滤掉。这是抽样中必不行少的步骤。(2)量化从数学上来看,量化就是把一个连续幅度值的无限数集合映射成一个离散幅度值的有限数集合。如图2所示,量化器Q输出L个量化值yk,k=1,2,3,…,L。常称为重建电平或量化电平。当量化器输入信号幅度x落在与之间时,量化器输出电平为yk。这个量化过程可以表达为:(2-1)这里称为分层电平。通常:(2—2)其中称为量化间隔。模拟信号的量化分为均匀量化和非均匀量化。由于均匀量化存在的主要缺点是:无论抽样值大小如何,量化噪声的均方根值都固定不变。因此,当信号较小时,则信号量化噪声功率比也就很小,这样,对于弱信号时的量化信噪比就难以达到给定的要求.通常,把满意信噪比要求的输入信号取值范围定义为动态范围,可见,均匀量化时的信号动态范围将受到较大的限制。为了克服这个缺点,实际中,往往采纳非均匀量化.非均匀量化是依据信号的不同区间来确定量化间隔的。对于信号取值小的区间,其量化间隔也小;反之,量化间隔就大。它与均匀量化相比,有两个突出的优点。首先,当输入量化器的信号具有非均匀分布的概率密度(实际中常常是这样)时,非均匀量化器的输出端可以得到较高的平均信号量化噪声功率比;其次,非均匀量化时,量化噪声功率的均方根值基本上与信号抽样值成比例.因此量化噪声对大、小信号的影响大致相同,即改善了小信号时的量化信噪比。实际中,非均匀量化的实际方法通常是将抽样值通过压缩再进行均匀量化。通常使用的压缩器中,大多采纳对数式压缩。广泛采纳的两种对数压缩律是压缩律和A压缩律.美国采纳压缩律,我国和欧洲各国均采纳A压缩律,因此,PCM编码方式采纳的也是A压缩律.模拟信号的量化过程如图2.2所示[3]模拟入模拟入量化器量化值图2。2模拟信号的量化(3)编码所谓编码就是把量化后的信号变换成代码,其相反的过程称为译码.当然,这里的编码和译码与差错掌握编码和译码是完全不同的,前者是属于信源编码的范畴。在现有的编码方法中,若按编码的速度来分,大致可分为两大类:低速编码和高速编码。通信中一般都采纳其次类。编码器的种类大体上可以归结为三类:逐次比较型、折叠级联型、混合型。在逐次比较型编码方式中,无论采纳几位码,一般均按极性码、段落码、段内码的挨次排列。下面结合13折线的量化来加以说明。在13折线法中,无论输入信号是正是负,均按8段折线(8个段落)进行编码.若用8位折叠二进制码来表示输入信号的抽样量化值,其中用第一位表示量化值的极性,其余七位(其次位至第八位)则表示抽样量化值的肯定大小.简略的做法是:用其次至第四位表示段落码,它的8种可能状态来分别代表8个段落的起点电平。其它四位表示段内码,它的16种可能状态来分别代表每一段落的16个均匀划分的量化级。这样处理的结果,8个段落被划分成27=128个量化级。段落码和8个段落之间的关系如表2-1所示;段内码与16个量化级之间的关系见表2-2所示.表2-1段落码表2—2段内码段落序号段落码量化级段内码8111151111141110711013110112110061011110111010105100910018100040117011160110301050101401002001300112001010001000100000PCM编译码器的实现可以借鉴单片PCM编码器集成芯片,如:TP3067A、CD22357等。单芯片工作时只需给出外围的时序电路即可实现,考虑到实现细节,仿真时将PCM编译码器分为编码器和译码器模块分别实现[4].(4)译码PCM译码器是实现PCM编码的逆系统.其中各模块功能如下:D/A转换器:用来实现与A/D转换相反的过程,实现数字量转化为模拟量,从而达到译码最基本的要求,也就是最起码的步骤.瞬时扩张器:实现与瞬时压缩器相反的功能,由于采纳A律压缩,扩张也必须采纳A律瞬时扩张器。低通滤波器:由于采样脉冲不行能是抱负冲激函数会引入孔径失真,量化时也会带来量化噪声,及信号再生时引入的定时抖动失真,需要对再生信号进行幅度及相位的补偿,同时滤除高频重量,在这里使用与编码模块中相同的低通滤波器。2.2A律13折线原理实际中,非均匀量化的实际方法通常是将抽样值通过压缩再进行均匀量化。通常使用的压缩器中,大多采纳对数式压缩。广泛采纳的两种对数压缩律是压缩律和A压缩律。美国采纳压缩律,我国和欧洲各国均采纳A压缩律,因此,PCM编码方式采纳的也是A压缩律。所谓A压缩律也就是压缩器具有如下特性的压缩律:(2-3)(2-4)其中。在实际中,A律13折线应用比u律13折线用得广泛.表2-3列出了计算值与13折线时的值的比较。表2—3计算值与A律13折线时值的比较0101按折线分段时的01段落12345678斜率16168421表2-3中其次行的值是依据时计算得到的,第三行的值是13折线分段时的值.可见,13折线各段落的分界点与曲线十分逼近,同时按2的幂次分割有利于数字化。未压缩(1)(2)(3)(4)(5)(6)(7)(8)0A律压扩特性是连续曲线,A律不同压扩特性也不同,在电路上实现这样的函数规律是相当简洁的。实际中,往往采纳近似于A律函数规律的13折线(A=87。6未压缩(1)(2)(3)(4)(5)(6)(7)(8)0图2.3A律13折线2.3文本输入法简介MATLAB语言是当今国际上科学界(尤其是自动掌握领域)最具影响力、也是最有活力的软件。它起源于矩阵运算,并已经进展成一种高度集成的计算机语言。它供应了强大的科学运算、灵敏的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能。MATLAB语言在各国高校与讨论单位起着重大的作用。ﻫ

MATLAB的含义是矩阵实验室(MATRIXLABORATORY),主要用于便利矩阵的存取,其基本元素是无须定义维数的矩阵。MATLAB自问世以来,就是以数值计算称雄.MATLAB进行数值计算的基本单位是复数数组(或称阵列),这使得MATLAB高度“向量化”。经过十几年的完善和扩充,现已进展成为线性代数课程的标准工具。由于它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、掌握、优化等领域的问题时,显得大为简捷、高效、便利,这是其它高级语言所不能比拟的。美国很多高校的实验室都安装有MATLAB供学习和讨论之用。在那里,MATLAB是攻读学位的高校生硕士生、博士生必须掌握的基本工具。MATLAB中包括了被称作工具箱(TOOLBOX)的各类应用问题的求解工具。工具箱实际上是对MATLAB进行扩展应用的一系列MATLAB函数(称为M文件),它可用来求解各类学科的问题,包括信号处理、图象处理、掌握系统辨识、神经网络等。随着MATLAB版本的不断升级,其所含的工具箱的功能也越来越丰富,因此,应用范围也越来越广泛,成为涉及数值分析的各类工程师不行不用的工具.MATLAB5.3中包括了图形界面编辑GUI,转变了以前单一的“在指令窗通过文本形的指令进行各种操作"的状况.这可让使用者也可以象VB、VC、VJ、DELPHI等那样进行一般的可视化的程序编辑。在命令窗口(matlabcommandwindow)键入simulink,就消灭(SIMULINK)窗口。以往十分困难的系统仿真问题,用SIMULINK只需拖动鼠标即可轻而易举地解决问题,这也是近来受到重视的缘由所在。2。4系统功能简介该系统主要是通过A律PCM译码,在信号传输过程中,运用A律PCM译码实现数字信号到模拟信号的转换。该设计运用MATLAB的M文件来编写程序,依据经过抽样、量化、编码后收到的码组(极性码除外),使用A律译码产生相应的掌握脉冲,从而输出一个与发信端抽样值接近的脉冲,通过计算,得出理论值与实际值近似,成功达到了设计效果.在通信系统中完成将语音信号数字化功能。PCM的实现主要包括三个步骤完成:抽样、量化、编码.分别完成时间上离散、幅度上离散、及量化信号的二进制表示。PCM编码通过抽样、量化、编码三个步骤将连续变化的模拟信号转换为数字编码。采纳均匀量化时,其抗噪声性能与量化级数有关,每增加一位编码,其信噪比增加约6dB,但实现的电路简洁程度也随之增加,占用带宽也越宽。因此实际采纳的量化方式多为非均匀量化,通常使用信号压缩与扩张技术来实现非均匀量化。在保持信号固有的动态范围前提下,在量化前将小信号进行放大而对大信号进行压缩。通常的压缩方法有13折线A律和μ律两种标准,本课程设计采纳的是A律13折线。从而成功实现了该课程设计。3设计步骤3。1系统分析通过对脉冲编码调制的了解,将PCM与译码器原理结合,通过运用MATLAB软件的M文件进行编程,在MATLAB软件平台里调试,输出结果,并对结果进行分析。实现该设计.3。2源程序的运行与解释该程序主要是通过MATLAB软件里的M文件,结合A律13折线和PCM译码器进行编程,实现译码输出。源程序代码为:x=input(‘输入编码信号向量形式:’);%输入PCM编码信号a=input(‘输入信号范围a:’);b=input(‘输入信号范围b:’);%a,b为输入信号范围delta=b/2048;%量化间隔n1=x(2)*2^2+x(3)*2^1+x(4)+1;%将二进制码转换成十进制码,求得信号落在第几个段落区间ifn1==1a1=0;b1=16;elsea1=2^(n1+2);b1=2^(n1+3);end%求该段落区间的范围delta1=(b1-a1)/16;%将该段落平均分成16份p=x(5)*2^3+x(6)*2^2+x(7)*2^1+x(8);%p为该信号落在第几个段内区间a2=a1+delta1*(p);b2=a1+delta1*(p+1);%求得段内区间范围disp(‘译码器输出为:’)ifx(1)==1y=(a2+b2)/2*delta%依据极性输出PCM解码值elsey=—(a2+b2)/2*deltaend3。3程序输入与输出结果程序的编码输入与译码输出如下:>>q_pcmx=[10011101]a=-2048b=2048〉〉y=29。50003.4输出结果分析输入编码信号的向量第一个1是极性码,代表为正。后面的001代表的是在其次区间,其中其次区间的范围是16~32,把其次区间分成16份,每个量化区间为1,最后四位1101代表的是其次的区间的第13个量化间隔。译码输出为:(3—1)该计算结果与程序输出结果相同,所以结果正确[6]。4消灭的问题与解决方法在设计过程中,消灭了很多错误。但经过老师和同学的帮助,都一一解决了。(1)开头进行调试的时候,提示我的文件没被定义。由于以前对MATLAB的了解比较少,所以我也不知道什么缘由,于是请教了个成果好的同学。这才知道原来是我没打开M文件所在的文件,因此导致程序以及一些公式无法被调用。经过重新设置,终究可以进行调试。(2)后来,遇到一个严重的问题。程序译码输出结果为:(4—1)但我计算的结果是:(4-2)译码输出与我计算的结果差1。开头以为是我算错了,就重新算了一遍,并且请同学进行了检查,但同样发现结果是29.5000。于是把错误定在了程序上,但又感觉程序没有错误。通过对程序一句依据反复的检查,最后发现“p=x(5)*2^3+x(6)*2^2+x(7)*2^1;”出了问题.由于我少写了一项x(8),原来应该是“p=x(5)*2^3+x(6)*2^2+x(7)*2^1+x(8);”的。依据二进制到十进制的转换,1101的值应该是:(4—3)而我程序里面的结果是:(4-4)所以我计算的结果与译码输出的结果相差1.成功解决这个问题后,我对接下来的设计细心很多,由于很多问题就是出在认为最简洁的地方。5结束语经过三周的努力终究完成了本次的课程设计。该课程设计对通信系统的编码、传输和译码都进行了设计与仿真,对仿真结果结合编译码理论进行了分析。从老师那里了解到,说这门课程设计比较容易完成,于是对这次的课程设计布满了信心.可当我开头动手的时候,发现并不是他们说的那么容易,主要是我对所设计的东西不是很清楚,所以要用MATLAB语言来编程序确实有点困难。但想归想,课程设计还得连续下去,于是开头大量的找资料,并且大致想好了设计思路.当这一切静静进行的时候,确实感觉到这些真的都算容易。设计过程中,在老师和

温馨提示

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

评论

0/150

提交评论