MATLAB的A律PCM译码器系统仿真(2)

2019-01-27 13:36

第 6 页 共 14 页

在13折线法中,无论输入信号是正是负,均按8段折线(8个段落)进行编码。若用8位折叠二进制码来表示输入信号的抽样量化值,其中用第一位表示量化值的极性,其余七位(第二位至第八位)则表示抽样量化值的绝对大小。具体的做法是:用第二至第四位表示段落码,它的8种可能状态来分别代表8个段落的起点电平。其它四位表示段内码,它的16种可能状态来分别代表每一段落的16个均匀划分的量化级。这样处理的结果,8个段落被划分成27=128个量化级。段落码和8个段落之间的关系如表2-1所示;段内码与16个量化级之间的关系见表2-2所示。

表2-1 段落码 表2-2 段内码

段落序号 8 7 6 5 4 3 2 1 段落码 111 110 101 100 011 010 001 000 量化级 15 14 13 12 11 10 9

8 7 6 5 4 3 2 1 0 段内码 1111 1110 1101 1100 1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001 0000 PCM编译码器的实现可以借鉴单片PCM编码器集成芯片,如:TP3067A、CD22357等。单芯片工作时只需给出外围的时序电路即可实现,考虑到实现细节,仿真时将PCM编译码器分为编码器和译码器模块分别实现[4] 。 (4)译码

PCM译码器是实现PCM编码的逆系统。其中各模块功能如下:

D/A转换器:用来实现与A/D转换相反的过程,实现数字量转化为模拟量,从而达到译码最基本的要求,也就是最起码的步骤。

第 7 页 共 14 页

瞬时扩张器:实现与瞬时压缩器相反的功能,由于采用 A 律压缩,扩张也必须采用A律瞬时扩张器。

低通滤波器:由于采样脉冲不可能是理想冲激函数会引入孔径失真,量化时也会带来量化噪声,及信号再生时引入的定时抖动失真,需要对再生信号进行幅度及相位的补偿,同时滤除高频分量,在这里使用与编码模块中相同的低通滤波器。

2.2 A律13折线原理

实际中,非均匀量化的实际方法通常是将抽样值通过压缩再进行均匀量化。通常使用的压缩器中,大多采用对数式压缩。广泛采用的两种对数压缩律是

?压缩律和A压缩律。美国采用?压缩律,我国和欧洲各国均采用A压缩律,因

此,PCM编码方式采用的也是A压缩律。

所谓A压缩律也就是压缩器具有如下特性的压缩律:

y? y?Ax1?lnA,0?X?1A1A (2-3)

1?lnAx1?lnA,?X?1 (2-4)

其中A?87.6。

在实际中,A律13折线应用比u律13折线用得广泛。表2-3列出了计算x值与13折线时的x值的比较。

表2-3 计算值x与A律13折线时x值的比较

y 0 0 1811281128 281 381 481 581 681 781 1 1 x 60.616430.615.47.793.931.98按折线 分段时的x 段落 斜率 0 1 16 2 16 3 8 132 4 4 116 5 2 18 6 1 14 7 1 212 8 1 41 表2-3中第二行的x值是根据A?87.6时计算得到的,第三行的x值是13折线分段时的值。可见,13折线各段落的分界点与A?87.6曲线十分逼近,同时x按2

第 8 页 共 14 页

的幂次分割有利于数字化。

A律压扩特性是连续曲线,A律不同压扩特性也不同,在电路上实现这样的函数规律是相当复杂的。实际中,往往采用近似于A律函数规律的13折线(A=87.6)的压扩特性。这样,它基本上保持了连续压扩特性曲线的优点,。本设计中所用到的PCM编码正是采用这种压扩特性来编码的,图2.3示出了这种压扩特性[5]。

y17868 (8) (7) 5848(6) (5) (4) (3) (2) (1) 未压缩 3828180 111128 1641681 14 12 1 32 图2.3 A律13折线

2.3文本输入法简介

MATLAB 语言是当今国际上科学界 (尤其是自动控制领域) 最具影响力、也是最有活力的软件。它起源于矩阵运算,并已经发展成一种高度集成的计算机语言。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能。MATLAB 语言在各国高校与研究单位起着重大的作用。

MATLAB的含义是矩阵实验室(MATRIX LABORATORY),主要用于方便矩阵的存取,其基本元素是无须定义维数的矩阵。MATLAB自问世以来,就是以

第 9 页 共 14 页

数值计算称雄。MATLAB进行数值计算的基本单位是复数数组(或称阵列),这使得MATLAB高度“向量化”。经过十几年的完善和扩充,现已发展成为线性代数课程的标准工具。由于它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便,这是其它高级语言所不能比拟的。美国许多大学的实验室都安装有MATLAB供学习和研究之用。在那里,MATLAB是攻读学位的大学生硕士生、博士生必须掌握的基本工具。MATLAB中包括了被称作工具箱(TOOLBOX)的各类应用问题的求解工具。工具箱实际上是对MATLAB进行扩展应用的一系列MATLAB函数(称为M文件),它可用来求解各类学科的问题,包括信号处理、图象处理、控制系统辨识、神经网络等。随着MATLAB版本的不断升级,其所含的工具箱的功能也越来越丰富,因此,应用范围也越来越广泛,成为涉及数值分析的各类工程师不可不用的工具。 MATLAB5.3中包括了图形界面编辑GUI,改变了以前单一的“在指令窗通过文本形的指令进行各种操作”的状况。这可让使用者也可以象VB、VC、VJ、DELPHI等那样进行一般的可视化的程序编辑。在命令窗口(matlab command window)键入simulink,就出现(SIMULINK) 窗口。以往十分困难的系统仿真问题,用SIMULINK只需拖动鼠标即可轻而易举地解决问题,这也是近来受到重视的原因所在。

2.4系统功能简介

该系统主要是通过A律PCM译码,在信号传输过程中,运用A律PCM译码实现数字信号到模拟信号的转换。该设计运用MATLAB的M文件来编写程序,根据经过抽样、量化、编码后收到的码组(极性码除外),使用A律译码产生相应的控制脉冲,从而输出一个与发信端抽样值接近的脉冲,通过计算,得出理论值与实际值近似,成功达到了设计效果。

在通信系统中完成将语音信号数字化功能。PCM的实现主要包括三个步骤完成:抽样、量化、编码。分别完成时间上离散、幅度上离散、及量化信号的二进制表示。

PCM 编码通过抽样、量化、编码三个步骤将连续变化的模拟信号转换为数字编码。采用均匀量化时,其抗噪声性能与量化级数有关,每增加一位编码,其信噪比增加约6dB,但实现的电路复杂程度也随之增加,占用带宽也越宽。因此

第 10 页 共 14 页

实际采用的量化方式多为非均匀量化,通常使用信号压缩与扩张技术来实现非均匀量化。在保持信号固有的动态范围前提下,在量化前将小信号进行放大而对大信号进行压缩。通常的压缩方法有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; %将二进制码转换成十进制码,求得信号落在第几个段落区间 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)*2^3+x(6)*2^2+x(7)*2^1+x(8); %p为该信号落在第几个段内区间 a2=a1+delta1*(p);b2=a1+delta1*(p+1); %求得段内区间范围 disp(‘译码器输出为:’)


MATLAB的A律PCM译码器系统仿真(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:西 安 交 通 大 学 实 验 报 告 生物信息学

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: