通信原理MATLAB仿真教程第7章课件

上传人:我*** 文档编号:138256122 上传时间:2020-07-14 格式:PPT 页数:120 大小:917.50KB
返回 下载 相关 举报
通信原理MATLAB仿真教程第7章课件_第1页
第1页 / 共120页
通信原理MATLAB仿真教程第7章课件_第2页
第2页 / 共120页
通信原理MATLAB仿真教程第7章课件_第3页
第3页 / 共120页
通信原理MATLAB仿真教程第7章课件_第4页
第4页 / 共120页
通信原理MATLAB仿真教程第7章课件_第5页
第5页 / 共120页
点击查看更多>>
资源描述

《通信原理MATLAB仿真教程第7章课件》由会员分享,可在线阅读,更多相关《通信原理MATLAB仿真教程第7章课件(120页珍藏版)》请在金锄头文库上搜索。

1、第 七 章,数字信号的基带传输,数字通信系统的任务是传输数字信息,数字信息可能是来自数据终端设备的原始数据信号,也可能是来自模拟信号经数字化处理后的脉冲编码信号。数字信息在一般情况下可以表示为一个数字序列,数字序列的基本单元称为码元。每个码元只能取离散的有限个值,通常用不同幅度的脉冲表示码元的不同取值,这种脉冲信号被称为数字基带信号,这是因为它们所占据的频带通常从直流和低频开始。,在某些具有低通特性的有线信道中,特别是在传输距离不太远的情况下,数字基带信号可以不经过载波调制而直接进行传输,这种不使用调制和解调装置而直接传送数字基带信号的系统,我们称它为数字基带传输系统。而具有调制和解调过程的传

2、输系统称为数字频带传输系统。,本章知识要点 数字基带信号的常用码型 码型的功率谱分布 基带传输的误码率 码间串扰 均衡技术 部分相应,7.1 数字基带信号的码型,数字基带信号是数字信息的电脉冲表示,电脉冲的形式称为码型。通常把数字信息的电脉冲表示过程称为码型编码或码型变换,在有线信道中传输的数字基带信号又称为线路传输码型。由码型还原为数字信息称为码型译码。,不同的码型具有不同的频域特性,合理地设计码型使之适合于给定信道的传输特性,是基带传输首先要考虑的问题。,(1)对于传输频带低端受限的信道,线路传输码型的频谱中应不含有直流分量; (2)信号的抗噪声能力强; (3)便于从信号中提取位定时信息;

3、 (4)尽量减少基带信号频谱中的高频分量,以节省传输频带并减小串扰; (5)编译码的设备应尽量简单。,对于码型的选择通常要考虑以下的因素:,7.1.1 常用码型,数字基带信号(以下简称为基带信号)的类型举不胜举的,常见的有矩形脉冲、三角波、高斯脉冲和升余弦脉冲等。无论采用什么形式的波形,数字基带信号都可以用数学式表示出来。若令 代表二进制符号的“0”, 代表“1”,码元的间隔为 ,则基带信号可表示成,其中,,由于 是信息符号所对应的电平值,它是一个随机量。因此,通常在实际中遇到的基带信号都是一个随机的脉冲序列。因为矩形脉冲易于形成和变换,所以最常用的是矩形脉冲。,单极性不归零码是一种最简单、

4、最常用的基带信号形式。这种信号脉冲的零电平和正电平分别对应着二进制代码0和1,或者说,它在一个码元时间内用脉冲的有或无来对应表示0或1码。其特点是极性单一,有直流分量,脉冲之间无间隔。另外位同步信息包含在电平的转换之中,但是当出现连0或连1序列时没有位同步信息。,单极性不归零码,生成单极性不归零码的流程图如图7-1所示 。,MATLAB实现程序如下:,function y=snrz(x) %本函数实现将输入的一段二进制代码编为相应的单极性 不归零码输出 %输入x为二进制码,输出y为编好的码,t0=200; t=0:1/t0:length(x); %给出相应的时间序列 for i=1:lengt

5、h(x) %计算码元的值 if x(i)=1 %如果输入信息为1 for j=1:t0 %该码元对应的点值取1 y(i-1)*t0+j)=1; end else for j=1:t0 %如果输入信息为0,码元对应的点值取0,y(i-1)*t0+j)=0; end end end y=y,x(i); plot(t,y); %采用title命令来实现标记出各码元对应的二元信息 title(1 0 1 1 0 0 1 0); grid on; axis(0,i, -0.1,1.1);,在命令窗口中键入x的二进制代码和函数名,就可以得到所对应 的单极性不归零码输出,如输入以下指令,将出现图7-2所示结

6、 果。 x=1 0 1 1 0 0 1 0; snrz(x),图7-2 单极性不归零码,双极性不归零码,在双极性不归零码中,脉冲的正、负电平分别对应于二 进制代码1、0,由于它是幅度相等极性相反的双极性波形, 故当0、 1符号等可能出现时无直流分量。 这样,恢复信号 的判决电平为 0,因而不受信道特性变化的影响,抗干扰能 力也较强。故双极性码较单极性码更有利于在信道中传输。,双极性非归零码的实现同单极性基本一样,只需将 snrz.m中的判断得到0信息后的语句y(i-1)*t0+j)=0; 中的0改为-1即可,所以就不再给出MATLAB函数 文件了,波形图如图7-3所示。,图7-3 双极性不归零

7、码,单极性归零码,单极性归零码与单极性不归零码的区别是电脉冲 宽度小于码元宽度,每个电脉冲在小于码元长度内总 要回到零电平,即输入信息为1时给出的码元前半时间 为1,后半时间为0,输入为0时与不归零码则完全相同。 单极性归零码可以直接提取定时信息,是其他波形提 取位定时信号时需要采用的一种过渡波形。,其MATLAB实现如下:(函数文件srz.m),function y=srz(x) %本函数实现将输入的一段二进制代码编为相应的单极性归零码输出 %输入x为二进制码,输出y为编好的码 t0=200; t=0:1/t0:length(x); %给出相应的时间序列 for i=1:length(x)

8、%计算码元的值 if x(i)=1 %如果输入信息为1 for j=1:t0/2 y(2*i-2)*t0/2+j)=1; %定义前半段时间值为1 y(2*i-1)*t0/2+j)=0; %定义后半段时间值为0 end,else for j=1:t0 %如果输入信息为0 y(i-1)*t0+j)=0; %定义所有时间值为0 end end end y=y,x(i); plot(t,y); title(1 0 1 1 0 0 1 0); grid on; axis(0,i, -0.1,1.1);,同理,在命令窗口中键入x的二进制代码和函数名,就可以得到所对应的单极性归零码输出,如输入以下指令,将出

9、现图7-4所示结果。 x=1 0 1 1 0 0 1 0; srz(x),图7-4 单极性归零码,双极性归零码,它是双极性不归零码的归零形式,每个码元内的脉冲都回到零点平,表示信息1时前半时间为1后半时间为0,表示信息0时前半时间为-1后半时间为0,相邻脉冲之间必定留有零电位的间隔。它除了具有双极性不归零码的特点外,还有利于同步脉冲的提取。,双极性归零码的MATLAB实现同单极性也基本一样,只需将srz.m中的判断得到0信息后的语句 for j=1:t0 y(i-1)*t0+j)=0; 改为for j=1:t0/2 y(2*i-2)*t0/2+j)=-1; y(2*i-1)*t0/2+j)=0

10、; 即可,所以也就不再给出MATLAB函数文件了,其波形图如图7-5所示。,图7-5 双极性归零码,编码规则:对每个二进制代码分别利用两个具有不同相位的二进制信码去取代的码,即采用在一个码元时间的中央时刻从0到1的跳变来表示信息1,从1到0的跳变来表示信息0;或者用前半时间为0后半时间为1来表示信息0,而前半时间为1后半时间为0表示信息0。这种码只使用两个电平,且既能提供足够的定时分量,又无直流漂移,编码过程简单。但这种码的带宽要宽些。,Manchester码(双相码),其MATLAB实现同双极性归零码相似,只需将语句: y(2*i-2)*t0/2+j)=-1; y(2*i-1)*t0/2+j

11、)=0; 改为: y(2*i-2)*t0/2+j)=0; y(2*i-1)*t0/2+j)=1; 即可。其波形图如图7-6所示。,图7-6 Manchester码,差分Manchester码(条件双相码),这种码不仅与当前的信息元有关,而且与前一个信 息元也有关。差分Manchester码也使用中央时刻的电平 跳变来表示信息,但与Manchester码不同的是对于信息 1则前半时间与前一码元的后半时间电平相同,在中央 处再跳变,对于信息0则前半时间的电平与前一码元的 后半时间电平相反。其波形表示如图7-7所示。,图7-7差分Manchester码,前几种码型当遇到传输中电平极性反转的情况时都会

12、 出现译码错误,而差分Manchester码却不会受极性反转的 影响。其MATLAB实现如下(函数文件dmachester.m):,function y=dmachester(x) %本函数实现将输入的一段二进制代码编为相应的条件 双相码输出,输入x为二进制代码,输出y为编好的码 x=1 0 1 1 0 0 1 0; t0=200; t=0:1/t0:length(x); %定义时间序列 i=1; %直接对一段二进制数编码 if x(i)=1 %由于前面的值不定,所以单独给出头一 个值,若第一个信息为1 for j=1:t0/2 y(2*i-2)*t0/2+j)=0; %前半时间为0,y(2*

13、i-1)*t0/2+j)=1; %后半时间为1 end else for j=1:t0/2 %如果输入信息为0 y(2*i-2)*t0/2+j)=1; %前半时间为1 y(2*i-1)*t0/2+j)=0; %后半时间为0 end end for i=2:length(x) %从第二个信息起编码与前面的码元 有关系 if x(i)=1 %输入的信息为1 for j=1:t0/2 y(2*i-2)*t0/2+j)=1-y(2*i-3)*t0/2+t0/4);%前半时间值与前 一码元后半时间值相反 y(2*i-1)*t0/2+j)=1-y(2*i-2)*t0/2+j); %后半时间值与本码 元前半

14、时间值相反 end,else for j=1:t0/2 %如果输入信息为0 y(2*i-2)*t0/2+j)=y(2*i-3)*t0/2+t0/4); %前半时间值与 前一码元后半时间值相同 y(2*i-1)*t0/2+j)=1-y(2*i-2)*t0/2+j); %后半时间值与 本码元前半时间值相反 end end end y=y,y(i*t0); plot(t,y); title(1 0 1 1 0 0 1 0); grid on; axis(0,i, -0.1,1.1);,Miller码(延迟调制码),编码规则:“1”码用码元持续时间中心点出现跃变来表示,即用“10”或“01”表示,前半

15、时间的电平与前一码元后半时间的电平相同。“0”码分两种情况处理:对于单个“0”时,在码元持续时间内不出现电平跃变,且与相邻码元的边界处也不跃变;对于连“0”时,在两个“0”码的边界处出现电平跃变,即“00”与“11”交替。其波形表示如图7-8所示。,图7-8 Miller码,Miller码也不受电平极性反转的影响,其MATLAB实现如下(函数文件miler.m): function y=miler(x) %本函数实现将输入的一段二进制代码编为相应的密勒码输出 %输入x为二进制代码,输出y为编好的码 x=1 0 1 1 0 0 1 0; t0=200; t=0:1/t0:length(x); %定义时间序列 i=1; %直接对一段二进制数编码 if x(i)=1 %由于前面的值不定,所以单独给出头一个值,若第一个信息为1 for j=1:t0/2,y(2*i-2)*t0/2+j)=0; %前半时间为0 y(2*i-1)*t0/2+j)=1; %后半时间为1 end else for j=1:t0 %如果输入信息为0 y(i-1)*t0+j)=0; %所有时间为0 end end for i=2:length(x) %从第二个信息起编码与前面的码元有关系 if x(i)=1 %若输入的信息为1 for j=1:t0/2 y(2*i-2)*t0/2+j)=y(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号