PCM编译码器的仿真设计要点.docx
《PCM编译码器的仿真设计要点.docx》由会员分享,可在线阅读,更多相关《PCM编译码器的仿真设计要点.docx(55页珍藏版)》请在冰豆网上搜索。
![PCM编译码器的仿真设计要点.docx](https://file1.bdocx.com/fileroot1/2023-1/31/8ce1d6dd-5ac5-4640-bdb9-f28ee9ffb666/8ce1d6dd-5ac5-4640-bdb9-f28ee9ffb6661.gif)
PCM编译码器的仿真设计要点
PCM编译码器的仿真设计
摘要
随着通信事业的发展,特别是电子器件、集成电路、脉冲技术的发展,脉冲编码通信(PCM)得到了广泛的发展与应用。
PCM是一种一组二进制数字代码来代替连续信号的抽样值,从而实现数字通信的方式。
由于这种通信方式抗干扰能力强,易于加密,易于集成化小型化,因此它已成为数字通信网与综合业务数字网中的主要传输方式。
本设计分别基于MATLAB和FPGA完成了PCM的编译码过程,整个系统包含有A律13折线编码、PCM线路编码如HDB3码及PCM组帧(复用)过程,以及对应的13折线译码、线路译码及解复用过程的各个模块。
能够完整的实现PCM的编译器的整个过程。
关键词:
PCMMATLABFPGA线路编译码复用
DesignandSimulationofthePCMIncodingandDecoding
Abstract
Withthedevelopmentofcommunicationtechnology,especiallythedevelopmentofelectroniccomponents,integratedcircuit,pulsetechnology,pulsecodecommunication(PCM)haswidelydevelopmentandapplication.PCMisasetofbinarydigitalcodeinsteadofacontinuoussignalsamplingvalue,soastorealizethedigitalcommunication.Becauseofthiscommunicationmodeandstronganti-interferenceability,easyencryption,easyintegrationofsmall,soithasbecomethemainmodeoftransmissionofdigitalcommunicationnetworkandintegratedservicesdigitalnetwork.
ThedesignofMATLABandFPGAwerecompletedbasedonencodinganddecodingprocessofPCM,thewholesystemincludestheALaw13linecoding,PCMlinecodesuchasHDB3codeandPCMframing(multiplexing)process,andthedecodingof13line,linecorrespondingdecodinganddemultiplexingprocesseachmodule.CanrealizethewholeprocessofPCMcompilercomplete
Keywords:
PCM;FPGA;MATLAB;Linecoding;multiplexing
1引言
1.1设计的背景及意义
随着科学技术的不断发展,数字通信在日常生活中到处可见,在数字通信中编解码器的应用更是很广泛。
编解码器经常用在视频会议和流媒体等应用中,通常主要还是用在广电行业,作前端应用。
编解码器是在同一装置中,由工作于相反传输方向的编码器和解码器构成的组合体。
在PCM通信系统中模拟信号与编码数字信号的相互转换是以重要环节,它是由编解码器来完成。
采用不同编码方式、压扩特性、编码位数会直接影响其传输质量,决定其量化噪声。
脉冲编码调制是把模拟信号变成数字信号的一种调制方式,其最大的特征是把连续的输入信号变换为时间域和振幅域上都离散的量,然后再把它变换为二进制代码进行传输。
脉冲编码调制的原理是由采样、量化、编码三个步骤构成。
其功能是完成模-数转换,实现连续消息数字化[1]。
利用PCM技术,从而完整的将编译码器的整个功能实现出来。
本设计是分别通过MATLAB和VHDL语言来是实现PCM系统的仿真,通过仿真来查看PCM整个编译码的过程,更加清晰全面的了解PCM系统的原理和信号的传输过程。
通过学习PCM系统的原理和信号传输的过程来掌握模拟通信和数字通信系统的信息传输的基本原理和分析方法,能够懂得通信系统的基本原理和构成。
了解有关通信系统中的技术指标及改善系统性能的一些基本技术措施。
为我们全面系统的了解信号传输过程提供理论依据。
1.2PCM编译码系统的发展历史及研究现状
PCM技术是英国人A.里弗斯提出来的,后来的数字移动通信技术则运用的就是PCM技术。
室内电话网中PCM技术的使用使音频电缆芯线的传输容量大大提高了。
70年代的中后期,PCM技术又成功的应用于各种中、大容量传输系统。
随着电子信息产业的迅速发展,通信技术运用的范围越来越广泛,其中,市话中继传输和大容量干线传输以及数字程控交换机以及用户话机中都采用了PCM技术。
80年代初,脉码调制已用于市话中继传输和大容量干线传输以及数字程控交换机,并在用户话机中采用。
如今脉冲调制可以向用户提供多种业务,既可以提供从2M到155M速率的数字数据专线业务,也可以提供话音、图象传送、远程教学等其他业务。
特别适用于对数据传输速率要求较高,需要更高带宽的用户使用。
如今的PCM技术越来越成熟,并且已经应用到了各个方面。
其中有PCM做低速数据接入设备,还有利用PCM技术实现埋地管道防腐层状况检测系统。
在2011年09月30日,在北京时代全芯科技有限公司在与美国全芯科技公司(BAMC)及其合作方IBM团队的共同努力下,第一批基于相变存储器的产品芯片已经设计完成,成为中国第一批高密度相变存储器芯片。
这种芯片就是应用有PCM技术。
1.3PCM通信系统原理
脉冲编码调制在通信系统中完成将语音信号数字化功能。
是一种对模拟信号数字化的取样技术,将模拟信号变换为数字信号的编码方式,特别是对于音频信号。
PCM对信号每秒钟取样8000次;每次取样为8个位,总共64kbps。
PCM的实现主要包括三个步骤完成:
抽样、量化、编码。
分别完成时间上离散、幅度上离散、及量化信号的二进制表示。
根据CCITT的建议,为改善小信号量化性能,采用压扩非均匀量化,有两种建议方式,分别为A律和
律方式,本设计采用了A律方式。
由于A律压缩实现复杂,常使用13折线法编码,采用非均匀量化PCM编码示意图如图1-1所示。
图1-1PCM原理框图
1.抽样
所谓抽样,就是对模拟信号进行周期性扫描,把时间上连续的信号变成时间上离散的信号。
该模拟信号经过抽样后还应当包含原信号中所有信息,也就是说能无失真的恢复原模拟信号。
它的抽样速率的下限是由抽样定理确定的。
在一个频带限制在
内的时间连续信号
,如果以
的时间间隔对它进行抽样,那么根据这些抽样值就能完全恢复原信号。
或者说,如果一个连续信号
的频谱中最高频率不超过
,当抽样频率
时,抽样后的信号就包含原连续的全部信息。
抽样定理在实际应用中应注意在抽样前后模拟信号进行滤波,把高于二分之一抽样频率的频率滤掉。
这是抽样中必不可少的步骤。
2.量化
从数学上来看,量化就是把一个连续幅度值的无限数集合映射成一个离散幅度值的有限数集合。
如图1-2所示,量化器Q输出L个量化值
,
。
常称为重建电平或量化电平。
当量化器输入信号幅度
落在
与
之间时,量化器输出电平为
。
这个量化过程可以表达为:
(1)
这里
称为分层电平。
通常:
(2)
其中
称为量化间隔。
模拟信号的量化分为均匀量化和非均匀量化。
由于均匀量化存在的主要缺点是:
无论抽样值大小如何,量化噪声的均方根值都固定不变。
因此,当信号
较小时,则信号量化噪声功率比也就很小,这样,对于弱信号时的量化信噪比就难以达到给定的要求。
通常,把满足信噪比要求的输入信号取值范围定义为动态范围,可见,均匀量化时的信号动态范围将受到较大的限制。
为了克服这个缺点,实际中,往往采用非均匀量化。
非均匀量化是根据信号的不同区间来确定量化间隔的。
对于信号取值小的区间,其量化间隔
也小;反之,量化间隔就大。
它与均匀量化相比,有两个突出的优点。
首先,当输入量化器的信号具有非均匀分布的概率密度(实际中常常是这样)时,非均匀量化器的输出端可以得到较高的平均信号量化噪声功率比;其次,非均匀量化时,量化噪声功率的均方根值基本上与信号抽样值成比例。
因此量化噪声对大、小信号的影响大致相同,即改善了小信号时的量化信噪比。
实际中,非均匀量化的实际方法通常是将抽样值通过压缩再进行均匀量化。
通常使用的压缩器中,大多采用对数式压缩。
广泛采用的两种对数压缩律是
压缩律和A压缩律。
美国采用
压缩律,我国和欧洲各国均采用A压缩律,因此,PCM编码方式采用的也是A压缩律。
模拟信号的量化过程如图1-2所示。
图1-2模拟信号的量化
3.编码
本设计共包含两部分编译码,A率13折线编码译码与HDB3编译码。
当然这两种编译码方式迥然不同,前者属于信源编码后者属于信道编码。
A率13折线的编译码中所谓编码就是把量化后的信号变换成代码,其相反的过程称为译码。
在现有的编码方法中若按编码的速度来分,大致可以分为两类:
低速编码和高速编码。
通信中一般都采用第二类。
编码器的种类大体上可以归纳为三类:
比较型、折叠级联型和混合型。
在逐次比较型中,无论采用几位码,一般均按照极性码、段落码、段内码和顺序排列。
下面结合13折线的量化加以说明。
在13折线法中,无论输入信号是正是负,均按8段折线(8个段落)进行编码。
若用8位折叠二进制码来表示输入信号的抽样量化值,其中用第一位表示量化值的极性,其余七位(第二位至第八位)则表示抽样量化值的绝对大小。
具体的做法是:
用第二至第四位表示段落码,它的8种可能状态来分别代表8个段落的起点电平。
其它四位表示段内码,它的16种可能状态来分别代表每一段落的16个均匀划分的量化级。
HDB3编码这种码型在数字通信中用得很多,HDB3码是AMI码的改进型,称为三阶高密度双极性码。
它保持AMI码极性反转的优点而克服连“0”串过长的缺点,使连“0”的个数不超过3。
从消息代码到HDB3码的编码规则是:
(1)将消息代码变换成AMI码。
(2)检查AMI码中的0情况,当无4个或4个以上的连0串时,则保持AMI码的形式不变。
(3)当代码序列中出现4个或4个以上的连“0”码时,则将连“0”段按4个“0”分节,即“0000”为一节,并使第4个“0”码变为“1”码,用V脉冲表示,且V脉冲的极性与前一个“1”脉冲的极性相同,称V为破坏码,“000V”为破坏节。
(4)当所得序列中2个相邻破坏码V之间“1”脉冲的个数为偶数,则还需将第二个破坏节中的第一个“0”码变为“1”码,用B脉冲表示。
这时破坏节就变为“B00V”形式。
B脉冲的极性与其前一个“1”脉冲的极性相反,而与其后的V脉冲极性相同[9]。
1.4方案选择
如今,PCM编译码器与话路滤波器已经可以成熟的结合在同一个芯片当中,然而在实际应用中,如果单纯的依靠PCM编译码芯片来完成整个系统功能,无论是电路设计还是功能实现,都是一个极其复杂困难的过程,但是借助软件设计仿真,可以准确清晰的实现PCM系统的仿真结果,从而更加简单了解其各部分功能特性。
1.4.1MATLAB软件仿真
本设计选择利用MATLAB的Simulink平台,来完成对整个PCM编译码系统的实现。
Simulink是MATLAB中的一种可视化仿真工具,是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。
Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。
为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI),这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。
Simulink是用于动态系统和嵌入式系统的多领域仿真和基于模型的设计工具。
对各种时变系统,包括通讯、控制、信号处理、视频处理和图像处理系统,Simulink提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行和测试。
.
构架在Simulink基础之上的其他产品扩展了Simulink多领域建模功能,也提供了用于设计、执行、验证和确认任务的相应工具。
Simulink与MATLAB紧密集成,可以直接访问MATLAB大量的工具来进行算法研发、仿真的分析和可视化、批处理脚本的创建、建模环境的定制以及信号参数和测试数据的定义。
Simulink是MATLAB提供的用于对动态系统进行建模、仿真和分析的工具包。
Simulink提供了专门用于显示输出信号的模块,可以在仿真过程中随时观察仿真结果。
同时,通过Simulink的存储模块,仿真数据可以方便地以各种形式保存到工作区或文件中,供用户在仿真结束后对数据进行分析和处理。
所以在利用MATLAB实现PCM编译码系统时选择Simulink平台[7]。
1.4.2VHDL硬件编程
VHDL是一标准化的硬件描述语言。
采用VHDL设计的电路通常可以在单个可编程芯片上实现,并且设计过程与传统方式相比极为方便快捷。
使用VHDL进行电子系统设计,可以使用自顶向下的模块化设计方法,设计成果标准化,可移植性好[6]。
(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。
强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。
(2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。
(3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。
符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个开发组共同并行工作才能实现。
(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。
(5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计[4]。
作为一种电子设计自动化(EDA)的工具,QuartusII可编辑逻辑器件的集成开发软件支持可编辑逻辑器件开发的全过程。
这个过程包括一下步骤:
创建工程,工程用来组织整个可编辑逻辑器件的开发的过程;设计输入,用硬件描述语言通过文本编辑的方法完成电路设计;设计编译,把设计输入转换为支持可编程逻辑器件编程的文件格式;设计仿真,该步骤用来检查设计是否满足逻辑要求;器件编程,使用可编程逻辑具有所要求的逻辑功能。
QuartusⅡ它在一个单一、标准的设计环境里提供一整套综合、优化及验证工具,其功能十分强大。
QuartusⅡ提供了方便的设计输入方式、快速的编译和直接易懂的器件编程。
能够支持逻辑门数在百万门以上的逻辑器件的开发,并且为第三方工具提供了无缝接口[9]。
故基于VHDL语言编程开发PCM编译码系统选用QuartusII软件。
2MATLAB软件设计
2.1总体结构框图
PCM系统的主要原理就是通过对模拟信号进行抽样量化编码转换为数字信号然后经过信道传输后再经过整个编码之前的逆过程译码最后输出。
其总体的结构框图如图2-1所示。
首先对模拟信号进行抽样量化后,运用A律13折线方法将量化后的信号编码成更利于传输的8位二进制码,通过并串转换将多路编码后的二进制码合成一路传输信号,再经复用和信道编码是信号更利于传输。
在接受端,在经信道编码后的信号进行信道解码,再经解复用和串并转换后还原出多路8位二进制码信号,经A律解码还原出原信号。
本设计采用simulink搭建模块实现A律13折线编码、PCM线路编码如HDB3码及PCM组帧(复用)过程,以及对应的13折线译码、线路译码及解复用过程。
其总体在simulink平台搭建的模型如图2-2所示。
图2-2总体模型搭建
2.2正弦信号产生模块
建立一个很小的系统,用示波器观察正弦信号的平方的波形,如图2-3所示系统中所需的模块:
正弦波模块,示波器模块。
图2-3信号发生器
系统内示波器的波形显示如图2-4所示。
图2-4单正弦波与平方波对比
这是给出模拟信号用来进行下一步的抽样量化。
和输出时做对比。
2.3A律13折线的编码译码
所谓编码就是把量化后的信号变换成代码,其相反的过程称为译码。
本设计的信源编码采用A律13折线方式。
A率压缩原理:
理想对数压缩:
需对
的小信号段进行修正
A律修正思想:
(1).过原点做
的切线,切点b;
(2).切线ob段+曲线bc——A律压缩曲线。
A压缩律是指符合下式的对数压缩规律:
式中,x为压缩器归一化输入电压;y为压缩器归一化输出电压;A为常数,决定压缩程度。
A压缩律中的常数A不同,则压缩曲线的形状也不同,它将特别影响小电压时的信号量噪比的大小,在实用中,选择A等于87.6。
A律压缩表示式是一条连续的平滑曲线,用电子线路很难准确的实现。
现在由于数字电路技术的发展,这种特性很容易用数字电路来近似实现,13折线特性就是近似于A压缩律的特性,其曲线见图2.
图2-513折线压缩特性曲线
图中横坐标x在0~1区间中分为不均匀的8段。
~1间的线段称为第8段;
~
间的线段称为第7段;
~
间的线段称为第6段;依此类推,直到0~
间的线段称为第1段。
图中纵坐标y则均匀的划分为8段。
将这8段相应的坐标点(x,y)相连,就得到了一条折线。
在13折线法中,无论输入信号是正是负,均按8段折线(8个段落)进行编码。
若用8位折叠二进制码来表示输入信号的抽样量化值,其中用第一位表示量化值的极性,其余七位(第二位至第八位)则表示抽样量化值的绝对大小。
具体的做法是:
用第二至第四位表示段落码,它的8种可能状态来分别代表8个段落的起点电平。
其它四位表示段内码,它的16种可能状态来分别代表每一段落的16个均匀划分的量化级。
这样处理的结果,8个段落被划分成128个量化级。
表2-1码组结构图
极性码
段落码
段内码
M1
M2M3M4
M5M6M7M8
其中,第1位码M1的数值“1”或“0”分别代表信号的正、负极性,称为极性码。
M2M3M4称为段落码,标示抽样数据所在的段落位置;M5M6M7M8为段内码表示信号绝对值在段内16个量化级上的哪一个量化级[4]。
2.3.1编码模块及仿真
本设计进行MATLAB编码仿真编码设计如图2-6所示。
图2-613折线近似的PCM编码器模型
其中以constant作为数字信号源,产生一个恒定的数字脉冲信号;Gain1作为一个线性变换器将输入的绝对值不大于2048的数据变换为{-1,1}的区间之内,保证输入的信号满足A律压缩器的要求;saturation限幅器使得绝对值大于2048的数值经过限幅器后输出依然为一;Abs取绝对值;以A-LawCompressor作压缩器,进行A律压缩。
Relay模块的门限值为0,其输出即可作为PCM编码输出的最高位——极性码;Gain用做增益模块将样值放大到0-127,这样输出7位码;Quantizer对放大的数据进行间隔为1的量化,并进行进行四舍五入取整;IntertoBitConverter将量化后的整数编码为7位二进制序列,作为PCM编码的低7位;Display输出编码后的八位序列。
图2-7为A率13折线编码后输出的波形。
图2-713折线编码输出
2.3.2译码模块及仿真
本设计A率13折线译码模块的模型如图2-7所示。
图2-813折线的PCM解码器模型
PCM解码器中首先分离并行数据中的最高位(极性码)和7位数据,然后将7位数据转换位整数值,再进行归一化,扩张后与双极性的极性码相乘得出解码值。
可以将该模型中In1Out1右端和Display左端的部分封装为一个PCM解码子系统备用。
然后通过低通滤波器,最后在示波器Scope上得出输出波形,示波器上还显示了原信号,以便与输出信号进行比较。
图2-9为A率13折线译码后输出波形。
2.4复用模块
在实际的通信系统中,为了提高通信系统的利用率,往往用多路通信的方式来传输信号。
所谓多路通信,就是指把多个不同信源所发出的信号组合成一个群信号,并经由同一信道进行传输,在收端再将它分离并将它们相应接收。
根据信号分割技术的不同,多路复用可以分为频分多路复用、时分多路复用、波分多路复用和码分多路复用。
时分多路复用又进一步划分为同步时分复用(时分复用)和异步时分复用(统计时分复用)。
然而时分复用通信系统有两个突出的优点,一是多路信号的汇合与分路都是数字电路,简单、可靠;二是时分复用通信系统对非线性失真的要求比较低。
所以本设计采用的是同步时分复用。
时分复用是建立在抽样定理基础上的,因为抽样定理使连续的基带信号有可能被在时间上离散出现的抽样脉冲所代替。
这样,当抽样脉冲占据较短时间时,在抽样脉冲之间就留出了时间空隙。
利用这些空隙便可以传输其他信号的抽样值,因此,就可能用一条信道同时传送若干个基带信号,并且每一个抽样值占用的时间越短,能够传输的路数也就越多。
其原理示意图如图2-10所示。
图2-10时分复用示意图
其在simulink搭建模块如图2-11所示。
图2-11时分复用系统模块
根据同步时分多路复用系统原理,搭建模块,如图2-10在左侧输入端输入包括方波、正弦波及锯齿波的四路信号,经过Subsystem在脉冲控制下实现对左侧输入信号按时间依次进行抽取。
合并器Merge的功能是将在不同时隙抽取的信号合并成一路向量信号并由示波器输出该复用波形。
Subsystem1结构同Subsystem,实现时分复用系统原理框图中高速开关的作用,即在接收端将经合并器Merge以后的复用信号以按时间抽取的方式分离成原始的四路信号。
2.5HDB3编译码模块
数字基带信号的传输是数字通信系统的重要组成部分之一。
在数字通信中,有些场合可不经过载波调制和解调过程,而对基带信号进行直接传输。
为使基带信号能适合在基带信道中传输,通常要经过基带信号变化,这种变化过程事实上就是编码过程。
于是,出现了各种各样常用码型。
不同码型有不同的特点和不同的用途。
作为传输用的基带信号归纳起来有如下要求:
1希望将原始信息符号编制成适合与传输用的码型;2对所选码型的电波形,希望它适宜在信道中传输。
可进行基带传输的码型较多。
本设计中,选用HDB3编译码来实现信道中的仿真。
HDB3这种码型在数字通信中用得很多,HDB3码是AMI码的改进型,称为三阶高密度双极性码。
它保持AMI码极性反转的优点而克服连“0”串过长的缺点,使连“0”的个数不超过3。
HDB3码的特点如下:
1基带信号无直流成分,且只有很小的低频成分;
2连0串符号最多只有3个,利于定时信息的提取;
3不受信源统计特性的影响。
其编码原则:
(1)将消息代码变换成AMI码;
(2)检查A