2012级移动通信仿真实验——1234567通信S班一、实验目的:(1)通过利用matlab语言编程学会解决移动通信中基本理论知识的实验分析和验证方法;(2)巩固和加深对移动通信基本理论知识的理解,增强分析问题、查阅资料、创新等各方面能力。二、实验要求:(1)熟练掌握本实验涉及到的相关知识和相关概念,做到原理清晰,明了;(2)仿真程序设计合理、能够正确运行;(3)按照要求撰写实验报告(基本原理、仿真设计、仿真代码(m文件)、仿真图形、结果分析和实验心得)三、实验内容:1、分集技术在Rayleigh衰落信道下的误码率分析内容要求:1)给出不同调制方式(BPSK/MPSK/QPSK/MQAM任选3种,M=4/8/16)在AWGN和Rayleigh衰落环境下的误码率性能比较,分析这些调制方式的优缺点;2)给出Rayleigh衰落信道下BPSK在不同合并方式(MRC/SC/EGC)和不同路径(1/2/3)时的性能比较,分析合并方式的优缺点;3)给出BPSK在AWGN和Rayleigh衰落信道下1条径和2条径MRC合并时理论值和蒙特卡洛仿真的比较。3、直接扩频技术在Rayleigh衰落信道下的误码率分析内容要求:1)m-序列、Gold序列和正交Gold序列在AWGN信道下的QPSK误码率分析;2)m-序列、Gold序列和正交Gold序列在Rayleigh信道下的QPSK误码率分析;3)m-序列在AWGN和Rayleigh信道下的QPSK误码率分析;4)m-序列Rayleigh信道下不同调制方式MQAM(M=4/8/16)时的误码率分析。四、实验数据1、基于MATLAB中的BPSK误码性能研究BPSK(BinaryPhaseShiftKeying)即双相频移键控,是把模拟信号转换成数据值的转换方式之一。利用偏离相位的复数波浪组合来表现信息键控移相方式的一种。本实验将简要介绍BPSK调制方式的特点,调制解调方法,以及在Matlab中在AWGN信道中的误码性能。(1)BPSK调制原理二进制相移键控(BPSK)是利用载波的相位的变换来传递信息,而振幅和频率保持不变,BPSK的时域表达式为:)2cos()()(tftgAtucTmn0(发送“0”时)或1(发送“1”时)改写之后为tftgAtucTm2cos)()(或tftgAcT2cos)(另外BPSK信号一般用双极性(bipolarity)全占空矩形脉冲序列与一个正弦载波相乘表征。PSK各信号具有相同的能量,即sTmdtgAdttu222)(m表示每个传输符号能量,TtgT2)(定义为一个矩形脉冲,0≤t≤T于是在符号区间0≤t≤T内传输的信号波形可表示为(其中A=s)则)2cos(2)(ncsmtfTtu如果将其看成两相角之和,即可表示为tfMmtgtfMmtgtucTscTsm2sin)2sin()(2cos)2cos()()(其中)(1t)(2t是两个正交基函数,定义为tftgtcT2cos)()(1tftgtcT2sin)()(2并把改两个基函数能量归一化到1BPSK相位解调与检测AWGN信道中,接受信号可表示为:)()()(tntutrm=)2sin()()2cos()()(tftntftntucsccm其中)(tnc和)(tns是加性噪声的两个正交分量。将接受信号与)(1t和)(2t做互相关,两个相关器的输出即可产生受噪声污染的信号分量,可表示为nurm=sscsnMmnMm)2sin()2cos(,m=0,1,2,3其中dttntgncTc)()(21dttntgnsTc)()(21且两正交噪声分量是零均值互不相关的高斯随机过程,于是)(tnc和)(tns的方差是:2)()(022NnEnEsc最佳检测器将接受信号向量r投射到所有可能的传输信号向量之一上,并选对应于最大投影的向量,据此相关准则即为mmsrsrC*),(m=0,1,2,3由于全部信号都具有相等的能量,因此数字相位调制的一种等效检测器标准就是计算接收信号向量),(scrrr的相位:csrrrarctan并从信号集}{ms中选取其相位最接近r的信号。在AWGN信道中,二相相位调制与二进制PAM相同,差错概率为:)2(0NQPbe,其中为每比特能量。(2)程序代码%BPSK在AWGN平坦衰落信道的无码性能仿真*************************************%****************************************************************clf;clc;SNRindB1=0:2:15;%给定要进行仿真的信噪比(dB)SNRindB2=0:0.1:15;%给定要进行理论计算的信噪比(dB)%************对SNRindB1进行MonteCarlo仿真********************************fori=1:length(SNRindB1)pb=BPSK2(SNRindB1(i));%调用BPSK2函数对给定信噪比进行仿真smld_bit_err_prb(i)=pb;%通过调用函数仿真获得比特误码率end;%**************************************************************************%*************对SNRindB2进行理论分析***************************************fori=1:length(SNRindB2)SNR=exp(SNRindB2(i)*log(10)/10);%dB单位信噪比化成一般式信噪比theo_err_prb(i)=Qfunct(sqrt(2*SNR));%调用Q函数计算理论值end;%**************************************************************************%*************绘制相关曲线************************************************colordefwhiteh1=semilogy(SNRindB1,smld_bit_err_prb,'g*');%绘制比特误码率曲线holdh2=semilogy(SNRindB2,theo_err_prb,'g');%绘制理论比特误码率曲线legend('BPSK仿真误码率','BPSK理论误码率');xlabel('E/N(dB)')ylabel('Pe')title('BPSK在AWGN信道中的误码性能')(3)在AWGN信道中BPSK的误码率分析基于前面的仿真原理,将理论值与仿真值进行对比,分析合理性,首先由MATLAB程序产生信号源,再模拟AWGN平坦衰落信道中叠加加性高斯白噪声,在接收端对接收信号进行检测与估值,并对信号进行判决恢复原始信号。得到仿真比特误码率和理论比特误码率如下:分析:从上图可以看出,仿真比特误码率和理论比特误码率非常接近,不管是在信噪比较低的情况下,还是信噪比较高的情况下,两者都符合得很好,但可以看出,随着信噪比逐渐加大,两者渐渐有了分叉,慢慢显示出差距来,这说明在大信噪比的情况下,理论值还是会偏离实际值的,但是误码率越来越小,越来越向好的方向发展。下面则给出了三种调制方式的误码性能比较分析:将QPSK,BPSK,16QAM,FSK四种调制方式,包括理论值与实际值,放在同一个图下,对他们进行对比,可以很清晰地发现,QPSK在信噪比较小时,仿真值和理论值就有了偏离,且两者数值都比较大,当信噪比越来越大时,仿真值成直线几乎没变化,而实际值的Pe值逐渐变小,这种调制方式不是很可取;16QAM的性能跟QPSK相比,在低信噪比时,Pe值较大(还要大于QPSK的),随着信噪比逐渐增大,16QAM的Pe值逐渐减小,且理论值与实际值比较契合,在大信噪比情况下,误码性能略逊与QPSK的;FSK的理论值和实际值在各种信噪比下都比较契合,两者几乎没有大的差距,非常理想,无论是在低,高信噪比下,性能都要比QPSK的优越一些;BPSK性能最优!理论值与实际值契合得比较理想,而在低,高信噪比情况下,Pe值都是最低的,且随着信噪比逐渐增大,Pe实际值迅速减小,实现起来性能十分优越。因此在选择对误码性能要求较高的系统时,BPSK可作为首选,FSK次之,QPSK和16QAM再考虑实际情况选择,而在其他状态时,也可优先选择BPSK。2、QPSK在AWGN信道下的仿真(上图已有)clear;closeall;N=10000;Fd=1;Fs=1*Fd;M=4;SNR_db=0:2:14;forn=1:length(SNR_db)Eb_N0=10^(SNR_db(n)/10);sgma=sqrt(1/(2*Eb_N0));x=randint(N,1,M);y=dmodce(x,Fd,Fs,'psk',M);a11=randn(1,N);b11=randn(1,N);%产生低通滤波器b=-ones(1,Fs);b=b/Fs;a=1;fad1=filter(b,a,a11);fad2=filter(b,a,b11);ynoise=y.*(abs(fad1+j*fad2))'+sqrt(Fs/Fd)*sgma*(randn(length(y),1)+j*randn(length(y),1));ynoise1=y+sqrt(Fs/Fd)*sgma*(randn(length(y),1)+j*randn(length(y),1))z=ddemodce(ynoise,Fd,Fs,'psk',M);z1=ddemodce(ynoise1,Fd,Fs,'psk',M);[numbers,p1m(n)]=symerr(x,z);[numbers,p2m(n)]=symerr(x,z1)end;semilogy(SNR_db,p1m,'*-',SNR_db,p2m,'rx-');xlabel('信噪比(dB)');ylabel('误码率');legend('瑞利信道仿真得到的误码率','高斯信道仿真得到的误码率');axis([01510^(-4)1]);clear;closeall;N=10000;Fd=1;Fs=1*Fd;M=4;forSNR_db=0:10:20Eb_N0=10^(SNR_db/10);sgma=sqrt(1/(8*Eb_N0));x=randint(N,1,M);y=dmodce(x,Fd,Fs,'psk',M);ynoise=y+sqrt(Fs/Fd)*sgma*(randn(length(y),1)+j*randn(length(y),1));figure(SNR_db+1);axis([1.21.21.21.2]);holdon;fori=0:M-1plot(cos(2*pi*i/M),sin(2*pi*i/M),'.','MarkerSize',20);endplot(ynoise,'+');holdoff;end;3、M-QAM调制在高斯信道和Rayleigh衰落信道中的平均误码率性能研究(1)QAM的调制和相干解调框图如图(1)、图(2)所示。在调制端,输入数据经过串/并变换后分成两路。为了抑制已调信号的带外辐射,两路电平映射出的信号还要经过预调制低通滤波器,才分别与相互正交的各路载波相乘。最后两路信号相加就可以以得到已调输出信号y。串并转换基带信号x电平映射电平映射成形滤波成形滤波XX载波发生器90度相移coswt-sinwt+已调信号yQnIn图(1)正交调制原理框图解调是调制的逆过程,在接收端解调器中可以采用正交的相干解调方法。接受到的信号分两路进入两个正交的载波的相干解调器,再分别进入判决器形成L进制信号并输出二进制信号,最后经并/串变