PCM解码器的MATLAB实现剖析.docx
《PCM解码器的MATLAB实现剖析.docx》由会员分享,可在线阅读,更多相关《PCM解码器的MATLAB实现剖析.docx(31页珍藏版)》请在冰豆网上搜索。
PCM解码器的MATLAB实现剖析
一、实训目的
通过本课程的学习我们不仅能加深理解和巩固理论课上所学的有关PCM编码和解码的基本概念、基本理论和基本方法,而且能锻炼我们分析问题和解决问题的能力;同时对我们进行良好的独立工作习惯和科学素质的培养,为今后参加科学工作打下良好的基础。
二、实训任务和要求
(一)、实训任务
利用MATLAB集成环境下的Simulink仿真平台,设计一个PCM编码与解码系统.用示波器观察编码与解码前后的信号波形;加上各种噪声源,或含有噪声的信道,最后根据运行结果和波形来分析该系统性能。
(二)、实训要求
1.熟悉MATLAB环境下的Simulink仿真平台,熟悉PCM编码与解码原理,构建PCM编码与解码电路图.
2.对模拟信号进行采样、量化、编码(PCM),将编码后的信号输入信道再进行PCM解码,还原出原信号.建立仿真模型,分析仿真波形.
3.在编码与解码电路间加上噪声源,或者加入含有噪声源的信道,并给出仿真波形。
4.在老师的指导下,要求独立完成课程设计的全部内容,并按要求编写课程设计学年论文,能正确阐述和分析设计和实验结果。
三、实训过程与内容
(一)、脉冲编码调制
1.PCM简介
现在的数字传输系统都是采用脉码调制(PulseCodeModulation)体制。
PCM最初并非传输计算机数据用的,而是使交换机之间有一条中继线不是只传送一条电话信号。
PCM有两个标准即E1和T1。
我国采用的是欧洲的E1标准。
T1的速率是1.544Mbit/s,E1的速率是2.048Mbit/s。
PCM:
相变存储器(Phase-changememory,PCM)是由IBM公司的研究机构所开发的一种新型存储芯片,将有望来替代如今的闪存Flash和硬盘驱动器HDD。
PCM在光纤通信系统中,光纤中传输的是二进制光脉冲"0"码和"1"码,它由二进制数字信号对光源进行通断调制而产生。
而数字信号是对连续变化的模拟信号进行抽样、量化和编码产生的,称为PCM(pulsecodemodulation),即脉冲编码调制。
这种电的数字信号称为数字基带信号,由PCM电端机产生。
PCM可以向用户提供多种业务,既可以提供从2M到155M速率的数字数据专线业务,也可以提供话音、图象传送、远程教学等其他业务。
特别适用于对数据传输速率要求较高,需要更高带宽的用户使用。
PCM线路的特点:
•PCM线路可以提供很高的带宽,满足用户的大数据量的传输。
•支持从2M开始的各种速率,最高可达155M的速率。
•通过SDH设备进行网络传输,线路协议简单。
与传统的DDN技术相比,PCM具有以下特点:
•线路使用费用相对便宜。
•能够提供较大的带宽。
•接口丰富便于用户连接内部网络。
•可以承载更多的数据传输业务。
PCM(动力控制模块):
汽车电控部分,电控单元的动力控制模块,有存储器、输入、输出。
2.PCM原理
所谓脉冲编码调制,就是将模拟信号抽样量化,然后将已量化值变换成代码。
下面将用一个PCM系统的原理框图简要介绍。
原理框图如图2-1所示。
图2-1PCM原理方框图
在编码器中由冲激脉冲对模拟信号抽样,得到在抽样时刻上的信号抽样值。
这个抽样值仍是模拟量。
在它量化之前,通常由保持电路(holdingcircuit)将其作短暂保存,以便电路有时间对其量化。
在实际电路中,常把抽样和保持电路作在一起,称为抽样保持电路。
图中的量化器把模拟抽样信号变成离散的数字量,然后在编码器中进行二进制编码。
这样,每个二进制码组就代表一个量化后的信号抽样值。
图中的译码器的原理和编码过程相反。
其中,量化与编码的组合称为模/数变换器(A/D变换器);译码与低通滤波的组合称为数/模变换器(D/A变换器)。
抽样是对模拟信号进行周期性的扫描,把时间上连续的信号变成时间上离散的信号。
我们要求经过抽样的信号应包含原信号的所有信息,即能无失真地恢复出原模拟信号,抽样速率的下限由抽样定理确定。
量化是把经抽样得到的瞬时值进行幅度离散,即指定Q规定的电平,把抽样值用最接近的电平表示。
编码是用二进制码组表示有固定电平的量化值。
实际上量化是在编码过程中同时完成的。
图1是PCM单路抽样、量化、编码波形图。
μ律与A律压缩特性
μ律:
(美、日)
A律:
(我国、欧洲)
式中,x为归一化输入,y为归一化输出,A、μ为压缩系数。
数字压扩技术:
一种通过大量的数字电路形成若干段折线,并用这些折线来近似A律或μ律压扩特性,从而达到压扩目的方法。
即对数压扩特性的折线近似法。
折线压扩特性:
既不同于均匀量化的直线,又不同于对数压扩特性的光滑曲线。
总的来说用折线作压扩特性是非均匀量化的,但它既有非均匀量化(不同折线有不同斜率),又有均匀量化(在同一折线的小范围内)。
两种常用数字压扩技术:
(1)A律13折线压扩——13折线近似逼近A=87.6的A律压扩特性;
(2)μ律15折线压扩——15折线近似逼近μ=255的μ律压扩特性。
采用折线压扩的特点:
基本上保持了连续压扩特性曲线的优点,又便于数字电路的实现
实际中A律常采用13折线近似如图2-2所示
图2-2A律13折线
其具体分法如下:
先将X轴的区间[0,1]一分为二,其中点为1/2,取区间[1/2,1]作为第八段;
区间[0,1/2]再一分为二,其中点为1/4,取区间[1/4,1/2]作为第七段;
区间[0,1/4]再一分为二,其中点为1/8,取区间[1/8,1/4]作为第六段;
区间[0,1/8]一分为二,中点为1/16,取区间[1/16,1/8]作为第五段;
区间[0,1/16]一分为二,中点为1/32,取区间[1/32,1/16]作为第四段;
区间[0,1/32]一分为二,中点为1/64,取区间[1/64,1/32]作为第三段;
区间[0,1/64]一分为二,中点为1/128,区间[1/128,1/64]作为第二段;
区间[0,1/128]作为第一段。
然后将Y轴的[0,1]区间均匀地分成八段,从第一段到第八段
分别为[0,1/8],(1/8,2/8],(2/8,3/8],(3/8,4/8],(4/8,5/8],(5/8,6/8],
(6/8,7/8],(7/8,1]。
分别与X轴对应。
编码的码字和码型:
二进制码可以经受较高的噪声电平的干扰,并易于再生,因此PCM中一般采用二进制码。
对于Q个量化电平,可以用k位二进制码来表示,称其中每一种组合为一个码字。
在点对点之间通信或短距离通信中,采用k=7位码已基本能满足质量要求。
而对于干线远程的全网通信,一般要经过多次转接,要有较高的质量要求,目前国际上多采用8位编码PCM设备。
码型指的是把量化后的所有量化级,按其量化电平的大小次序排列起来,并列出各对应的码字,这种对应关系的整体就称为码型。
在PCM中常用的码型有自然二进制码、折叠二进制码和反射二进制码(又称格雷码)。
码位的安排:
目前国际上普遍采用8位非线性编码。
例如PCM30/32路终端机中最大输入信号幅度对应4096个量化单位(最小的量化间隔称为一个量化单位),在4096单位的输入幅度范围内,被分成256个量化级,因此须用8位码表示每一个量化级。
用于13折线A律特性的8位非线性编码的码组结构如表2-1所示:
表2-18位非线性编码的码组结构
极性码
段落码
段内码
M1
M2M3M4
M5M6M7M8
其中,第1位码M1的数值“1”或“0”分别代表信号的正、负极性,称为极性码。
从折叠二进制码的规律可知,对于两个极性不同,但绝对值相同的样值脉冲,用折叠码表示时,除极性码M1不同外,其余几位码是完全一样的。
因此在编码过程中,只要将样值脉冲的极性判出后,编码器便是以样值脉冲的绝对值进行量化和输出码组的。
这样只要考虑13折线中对应于正输入信号的8段折线就行了。
这8段折线共包含128个量化级,正好用剩下的7位码(M2,…,M8)就能表示出来。
(二)模块设计与仿真图形分析
1.simulink的工作环境熟悉
建立一个很小的系统,用示波器观察正弦信号的平方的波形,如图3-1所示
系统中所需的模块:
正弦波模块,示波器模块,
图3-1正弦仿真电路图
正弦波参数如下:
图3-2正弦波参数设置
系统内的示波器显示的波形如图:
图3-3单正弦波与平方波的对比
结论:
两正弦波叠加之后的周期是原周期的1/2,频度是原频度的2倍。
2.PCM编码器电路设计
图3-413折线近似的PCM编码器测试模型和仿真结果
测试模型和仿真结果如图3-4所示。
其中以Saturation作为限幅器,将输入信号幅度值限制在PCM编码的定义范围内,以A-LawCompressor作压缩器,Relay模块的门限值设置为0,其输出即可作为PCM编码输出的最高位——极性码。
样值取值绝对值后,用增益模块将样值放大到0-127,然后用间隔为1的Quantizer进行四舍五入取整,最后将整数编码为7位二进制序列,作为PCM编码的低7位。
可以将上图中Constant和Display(不含)之间的模块封装一个PCM编码子系统备用。
其中各模块的具体参数设置如下:
图3-5A-LawCompressor
图3-6Abs
图3-7Relay
图3-8Gain
图3-9Quantizer
图3-10IntegertoBitConverter
图3-11Display
图3-12Mux
图3-13Saturation
图3-14封装之后的PCM编码子系统:
图3-15封装之后的PCM编码子系统图标
3.PCM解码器电路设计
图3-1613折线近似的PCM解码器测试模型和仿真结果
测试模型和仿真结果如图3-5所示,其中PCM编码子系统是3.2中编码器封装之后的。
PCM解码器中首先分离并行数据中的最高位(极性码)和7位数据,然后将7位数据转换位整数值,再进行归一化,扩张后与双极性的极性码相乘得出解码值。
可以将该模型中In1Out1右端和Display左端的部分封装为一个PCM解码子系统备用。
其中各模块的具体参数设置如下:
图3-17Demux
图3-18Mux1
图3-19Relay1
图3-20BittoIntegerConverter
图3-21Gain1
图3-22A-LawExpander
图3-23Product
封装之后的PCM解码子系统:
图3-24封装之后的PCM解码子系统
图3-25封装之后的PCM解码子系统图标
4.无干扰信号的PCM编码与解码
图3-26PCM编码器和解码器(无噪声)测试模型和仿真结果
测试模型和仿真结果如图3-26所示,其中PCM编码与解码子系统已经封装好了。
经过编码与解码之后,然后通过低通滤波器,最后在示波器Scope上得出输出波形,示波器上还显示了原信号,以便与输出信号进行比较。
在编码器之后通过Display和Scope1显示出PCM数字信号,注意:
在通过示波器前需经过ToFrame和Buffer,其中ToFrame是用来形成帧信号,Buffer是缓冲器。
示波器显示结果如下:
图3-27Scope
图3-28Scope1
其中各模块的具体参数设置如下:
图3-29SineWave
图3-30Display
图3-31ToFrame
图3-32Buffer
图3-33Scope1
图3-34AnalogFilterDesign
图3-35Scope
图3-36系统总的仿真参数
3.5有干扰信号的PCM编码与解码
图3-37PCM编码器和解码器(有噪声)测试模型和仿真结果
仿真模型如图3-37所示,其中PCM编码和解码子系统内部结构参见3.2,3.3,PCM编码输出经过并串转换后得到二进制码流送入二进制对称信道(BSC)。
在解码端信道输出的码流经过串并转换后送入PCM解码,之后输出解码结果并显示波形。
仿真采样率必须是仿真模型中最高信号速率的整数倍,这里模型中信道速率最高,为71kbps,故仿真步长设置为1/71000s。
信道错误比特率为0.05,以观察信道误码对PCM传输的影响。
仿真结果见下文。
传输信号为100*pi的正弦波,解码输出存在延迟。
对于信道产生误码的位置,解码输出波形中出现了干扰脉冲,干扰脉冲的大小取决于信道中错误比特位于一个PCM编码字串中的位置,位于最高位(极性)时将导致解码值极性错误,这是引起的干扰最大,而位于最低位的误码引起的干扰最轻微。
示波器显示结果如下:
图3-38Scope
图3-39Scope1
其中各模块的具体参数设置如下:
图3-40SineWave
图3-41Zero-Oroder-Holder
图3-42FrameStatusConversion
图3-43Buffer
图3-44BinarySymmetricChannel
图3-45Buffer1
图3-46Scope1
图3-47Reshape
图3-48Scope
图3-49系统总的仿真参数
四、实训总结与心得体会
通过本次课程设计,我了解了PCM编码与解码原理以及PCM编码与解码(包括加噪声和不加噪声)电路原理框图的Simulink的实现与调制性能的分析,把本学期所学的通信原理和MATLAB等内容应用到本课程设计中来,以达到融会贯通。
为进一步学习今后的课程打下坚实的基础。
经过两个星期的努力,课程设计终于设计了。
在完成设计的过程中,我的收获很大,不仅仅是对我自己所学的专业知识加深了解,同时还熟练地掌握了MATLAB和Simulink软件的操作,而且还锻炼了自己独立处理问题的能力。
我总是想追求完美,可总不那么完美。
但是我比较骄傲的是我用了三天的时间就把我的课程设计的原理框图连接好,也从中学到了更深远的知识。
我能够理解电路框图中每个元件的意义,以及参数的设置问题。
这是值得庆幸的事。
在这里我非常感谢蔡老师一直辛勤的指导我们,认真给我们解答疑惑。
正是在您的指导下,我们的课程设计才会更好更快的完成。
谢谢老师!
五、参考文献
[1]王亚芳,滑玉,董楠,MATLAB仿真及电子信息应用,2013
[2]樊昌信,曹丽娜.通信原理.国防工业出版社,2008
[3]吴伟陵,续大我,庞沁华.通信原理.北京邮电大学出版社,2005
[4]青松,程岱松,武建华.数字通信系统的SystemView仿真与分析.北京航空航天大学出版社,2001
[5]曹志刚,钱亚生.现代通信原理.清华大学出版社,1992
[6]苗长云等主编.现代通信原理及应用.电子工业出版社,2005
[7]桑林,郝建军,刘丹.数字通信.北京邮电大学出版社,2002
[8]张圣勤.MATLAB7.0实用教程.机械工业出版社,2006