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

下载本文档

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

文档简介

1、MATLAB的A律PCM译码器系统仿真 摘 要 脉冲编码调制(PCM)是现代语音通信中数字化的重要编码方式。本课程设计主要目的是在信号传输过程中,运用A律PCM译码实现数字信号到模拟信号的转换。该设计运用MATLAB的M文件来编写程序,根据经过抽样、量化、编码后收到的码组(极性码除外),使用A律译码产生相应的控制脉冲,从而输出一个与发信端抽样值接近的脉冲,通过计算,得出理论值与实际值近似,成功达到了设计效果。 关键词 PCM脉冲编码;MATLAB;A律13折线;译码 1 引 言近十年来,随着大规模集成电路的飞速发展,已可将话路滤波器和PCM编码器集成在同一芯片上,这使PCM在光纤通信,数字微波

2、通信,卫星通信等数字通信领域中获得了更广泛的应用。然而在某些需要PCM编码器的实际应用中,如数字交换机中的信号音的产生和实现,单靠PCM编解码芯片来完成整个编解码功能,在电路设计和实现上都显得烦琐和笨拙,相反如果运用软件方法来实现PCM编解码芯片的部分功能并与PCM编解码芯片相结合来共同完成整个电路设计上的编解码,不仅设计简单,灵活方便,而且往往可以达到事半功倍的结果。在现代通信系统中以PCM为代表的编码调制技术被广泛应用于模拟信号的数字传输。PCM的主要优点是:抗干扰能力强;失真小;传输特性稳定,尤其是远距离信号再生中继时噪声不累积,而且可以采用压缩编码、纠错编码和保密编码等来提高系统的有效

3、性、可靠性和保密性。另外,PCM还可以在一个信道上将多路信号进行时分复用传输。所以,在未来的很长一段时间内,PCM在通信系统中都会起着很大的作用。随着电子技术和计算机技术的发展,仿真技术也得到了广泛的应用。基于信号用于通信系统的动态仿真软件MATLAB具有强大的功能,可以满足从底层到高层不同层次的设计、分析使用,并且提供了嵌入式的模块分析方法,形成多层系统,使系统设计更加简洁明了,便于完成复杂系统的设计。 1.1 课程设计目的该课程设计的目的是让我们进一步学习PCM编译码器原理;在通信系统仿真软件MATLAB平台上,采用M文件设计A律PCM码译码器。对设计项目进行调试;对译码器进行仿真;对仿真

4、结果结合编译码理论进行分析等。1.2 课程设计要求设计译码器前,首先以理论作指导,构思设计方案。再用MATLAB语言编写程序,在MATLAB软件平台上运行,得到正确程序,并且进行调试、仿真和分析。然后对结果进行处理,输出结果和分析结论应该一致,而且应符合理论。最后,独立完成课程设计并按要求写课程设计报告书。1.3 设计平台该设计使用的是MATLAB软件平台。现在应用非常广泛。一种语言之所以能如此迅速地普及,显示出如此旺盛的生命力,是由于它有着不同于其他语言的特点,正如同FORTRAN和C等高级语言使人们摆脱了需要直接对计算机硬件资源进行操作一样,被称作为第四代计算机语言的MATLAB,利用其丰

5、富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATLAB最突出的特点就是简洁。MATLAB用更直观的,符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。MATLAB给用户带来的是最直观,最简洁的程序开发环境。以下简单介绍一下MATLAB的主要特点。(1)语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用起丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。可以说,用MATLAB进行科技开发是站在专家的肩膀上。(2)运算符丰富。由于MATLAB是用C语言编写的,MATLAB提

6、供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。(3)MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性。(4)程序限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。(5)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。(6)MATLAB的图形功能强大。在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。MATLAB还具有较强的编辑图形界面的能力。(7)MATLAB的缺点是,它和其他高级程序相比,程序

7、的执行速度较慢。由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。(8)功能强大的工具箱是MATLAB的另一特色。MATLAB包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互功能。功能性工具箱用于多种学科。而学科性工具箱是专业性比较强的,如control,toolbox,signl proceessing toolbox,commumnication toolbox

8、等。这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高,精,尖的研究。(9)源程序的开放性。开放性也许是MATLAB最受人们欢迎的特点。除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱1。2 设 计 原 理2.1 PCM原理脉冲编码调制 (PCM,Pulse Code Modulation)在通信系统中完成将语音信号数字化功能。是一种对模拟信号数字化的取样技术,将模拟信号变换为数字信号的编码方式,特别是对于音频信号。PCM 对信号每秒钟取样 8000 次;每

9、次取样为 8 个位,总共 64 kbps。PCM的实现主要包括三个步骤完成:抽样、量化、编码。分别完成时间上离散、幅度上离散、及量化信号的二进制表示。根据CCITT的建议,为改善小信号量化性能,采用压扩非均匀量化,有两种建议方式,分别为A律和律方式,我 2 。低通滤波瞬时压缩抽 样量 化编 码低通滤波瞬时扩张解 调解 码信道再 生话音输入话音输出图2.1 PCM原理框图其中简单介绍下抽样、量化、编码和译码原理。(1)抽样所谓抽样,就是对模拟信号进行周期性扫描,把时间上连续的信号变成时间上离散的信号。该模拟信号经过抽样后还应当包含原信号中所有信息,也就是说能无失真的恢复原模拟信号。它的抽样速率的

10、下限是由抽样定理确定的。在一个频带限制在(0,f h)内的时间连续信号f(t),如果以1/2 f h的时间间隔对它进行抽样,那么根据这些抽样值就能完全恢复原信号。或者说,如果一个连续信号f(t)的频谱中最高频率不超过f h,当抽样频率f S2 f h时,抽样后的信号就包含原连续的全部信息。抽样定理在实际应用中应注意在抽样前后模拟信号进行滤波,把高于二分之一抽样频率的频率滤掉。这是抽样中必不可少的步骤。(2)量化从数学上来看,量化就是把一个连续幅度值的无限数集合映射成一个离散幅度值的有限数集合。如图2所示,量化器Q输出L个量化值yk,k=1,2,3,L。常称为重建电平或量化电平。当量化器输入信号

11、幅度x落在与之间时,量化器输出电平为yk。这个量化过程可以表达为: (2-1)这里称为分层电平。通常: (2-2)其中称为量化间隔。模拟信号的量化分为均匀量化和非均匀量化。由于均匀量化存在的主要缺点是:无论抽样值大小如何,量化噪声的均方根值都固定不变。因此,当信号较小时,则信号量化噪声功率比也就很小,这样,对于弱信号时的量化信噪比就难以达到给定的要求。通常,把满足信噪比要求的输入信号取值范围定义为动态范围,可见,均匀量化时的信号动态范围将受到较大的限制。为了克服这个缺点,实际中,往往采用非均匀量化。非均匀量化是根据信号的不同区间来确定量化间隔的。对于信号取值小的区间,其量化间隔也小;反之,量化

12、间隔就大。它与均匀量化相比,有两个突出的优点。首先,当输入量化器的信号具有非均匀分布的概率密度(实际中常常是这样)时,非均匀量化器的输出端可以得到较高的平均信号量化噪声功率比;其次,非均匀量化时,量化噪声功率的均方根值基本上与信号抽样值成比例。因此量化噪声对大、小信号的影响大致相同,即改善了小信号时的量化信噪比。实际中,非均匀量化的实际方法通常是将抽样值通过压缩再进行均匀量化。通常使用的压缩器中,大多采用对数式压缩。广泛采用的两种对数压缩律是压缩律和A压缩律。美国采用 3 模拟入量化器量化值图2.2 模拟信号的量化(3)编码所谓编码就是把量化后的信号变换成代码,其相反的过程称为译码。当然,这里

13、的编码和译码与差错控制编码和译码是完全不同的,前者是属于信源编码的范畴。在现有的编码方法中,若按编码的速度来分,大致可分为两大类:低速编码和高速编码。通信中一般都采用第二类。编码器的种类大体上可以归结为三类:逐次比较型、折叠级联型、混合型。在逐次比较型编码方式中,无论采用几位码,一般均按极性码、段落码、段内码的顺序排列。下面结合13折线的量化来加以说明。在13折线法中,无论输入信号是正是负,均按8段折线(8个段落)进行编码。若用8位折叠二进制码来表示输入信号的抽样量化值,其中用第一位表示量化值的极性,其余七位(第二位至第八位)则表示抽样量化值的绝对大小。具体的做法是:用第二至第四位表示段落码,

14、它的8种可能状态来分别代表8个段落的起点电平。其它四位表示段内码,它的16种可能状态来分别代表每一段落的16个均匀划分的量化级。这样处理的结果,8个段落被划分成27128个量化级。段落码和8个段落之间的关系如表2-1所示;段内码与16个量化级之间的关系见表2-2所示。表2-1 段落码 表2-2 段内码段落序号段落码量化级段内码8111151111141110711013110112110061011110111010105100910018100040117011160110301050101401002001300112001010001000100000PCM编译码器的实现可以借鉴单片PC

15、M编码器集成芯片,如:TP3067A、CD22357等。单芯片工作时只需给出外围的时序电路即可实现,考虑到实现细节,仿真时将PCM编译码器分为编码器和译码器模块分别实现4 。(4)译码PCM译码器是实现PCM编码的逆系统。其中各模块功能如下:D/A转换器:用来实现与A/D转换相反的过程,实现数字量转化为模拟量,从而达到译码最基本的要求,也就是最起码的步骤。瞬时扩张器:实现与瞬时压缩器相反的功能,由于采用 A 律压缩,扩张也必须采用A律瞬时扩张器。 低通滤波器:由于采样脉冲不可能是理想冲激函数会引入孔径失真,量化时也会带来量化噪声,及信号再生时引入的定时抖动失真,需要对再生信号进行幅度及相位的补

16、偿,同时滤除高频分量,在这里使用与编码模块中相同的低通滤波器。2.2 A律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

17、表2-3中第二行的值是根据时计算得到的,第三行的值是13折线分段时的值。可见,13折线各段落的分界点与曲线十分逼近,同时按2的幂次分割有利于数字化。未压缩(1)(2)(3)(4)(5)(6)(7)(8) 0A律压扩特性是连续曲线,A律不同压扩特性也不同,在电路上实现这样的函数规律是相当复杂的。实际中,往往采用近似于A律函数规律的13折线()的压扩特性。这样,它基本上保持了连续压扩特性曲线的优点,。本设计中所用到的PCM编码正是采用这种压扩特性来编码的,图2.3示出了这种压扩特性5。图2.3 A律13折线MATLAB 语言是当今国际上科学界 (尤其是自动控制领域) 最具影响力、也是最有活力的软件

18、。它起源于矩阵运算,并已经发展成一种高度集成的计算机语言。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能。MATLAB 语言在各国高校与研究单位起着重大的作用。    MATLAB的含义是矩阵实验室(MATRIX LABORATORY),主要用于方便矩阵的存取,其基本元素是无须定义维数的矩阵。MATLAB自问世以来,就是以数值计算称雄。MATLAB进行数值计算的基本单位是复数数组(或称阵列),这使得MATLAB高度“向量化”。经过十几年的完善和扩充,现已发展成为线性代数课程的标准工具。由于它不需定义数组的

19、维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便,这是其它高级语言所不能比拟的。美国许多大学的实验室都安装有MATLAB供学习和研究之用。在那里,MATLAB是攻读学位的大学生硕士生、博士生必须掌握的基本工具。MATLAB中包括了被称作工具箱(TOOLBOX)的各类应用问题的求解工具。工具箱实际上是对MATLAB进行扩展应用的一系列MATLAB函数(称为M文件),它可用来求解各类学科的问题,包括信号处理、图象处理、控制系统辨识、神经网络等。随着MATLAB版本的不断升级,其所含的工具箱的功能也越来越丰富,因此

20、,应用范围也越来越广泛,成为涉及数值分析的各类工程师不可不用的工具。中包括了图形界面编辑GUI,改变了以前单一的“在指令窗通过文本形的指令进行各种操作”的状况。这可让使用者也可以象VB、VC、VJ、DELPHI等那样进行一般的可视化的程序编辑。在命令窗口(matlab command window)键入simulink,就出现(SIMULINK) 窗口。以往十分困难的系统仿真问题,用SIMULINK只需拖动鼠标即可轻而易举地解决问题,这也是近来受到重视的原因所在。该系统主要是通过A律PCM译码,在信号传输过程中,运用A律PCM译码实现数字信号到模拟信号的转换。该设计运用MATLAB的M文件来编

21、写程序,根据经过抽样、量化、编码后收到的码组(极性码除外),使用A律译码产生相应的控制脉冲,从而输出一个与发信端抽样值接近的脉冲,通过计算,得出理论值与实际值近似,成功达到了设计效果。在通信系统中完成将语音信号数字化功能。PCM的实现主要包括三个步骤完成:抽样、量化、编码。分别完成时间上离散、幅度上离散、及量化信号的二进制表示。PCM 编码通过抽样、量化、编码三个步骤将连续变化的模拟信号转换为数字编码。采用均匀量化时,其抗噪声性能与量化级数有关,每增加一位编码,其信噪比增加约6dB,但实现的电路复杂程度也随之增加,占用带宽也越宽。因此实际采用的量化方式多为非均匀量化,通常使用信号压缩与扩张技术

22、来实现非均匀量化。在保持信号固有的动态范围前提下,在量化前将小信号进行放大而对大信号进行压缩。通常的压缩方法有13折线A律和律两种标准,本课程设计采用的是A律13折线。从而成功实现了该课程设计。3 设计步骤3.1 系统分析通过对脉冲编码调制的了解,将PCM与译码器原理结合,通过运用MATLAB软件的M文件进行编程,在MATLAB软件平台里调试,输出结果,并对结果进行分析。实现该设计。3.2 源程序的运行与解释该程序主要是通过MATLAB软件里的M文件,结合A律13折线和PCM译码器进行编程,实现译码输出。源程序代码为:x=input(输入编码信号向量形式:); %输入PCM编码信号a=inpu

23、t(输入信号范围a:); b=input(输入信号范围b:); %a,b为输入信号范围 delta=b/2048; %量化间隔 n1=x(2)*22+x(3)*21+x(4)+1; %将二进制码转换成十进制码,求得信号落在第几个段落区间 if n1=1 a1=0;b1=16; else a1=2(n1+2);b1=2(n1+3); end %求该段落区间的范围 delta1=(b1-a1)/16; %将该段落平均分成16份 p=x(5)*23+x(6)*22+x(7)*21+x(8); %p为该信号落在第几个段内区间 a2=a1+delta1*(p);b2=a1+delta1*(p+1); %

24、求得段内区间范围 disp(译码器输出为:)if x(1)=1 y=(a2+b2)/2*delta %根据极性输出PCM解码值else y=-(a2+b2)/2*deltaend3.3 程序输入与输出结果程序的编码输入与译码输出如下:>> q_pcmx=1 0 0 1 1 1 0 1a=-2048b=2048>>y =3.4 输出结果分析 输入编码信号的向量第一个10 0 1代表的是在第二区间,其中第二区间的范围是1632,把第二区间分成16份,每个量化区间为1,最后四位1 1 0 1代表的是第二的区间的第13个量化间隔。译码输出为: (3-1)该计算结果与程序输出结果

25、相同,所以结果正确6。4 出现的问题与解决方法在设计过程中,出现了很多错误。但经过老师和同学的帮助,都一一解决了。(1)开始进行调试的时候,提示我的文件没被定义。因为以前对MATLAB的了解比较少,所以我也不知道什么原因,于是请教了个成绩好的同学。这才知道原来是我没打开M文件所在的文件,因此导致程序以及一些公式无法被调用。经过重新设置,终于可以进行调试。(2)后来,碰到一个严重的问题。程序译码输出结果为: (4-1)但我计算的结果是: (4-2)译码输出与我计算的结果差1。开始以为是我算错了,就重新算了一遍,并且请同学进行了检查,但同样发现结果是。于是把错误定在了程序上,但又感觉程序没有错误。

26、通过对程序一句依据反复的检查,最后发现“p=x(5)*23+x(6)*22+x(7)*21;”出了问题。因为我少写了一项x(8),本来应该是“p=x(5)*23+x(6)*22+x(7)*21+x(8);”的。根据二进制到十进制的转换,1 1 0 1的值应该是: (4-3)而我程序里面的结果是: (4-4)所以我计算的结果与译码输出的结果相差1。成功解决这个问题后,我对接下来的设计细心许多,因为很多问题就是出在认为最简单的地方。5 结 束 语 经过三周的努力终于完成了本次的课程设计。该课程设计对通信系统的编码、传输和译码都进行了设计与仿真,对仿真结果结合编译码理论进行了分析。从老师那里了解到,说这门课程设计比较容易完成,于是对这次的课程设计充满了信心。可当我开始动手的时候,发现并不是他们说的那么容易,主要是我对所设计的东西不是很清楚,所以要用MATLAB语言来编程序确实有点困难。但想归想,课程设计还得继续下去,于是开始大量的找资料,并且大致想好了设计思路。当这一切悄悄进行的时候,确实感觉到这些真的都算容易。设计过程中,在老师和同学的帮助下,弄懂了A律13折线和PCM译码的原理,了解这些后总个设计思路就呈现在眼前,自己的信心也倍增。

温馨提示

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

评论

0/150

提交评论