数据通信实验指导书_数据通信实验报告

2020-02-27 其他范文 下载本文

数据通信实验指导书由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“数据通信实验报告”。

数 据 通 信

验 指 导 书

信息技术学院

目 录

实验一 数字通信的基带码型................................................................3实验二 2ASK数字调制与解调.................................................................7

实验三 2FSK数字调制与解调...............................................................12实验四 2PSK数字调制与解调...............................................................18

实验一 数字通信的基带码型

一、实验目的:

1.了解几种常见的数字基本信号

2.掌握常用数字基带传输码型的编码规则

3.掌握用MATLAB仿真技术实现目前用于数字通信的基带码型

二、实验仪器:

安装Matlab软件的PC机一台

三、实验原理:

1、单极性不归零码NRZ(Non Return Zero)

脉冲宽度等于码元宽度T 特点:(1)有直流,零频附近的低频分量一般信道难传输。

(2)收端判决门限与信号功率有关,不方便。(3)要求传输线一端接地。

(4)不能用滤波法直接提取位定时信号。

2、双极性非归零码(BNRZ)

T,有正负电平

特点:不能用滤波直接提取位定时信号。

3、单极性归零码(RZ)

T

特点:(1)可用滤波法提取位同步信号

(2)NRZ的缺点都存在4、双极性归零码(BRZ)

特点:(1)整流后可用滤波提取位同步信号

(2)NRZ的缺点都不存在四、实验步骤:

1、单极性不归零码NRZ(Non Return Zero)

(1)建立M文件,MATLAB实现程序如下:

function y=snrz(x)

%本函数实现将输入的一段二进制代码编为相应的单极性不归零码输出 %输入x为二进制码,输出y为编好的码 t0=200;t=0:1/t0:length(x);

%给出相应的时间序列 for i=1:length(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

0

0

0');

grid on;axis([0,i,-0.1,1.1]);(2)在命令窗口中键入x的二进制代码和函数名,就可以得到所对应的单极性不归零码输出,如输入以下指令,将出现图1-2所示结果。

x=[1 0 1 1 0 0 1 0];snrz(x)

图1-2 单极性不归零码

2、双极性非归零码(BNRZ)

双极性非归零码的实现同单极性基本一样,只需将snrz.m中的判断得到0信息后的语句y((i-1)*t0+j)=0;中的0改为-1即可,将axis([0,i,-0.1,1.1]);中的-0.1改为-1.1即可,即axis([0,i,-1.1,1.1]);所以就不再给出MATLAB函数文件了,波形图如图1-3所示。

图1-3 双极性不归零码

3、单极性归零码(RZ)

function y=srz(x)%本函数实现将输入的一段二进制代码编为相应的单极性归零码输出

%输入x为二进制码,输出y为编好的码 t0=200;t=0:1/t0:length(x);

%给出相应的时间序列 for i=1:length(x)

%计算码元的值

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

0

0

0');grid on;axis([0,i,-0.1,1.1]);

同理,在命令窗口中键入x的二进制代码和函数名,就可以得到所对应的单极性归零码输出,如输入以下指令,将出现图7-4所示结果。

x=[1 0 1 1 0 0 1 0];

srz(x)

图1-4 单极性归零码

4、双极性归零码(BRZ)

双极性归零码的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;即可,所以也就不再给出MATLAB函数文件了,其波形图如图1-5所示。

图1-5 双极性归零码

五、实验报告要求:

用如下码型重复步骤,并做出相应的波形记录:

a 单极性不归零码

b 单极性归零码 c 双极性不归零码

d 双极性归零码

实验二 2ASK数字调制与解调

一、实验目的:

1.用MATLAB仿真技术实现数字调制与解调、基带数字调制与解调。2.掌握用键控法产生2ASK信号的方法.

3.了解2ASK信号的频谱与数字基带信号频谱之间的关系。

二、实验仪器:

安装Matlab软件的PC机一台

三、实验原理:

本次设计采用的流程图如图2-1所示。

s(t)乘法器++乘法器低通滤波器抽样判决器 cosctn(t)cosct

图 2-1 2ASK调制解调框图

1.ASK调制原理

2ASK二进制振幅调制就是用二进制数字基带信号控制正弦载波的幅度,使载波振幅随着二进制数字基带信号而变化,而其频率和初始相位保持不变。信息比特是通过载波的幅度来传递的。其信号表达式为:e0(t)S(t)cosct,S(t)为单极性数字基带信号。由于调制信号只有0或1两个电平,相乘的结果相当于将载频或者关断,或者接通,它的实际意义是当调制的数字信号“1”时,传输载波;当调制的数字信号为“0”时,不传输载波。2ASK信号的时间波形e2ASK(t)随二进制基带信号S(t)通断变化。所以又被称为通断键控信号。典型波形如图2-2所示。

图 2-2 典型2ASK波形

e2ASK(t)为已调信号,它的幅度受s(t)控制,也就是说它的幅度上携带有s(t)的信息。2ASK信号的产生方法通常有两种:模拟调制法(相乘器法)和键控法。模拟调制法就是用基带信号与载波相乘,进而把基带信号调制到载波上进行传输。键控法由s(t)来控制电路的开关进而进行调制。两种方法的调制如图2-3和图2-4所示。

图 2-3 模拟调制法(相乘器法)

图 2-4 键控法

2.ASK解调原理

2ASK有两种基本解调方法:相干解调法(同步检测法)和非相干解调法(包络检波法)。相干解调需要将载频位置的已调信号频谱重新搬回原始基带位置,因此用相乘器与载波相乘来实现。相乘后的信号只要滤除高频部分就可以了。为确保无失真还原信号,必须在接收端提供一个与调制载波严格同步的本地载波,这是整个解调过程能否顺利完好进行的关键。本次设计采用相干解调法。两种解调原理图如图2-5和图2-6所示。

图 2-5 相干解调法(同步检测法)

图 2-6 非相干解调法(包络检波法)

四、实验步骤:

通过编写M文件程序,产生随机信号,按图2-1顺序对每一模块编程后。程序中注有需注意语句及解释。运行程序,实现2ASK的调制与解调过程。本次设计采用模拟调制法(相乘器法)和相干解调法。

2ASK调制解调程序及注释 clear all close all i=10;%10个码元 j=5000;t=linspace(0,5,j);%0-5之间产生5000个点行矢量,即分成5000份 fc=10;%载波频率 fm=i/5;%码元速率

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%产生基带信号 x=(rand(1,i))%rand函数产生在0-1之间随机数,共1-10个 figure(2)plot(x)a=round(x);%随机序列,round取最接近小数的整数 figure(3)stem(a)%火柴梗状图 st=t;for n=1:10

if a(n)

for m=j/i*(n-1)+1:j/i*n

st(m)=0;

end

else

for m=j/i*(n-1)+1:j/i*n

st(m)=1;

end

end end figure(1);subplot(421);plot(t,st);axis([0,5,-1,2]);title('基带信号st');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%载波 s1=cos(2*pi*fc*t);subplot(422);plot(s1);title('载波信号s1');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%调制 e_2ask=st.*s1;subplot(423);plot(t,e_2ask);title('已调信号');noise =rand(1,j);e_2ask=e_2ask+noise;%加入噪声 subplot(424);plot(t,e_2ask);title('加入噪声的信号');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%相干解调 at=e_2ask.*cos(2*pi*fc*t);at=at-mean(at);%因为是单极性波形,还有直流分量,应去掉 subplot(425);plot(t,at);title('与载波相乘后信号');[f,af] = T2F(t,at);%通过低通滤波器 [t,at] = lpf(f,af,2*fm);subplot(426);plot(t,at);title('相干解调后波形');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%抽样判决 for m=0:i-1;

if at(1,m*500+250)+0.5

for j=m*500+1:(m+1)*500;

at(1,j)=0;

end

else

for j=m*500+1:(m+1)*500;

at(1,j)=1;

end

end end subplot(427);plot(t,at);axis([0,5,-1,2]);title('抽样判决后波形')

五、实验报告要求:

1.根据实验仿真结果,画出相应波形图 2.对仿真结果加以分析说明 实验三 2FSK数字调制与解调

一、实验目的:

1.用MATLAB仿真技术实现数字调制与解调、基带数字调制与解调。2.掌握用键控法产生2FSK信号的方法;

3.了解2FSK信号的频谱与数字基带信号频谱之间的关系。

二、实验仪器:

安装Matlab软件的PC机一台

三、实验原理:

本次设计所用流程图如图 2-9所示。s(t)键控法FSK发生器乘法器低通滤波器抽样判决器 n(t)图 2-9 2FSK调制解调框图

1.FSK调制原理

一个FSK信号可以看成是两个不同载波的2ASK信号的叠加。其解调和解调方法和FSK差不多。2FSK信号的频谱可以看成是f1和f2的两个2ASK频谱的组合。

频移键控是利用载波的频率来传递数字信号,在2FSK中,载波的频率随着二进制基带信号在f1和f2两个频率点间变化,频移键控是利用载波的频移变化来传递数字信息的。在2FSK中,载波的频率随基带信号在f1和f2两个频率点间变化。故其表达式为:

Acos(1tn)e2FSK(t)Acos(2tn)典型波形如图 2-10所示。

cosctak s1(t)1011001t s2(t)tcos(w1t+θn)tcos(w2t+φn)ts1(t)cos(w1t+θn)t s2(t)cos(w2t+φn)t2FSK信号t

图 2-10 2FSK典型波形图

2FSK的调制方式有两种,即模拟调频法和键控法。本次设计采用键控法。键控法中可以用二进制“1”来对应于载频f1,而“0”用来对应于另一频率f2,而这个可以用受矩形脉冲序列控制的开关电路对两个不同的独立的频率源f1、f2进行选择通。键控法原理图如图2-11示

载波 f12FSK输出信号载波 f2二进制数据2FSK的调制原理图图 2-11 2FSK键控法原理图

2.FSK解调原理

2FSK的解调方式有两种:相干解调方式和非相干解调方式。

非相干解调是经过调制后的2FSK数字信号通过两个频率不同的带通滤波器f1、f2滤出不需要的信号,然后再将这两种经过滤波的信号分别通过包络检波器检波,最后将两种信号同时输入到抽样判决器同时外加抽样脉冲,最后解调出来的信号就是调制前的输入信号。其原理图如图2-12所示。

带通滤波器 F1输入包络检波器抽样脉冲抽样判决器输出带通滤波器 F2包络检波器

图 2-12 2FSK非相干解调原理图

相干解调是根据已调信号由两个载波f1、f2调制而成,则先用两个分别对f1、f2带通的滤波器对已调信号进行滤波,然后再分别将滤波后的信号与相应的载波f1、f2相乘进行相干解调,再分别低通滤波、用抽样信号进行抽样判决器即可。原理图如图3-14所示。

cos2π f1t非相干方式原理图带通滤波器 F1输入相乘器抽样脉冲低通滤波器抽样判决器低通滤波器输出带通滤波器 F2相乘器cos2π f2t

图 2-13 2FSK相干解调原理图

相干方式原理图

四、实验步骤:

通过编写M文件程序,产生随机信号,按流程图2.2.1顺序对每一模块编程后。程序中注有需注意语句及解释。运行程序,实现2FSK的调制与解调过程。本次设计中采用键控法调制法和相干解调法。

2FSK调制解调程序及注释 clear all close all

i=10;%基带信号码元数 j=5000;a=round(rand(1,i));%产生随机序列 t=linspace(0,5,j);f1=10;%载波1频率 f2=5;%载波2频率 fm=i/5;%基带信号频率

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%产生基带信号 st1=t;for n=1:10

if a(n)

for m=j/i*(n-1)+1:j/i*n

st1(m)=0;

end

else

for m=j/i*(n-1)+1:j/i*n

st1(m)=1;

end

end end st2=t;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%基带信号求反 for n=1:j;

if st1(n)>=1;

st2(n)=0;

else

st2(n)=1;

end end;figure(1);subplot(411);plot(t,st1);title('基带信号st1');axis([0,5,-1,2]);subplot(412);plot(t,st2);title('基带信号反码st2');axis([0,5,-1,2]);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%载波信号 s1=cos(2*pi*f1*t)s2=cos(2*pi*f2*t)subplot(413),plot(s1);title('载波信号s1');subplot(414),plot(s2);title('载波信号s2');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%调制 F1=st1.*s1;%加入载波1 F2=st2.*s2;%加入载波2 figure(2);subplot(411);plot(t,F1);title('F1=s1*st1');subplot(412);plot(t,F2);title('F2=s2*st2');e_fsk=F1+F2;subplot(413);plot(t,e_fsk);title('2FSK信号')%键控法产生的信号在相邻码元之间相位不一定连续 nosie=rand(1,j);fsk=e_fsk+nosie;subplot(414);plot(t,fsk);title('加噪声后信号')%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%相干解调 st1=fsk.*s1;%与载波1相乘

[f,sf1] = T2F(t,st1);%通过低通滤波器 [t,st1] = lpf(f,sf1,2*fm);figure(3);subplot(311);plot(t,st1);title('与s1相乘后波形');st2=fsk.*s2;%与载波2相乘

[f,sf2] = T2F(t,st2);%通过低通滤波器 [t,st2] = lpf(f,sf2,2*fm);subplot(312);plot(t,st2);title('与s2相乘后波形');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%抽样判决 for m=0:i-1;

if st1(1,m*500+250)

for j=m*500+1:(m+1)*500;

at(1,j)=0;

end

else

for j=m*500+1:(m+1)*500;

at(1,j)=1;

end

end end;subplot(313);plot(t,at);axis([0,5,-1,2]);title('抽样判决后波形')

五、实验报告要求:

1.根据实验仿真结果,画出相应波形图 2.对仿真结果加以分析说明

实验四 2PSK数字调制与解调

一、实验目的:

1.用MATLAB仿真技术实现数字调制与解调、基带数字调制与解调。2.掌握用键控法产生2PSK信号的方法;

3.了解2PSK信号的频谱与数字基带信号频谱之间的关系。

二、实验仪器:

安装Matlab软件的PC机一台

三、实验原理:

本次设计所用流程图如图2-17所示。

s(t)乘法器++乘法器低通滤波器抽样判决器 cosctn(t)cosct

图 2-17 2PSK调制解调框图

1.PSK调制原理

在二进制数字调制中,当正弦载波的相位随二进制数字基带信号离散变化时,则产生二进制移相键控(2PSK)信号。2PSK信号调制有两种方法,即模拟调制法和键控法。通常用已调信号载波的 0°和 180°分别表示二进制数字基带信号的 1 和 0,模拟调制法用两个反相的载波信号进行调制。2PSK以载波的相位变化作为参考基准的,当基带信号为0时相位相对于初始相位为0°,当基带信号为1时相对于初始相位为180°。

键控法,是用载波的相位来携带二进制信息的调制方式。通常用0°和180°来分别代表0和1。其时域表达式为:

e2PSKang(tnTs)cosct

n其中,2PSK的调制中an必须为双极性码。本次设计中采用模拟调制法。两种方法原理图分别如图2-18和图2-19所示。

图 2-18 模拟调制法原理图

图 2-19 键控法原理图

2.PSK解调原理

由于2PSK的幅度是恒定的,必须进行相干解调。经过带通滤波的信号在相乘器中与本地载波相乘,然后用低通滤波器滤除高频分量,在进行抽样判决。判决器是按极性来判决的。即正抽样值判为1,负抽样值判为0。2PSK信号的相干解调原理图如图2-20所示,各点的波形如图2-21所示。

由于2PSK信号的载波回复过程中存在着180°的相位模糊,即恢复的本地载波与所需相干载波可能相同,也可能相反,这种相位关系的不确定性将会造成解调出的数字基带信号与发送的基带信号正好相反,即“1”变成“0”吗“0”变成“1”,判决器输出数字信号全部出错。这种现象称为2PSK方式的“倒π”现象或“反相工作”。但在本次仿真中是直接给其同频同相的载波信号,所以不存在此问题。

e2PSK(t)带通滤波器a相乘器c低通滤波器d抽样判决器定时脉冲e输出cosctb

图 2-20 2PSK的相干解调原理图 10011atTsbtctdte10011t

图 2-21 相干解调中各点波形图

四、实验步骤:

通过编写M文件程序(见附录),产生随机信号,按流程图2-17所示顺序对每一模块编程后。程序中注有需注意语句及解释。运行程序,实现2PSK的调制与解调过程。

2PSK调制解调程序及注释 clear all close all i=10;j=5000;fc=4;%载波频率 fm=i/5;%码元速率 B=2*fm;t=linspace(0,5,j);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%产生基带信号 a=round(rand(1,i));%随机序列,基带信号 figure(3);stem(a);st1=t;for n=1:10

if a(n)

for m=j/i*(n-1)+1:j/i*n

st1(m)=0;

end

else

for m=j/i*(n-1)+1:j/i*n

st1(m)=1;

end

end end figure(1);subplot(411);plot(t,st1);title('基带信号st1');axis([0,5,-1,2]);%%%%%%%%%%%&&&&&&%%%%%%%%%%%%%%%%%基带信号求反

%由于PSK中的是双极性信号,因此对上面所求单极性信号取反来与之一起构成双极性码 st2=t;

for k=1:j;

if st1(k)>=1;

st2(k)=0;

else

st2(k)=1;

end end;subplot(412);plot(t,st2);title('基带信号反码st2');axis([0,5,-1,2]);st3=st1-st2;subplot(413);plot(t,st3);title('双极性基带信号st3');axis([0,5,-2,2]);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%载波信号 s1=sin(2*pi*fc*t);subplot(414);plot(s1);title('载波信号s1');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%调制 e_psk=st3.*s1;figure(2);subplot(511);plot(t,e_psk);title('e_2psk');noise=rand(1,j);psk=e_psk+noise;%加入噪声 subplot(512);plot(t,psk);title('加噪后波形');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%相干解调 psk=psk.*s1;%与载波相乘 subplot(513);plot(t,psk);title('与载波s1相乘后波形');[f,af] = T2F(t,psk);%%%%%%%%%%%通过低通滤波器 [t,psk] = lpf(f,af,B);subplot(514);plot(t,psk);title('低通滤波后波形');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%抽样判决 for m=0:i-1;

if psk(1,m*500+250)

for j=m*500+1:(m+1)*500;

psk(1,j)=0;

end

else

for j=m*500+1:(m+1)*500;

psk(1,j)=1;

end

end end subplot(515);plot(t,psk);axis([0,5,-1,2]);title('抽样判决后波形')

五、实验报告要求:

1.根据实验仿真结果,画出相应波形图 2.对仿真结果加以分析说明

附录

实验二、三、四

用到的傅立叶T2F函数

%利用FFT计算信号的频谱并与信号的真实频谱的抽样比较。%脚本文件T2F.m定义了函数T2F,计算信号的傅立叶变换。function [f,sf]= T2F(t,st)%This is a function using the FFT function to calculate a signal's Fourier %Translation

%Input is the time and the signal vectors,the length of time must greater %than 2

%Output is the frequency and the signal spectrum dt = t(2)-t(1);T=t(end);df = 1/T;N = length(st);f=-N/2*df:df:N/2*df-df;

sf = fft(st);sf = T/N*fftshift(sf);用到的低通滤波器函数 function [t,st]=lpf(f,sf,B)%This function filter an input data using a lowpa filter %Inputs: f: frequency samples % sf: input data spectrum samples

% B: lowpa's bandwidth with a rectangle lowpa %Outputs: t: time samples % st: output data's time samples df = f(2)-f(1);T = 1/df;hf = zeros(1,length(f));%全零矩阵

bf = [-floor(B/df): floor(B/df)] + floor(length(f)/2);hf(bf)=1;yf=hf.*sf;[t,st]=F2T(f,yf);st = real(st);用到的反傅立叶函数

%脚本文件F2T.m定义了函数F2T,计算信号的反傅立叶变换。function [t,st]=F2T(f,sf)%This function calculate the time signal using ifft function for the input %signal's spectrum

df = f(2)-f(1);Fmx =(f(end)-f(1)+df);dt = 1/Fmx;N = length(sf);T = dt*N;%t=-T/2:dt:T/2-dt;t = 0:dt:T-dt;sff = fftshift(sf);st = Fmx*ifft(sff);

数据通信实验总结报告

HEFEI UNIVERSITY 数据通信与计算机网络实验报告题 目: 数据通信与计算机网络实验报告 系 别: 电子信息与电气工程 专业 班级: 11通信工程(1)班 学 号: 1105021006 姓 名: 郭丽丽......

《 数据通信与计算机网络 》课程设计指导书

《 数据通信与计算机网络 》课程设计指导书课程代号:41110150 总学时(或周数): 一周 适用专业: 计算机科学与技术 先修课程:计算机基础 一、课程设计(实践)目的《数据通信与计算机网......

数据结构实验指导书

目 录 实验一线性表、栈和队列的基本操作............................................................1 实验二二叉树的基本操作............................................

数据结构实验指导书

目 录 实验规则················································2 实验环境····················......

电子商务实验指导书

《电 子 商 务 概 论》实验指导书鲁江 编写仲恺农业工程学院管理学院2010仲恺农业工程学院管理学院《电子商务概论》实验指导书《电子商务概论》实验指导书电子商务实验教学......

《数据通信实验指导书.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
数据通信实验指导书
点击下载文档
相关专题 数据通信实验报告 指导书 数据通信 数据通信实验报告 指导书 数据通信
[其他范文]相关推荐
[其他范文]热门文章
下载全文