实验报告课程名称:无线网络通信技术实验项目:无线网络通信技术实验实验地点:逸夫楼404教室专业班级:软1121班学号:2011005541学生姓名:高贝指导教师:张巍2014年5月16日2太原理工大学实验报告一学院名称软件学院专业班级1121实验成绩学生姓名高贝学号2011005541实验日期2014.5.9课程名称无线网络通信技术实验题目实验一四相移相键控(QPSK)调制及解调实验一、实验目的和要求:1、掌握QPSK调制解调原理及特性。2、掌握利用MATLAB编程实现调制及解调的方法。二、实验内容:1、利用MATLAB编程实现QPSK调制及解调。2、观察I、Q两路基带信号的特征及与输入NRZ码的关系。3、观察I、Q调制解调过程中各信号变化。三、主要仪器设备Win732位操作系统笔记本电脑及MATLABR2009a四、主要操作方法与实验步骤在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*nbN=length(t);%采样数%%%%%%%%%%%%%%%%%%%调制部分%基带信号的产生3data=fix(2*rand(1,nb));%调用一个随机函数(0or1),输出到一个1*100的矩阵datanrz=data.*2-1;%变成极性码fori=1:nbdata1((i-1)/delta_T+1:i/delta_T)=datanrz(i);%将极性码变成对应的波形信号end%将基带信号变换成对应波形信号fori=1:nbdata0((i-1)/delta_T+1:i/delta_T)=data(i);%将基带信号变成对应的波形信号end%串并转换,将奇偶位数据分开idata=datanrz(1:ml:(nb-1));%将奇偶位分开,因此间隔m1为2qdata=datanrz(2:ml:nb);%QPSK信号的调制fori=1:nb/2ich(2*((i-1)/delta_T+1):2*(i/delta_T))=idata(i);endforii=1:N/Ta(ii)=(1/sqrt(2))*cos(2*pi*fc*t(ii));endidata1=ich.*a;%奇数位数据与余弦函数相乘,得到一路的调制信号forj=1:nb/2qch(2*((j-1)/delta_T+1):2*(j/delta_T))=qdata(j);endforjj=1:N/Tb(jj)=(1/sqrt(2))*sin(2*pi*fc*t(jj));endqdata1=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);4qstl=filter(B,A,qst);%%%%%%%%%%%%%%%%%%%%%%%%%抽样判决%%%%%%%%%%fori=1:nb/2ifistl(2*(p/nb)*(i-1)+(1*(p/nb)))=0in(i)=1;elsein(i)=0;endifqstl(2*(p/nb)*(i-1)+(1*(p/nb)))=0qn(i)=1;elseqn(i)=0;endend%%%%%%%%%%%%%%%%%并串转换fori=1:nb/2y(2*i-1)=in(i);y(2*i)=qn(i);endfori=1:nbyy((i-1)/delta_T+1:i/delta_T)=y(i);enddatayNfigure;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;5subplot(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('解调后的基带信号频谱');五、实验结果与分析结果附图:67六、讨论、心得第一个实验因为老师把代码已经附给我们,直接在MATLAB下运行此代码就可出现结果。通过学习老师的实验一PPT以及实验指导书,了解掌握QPSK调制解调原理及特性,和掌握利用MATLAB编程实现调制及解调的方法。七.辅导教师点评:教师签字:8太原理工大学实验报告二学院名称软件学院专业班级1121实验成绩学生姓名高贝学号2011005541实验日期2014.5.10课程名称无线网络通信技术实验题目m序列产生及其特性实验一.实验目的和要求:通过本实验掌握m序列的产生方法、特性及应用。二、实验内容:1、编写MATLAB程序生成并观察m序列,识别其特征。2、编写程序验证m序列的相关性质,要求至少验证一条性质。三、主要仪器设备Win732位操作系统笔记本电脑及MATLABR2009a四、主要操作方法与实验步骤:(1)按照图2-1,设计4阶m序列产生方法。1a2a3a4a移位时钟信号模2相加器序列输出图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。9②游程分布特性把一个序列中取值相同的那些连在一起的元素合称为一个“游程”。在一个游程中元素的个数称为游程长度。例如,同样是在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==0U(i)=0;elseU(i)=Y4;endendM=Ufprintf('1的个数')sum(M==1)fprintf('0的个数')sum(M==0)2、编写MATLAB程序并上机调试,最后要求输出周期为15的m序列“000111101011001”。输入上面代码,产生如下图结果:103、编写程序验证m序列的相关性质,如平衡特性,游程分布特性,延位相加特性。要求至少验证一条性质。上面代码验证了平衡特性。在m序列的一周期中,“1”的个数仅比“0”的个数多1,即“1”的个数(N+1)/2,“0”的个数为(N-1)/2。(N为周期)上面代码实现的结果1的个数为8,0的个数为7.六、讨论、心得此次实验中应注意:X1=xor(Y1,Y4);%异或运算,是这个实验代码的难点,通过老师的提点,和在网上找资料,终于解决了这个实验。通过本实验也掌握m序列的产生方法和特性。七、辅导教师点评:教师签字:11太原理工大学实验报告三学院名称软件学院专业班级1121实验成绩学生姓名高贝学号2011005541实验日期2014.5.16课程名称无线网络通信技术实验题目信道编码一、实验目的和要求:1、学习并理解信道编码的根本目的、技术要求等基本概念2.学会使用MATLAB实现奇偶监督码的检错模拟与分析二、实验内容:1、输入任意行任意列的一个二进制序列,也即发送码组,再加上1位监督位,在接收端使用奇偶监督码中的偶数监督码进行检错。2、若发送码组为1100111,要求加上1位监督位,在接收端使用奇偶监督码中的偶数监督码进行检错。三、主要仪器设备Win732位操作系统笔记本电脑及MATLABR2009a四、主要操作方法与实验步骤:1、输入任意行任意列的一个二进制序列,也即发送码组,再加上1位监督位,在接收端使用奇偶监督码中的偶数监督码进行检错。如下代码输入matlab中:方法一:clc;clear;m=input('请输入行:');n=input('请输入列:');A=randint(m,n);Afork=1:2sum=zeros(1,m);l=input('请选择奇偶校验(0、偶校验1、奇校验):');fori=1:mforj=1:nsum(i)=sum(i)+A(i,j);