基于GUI的数字基带传输码型仿真—采用Miller码CMI码双极性归零码 双极性不归零码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《通信原理》
CDIO项目设计总结报告
项目名称:基于GUI的数字基带传输码型仿真—采用
Miller码、CMI码、双极性归零码、双极性不归
零码
班级:班
学号:
姓名:
年月日
目录目录
1.1项目目的
2.2.1 数字基带系统的实现
1.项目目的与要求
1.1项目目的
1.对数字基带传输系统主要原理和技术进行研究,包括基带传输的常用码型Miller码、CMI码、双极性归零码、双极性不归零码。
2.建立数字基带传输系统数学模型。
3.利用Matlab编写基于GUI的数字基带传输码型程序。
4.对系统进行仿真、分析。
5.观察并记录信息码波形和传输码的波形,并进行分析。
1.2项目要求
1.建立数字基带传输系统数学模型。
2.利用Matlab编写基于GUI的数字基带传输码型程序。
3.对通信系统进行时间流上的仿真,得到仿真结果。
4.将仿真结果与理论结果进行比较、分析。
2.项目设计
2.1项目分析
2.1.1 数字基带传输系统
基带传输系统的基本组成如下图所示,它主要由信道信号形成器、信道、接受滤波器和抽样判决器。
其中各部分的作用如下:
脉冲形成器:基带传输系统的输入是由终端设备或编码器产生的脉冲序列,脉冲形成器的作用就是形成适合信道传输的基带信号,主要是通过码型变换和波形变换来实现的,其目的是与信道匹配,便于传输,减小码间串扰,利于同步提取和抽样判决。
信道:它是允许基带信号通过的煤质。信道的传输特性通常不满足无失真传输条件,另外信道还会进入噪声。
接受滤波器:它的主要作用是滤除带外噪声,对信道特性均衡,使输出的基带波形有利于抽样判决。
抽样判决器:它是在传输特性不理想及噪声背景下,在规定时刻(由位定时脉冲控制)对接受滤波器的输出波形进行抽样判决,以恢复或再生基带信号。
2.1.2 miller码
密勒码又称为延迟调制码,是双相码的一种变形。编码规则如下:“1”码用码元间隔中心点出现越变来表示,即用10或01表示。“0”码有两种情况:对原始符号“0”则分成单个“0”还是连续“0”予以不同处理,单个“0”时,在码元边界处电平不跃变,在码元中间点电平也不跃变;对于连续“0”,则使连续两个“0”的边界处发生电平跃变,即“00”与“11”交替。
2.1.3 CMI码
CMI(Coded Mark Inversion)码是传号反转码的简称,与双相码类似,
它也是一种双极性二电平码。其编码规则是“1”码交替用“11”和“00”两位码表示;“0”码固定地用“01”表示。
CMI码易于实现,含有丰富的定时信息。此外,由于10为禁用码组,不会出现三个以上的连码,这个规律可以用来宏观检错。该码已被ITU-T 推荐为PCM四次群的接口码型,有时也用在速率低于8.44Mb/s的光缆传输系统中。
2.1.4 双极性归零码
双极性归零码是二进制码0 和1 分别对应于正和负电平的波形的编码,在每个码之间都有间隙产生.这种码既具有双极性特性,又具有归零的特性.双极性归零码的特点是:接收端根据接收波形归于零电平就可以判决1 比特的信息已接收完毕,然后准备下一比特信息的接收,因此发送端不必按一定的周期发送信息.可以认为正负脉冲的前沿起了起动信号的作用,后沿起了终止信号的作用.因此可以经常保持正确的比特同步.即收发之间元需特别的定时,且各符号独立地构成起止方式,此方式也叫做自同步方式.由于这一特性,双极性归零码的应用十分广泛
2.1.5 双极性不归零码
在双极性不归零波形中。脉冲的正、负电平分别对应于二进制代码1、0,如图5—3(b)所示,由于它是幅度相等极性相反波形,故当0、1符号等可能出现时无直流分量。这样,恢复信号的判决电平为0,因而不受信道特性变化的影响,抗干扰能力也较强。故双极性波形有利于在信道中
传输。
2.2 设计实现过程
在设计实现数字基带传输传输码型仿真—采用Miller码、CMI码、双极性归零码、双极性不归零码的过程中,我充分利用了课堂上所学到的编码的知识,在熟悉掌握matlab的前提下,通过查阅相关资料和网络搜索,我充分了解了利用matlab的GUI仿真所需的函数,通过不断地试验和完善,将数字基带传输信号和它的四种编码的码型显示在了GUI界面上,对这四种编码的特性有了一个清晰的认知。以下是我的具体的设计实现过程:2.2.1 数字基带系统的实现
在设计数字基带系统的过程中,我使用了rand函数,随机产生以N为时间间隔的N=20个数字基带信号(N为时间间隔,在这里,为了使图形效果更佳,我设定为1000),x=ceil(rand(1,N)-0.8);
x_t=zeros(1,N*fs);
for i=1:N*fs
x_t(i)=x(ceil(i/fs));
使用这四段代码实现基带信号的产生。再通过plot函数将该序列显示在GUI界面上。
2.2.2 miller码的实现
在利用matlab的语言编写miller码的过程中,我使用了一个function 模块专门用来处理基带信号,使之变为miller码,再通过函数的调用,调用该模块产生miller码,该模块的核心代码如下所示:
if x(i)==1 %若原码为1,则交替为10或01
Miller(2*i-1)=f;
Miller(2*i)=not(f);
f=not(f);
d=1;
else %若原码为0
if d==1 %前一个码为1
Miller(2*i-1)=f;
Miller(2*i)=f;
d=0;
else %前一个码为0
f=not(f);
Miller(2*i-1)=f;
Miller(2*i)=f;
d=0;
end
end
2.2.3 CMI码的实现
CMI码的设计,与miller码的设计基本一致,只是CMI码的编码规则是是“1”码交替用“11”和“00”两位码表示;“0”码固定地用“01”表示。核心代码变为了:
if x(i)==0 %若原码为0,则为01,
CMI(2*i-1)=0;
CMI(2*i)=1;
else %若原码为1.则交替为11和00
CMI(2*i-1)=f;
CMI(2*i)=f;
f=not(f);
end
2.2.4 双极性归零码的实现
双极性归零码的特殊性质在于其在每一个码型显示之后都会跳变为0,利用E和-E分别表示1和0,因此我在这里设计了一个判断函数,通过判断产生的数字基带信号是否为大于0.5来判断0、1信号,并给y(i)赋1或-1值,而且为了实现跳变为0的功能,另加了一个判断,使得输出函数