无线网络通信实验报告.docx
《无线网络通信实验报告.docx》由会员分享,可在线阅读,更多相关《无线网络通信实验报告.docx(19页珍藏版)》请在冰豆网上搜索。
无线网络通信实验报告
实验报告
课程名称:
无线网络通信技术
实验项目:
无线网络通信技术实验
实验地点:
逸夫楼404教室
专业班级:
软1121班学号:
2011005541
学生姓名:
高贝
指导教师:
张巍
2014年5月16日
太原理工大学实验报告一
学院名称
软件学院
专业班级
1121
实验成绩
学生姓名
高贝
学号
2011005541
实验日期
2014.5.9
课程名称
无线网络通信技术
实验题目
实验一四相移相键控(QPSK)调制及解调实验
1、实验目的和要求:
1、掌握QPSK调制解调原理及特性。
2、掌握利用MATLAB编程实现调制及解调的方法。
二、实验内容:
1、利用MATLAB编程实现QPSK调制及解调。
2、观察I、Q两路基带信号的特征及与输入NRZ码的关系。
3、观察I、Q调制解调过程中各信号变化。
三、主要仪器设备
Win732位操作系统笔记本电脑及MATLABR2009a
4、主要操作方法与实验步骤
在matlab下运行下列代码:
程序代码
%日期2013.1.14
%功能QPSK的调制解调,基带信号点数t(限偶数),基波频率w0可设置
clearall;
nb=32;%传输的比特数
T=1;%基带信号宽度,也就是基波频率
fc=8/T;%载波频率
ml=2;%调制信号类型的一个标志位(选取2的原因见23行)
c=4*nb;%单周期采样点数
delta_T=T/c;%采样间隔
fs=1/delta_T;%采样频率
t=0:
delta_T:
nb*T-delta_T%限定t的取值范围c*nb
N=length(t);%采样数
%%%%%%%%%%%%%%%%%%%调制部分
%基带信号的产生
data=fix(2*rand(1,nb));%调用一个随机函数(0or1),输出到一个1*100的矩阵
datanrz=data.*2-1;%变成极性码
fori=1:
nb
data1((i-1)/delta_T+1:
i/delta_T)=datanrz(i);%将极性码变成对应的波形信号
end
%将基带信号变换成对应波形信号
fori=1:
nb
data0((i-1)/delta_T+1:
i/delta_T)=data(i);%将基带信号变成对应的波形信号
end
%串并转换,将奇偶位数据分开
idata=datanrz(1:
ml:
(nb-1));%将奇偶位分开,因此间隔m1为2
qdata=datanrz(2:
ml:
nb);
%QPSK信号的调制
fori=1:
nb/2
ich(2*((i-1)/delta_T+1):
2*(i/delta_T))=idata(i);
end
forii=1:
N/T
a(ii)=(1/sqrt
(2))*cos(2*pi*fc*t(ii));
end
idata1=ich.*a;%奇数位数据与余弦函数相乘,得到一路的调制信号
forj=1:
nb/2
qch(2*((j-1)/delta_T+1):
2*(j/delta_T))=qdata(j);
end
forjj=1:
N/T
b(jj)=(1/sqrt
(2))*sin(2*pi*fc*t(jj));
end
qdata1=qch.*b;%偶数位数据与余弦函数相乘,得到另一路的调制信号
st=idata1-qdata1;
%%%%%%%%%%%%%%%%%%%%%%%%信道中
SNR=0;%信噪比
stn=awgn(st,SNR);
%%%%%%%%%%%%%%%%%%%%%%%%解调%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%设计滤波器%%%%%%%%
[B,A]=butter(3,0.01,'low');
[h1,w]=freqz(B,A);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%相干解调
ist=stn.*a;
p=length(ist)
qst=stn.*(-b);
%%%%%%%%%%%%%%%%%%%%滤波
istl=filter(B,A,ist);
qstl=filter(B,A,qst);
%%%%%%%%%%%%%%%%%%%%%%%%%抽样判决%%%%%%%%%%
fori=1:
nb/2
ifistl(2*(p/nb)*(i-1)+(1*(p/nb)))>=0
in(i)=1;
elsein(i)=0;
end
ifqstl(2*(p/nb)*(i-1)+(1*(p/nb)))>=0
qn(i)=1;
elseqn(i)=0;
end
end
%%%%%%%%%%%%%%%%%并串转换
fori=1:
nb/2
y(2*i-1)=in(i);
y(2*i)=qn(i);
end
fori=1:
nb
yy((i-1)/delta_T+1:
i/delta_T)=y(i);
end
data
y
N
figure;
subplot(4,1,1)
plot(data0*0.7),title('基带信号,4096维二进制序列,对应向量是data0');
subplot(4,1,2)
plot(data1*0.7),title('双极性信号,4096维双极性序列,对应向量是data1');
subplot(4,1,3)
plot(ich*0.7),title('I路数据,4096维双极性序列,对应向量是ich');
subplot(4,1,4)
plot(qch*0.7),title('Q路数据,4096维双极性序列,对应向量是qch');
figure;
subplot(4,1,1)
plot(ist),title('相干解调I路信号,4096维且值为(-1,1)的序列,对应向量是ist');
subplot(4,1,2)
plot(qst),title('相干解调Q路信号,4096维且值为(-1,1)的序列,对应向量是qst');
subplot(4,1,3)
plot(istl),title('I路解调波形,4096维且值为(-1,1)的序列,对应向量是istl');
subplot(4,1,4)
plot(qstl),title('Q路解调波形,4096维且值为(-1,1)的序列,对应向量是qstl');
%%%%%%%%%%%%%%%%%画图%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure;
subplot(4,2,1);
plot(data0*0.7),title('基带信号');
subplot(4,2,2);
psd(abs(fft(data0))),title('基带信号频谱');
subplot(4,2,3);
plot(st),title('调制信号');
subplot(4,2,4);
psd(abs(fft(st))),title('调制信号频谱');
subplot(4,2,5);
plot(stn),title('stn信道波形');
subplot(4,2,6);
psd(abs(fft(stn))),title('经过高斯信道信号频谱');
subplot(4,2,7);
plot(yy*0.7),title('解调后的基带信号');
subplot(4,2,8);
psd(abs(fft(yy))),title('解调后的基带信号频谱');
五、实验结果与分析
结果附图:
六、讨论、心得
第一个实验因为老师把代码已经附给我们,直接在MATLAB下运行此代码就可出现结果。
通过学习老师的实验一PPT以及实验指导书,了解掌握QPSK调制解调原理及特性,和掌握利用MATLAB编程实现调制及解调的方法。
七.辅导教师点评:
教师签字:
太原理工大学实验报告二
学院名称
软件学院
专业班级
1121
实验成绩
学生姓名
高贝
学号
2011005541
实验日期
2014.5.10
课程名称
无线网络通信技术
实验题目
m序列产生及其特性实验
一.实验目的和要求:
通过本实验掌握m序列的产生方法、特性及应用。
2、实验内容:
1、编写MATLAB程序生成并观察m序列,识别其特征。
2、编写程序验证m序列的相关性质,要求至少验证一条性质。
三、主要仪器设备
Win732位操作系统笔记本电脑及MATLABR2009a
四、主要操作方法与实验步骤:
(1)按照图2-1,设计4阶m序列产生方法。
图2-14阶移位寄存器序列生成器
编写MATLAB程序并上机调试,最后要求输出周期为15的m序列
(3)编写程序验证m序列的相关性质,要求至少验证一条性质。
m序列的特点
①平衡特性
在m序列的一周期中,“1”的个数仅比“0”的个数多1,即“1”的个数为(N+1)/2,“0”的个数为(N-1)/2。
(N为周期)
例如,由4阶移位寄存器序列生成器产生的序列000111101011001中,“1”的个数为8,“0”的个数为7。
②游程分布特性
把一个序列中取值相同的那些连在一起的元素合称为一个“游程”。
在一个游程中元素的个数称为游程长度。
例如,同样是在000111101011001序列,共有000、1111、0、1、0、11、00和1共8个游程。
其中,长度为4的游程有1个;长度为3的游程有1个;长度为2的游程有2个;长度为1的游程有4个。
在m序列中,长度为1的游程占游程总数的1/2;长度为2的游程占游程总数的1/4;长度为3的游程占游程总数的1/8……。
③延位相加特性
一个m序列M1与其经任意次迟延移位产生的另一个不同序列M2进行模2相加,得到的仍是M1的某次迟延移位序列M3。
即:
M3=M1⊕M2
例如,m=7的m序列M1=1110010,M2=0111001,1110010⊕0111001=1001011。
而将M1向右移位5次即得到1001011序列。
五、实验结果与分析
1、按照课本P182图5-5,设计4阶m序列产生方法。
如下代码产生:
X1=1;X2=0;X3=0;X4=0;%移位寄存器输入Xi初T态(1000),Yi为移位寄存器各级输出
m=15;%置M序列总长度
fori=1:
m%1#
Y4=X4;Y3=X3;Y2=X2;Y1=X1;
X4=Y3;X3=Y2;X2=Y1;
X1=xor(Y1,Y4);%异或运算
ifY4==0
U(i)=0;
else
U(i)=Y4;
end
end
M=U
fprintf('1的个数')
sum(M==1)
fprintf('0的个数')
sum(M==0)
2、编写MATLAB程序并上机调试,最后要求输出周期为15的m序列“000111101011001”。
输入上面代码,产生如下图结果:
3、编写程序验证m序列的相关性质,如平衡特性,游程分布特性,延位相加特性。
要求至少验证一条性质。
上面代码验证了平衡特性。
在m序列的一周期中,“1”的个数仅比“0”的个数多1,即“1”的个数
(N+1)/2,“0”的个数为(N-1)/2。
(N为周期)
上面代码实现的结果1的个数为8,0的个数为7.
6、讨论、心得
此次实验中应注意:
X1=xor(Y1,Y4);%异或运算,是这个实验代码的难点,通过老师的提点,和在网上找资料,终于解决了这个实验。
通过本实验也掌握m序列的产生方法和特性。
七、辅导教师点评:
教师签字:
太原理工大学实验报告三
学院名称
软件学院
专业班级
1121
实验成绩
学生姓名
高贝
学号
2011005541
实验日期
2014.5.16
课程名称
无线网络通信技术
实验题目
信道编码
1、实验目的和要求:
1、学习并理解信道编码的根本目的、技术要求等基本概念
2.学会使用MATLAB实现奇偶监督码的检错模拟与分析
二、实验内容:
1、输入任意行任意列的一个二进制序列,也即发送码组,再加上1位监督位,在接收端使用奇偶监督码中的偶数监督码进行检错。
2、若发送码组为1100111,要求加上1位监督位,在接收端使用奇偶监督码中的偶数监督码进行检错。
三、主要仪器设备
Win732位操作系统笔记本电脑及MATLABR2009a
四、主要操作方法与实验步骤:
1、输入任意行任意列的一个二进制序列,也即发送码组,再加上1位监督位,在接收端使用奇偶监督码中的偶数监督码进行检错。
如下代码输入matlab中:
方法一:
clc;clear;
m=input('请输入行:
');
n=input('请输入列:
');
A=randint(m,n);
A
fork=1:
2
sum=zeros(1,m);
l=input('请选择奇偶校验(0、偶校验1、奇校验):
');
fori=1:
m
forj=1:
n
sum(i)=sum(i)+A(i,j);
z=sum(i);
end
ifrem(z,2)==l
A(i,n+1)=0;
else
A(i,n+1)=1;
end
end
A
end
方法二:
%奇偶校验2的源代码
clc;clear;
m=input('请输入行:
');
n=input('请输入列:
');
A=randint(m,n);
A
fork=1:
2
sum=zeros(1,m);
fori=1:
m
forj=1:
n
sum(i)=sum(i)+A(i,j);
z=sum(i);
end
ifrem(z,2)==k-1
A(i,n+1)=0;
else
A(i,n+1)=1;
end
end
ifk==1
fprintf('偶校验:
')
else
fprintf('奇校验:
')
end
A
end
运行后得到如下结果:
2、若发送码组为1100111,要求加上1位监督位,在接收端使用奇偶监督码中的偶数监督码进行检错。
把上面代码的随机函数改为固定的发送码1100111,得到如下代码:
clc;clear;
m=input('请输入行:
');
n=input('请输入列:
');
A=[1100111];
A
fork=1:
2
sum=zeros(1,m);
l=input('请选择奇偶校验(0、偶校验1、奇校验):
');
fori=1:
m
forj=1:
n
sum(i)=sum(i)+A(i,j);
z=sum(i);
end
ifrem(z,2)==l
A(i,n+1)=0;
else
A(i,n+1)=1;
end
end
A
end
得到如下结果:
5、讨论、心得
这次实验刚开始不理解实验的意图,通过网上查找资料了解之后才理解,学会了使用MATLAB实现奇偶监督码的检错模拟和分析,要注意之后老师给了两个代码中要用到的重要的函数:
randint(m,n)表示随机产生一个二进制序列;rem(x,y)表示x除以y的余数,对实验的完成起到一定帮助。
6、辅导教师点评:
教师签字:
太原理工大学实验报告四
学院名称
软件学院
专业班级
1121
实验成绩
学生姓名
高贝
学号
2011005541
实验日期
2014.5.17
课程名称
无线网络通信技术
实验题目
基于Simulink的通信系统建模与仿真
实验目的和要求:
1、通过利用matlabsimulink,熟悉matlabsimulink仿真工具。
2、通过实验更好地掌握课本相关知识,熟悉2ASK的调制与解调。
二、实验内容:
使用MATLAB中的Simulink工具箱搭建ASK调制及解调的框图(使用模拟相乘法及相干解调法)
三、主要仪器设备
Win732位操作系统笔记本电脑,及软件MATLABR2009a
四、主要操作方法与实验步骤:
1、首先进入matlab,在命令窗口输入simulink,进入simulink界面。
2、然后使用Simulink中的工具,画出如下的ASK调制及解调的框图。
3、simulink中包括很多模块,比如积分模块,传递函数模块等,simulink功能非常强大。
要想在simulink中建模,首先要建立一个空白页,然后将所需要的模块从模块库中拖入,然后对模块设置参数即可。
完成框图后,再单击File菜单中的Save命令进行保存,保存的扩展名为.mdl文件。
五、实验结果与分析
1、打开MATLAB使用Simulink中的工具,画出ASK调制及解调的框图,然后对模块设置参数(参数为实验指导书所要求)。
2、点击黑色三角按钮运行,双击示波器,出现如下波形:
由仿真结果可知,相比而言,ASK调制在解调时对于滤波器与噪声参数的设置最为敏感,在理论值情况下,其解调波形边沿仍存在不规则形状。
1.ASK信号解调时对于滤波器参数敏感,应注意根据实际调整滤波器参数。
而且,与其他数字调制方式相比,ASK对噪声更为敏感。
2.当ASK信号信源幅度为1时,判决器判决门限并非0.5,而应该设置为0.25。
这是因为:
假设信源为m(t),载波为cos
,则解调信号为m(t)*co
=m(t)*(
)=
+
,经过低通滤波器后仅剩下
一项,故判决时应将门限设置此项的一半,即0.25。
六、讨论、心得
此实验要主意示波器的两个输入,才能链接序列产生器。
利用MATLAB的Simulink的工具,很容易的进行2ASK的调制与解调的仿真实验,相对前两个实验,难度较低些,只要按照老师的实验指导书一步步的做,很容易得到实验结果。
七.辅导教师点评:
教师签字: