北京科技大学《通信原理》实验报告学院:计算机与通信工程学院班级:通信1303学号:41356071姓名:李成钢同组成员:陈灿,安栋,张秋杰,王亮实验成绩:________________________2016年1月14日实验二PAM信号的labview实现一、实验目的1.熟悉掌握AMI、HDB3、CMI和双相码的编码规则。2.根据编码规则,自主设计完成以上码的编译码实验。二、实验仪器计算机一台,labview2013软件三、实验内容根据几种常规线路码型的编码规则,在labview仿真软件上,自主设计完成AMI、HDB3、CMI和双相码的编译码实验,得到正确的编码波形。四、实验步骤1.AMI码:首先在前面板上插入预输入的数组行,插入两行,分别表示要输入的消息码以及经过程序变换后的显示码,数组位数相同,然后设置一个波形显示用的仪器来显示输出的波形,设置好后进入程序设计页面。在程序设计页面,为程序添加一个while循环以实现程序可控,因此在里面添加stop模块同时显示停止按键在前面板上,接着我们开始处理输入的数组元素,首先添加for循环,将处理后的数组大小置入for循环来控制for循环的次数,然后将数组通过索引来与1进行比较,所谓索引即将按顺序输入的数组依次派出,同时添加一条件结构,若输入为1则进入条件结构真,否则进入假,条件结构为真时,由于此时为1,AMI码要求连续的1按+1,-1电平来计,而AMI码为半占空波形,故连续的1应分别为(+1,0),(-1,0),因此我们要用到子VI(判断整除,下文讨论)来实现逢偶数个1时,就会输出(-1,0),同时还必须统计1的总数,而显示的码不显示半占空的电平,因此将显示的AMI码处输出+1和-1,显示的波形处送入(+1,0),(-1,0),成假时显示的AMI码处输出0,显示的波形处送入(0,0),由于输出处为二维数据,因此用到子VI(nrz将二维转换为一维,见下文),在数据输出处使用层叠氏顺序结构以连接输入的数据。子VI:(判断整除)在前面板添加两个数据输入控件以及布尔逻辑显示控件,将输入的一的个数通过计数器统计,与2整除便得到逢偶数条件结构为假,逢奇数条件结构为真,以此来区分偶数个1与奇数个1的区别。(nrz二维转一维)在前面板分别添加二维数组和一维数组控件,一维值预设定为0,二维输入与一维混编输出为一维数组。2.CMI码:AMI码类似,但由于CMI码并不是半占空波形,输入奇数个1时,输出为(1,1),输入偶数个1时,输出为(0,0),而输入为0时,输出为(0,1),因此用到一个表示电平的子VI(0,1到+1,-1)即0表示+1电平,1表示-1电平。3.HDB3码:将输入的0进入连0判断器,若为连续输入的4个0,则考虑其前面输入的1的奇偶个数,若为奇数个1则将破坏键V替换到第四个0处,并考虑最近1的符号,为+则为V,为-则为-V,若前面有偶数个1,则依然将破坏键替换到第四个0处,此时在第一个0处加入B,若最近的1符号为+,则为-B00-V,若最近的1符号为-,则为B00V,且B当作1来看,1之间符号依然是正负交替,其它码型按正常输入。在最后输出处,用到了子VI:(字符串转数值)将带有B,V的码变为相应的1,-B,-V则变为相应的-1,以此在波形上显示出来。4.数字双相码:将输入的0表示为(0,1),输入的1表示为(1,0)即可,其它与CMI码类似。五、实验结论及思考1,AMI码输入11100100001,码及波形如图CMI码输入11100101000,码及波形如图HDB3码输入100001100001000011,码及波形如图数字双相码输入11100100110,码及波形如图实验中遇到的问题:(1)AMI码在输出时,又要输出半占空波形,又得不显示半占空码型,这里想了很久,后来通过分别输给波形带半占空的码和输给码型显示器不带半占空的码问题就得到了解决。(2)HDB3码在之前对书上概念也不熟悉时去想毫无头绪,在老师讲了一种可行方案通过判断连0的数目来置入破坏键后,我们开始按照这种想法去做,但是符号问题又得不到解决,不能先将带1的符号进行+,-区分,而是等到置入了破坏键后,在进行符号判断。(3)HDB3码在最后波形显示不出B和V,最后采用一个转换函数将B,V转换为1,-B,-V转换为-1才得到解决。实验体会:通过实验,我们在理论和实际应用方面都有了一定的提高,我们了解了单极性码、双极性码、归零码等波形特点并掌握AMI、HDB3码的编码规则,我们掌握绝对码、相对码概念及它们之间的变换关系,掌握了相对波形与2PSK信号波形之间的关系、绝对码波形与2DPSK信号波形之间的关系,并对2ASK、2FSK、2DPSK信号有了进一步了解。教师评语: