通信网络实验报告通信网络信号仿真.docx

上传人:b****5 文档编号:4401945 上传时间:2022-12-01 格式:DOCX 页数:17 大小:177.52KB
下载 相关 举报
通信网络实验报告通信网络信号仿真.docx_第1页
第1页 / 共17页
通信网络实验报告通信网络信号仿真.docx_第2页
第2页 / 共17页
通信网络实验报告通信网络信号仿真.docx_第3页
第3页 / 共17页
通信网络实验报告通信网络信号仿真.docx_第4页
第4页 / 共17页
通信网络实验报告通信网络信号仿真.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

通信网络实验报告通信网络信号仿真.docx

《通信网络实验报告通信网络信号仿真.docx》由会员分享,可在线阅读,更多相关《通信网络实验报告通信网络信号仿真.docx(17页珍藏版)》请在冰豆网上搜索。

通信网络实验报告通信网络信号仿真.docx

通信网络实验报告通信网络信号仿真

天津理工大学

通信网络基础实验报告

 

通信网络信号仿真

 

姓名施俊超

学号20102074

专业通信工程

班级2010级1班

指导老师王俊峰

1.实验目的:

1、理解不同调制方法的通信网络的物理信号

2、学习MATLAB软件,掌握MATLAB各种函数的使用。

 

2.实验原理;

数字信号的传输方式分为基带传输和带通传输,在实际应用中,大多数信道具有带通特性而不能直接传输基带信号。

为了使数字信号在带通信道中传输,必须使用数字基带信号对载波进行调制,以使信号与信道的特性相匹配。

这种用数字基带信号控制载波,把数字基带信号变换为数字带通信号的过程称为数字调制。

通常使用键控法来实现数字调制,比如对载波的振幅、频率和相位进行键控。

(1)2ASK信号的产生方法通常有两种:

模拟调制和键控法。

解调有相干解调和非相干解调。

P=1时f(t)=Acoswt;p=0时f(t)=0;其功率谱密度是基带信号功率谱的线性搬移

(2)一个2FSK信号可以看成是两个不同载波的2ASK信号的叠加。

其解调和解调方法和ASK差不多。

2FSK信号的频谱可以看成是f1和f2的两个2ASK频谱的组合。

(3)2PSK以载波的相位变化作为参考基准的,当基带信号为0时相位相对于初始相位为0,当基带信号为1时相对于初始相位为180°。

(4)2DPSK调制原理方框图如下图。

S(t)

           

 

 

间接法信号调制器原理方框图

 

3.实验内容及步骤;

clear

clc

a=20;%a表示元素个数,可以修改码元为任意个数如1024

r=unidrnd(2,1,a-1);%随机产生离散均匀二值分布(1,2),共a-1个

rn=r-1;%每个元素减1变为(0,1)二值随机数列

rn=[1,rn];%跟书上一致,从1开始随机产生离散均匀二值分布(1,2),共a个

ori=rn;%将原序列保存起来,便于后面解码后比较

ori

l=1;

fork=1:

a-3

ifabs(rn(k))==1

m=rn(k);%m记录可能存在的连续4个0前面非零码元的符号

end

ifrn(k)==0

ifrn(k+1)==0

ifrn(k+2)==0

ifrn(k+3)==0%检测是否连续4个码元都是0

rn(k+3)=2*m;%用2表示书上的V

end

end

end

end

end

rn;%插入V

(2)后checked

l=1;%l=1表示两个V之间有偶数个非零码,0是偶数,所以初始为1,l=-1表示两个V之间有奇数个非零码

fors=1:

a

ifabs(rn(s))==2

ford=s+1:

a

ifabs(rn(d))==1%V之间的非零码只有+1,-1遇到一个一使l变一次号,表示偶数或奇数

l=-l;

end

ifabs(rn(d))==2

ifl~=1

l=1;%不需要插入B时若检测到V也应把计数器清零

%最初版本的升级处1

else%检测到下一个V时,若为偶数个,则插入B

rn(d-3)=3*(-(rn(d-4))/(abs(rn(d-4))));%3代表B,插入不带符号的B

rn(d:

a)=-rn(d:

a);

end%V后的符号再交替

end

end

end

end

rn%到此处完成了插入不带符号的B

%fors=1:

a

%ifabs(rn(s))==3%找到B

%rn(s)=rn(s)*(-(rn(s-1))/(abs(rn(s-1))));%B(3)与前一个位置的带符号的归一值相乘再取反,实现符号B(3)的极性与前一非符号的相反

%B后面第三个就是接下来的V,从它开始非零码正负号交替变化

%end

%end

HDB=rn;%给B(3)添加了符号,并且实现了V后的符号再交替

HDB

%以上便实现了HDB3的编码

%下面进行解码

fork=1:

a

ifabs(rn(k))==2

rn(k-3)=0;rn(k)=0;%每个V

(2)都变成0,V前面第三个有可能是B(3)有可能是0也恢复为0

end

ifabs(rn(k))==1

rn(k)=1;

end

end

rn%解码后的恢复序列

rn-ori%解码与原码比较全为0则解码正确

s=menu('通信原理','2ASK','2PSK','2FSK')

switchs

case1,scolor='2ASK';

n=8;N=100;K=4;

a=randint(1,n);

bita=[];sl=[];

bitRate=1e3;fc=1e3;%载频1KHZ

t=linspace(0,1/bitRate,N);

fori=1:

length(a)

ifa(i)==0

bit1=zeros(1,N);

else

bit1=ones(1,N);

end

bita=[bita,bit1];

c=sin(2*pi*t*fc);

sl=[slc];

end

figure

(1);

subplot(K,1,1);plot(bita,'LineWidth',1.5),title('基带信号'),gridon;axis([0,N*length(a),-2.5,2.5]);

tz=bita*6.*sl;

subplot(K,1,2);plot(tz,'LineWidth',1.5);title('ASK调制后信号');gridon;

 

Fs=3e3;

[b,a]=ellip(4,0.1,40,[999.9,1000.1]*2/Fs);%设计IIR带通滤波器,阶数为4,通带纹波0.1,阻带衰减40DB

sf=filter(b,a,signal);%信号通过该滤波器

figure

(2);

K1=4;

subplot(K1,1,1);plot(sf,'LineWidth',1.5),gridon;title('BPF')

signal2=abs(sf);%乘同频同相sin

subplot(K1,1,2);plot(signal2,'LineWidth',1.5),gridon;title('全波整流器');

Fs=3e3;%抽样频率400HZ

[b,a]=ellip(4,0.1,40,[50]*2/Fs);%设计IIR低通滤波器

sf1=filter(b,a,signal2);%信号通过该滤波器,输出信号sf

subplot(K1,1,3);plot(sf1,'LineWidth',1.5),gridon;title('LPF');

sf2=[];

LL=fc/bitRate*N;

i=LL/2;

bitb=[];

while(i<=length(sf1))%判决

sf2=[sf2,sf1(i)>=0.001];

i=i+LL;

end

fori=1:

length(sf2)

ifsf2(i)==0

bit1=zeros(1,N);

else

bit1=ones(1,N);

end

bitb=[bitb,bit1];

end

figure

(1);

subplot(K,1,4);plot(bitb,'LineWidth',1.5),gridon;title('解调后信号');axis([0,N*length(sf2),-2.5,2.5]);

 

case2,scolor='2PSK';

l=linspace(0,pi,50);%数据初始化

t=linspace(0,9*pi,450);

b=1:

1:

9;

out=1:

1:

450;

f=1:

1:

450;

g=1:

1:

450;

w1=2%正弦波f1的频率,可以根据自己想要的频率在此改写

%正弦波f2的频率,可以根据自己想要的频率在此改写

f1=sin(w1*l);

figure

(1);

f2=sin(w1*l+pi);

figure

(1);

subplot(2,1,1),plot(l,f1),axis([0pi-1.21.2]),xlabel('t'),ylabel('f1');%画出f1信号波形

subplot(2,1,2),plot(l,f2),axis([0pi-1.21.2]),xlabel('t'),ylabel('f2');%画出f2信号波形

a=[010001101]

fori=1:

9%2pSK编码

ifa(i)==0

fork=1:

50%如果二进制原码为0则输出f1波形

out(k+50*(i-1))=f1(k);

end

else

forj=1:

50

out(j+50*(i-1))=f2(j);%r如果二进制原码为1则输出f2波形

end

end

end

fori=1:

9%2PSK解码

n=0;m=0;

forj=1:

50

ifout(j+50*(i-1))-f1(j)==0

n=n+1;

elseifout(j+50*(i-1))-f2(j)==0

m=m+1;

end

end

end

ifn>m

b(i)=0;

elseb(i)=1;

end

end

b

fori=1:

9%画出解码后的波形,包括原码和解码出的码,进行对比

forj=1+50*(i-1):

50*i

f(j)=a(i);

g(j)=b(i);

end

end

figure

(2);

subplot(3,1,1),plot(t,f),axis([09*pi-0.21.2]),xlabel('t'),ylabel('数字基带调制原码');

subplot(3,1,2),plot(t,out),axis([09*pi-1.21.2]),xlabel('t'),ylabel('调制好的波形');

[Num,Rat]=biterr(f,g)

case3,scolor='2FSK';

%==生成随机码元、基带信号、调制================%

n=8;%随机码元个数

N=100;%模拟一个码元的点数

K=4;%figure1画四个小图

a=randint(1,n)%码元生成

bita=[];%定义空数组,存放基带信号

fori=1:

length(a)

ifa(i)==0

bit1=zeros(1,N);

else

bit1=ones(1,N);

end

bita=[bita,bit1];%基带信号

end

figure

(1);

subplot(K,1,1);plot(bita,'LineWidth',1.5),title('基带信号'),gridon;axis([0,N*length(a),-2.5,2.5]);

bitRate=1e3;%每一个码元中采样点的间隔宽度0.001s

fc=1e3;%载频1KHZ

t=linspace(0,1/bitRate,N);

tz=[];

c1=sin(2*pi*t*fc);%载波

c2=sin(2*pi*t*fc*2);%载波

fori=1:

length(a)

ifa(i)==1

tz=[tz,c1];

else

tz=[tz,c2];

end

end

subplot(K,1,2);plot(tz,'LineWidth',1.5);title('2FSK已调信号');gridon;

%===========解调============%

Fs=5e3;%采样频率

[b1,a1]=ellip(4,0.1,40,[999.9,1000.1]*2/Fs);%设计IIR带通滤波器,阶数为4,通带纹波0.1,阻带衰减40DB

[b2,a2]=ellip(4,0.1,40,[1999.9,2000.1]*2/Fs);

sa=filter(b1,a1,signal);%信号通过该滤波器

sb=filter(b2,a2,signal);

figure

(2);

K1=3;%figure2画(3*2)幅图表示解调过程

subplot(K1,2,1);plot(sa,'LineWidth',1.5),gridon;title('BPF')

subplot(K1,2,2);plot(sb,'LineWidth',1.5),gridon;title('BPF')

%======相乘器=============%

t=linspace(0,1/bitRate,N);

c1=sin(2*pi*t*fc);

c2=sin(2*pi*t*fc*2);

sia=[];

sib=[];

fori=1:

n

sia=[sia,c1];

sib=[sib,c2];

end

siga=sa.*sia;%乘同频同相sia

sigb=sb.*sib;%乘同频同相sib

subplot(K1,2,3);plot(siga,'LineWidth',1.5),gridon;title('相乘器');

subplot(K1,2,4);plot(sigb,'LineWidth',1.5),gridon;title('相乘器');

%========LPF================%

Fs=5e3;%抽样频率400HZ

[b1,a1]=ellip(4,0.1,40,[50]*2/Fs);%设计IIR低通滤波器

[b2,a2]=ellip(4,0.1,40,[50]*2/Fs);%设计IIR低通滤波器

sfa=filter(b1,a1,siga);%信号通过该滤波器,输出信号sfa

sfb=filter(b2,a2,sigb);%信号通过该滤波器,输出信号sfb

subplot(K1,2,5);plot(sfa,'LineWidth',1.5),gridon;title('LPF');

subplot(K1,2,6);plot(sfb,'LineWidth',1.5),gridon;title('LPF');

%===========抽样判决==================%

s2a=[];s2b=[];

LL=fc/bitRate*N;

i1=LL/2;i2=LL;

bitb=[];

while(i1<=length(sfa))%判决过程

s2a=[s2a,sfa(i1)>=0];

i1=i1+LL;

end

while(i2<=length(sfb))

s2b=[s2b,sfb(i2)<=0];

i2=i2+LL;

end

fori=1:

n

ifs2a(i)>s2b(i)

bit1=zeros(1,N);

else

bit1=ones(1,N);

end

bitb=[bitb,bit1];

end

figure

(1);

subplot(K,1,4);plot(bitb,'LineWidth',1.5),gridon;title('解调后信号');axis([0,length(bitb),-2.5,2.5]);

 

case4,scolor='2DPSK';

%-2DPSK调制与解调

%---------------------------------------------------

%>>>>>>>>>>>>>>>>>>Initial_Part>>>>>>>>>>>>>>>>>>>>>

%---------------------------------------------------

fs=30000;

Time_Hold_On=0.1;

Num_Unit=fs*Time_Hold_On;

High_Level=ones(1,Num_Unit);

Low_Level=zeros(1,Num_Unit);

w=300;

A=1;

%---------------------------------------------------

%>>>>>>>>>>>>>>>>>>Initial_The_Signal>>>>>>>>>>>>>>>

%---------------------------------------------------

Sign_Set=[0,1,1,0,1,0,0,1]

Lenth_Of_Sign=length(Sign_Set);

st=zeros(1,Num_Unit*Lenth_Of_Sign);

sign_orign=zeros(1,Num_Unit*Lenth_Of_Sign);

sign_result=zeros(1,Num_Unit*Lenth_Of_Sign);

t=0:

1/fs:

Time_Hold_On*Lenth_Of_Sign-1/fs;

%---------------------------------------------------

%>>>>>>>>>>>产生基带信号>>>>>>>>>>>>

%---------------------------------------------------

forI=1:

Lenth_Of_Sign

ifSign_Set(I)==1

sign_orign((I-1)*Num_Unit+1:

I*Num_Unit)=High_Level;

else

sign_orign((I-1)*Num_Unit+1:

I*Num_Unit)=Low_Level;

end

end

%---------------------------------------------------

%>>>>>>>>>>>>>>>>>>调制部分>>>>>>>>>>>>>>>>>>

%---------------------------------------------------

forI=1:

Lenth_Of_Sign

ifSign_Set(I)==1

st((I-1)*Num_Unit+1:

I*Num_Unit)=A*cos(2*pi*w*t((I-1)*Num_Unit+1:

I*Num_Unit)+(pi/2));

else

st((I-1)*Num_Unit+1:

I*Num_Unit)=A*cos(2*pi*w*t((I-1)*Num_Unit+1:

I*Num_Unit));

end

end

figure

subplot(2,1,1)

plot(t,sign_orign);

axis([0,Time_Hold_On*(Lenth_Of_Sign+1),-(A/2),A+(A/2)]);

title('原始信号');

grid

subplot(2,1,2);

plot(t,st);

axis([0,Time_Hold_On*(Lenth_Of_Sign+1),-3*(A/2),3*(A/2)]);

title('调制后的信号');

grid

%---------------------------------------------------

%>>>>>>>>>>>>>>>>>>相乘>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

%---------------------------------------------------

dt=st.*cos(2*pi*w*t);

figure

plot(t,dt);

axis([0,Time_Hold_On*(Lenth_Of_Sign+1),-3*(A/2),3*(A/2)]);

title('相乘后的波形');

grid

%---------------------------------------------------

%>>>>>>>>>>>>>>>>>>>低通滤波部分>>>>>>>>>>>>>>>>>>>>

%---------------------------------------------------

[N,Wn]=buttord(2*pi*50,2*pi*150,3,25,'s');%临界频率采用角频率表示

[b,a]=butter(N,Wn,'s');

[bz,az]=impinvar(b,a,fs);%映射为数字的

dt=filter(bz,az,dt);

figure

plot(t,dt);

axis([0,Time_Hold_On*(Lenth_Of_Sign+1),-3*(A/2),3*(A/2)]);

title('低通滤波后的波形');

grid

%---------------------------------------------------

%>>>>>>>>>>>>>抽样判决&逆码变换部分>>>>>>>>>>>>>>>

%---------------------------------------------------

forI=1:

Lenth_Of_Sign

ifdt((2*I-1)*Num_Unit/2)<0.25

sign_result((I-1)*Num_Unit+1:

I*Num_Unit)=High_Level;

else

sign_result((I-1)*Num_Unit+1:

I*Num_Unit)=Low_Level;

end

end

figure

plot(t,sign_result);

axis([0,Time_Hold_On*(Lenth_Of_Sign+1),-3*(A/2),3*(A/2)]);

title('解调后信号');

grid

end

 

 

4.实验结果与分析;

选择2ASK进行调制解调

图1

可以看到随机得基带信号,2ASK调制后的信号

 

进入菜单栏重新选择2FSK调制解调

图2

可以看到随机产生得2PSK基带信号,2PSK调制后的信号

 

进入菜单栏重新选择2FSK调制解调

图3

可以看到随机产生得基带信号,使用2FSK调制后的信号

 

5.实验总结。

通过这次试验,我学习了MATLAB编程语言的基本概念、语法、语义和数据类型的使用特点,加深了对课堂所学理论知

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 演讲主持

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1