通信系统综合实验

合集下载

通信系统综合实验

通信系统综合实验

目录实验一语音传输 (1)1.1实验简介 (1)1.2实验目的 (1)1.3实验器材 (1)1.4实验原理 (1)1.4.1脉冲编码调制 (2)1.4.2连续可变斜率增量调制 (3)1.4.3随机错误和突发错误 (4)1.4.4内部通话与数据传输的工作过程 (4)1.5实验内容 (5)1.6实验结果及数据分析 (6)1.6.1三种调制方式在相同参数下的量化编码 (6)1.6.2相同参数下的波形 (6)1.6.3不同频率相同随机错误与突发错误的波形 (8)1.6.4蓝牙建立和断开语音链路的过程 (10)1.6.5自己进行A律PCM和CVSD的编程程序 (11)1.7实验思考题 (13)实验二数字基带仿真 (14)2.1实验简介 (14)2.2实验目的 (14)2.3实验器材 (14)2.4实验原理 (14)2.4.1差错控制的基本原理 (14)2.4.2跳频扩频的基本原理 (15)2.4.3保密通信原理 (15)2.5实验内容及结果分析 (16)2.5.1蓝牙基带包的差错控制技术实验 (16)2.5.2蓝牙系统的跳频实验 (19)2.5.3数据流的加密与解密实验 (20)2.5.4编程实验 (23)2.6思考题 (26)实验三通信传输的有效性与可靠性分析 (28)3.1实验简介 (28)3.2实验目的 (28)3.3实验器材 (28)3.4实验原理 (28)3.5实验内容及结果分析 (29)3.6思考题 (35)实验四无线多点组网 (37)4.1实验简介 (37)4.2实验目的 (37)4.3实验器材 (37)4.4实验原理 (37)4.4.1通信网络拓扑结构 (37)4.4.2路由技术及组播和广播 (38)4.4.3Ad hoc网络 (38)4.5实验内容及结果分析 (39)4.6思考题 (41)参考文献 (42)实验一语音传输1.1实验简介本实验软件主要对蓝牙语音编码技术和通信网络中的语音传输传输过程进行介绍。

通信实验报告范文

通信实验报告范文

通信实验报告范文实验报告:通信实验引言:通信技术在现代社会中起着至关重要的作用。

无论是人与人之间的交流,还是不同设备之间的互联,通信技术都是必不可少的。

本次实验旨在通过搭建一个简单的通信系统,探究通信原理以及了解一些常用的通信设备。

实验目的:1.了解通信的基本原理和概念。

2.学习通信设备的基本使用方法。

3.探究不同通信设备之间的数据传输速率。

实验材料和仪器:1.两台电脑2.一个路由器3.一根以太网线4.一根网线直连线实验步骤:1.首先,将一台电脑与路由器连接,通过以太网线将电脑的网卡和路由器的LAN口连接起来。

确保连接正常。

2.然后,在另一台电脑上连接路由器的WAN口,同样使用以太网线连接。

3.确认两台电脑和路由器的连接正常后,打开电脑上的网络设置,将两台电脑设置为同一局域网。

4.接下来,进行通信测试。

在一台电脑上打开终端程序,并通过ping命令向另一台电脑发送数据包。

观察数据包的传输速率和延迟情况。

5.进行下一步实验之前,先断开路由器与第二台电脑的连接,然后使用直连线将两台电脑的网卡连接起来。

6.重复第4步的测试,观察直连线下数据包的传输速率和延迟情况。

实验结果:在第4步的测试中,通过路由器连接的两台电脑之间的数据传输速率较高,延迟较低。

而在第6步的测试中,通过直连线连接的两台电脑之间的数据传输速率较低,延迟较高。

可以说明路由器在数据传输中起到了很重要的作用,它可以提高数据传输的速率和稳定性。

讨论和结论:本次实验通过搭建一个简单的通信系统,对通信原理进行了实际的验证。

路由器的加入可以提高数据传输速率和稳定性,使两台电脑之间的通信更加高效。

而直连线则不能提供相同的效果,数据传输速率较低,延迟较高。

因此,在实际网络中,人们更倾向于使用路由器进行数据传输。

实验中可能存在的误差:1.实验中使用的设备和网络环境可能会对实际结果产生一定的影响。

2.实验中的数据传输速率和延迟可能受到网络负载和其他因素的影响。

通信系统实验程序

通信系统实验程序

班级硕-011407学号1401120522西安电子科技大学通信系统综合实验程序学院:通信工程学院班级:硕011407班专业:电子与通信工程姓名:董文欣二○一四年十二月一、2/3FEC编译码程序1.2/3FEC编码#include <stdio.h>void main(){/****变量定义以及初始化***/int mes; //输入的16进制信息序列int bit2[10]; //将输入的16进制数转换为2进制后的数int reg[5]; //移位寄存器int code[15]; //2/3FEC编码后的序列int rbit2[15]; //接收序列(2进制形式)int err_num; //误码数的统计int err_flag;int decodemes[3]; //将译码结果用16进制表示char err_code[15]; //加误码的序列char ch;int flag=0;int i,j,t,e,tt;int sel=0; //功能选择位/****输入信息序列***/printf("通信系统综合实验--数字基带仿真实验--2/3FEC的实现\n");do{if(flag>0)printf("对不起,您的输入值超出范围!\n");flag++;printf("请输入0---3FFH之间的十六进制数,并按回车!\n");scanf("%x",&mes);} while((mes<0)||(mes>1023));/***将输入的十六进制数转换为二进制数***/for(i=0;i<10;i++){bit2[9-i]=mes%2; //bit2[0]为MSBmes=mes/2;}printf("您输入的数转化为二进制后的编码前的序列:(MSB--->LSB): ");for(i=0;i<10;i++)printf("%d",bit2[i]);printf("\n");/*** 2/3 FEC编码***/for(i=0;i<5;i++) //移位寄存器的初始状态全清零reg[i]=0;for(i=0;i<10;i++) //二进制bit2的从低位到高位的输入,按照编码器的电路图进行编码{t= reg[4]^bit2[9-i]; //g=x^5+x^4+x^2+1=(x+1)(x^4+x+1)reg[4]= reg[3]^t;reg[3]= reg[2];reg[2]= reg[1]^t;reg[1]= reg[0];reg[0]= t;}printf("经2/3FEC编码后的二进制信息序列为(MSB-->LSB):");for(i=0;i<5;i++) //输出编码序列的高五位{code[i]=reg[i];rbit2[i]=code[i];printf("%d",code[i]);}printf(" ");for(;i<15;i++) //输出编码序列的信息位{code[i]=bit2[i-5];rbit2[i]=code[i];printf("%d",code[i]);}printf("\n");printf("*************************************************************************** *\n");2.2/3FEC译码/***以下进入菜单选项,可以选择加误码、复原、译码和返回功能***/while(sel != 4){printf("功能菜单如下,您可以选择译码,加误码,复原,以及返回功能:\n");printf("操作方法:按1----->译码,按2----->误码,按3----->复原,按0----->返回\n");printf("请您选择功能!\n");scanf("%d",&sel);getchar();switch(sel) //功能选择{//译码功能case 1:{err_num=0;err_flag=0;for(i=0;i<5;i++) //移位寄存器内容全清0reg[i]=0;for(i=0;i<15;i++) //从接受序列的低位到高位的顺序{t= reg[4];reg[4]= reg[3]^t;reg[3]= reg[2];reg[2]= reg[1]^t;reg[1]= reg[0];reg[0]= rbit2[14-i]^t;}if(reg[4]+reg[3]+reg[2]+reg[1]+reg[0] == 0){printf("信道传输正确或产生不可检错的误码序列! 接收序列为: ");for(i=0;i<15;i++)printf("%d",rbit2[i]);printf("\n 译码结果为: ");}else{for(i=0;i<15;i++){if(reg[4]+reg[3]+(!reg[2])+reg[1]+(!reg[0]) == 5) //11010: x^14 mod ge=1;elsee=0;err_num+=e;if(err_num == 0)err_flag++;tt=rbit2[14]^e; //输出,并将此输出通过循环放到rbit2中for(j=14;j>0;j--)rbit2[j]=rbit2[j-1]; //序列移位rbit2[0]=tt;t= reg[4];reg[4]= reg[3]^t;reg[3]= reg[2];reg[2]= reg[1]^t;reg[1]= reg[0];reg[0]= e^t; //纠错信号也反馈到伴随式计算电路的输入端(图7中虚线所示)对伴随式进行修正,以消去该错误对伴随式的影响}if(err_num == 1)printf("信道传输产生1位错码!可纠错!该码位于第%d位, 译码结果为:",15-err_flag);else{printf("信道传输产生2位或2位以上错码! 超出2/3FEC码纠错范围,不可纠错!\n");printf(" 译码结果为: ");}}decodemes[0] = rbit2[5] *2 + rbit2[6];decodemes[1] = rbit2[7] *8 + rbit2[8] *4 + rbit2[9] *2 + rbit2[10];decodemes[2] = rbit2[11]*8 + rbit2[12]*4 + rbit2[13]*2 + rbit2[14];for(i=5;i<15;i++)printf("%d",rbit2[i]);printf("\n");printf(" 十六进制结果为:%X%X%X\n",decodemes[0],decodemes[1],decodemes[2]);printf("********************************************************************\n");printf("********************************************************************\n");break;}//误码功能case 2:{printf("请您输入加入误码后的二进制序列(15位),可以修改编码后的二进制序列的一位或多位!\n");printf("误码序列:");gets(err_code); //输入误码for(i=0;i<15;i++){if(err_code[i] == '0') //对某一个或某些位设置误码rbit2[i]=0;elserbit2[i]=1;}break;}//复位功能case 3:{for(i=0;i<15;i++)rbit2[i]=code[i]; //恢复正确的码break;}//返回功能case 4:{printf("您即将退出,您真的要退出吗?Y/N\n");ch=getchar();if((ch == 'N')||(ch == 'n'))sel = 0;break;}default: printf("您的操作序号输入有误,执行不了任何功能,请重新输入!\n");}}}二、PCM编译码程序3.PCM编码extern unsigned char PCM_StudentAlawEncode(int InputValue){unsigned char OutputValue = 0x0; //初始化编码输出值/*Add your code here*//****************极性码编码*****************/if(InputValue<0) //当InputValue小于0时,对它取相反数,并将极性码设为0{InputValue=-InputValue;OutputValue=0x00;}elseOutputValue=0x80; //当InputValue大于0时,将极性码设为1 /****************段落码编码*****************///根据InputValue与各段量化区间(共8个量化区间)的起始电平的比较,进行段落码编码//计算出在所在量化区间占用的量化间隔数,用于段内编码if(InputValue>=1024){OutputValue=OutputValue+0x70; //当InputValue大于1024时,在第8段,段内码:111 InputValue=(InputValue-1024)/64; //求在该段落占用的量化间隔数}else if(InputValue>=512){OutputValue=OutputValue+0x60; //当InputValue大于1024时,在第7段,段内码:110InputValue=(InputValue-512)/32; //该段落占用的量化间隔数}else if(InputValue>=256){OutputValue=OutputValue+0x50; //当InputValue大于1024时,在第6段,段内码:101 InputValue=(InputValue-256)/16; //求在该段落占用的量化间隔数}else if(InputValue>=128){OutputValue=OutputValue+0x40; //当InputValue大于1024时,在第5段,段内码:100 InputValue=(InputValue-128)/8; //求在该段落占用的量化间隔数}else if(InputValue>=64){OutputValue=OutputValue+0x30; //当InputValue大于1024时,在第4段,段内码:011 InputValue=(InputValue-64)/4; //求在该段落占用的量化间隔数}else if(InputValue>=32){OutputValue=OutputValue+0x20; //当InputValue大于1024时,在第3段,段内码:010 InputValue=(InputValue-32)/2; //求在该段落占用的量化间隔数}else if(InputValue>=16){OutputValue=OutputValue+0x10; //当InputValue大于1024时,在第2段,段内码:001 InputValue=InputValue-16; //求在该段落占用的量化间隔数}else{OutputValue=OutputValue+0x00; //当InputValue大于1024时,在第1段,段内码:000 }/****************段内码编码*****************/OutputValue+=InputValue;return OutputValue; //完成编码,返回编码值}4.PCM译码extern int PCM_StudentAlawDecode(unsigned char CodeValue){int DecodeValue = 0;/*Add your code here*///将编码后的8位值分三部分,最高位极性码暂时不考虑,还有段内码和段落码int code_1=0;int code_2=0;code_1=CodeValue & 0x70; //code_1代表三位的段落码code_2=CodeValue & 0x0f; //code_2代表四位的段内码//译码时只需判断它的段落码的值,根据段落码的值获得它的量化间隔和起始电平//译码出来的值:起始电平+量化间隔×段内码switch(code_1){case 0x70:DecodeValue+=1024+64*code_2;break; //起始电平:1024,量化间隔:64case 0x60:DecodeValue+=512+32*code_2; break; //起始电平512,量化间隔32case 0x50:DecodeValue+=256+16*code_2; break; //起始电平256,量化间隔16case 0x40:DecodeValue+=128+8*code_2; break; //起始电平128,量化间隔8case 0x30:DecodeValue+=64+4*code_2; break; //起始电平64,量化间隔4case 0x20:DecodeValue+=32+2*code_2; break; //起始电平32,量化间隔2case 0x10:DecodeValue+=16+1*code_2; break; //起始电平16,量化间隔1case 0x00:DecodeValue+=0+1*code_2; //起始电平0,量化间隔1 }//根据极性码的值判断译码后的值的正负if((CodeValue&0x80)==0x0)DecodeValue=-DecodeValue;elseDecodeValue=DecodeV alue;return DecodeV alue;}三、CVSD编译码程序1.CVSD编码extern STUDENT_CVSD* CVSD_StudentEncode(int Amplitude, int SampleTimes, int Frequency) {double Sample[30];int i;for(i = 0; i < SampleTimes; i ++){ /*64khz is the sample frequency*/Sample[i] = Amplitude * sin(2 * PI * Frequency * (double)i /(double)(64*1024));}/*Add your code here*//**************程序中变量的初始化*****************/double h=1-(double)1/32; //由y(k)到x(k)的估计的参数hdouble beta=1-(double)1/1024; //beta为控制量阶衰减的因子int bk=0; //编码值b(k)double stepmin=10; //设定的最小量阶double stepmax=1024; //设定的最大量阶double step=10; //程序设定的初始量阶int count1=0; //编码值b(k)连续1的计数int count0=0; //编码值b(k)连续0的计数double ymin;double ymax;double y=0;double y1=0;double temp1=0;double temp2=0;ymin=-pow(2,15)-1; //设定y(k)的最小值ymax=pow(2,15)-1; //设定y(k)的最大值Student_CVSD.Encode[0]=1;Student_CVSD.Decode[0]=0;Student_CVSD.Decode[1]=0;for(i=1;i<SampleTimes;i++){//根据当前输入CGVSD编码器的采样值和前一个采样的估计值的大小关系计算编码值b (k)if(Sample[i]>Student_CVSD.Decode[i])bk=1;else if(Sample[i]==Student_CVSD.Decode[i])bk=0;elsebk=-1;//判断b(k)值的大小,若是1,则相应编码结果是1,且将连续1个数计数,清连续0的个数的计数if(bk>=1){Student_CVSD.Encode[i]=1;count1++;count0=0;}else //判断b(k)值的大小,若不是1,则相应编码结果是0,且将连续0个数计数,清连续1的个数的计数{Student_CVSD.Encode[i]=0;count0++;count1=0;}//当连续1的个数等于或超过4时,增加量阶,将新量阶与最大量阶进行判断,取较小的作为新量阶if(count1>=4){temp1=step+stepmin;temp2=stepmax;if(temp1<temp2)step=temp1;elsestep=temp2;count1--;}//当连续0的个数等于或超过4时,增加量阶,将新量阶与最大量阶进行判断,取较小的作为新量阶else if(count0>=4){temp1=step+stepmin;temp2=stepmax;if(temp1<temp2)step=temp1;elsestep=temp2;count0--;}//当没有连续4个0或者1出现时,让量阶进行衰减,将新量阶与最小量阶进行判断,取较大的作为新量阶else{temp1=beta*step; //新量阶为:当前量阶×控制量阶衰减的因子temp2=stepmin;if(temp1>temp2)step=temp1;elsestep=temp2;}//计算y(k)的当前估计值,对此估计值进行判断让其在设定y(k)的最小值和最大值之间,不要超出范围y1=Student_CVSD.Decode[i]+bk*step;if(y1>=0){temp1=y1;temp2=ymax;if(temp1<temp2)y=temp1;elsey=temp2;}else{temp1=y1;temp2=ymin;if(temp1>temp2)y=temp1;elsey=temp2;}if(i==(SampleTimes-1)) //停止采样,返回continue;Student_CVSD.Decode[i+1]=h*y; //计算当前值的估计值//保持y不超出给定范围if(y>ymax)ymax=y;if(y<ymin)ymin=y;//保持量阶不超出给定的范围if(step>stepmax)stepmax=step;if(step<stepmax)stepmin=step;}return &Student_CVSD;}2.CVSD译码extern STUDENT_CVSD* CVSD_StudentDecode(int SampleTimes) {/*Add your code here*///定义变量以及相关变量初始化int i;int k;int a=0;int b[32];double h=1-(double)1/32;double beta=1-(double)1/1024;double x[30];double y[30];double d[31];x[0]=0;d[1]=0;for(i = 0; i<SampleTimes;i++)b[i+1]=Student_CVSD.Encode[i]; //获得编码值b(k)if (b[1]==1)y[1]=x[0]+d[1];elsey[1]=x[0]-d[1];x[1]=h*y[1]; //根据估计值获得译码的x(k)的值for(k=2;k<SampleTimes;k++){if(k>4) //判断是否有连续四个0或者1的编码值,是的话将变量a置1;否则a=0 {if((b[k]==1)&&(b[k-1]==1)&&(b[k-2]==1)&&(b[k-3]==1)) a=1;else if((b[k]==0)&&(b[k-1]==0)&&(b[k-2]==0)&&(b[k-3]==0)) a=1;else a=0;}if(a==1){//当a=1时,在量阶不超过最大量阶1024的情况下,将量阶加10if(d[k-1]+10>1024) d[k]=1024;else d[k]=d[k-1]+10;}else{//当a=0时,在量阶不小于最小量阶10的情况下,让量阶衰减,衰减因子为betaif((beta*d[k-1])>10) d[k]=beta*d[k-1];else d[k]=10;}//计算y(k)的当前估计值if(b[k]==1)y[k]=x[k-1]+d[k];elsey[k]=x[k-1]-d[k];//得出当前值的估计值,即译码的x(k)的值x[k]=h*y[k];}for (i = 0; i<SampleTimes;i++)Student_CVSD.Decode[i]=x[i]; //将译码后的值赋给Student_CVSD.Decode return &Student_CVSD;}。

北交大通信专业综合实验移动通信系统和网络协议部分

北交大通信专业综合实验移动通信系统和网络协议部分

指导教师:周春月实验一主被叫实验一、实验目的1、掌握移动台主叫正常接续时的信令流程。

2、了解移动台主叫时被叫号码为空号时的信令流程。

3、了解移动台主叫时被叫用户关机或处于忙状态时的信令流程。

4、了解移动台主叫时被叫用户振铃后长时间不接听的信令流程。

5、掌握移动台被叫正常接续时的信令流程。

6、掌握通话结束呼叫释放时的信令流程。

7、了解被叫用户振铃后长时间不接听时移动台被叫的信令流程。

二、实验仪器1、移动通信实验箱一台;2、台式计算机一台;3、小交换机一台:三、实验原理处于开机空闲状态的移动台要建立与另一用户的通信,在用户看来只要输入被叫号码,再按发送键,移动台就开始启动程序直到电话拨通。

实际上,移动台和网络要经许多步骤才能将呼叫建立起来。

以移动台和移动台进行通信为例,就包括主叫移动台和主叫MSC建立信令链接、主叫MSC通过被叫电话号码对被叫用户进行选路,即寻找被叫所处的MSC、被叫MSC寻呼被叫MS并建立信令连接过程等三个过程。

本实验主要是让掌握移动通信中移动台主叫时MS和MSC之间的信令过程、以及为了完成通话连接,主叫MSC和被叫MSC之间的信令过程(即七号信令中的部分消息)。

四、实验内容1、记录正常呼叫的过程中,移动台主叫部分和被叫部分的信令流程2、记录被叫关机时,移动台主叫部分的信令流程3、记录被叫振铃后无应答时,移动台主叫部分和被叫部分的信令流程4、记录被叫号码无效时,移动台主叫的信令流程5、记录通话结束后,呼叫链路释放的信令流程五、实验步骤主叫实验:1、通过串行口将实验箱和电脑连接,给实验箱上电。

将与实验箱相连的电脑上的学生平台程序打开。

在主界面上双击“主叫实验”图标,进入此实验界面。

2、点击“初始化”键,看到消息框中出现“初始化”完成。

再点击“开机”键,从而使移动台处于开机状态。

3、移动台主叫实验需要某一个被叫移动台的配合,在教师的协调下,选择一个作为被叫的实验箱,并了解此被叫的电话号码。

通信系统综合实验报告

通信系统综合实验报告

通信系统综合实验报告实验一无线多点组网一、实验步骤1、组建树型网络组建5个节点的树形网络,阐述组建的过程。

2、进行数据传输节点之间进行通信,并记录路由信息,最后,进行组播和广播,观察其特点。

二、实验过程1、组建树型网络(1).网络1A、首先在配置中寻找到其他4个节点的地址信息。

自身地址:00:37:16:00:A5:46B、查找设备C、建立连接组网假设参加组网的共有5个BT设备,称为a、b、c、d、e。

首先由一个设备(例如b)发起查询,如果找到多个设备,则任选其二(例如d、e)主动与其建链。

在这个阶段,b、d、e构成一个微微网,b为主设备(M),d、e为从设备(S)。

注意在微微网中对处于激活状态的从设备的个数限制为2;而某个设备一旦成为从设备(即d、e),它就不能再被其它设备发现,也不能查询其它设备或与其它设备建链。

再由另外一个设备(a)发起查询,查询到设备b和设备c,再主动链接。

(1).网络1组建的网络图(1)(2)网络2同理,首先,在配置中寻找到其他4个节点的地址信息。

然后查找设备,再建立连接。

由地址为00:37:16:00:A5:42的节点连接00:37:16:00:A5:46和00:37:16:00:A5:43,再由00:37:16:00:A5:47连接00:37:16:00:A5:42和00:37:16:00:A5:45,最后组成网络。

组建的网络图(2)2.进行数据传输(1)点对点发送信息例如,对于组建的网络2.图中显示的是:00:37:16:00:A5:4A对00:37:16:00:A5:43的路由,途中经过了00:37:16:00:A5:47,00:37:16:00:A5:42由此可见,简单拓扑结构,路由具有唯一性。

(2)组播与广播1. 广播:由任何一个节点设备向网络内的所有其他节点发送同一消息,观察其发送的目标地址以及数据交换过程。

在这种情况下的路由过程与两个节点间数据单播的过程有何不同。

通信工程现代综合实训

通信工程现代综合实训

目录第一章绪论 (1)第二章光传输通信系统 (1)2.1 SDH设备硬件总体介绍 (1)2.1.1 系统硬件介绍 (1)2.1.2 OPTIX 2500+设备介绍 (2)2.2 SDH设备管理软件演示介绍 (2)2.3 SDH光传输链形拓扑网络配置 (7)第三章移动通信(GSM)系统 (7)3.1 GSM系统介绍 (7)3.2 华为GSM移动设备核心网设备介绍 (8)3.2.1 HLR9820 (8)3.2.2 MSOFTX3000 (10)3.2.3 UMG8900 (12)3.2.4 BSC6000 (13)3.2.5 BTS3012 (14)3.3 华为GSM系统联调 (15)第四章程控交换系统 (19)4.1 C&C08系统概述 (19)4.2 C&C08硬件结构 (19)4.3 交换机硬件配置实验 (22)4.4 NO7 ISUP中继调试 (25)4.5 NO7 TUP中继调试 (27)第五章总结 (30)致谢 (30)参考文献 (31)第一章绪论随着网络技术的日益发展和多媒体通信技术的日益深入和普及,基于因特网的多媒体网络技术成为了网络技术的发展方向。

一个简单的网络应该包括3个主要部分,进行传输的传输控制设备、进行数据交换的交换机设备和控制数据速率接入用户的接入设备。

如果还需要进行语音信号的交换,那么就还需要在网络中增加语音网关设备。

在比较早期的网络中,语音信号和信息数据是不能够同时进行传输的,也就是说,一条线路只能满足用户的一种服务要求,要么进行语音通话,要么进行数据通信,这也给用户带来了很多不便。

随着技术的发展,如今的网络不但可以满足用户在上网时进行语音通话的要求,还可以为用户提供多媒体通信等多项服务。

大学四年有关通信工程专业理论知识的学习已经告一段落,理论指导实践,本学期末我们进行了为期一个月的综合实训环节,达到学以致用的效果。

在这个环节中,考验的是我们的综合知识,我们不仅要将平时学习到的知识与实际应用联系起来,还要在实践中增长知识才干,完善知识体系结构。

H001 ZXMP光纤通信系统综合实验设计

H001 ZXMP光纤通信系统综合实验设计

¥2 3 5各 1台 ;Z O M E 0 X N 30后 台 管 理 软 件 1套 ;
实验终 端 电脑 4 0台 。
2 1 光 纤传 输 系统 和 宽带接 入设备 连接 .
图 2 网元 主控 制 板 功 能
光纤传 输 系 统 与 Z U S 1 6 0宽 带 接 入 设 备 X A 0 0 的连 接如 图 4所示 。

2・
实验科 学与技术
21 02年 2月

定 的 网络层 管理 功 能 。Z O M E 0 X N 30网管 系统 采
告警 ( io) Mnr 、提 示 告 警 ( rig 。 当 出 现 警 告 Wa n ) n
时 ,网管 软件 中都有 相应 的显示 说 明 ,可 以按照 提 示进 行告警 处 理 。
验 设计 。实 验器材 :Z U S16 0宽带 接 入设 备 1 X A 0 0 台 ;Z D 0 0交 换 机 1台 ;Z MP ¥ 0 X 10 X 2 0和 Z MP X
提 供 时钟、 业 氰 通 信 等 信
扩功 单 l 甲 展 能 冗旆 J 外 销
微控制尊7l ‘ l 网元挣制处辟 甲
15 S M N复用 规则 . T —
低 速 的 S M. T 1采用 字 节 间插/ 复时各 S M一 的 A —T 接 T 1帧 uP R和
信息净 负荷 的所 有字 节 原 封 不 动 的按 字 节 间插/ 接
( ) 1# 1 将 8 槽位 N P板置 于 dw la 态 。将 C o nod状 N P板上 的开 关 S C 1置 于全 O N状 态 ,这 时 N P的 C I 址 默 认 为 1 2 12 12 1 ,把 P 的 网卡 I P地 9 .9.9 . 1 C P

CDMA通信系统综合仿真实验报告

CDMA通信系统综合仿真实验报告

《信息处理综合实验》实验报告(十六)班级:x’x姓名:x’x学号:x’x日期:x’x实验十六 CDMA通信系统综合仿真一、实验目的1. 了解多址技术,扩频技术及CDMA相关通信原理知识。

2. 理解和掌握CDMA通信系统工作理论。

3. 完成CDMA通信系统的设计,并利用Matlab开展仿真分析。

4. 熟悉Matlab及simulink的使用。

2、实验内容1. 根据CDMA通信系统工作的原理(即扩频通信原理)如下图1,理解和掌握CDMA通信系统整个通信过程。

2. 根据CDMA通信系统工作的原理编写matlab程序,并简要讲述程序流程,用图片记录(显示)整个通信过程。

3. 根据CDMA通信系统工作的原理及程序流程用simulink进行仿真,记录仿真结果。

图1 扩频通信的工作原理三、实验结果1. 程序流程2. 仿真过程记录图2 初始用户传递信息图3 用户信息扩频后图4 基带信号图5 解扩后信号误码率:由于在设计中只考虑到加性高斯信道所带来的干扰,最终三个信息的误码率几乎均为0,这里不再作展示。

3. Simulink仿真过程记录。

图 6 simulink仿真图图7 初始信号1和初始信号2图8 扩频后的信号1和信号2图9 基带信号图10 解扩后的信号1和信号2四、实验结论对于本次实验以及仿真而言,基本完成了实验目的和内容的要求,通过用MATLAB对DS-CDMA系统的仿真调试、结果分析,让我熟悉了DS-CDMA的工作原理,加深了对扩频通信的认识。

通过仿真结果中波形的直观方式,让我更清晰的认识到CDMA通信系统的工作方式。

但是在设计中只考虑到加性高斯白噪声所带来的干扰,所以误码率计算的结果为0然而在实际通信信道及干扰是复杂多变的,存在着各种各样的情况,仿真实验中最后的信号是在很简单的干扰下(基本没有干扰)得出。

要想应用于实际中,必须加入各种噪声来考虑,以实现真实系统的设计。

即使如此,在本次设计的整个过程中,以上的结果已经令我受益匪浅。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录实验一语音传输 (1)1.1实验简介 (1)1.2实验目的 (1)1.3实验器材 (1)1.4实验原理 (1)1.4.1脉冲编码调制 (2)1.4.2连续可变斜率增量调制 (3)1.4.3随机错误和突发错误 (4)1.4.4内部通话与数据传输的工作过程 (4)1.5实验内容 (5)1.6实验结果及数据分析 (6)1.6.1三种调制方式在相同参数下的量化编码 (6)1.6.2相同参数下的波形 (6)1.6.3不同频率相同随机错误与突发错误的波形 (8)1.6.4蓝牙建立和断开语音链路的过程 (10)1.6.5自己进行A律PCM和CVSD的编程程序 (11)1.7实验思考题 (13)实验二数字基带仿真 (14)2.1实验简介 (14)2.2实验目的 (14)2.3实验器材 (14)2.4实验原理 (14)2.4.1差错控制的基本原理 (14)2.4.2跳频扩频的基本原理 (15)2.4.3保密通信原理 (15)2.5实验内容及结果分析 (16)2.5.1蓝牙基带包的差错控制技术实验 (16)2.5.2蓝牙系统的跳频实验 (19)2.5.3数据流的加密与解密实验 (20)2.5.4编程实验 (23)2.6思考题 (26)实验三通信传输的有效性与可靠性分析 (28)3.1实验简介 (28)3.2实验目的 (28)3.3实验器材 (28)3.4实验原理 (28)3.5实验内容及结果分析 (29)3.6思考题 (35)实验四无线多点组网 (37)4.1实验简介 (37)4.2实验目的 (37)4.3实验器材 (37)4.4实验原理 (37)4.4.1通信网络拓扑结构 (37)4.4.2路由技术及组播和广播 (38)4.4.3Ad hoc网络 (38)4.5实验内容及结果分析 (39)4.6思考题 (41)参考文献 (42)实验一语音传输1.1实验简介本实验软件主要对蓝牙语音编码技术和通信网络中的语音传输传输过程进行介绍。

学生利用本软件及蓝牙设备组建点对点式无线连接,可以观察理解三种编码方式及原理、ACL和SCO链路的建立、ACL和SCO数据包传输的区别。

本实验需要操作者具有采样、量化、编码等相关背景知识。

本实验关于蓝牙设备的链路连接的理论可以作为本实验平台的其他实验的预备知识。

1.2实验目的本实验通过软件模拟蓝牙语音编码技术和通信网络中的语音传输过程,主要是为了实现以下目的:(1)理解蓝牙支持的三种语音编码方式的异同;(2)随机错误和突发错误对传输的影响;(3)理解语音传输与数据传输的异同:ACL 和SCO链路;(4)通过实际编程加深对实验原理的理解,提高实践能力。

1.3实验器材硬件:PC机一台,带语音功能的蓝牙模块,串口电缆,耳机话筒。

软件:Windows 2000或Windows 操作系统,TTP局域网语音传输实验软件。

1.4实验原理本次实验中包括脉冲编码调制(线性、A律PCM)原理、连续可变斜率增量(CVSD)调制原理、随机错误和突发错误、内部通话与数据传输的工作过程等实验原理。

1.4.1脉冲编码调制PCM 是把模拟信号变换为数字信号的一种调制方式,把连续输入的模拟信号变换为在时域和振幅上都离散的量,然后将其转化为二进制码形式传输。

通常PCM 分为抽样、量化、编码三个步骤。

抽样过程为()()()F t f t s t =*,其中()s t 为抽样函数。

语音信号的频率为0.3KHZ –4KHZ ,由采样定理可知,采样频率应大于或等于模拟信号最高频率的两倍,故语音信号的采样频率为8KHZ 。

量化就是把离散时间的模拟样值信号近似地用有限个数的数值来表示。

量化过程中存在一定的量化误差, 量化误差为实际信号与量化信号的差值。

为了便于用数字电路实现,其量化电平数一般为2的整数次幂,有利于采用二进制编码表示 。

通常,量化又分为均匀量化和非均匀量化。

把输入信号的取值按等距离分割的量化为均匀量化,它用于线性PCM 调制中。

非均匀量化是量化间隔随信号抽样值的不同而变化的量化。

采用均匀量化时,对小信号和大信号都采用相同的量化等级,因而对小信号的量化不利,引起“信号/量化噪声”比值变小,为了克服这个缺点,改善小信号时的信号量噪比,在实际应用中采用非均匀量化 。

非均匀量化中,广泛采用的是A 律 或 µ律 PCM ,其系统框图如下图所示:图1 PCM 通信框图PCM 编码原理PCM 编码方法为逐次比较型A 律13折线二进制码,码位码型为8位的折叠二进制码,码位安排如下表所示:表1 码位安排D8D7 D6 D5 D4 D3 D2 D1 极性码段落码 段内码当抽样值为正时,极性码D8=1,为负时,D8=0。

段落码为抽样值所处的区间,分为8段,段内码16等分每个段落。

1.4.2连续可变斜率增量调制连续可变斜率增量调制,其输出比特随波形变化而变化,用一位码表示相邻抽样值的相对大小。

为了减少斜率过载,使用了语音压缩技术,根据平均信号的斜率,阶梯高度可以2。

CVSD编码擅长调整。

CVSD编码器的输入是每秒64K采样值的线性PCM,量化级数为16处理丢失和被损坏的语音采样,即使比特错误率达到4%,但CVSD编码的语音还是可听的。

图2 CVSD编码示意图图3 CVSD编码方框图图4 CVSD解码方框图图5 累加器工作原理框图1.4.3随机错误和突发错误随机错误是指错误的出现是随机的,错误出现的位置是随机分布的,各个码元是否发生错误是互相独立的,通常不是成片地出现错误。

它一般是由信道的加性随机噪声引起的。

突发错误是指错误的出现是一连串出现的。

在一个突发错误持续时间内,开头和末尾的码元总是错的,中间的某些码元可能错也可能对,但错误的码元相对较多。

这种情况如移动通信中信号在某一段时间内发生衰落,造成一串差错,光盘上的一条划痕等等。

一般地,在突发错误图样中存在:收码=发码+错误图样;而突发长度11,b b t t b =+=(1b 是1的个数,t 是0的个数)。

1.4.4内部通话与数据传输的工作过程对于内部通话与数据传输的工作过程的工作原理涉及到三方面的内容:ACL 链路和SCO 链路、蓝牙设备的身份切换、内部通话与数据传输的工作过程1.3.4.1 ACL 链路和SCO 链路在蓝牙主设备与从设备之间可以建立两种不同类型的物理链路,分别是无连接的非实时异步链路和面向连接的实时同步链路,即ACL (Asynchronous Connection-Less )链路和SCO (Synchronous Connection-Oriented )链路。

ACL 链路中,主设备和从设备可以在任意时隙传输,以数据为主。

在一个主设备和一个从设备之间,只能存在一条ACL 链路。

对大多数ACL 分组,为确保数据的完整和正确,使用分组重传的机制;SCO 链路是指主设备和从设备在规定的时隙传送话音等实时性强的信息。

它使用固定间隔的保留时隙,为保证实时性,SCO 链路上的信息不会重传。

X.25网络中采用分组交换,在链路上采用动态复用技术传送分组 ,GSM 网络采用电路交换,每次通信占用一条专用的物理链路。

SCO 链路只在规定的时隙传送话音,即占用固定时隙,而A 当没有SCO 时,ACL 可以使用任何时隙,一旦有SCO ,ACL 必须让出SCO 的固定时隙。

一般情况可以认为,ACL 链路是分组交换,SCO 链路是电路交换。

1.3.4.2蓝牙设备的身份切换通常首先提出通信要求的设备称为主设备(Master),被动进行通信的设备称为(Slave)。

在一些特殊应用场合,如LAP 和PSTN 网关,被动进行通信的设备要求作主设备,此时就需进行身份的切换。

图6 蓝牙设备身份切换过程需要提及的是,协议规定建链完成后蓝牙从设备不能再被别的设备查询到也不能再去查询别的蓝牙设备,因此建链过程中的身份切换是一个很重要的功能。

实现蓝牙设备身份切换的功能的蓝牙协议层可对应OSI七层模型中的数据链路层。

1.3.4.3内部通话与数据传输的工作过程内部通话过程数据传输过程初始化蓝牙设备初始化蓝牙设备查询周围蓝牙设备查询周围蓝牙设备建立ACL链路建立ACL链路建立SCO链路通话传送数据断开SCO链路断开ACL链路断开ACL链路1.5实验内容1. 脉冲编码调制(线性、A律PCM)。

2. 连续可变斜律增量(CVSD)调制原理。

3. 随机错误和突发错误的观察分析。

4.蓝牙设备的ACL链路和SCO链路分析。

5. 蓝牙设备的身份切换。

6. 蓝牙设备的内部通话与数据传输的工作过程。

7. 编程实验:在Visual C++环境中,根据A律PCM和CVSD的编码原理和实验中已给出的程序,试完成其余的程序。

程序执行结果与实验所得数据是否相符。

1.6实验结果及数据分析1.6.1三种调制方式在相同参数下的量化编码图7.相同参数下的量化编码1.6.2相同参数下的波形图8 线性调制图9 A律PCM调制图10 CVSD调制从图8、图9、图10可以明显的看出,在相同的随机错误和突发错误下,CVSD的译码效果最好,其次是A律PCM,最后是线性PCM。

1.6.3不同频率相同随机错误与突发错误的波形图11 线性调制(频率为0.5k)图12 线性调制(频率为1k)从图11和12可以看出,当频率增大时,量化误差增大,相应的误码率也会增大。

图13 A律PCM调制(频率为0.5k)图14 A律PCM调制(频率为1k)由结果可以看出,和线性调制类似,频率变大后量化误差会变大,译码后的波形相对来说误差会变的更大。

图15 CVSD调制(频率为0.5k)图16 CVSD调制(频率为1k)对于CVSD的仿真结果,我们可以看出,量化误差基本不随着频率的改变而改变,因而其译码后的波形误差相对也比较小。

通过上述六幅图的比较可以看出,在相同随机错误和突发错误误码率,不同频率的条件下,三种调制方式中仍然是CVSD的性能最好,A律PCM次之,线性调制效果最差。

1.6.4蓝牙建立和断开语音链路的过程图17蓝牙传输过程从图中可验证,SCO链路占用占固定的时隙,ACL链路的时隙是任意的。

当没有SCO链路时,ACL链路时隙是任意的;而当有SCO链路时,ACL链路只能使用除了SCO链路之外的时隙。

1.6.5自己进行A律PCM和CVSD的编程程序1.6.5.1 A律PCM编译码程序流程图如图18所示:编码译码图18 A律PCM编译码流程图1.6.5.2CVSD编译码程序流程图如图19所示:(a)编码(b) 译码图19 CVSD编译码流程图1.7实验思考题1、实际应用中通常采用非均匀量化,而不是均匀量化,为什么?答:非均匀量化是根据信号的不同区间来确定量化间隔的。

对于信号取值小的区间,其量化间隔也小;反之,量化间隔就大。

相关文档
最新文档