第 1 页 共 14 页
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具有强大的功能,可以满足从底层到
第 2 页 共 14 页
高层不同层次的设计、分析使用,并且提供了嵌入式的模块分析方法,形成多层系统,使系统设计更加简洁明了,便于完成复杂系统的设计。
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
第 3 页 共 14 页
语句和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.1 PCM原理
脉冲编码调制 (PCM,Pulse Code Modulation)在通信系统中完成将语音信号数字化功能。是一种对模拟信号数字化的取样技术,将模拟信号变换为数字信号的编码方式,特别是对于音频信号。PCM 对信号每秒钟取样 8000 次;每次取样为 8 个位,总共 64 kbps。PCM的实现主要包括三个步骤完成:
第 4 页 共 14 页
抽样、量化、编码。分别完成时间上离散、幅度上离散、及量化信号的二进制表示。根据CCITT的建议,为改善小信号量化性能,采用压扩非均匀量化,有两种建议方式,分别为A律和μ律方式,我
国采用了A律方式,由于A律压缩实现复杂,常使用 13 折线法编码,采用非均匀量化PCM编码示意图如图2.1所以 [2] 。 话音输入 低通滤波 瞬时压缩 抽 样 量 化 编 码 信 道 话音输出 低通滤波 瞬时扩张 解 调 解 码 再 生 图2.1 PCM原理框图
其中简单介绍下抽样、量化、编码和译码原理。 (1)抽样
所谓抽样,就是对模拟信号进行周期性扫描,把时间上连续的信号变成时间上离散的信号。该模拟信号经过抽样后还应当包含原信号中所有信息,也就是说能无失真的恢复原模拟信号。它的抽样速率的下限是由抽样定理确定的。
在一个频带限制在(0,f h)内的时间连续信号f(t),如果以1/2 f h的时间间隔对它进行抽样,那么根据这些抽样值就能完全恢复原信号。或者说,如果一个连续信号
f(t)的频谱中最高频率不超过f h,当抽样频率f S≥2 f h时,抽样后的信号就包含原连续的全部信息。抽样定理在实际应用中应注意在抽样前后模拟信号进行滤波,把高于二分之一抽样频率的频率滤掉。这是抽样中必不可少的步骤。 (2)量化
从数学上来看,量化就是把一个连续幅度值的无限数集合映射成一个离散幅度值的有限数集合。如图2所示,量化器Q输出L个量化值yk,k=1,2,3,?,L。yk常称为重建电平或量化电平。当量化器输入信号幅度x落在xk与xk?1之间时,量化器输出电平为yk。这个量化过程可以表达为:
y?Q(x)?Q{xk?x?xk?1}?yk, k?1,2,3,?,L (2-1) 这里xk称为分层电平。通常:
?k?xk?1?xk (2-2)
其中?k称为量化间隔。
第 5 页 共 14 页
模拟信号的量化分为均匀量化和非均匀量化。由于均匀量化存在的主要缺点是:无论抽样值大小如何,量化噪声的均方根值都固定不变。因此,当信号m(t)较小时,则信号量化噪声功率比也就很小,这样,对于弱信号时的量化信噪比就难以达到给定的要求。通常,把满足信噪比要求的输入信号取值范围定义为动态范围,可见,均匀量化时的信号动态范围将受到较大的限制。为了克服这个缺点,实际中,往往采用非均匀量化。
非均匀量化是根据信号的不同区间来确定量化间隔的。对于信号取值小的区间,其量化间隔?v也小;反之,量化间隔就大。它与均匀量化相比,有两个突出的优点。首先,当输入量化器的信号具有非均匀分布的概率密度(实际中常常是这样)时,非均匀
量化器的输出端可以得到较高的平均信号量化噪声功率比;其次,非均匀量化时,量化噪声功率的均方根值基本上与信号抽样值成比例。因此量化噪声对大、小信号的影响大致相同,即改善了小信号时的量化信噪比。
实际中,非均匀量化的实际方法通常是将抽样值通过压缩再进行均匀量化。通常使用的压缩器中,大多采用对数式压缩。广泛采用的两种对数压缩律是?压缩律和A压缩律。美国采用?压缩律,我国和欧洲各国均采用A压缩律,因此,PCM编码方式采用的也是A压缩律。模拟信号的量化过程如图2.2所示 [3]
x
模拟入 量化器 y 量化值 图2.2 模拟信号的量化
(3)编码
所谓编码就是把量化后的信号变换成代码,其相反的过程称为译码。当然,这里的编码和译码与差错控制编码和译码是完全不同的,前者是属于信源编码的范畴。
在现有的编码方法中,若按编码的速度来分,大致可分为两大类:低速编码和高速编码。通信中一般都采用第二类。编码器的种类大体上可以归结为三类:逐次比较型、折叠级联型、混合型。在逐次比较型编码方式中,无论采用几位码,一般均按极性码、段落码、段内码的顺序排列。下面结合13折线的量化来加以说明。