《通信原理、现代通信技术-QPSK仿真报告.docx》由会员分享,可在线阅读,更多相关《通信原理、现代通信技术-QPSK仿真报告.docx(10页珍藏版)》请在第一文库网上搜索。
1、通信原理实验课程课程实验报告、实验要求QPSK调制仿真与分析使用mat1ab仿真实现QPSK相干调制与解调,要求:1)调制载波中心频率为5MHz,二进制数据比特率为2Mbps,基带信号波形采用滚降系数为0.4的平方根升余弦滤波器,画出4个载波周期I、Q调制分量的时域波形和对应的二进制码。2)画出基带|、Q信号和已调信号的频谱。3)通过AWGN信道,EbN0在。到20dB之间变化,画出误比特率曲线,并和理论误比特率进行对比;4)画出Eb/NO分别为5dB和IOdB时的星座图;二、实验环境软件:MAT1ABR2018a三、实验原理1、四进制相移键控(QPSK)的载波信号有四种可能的离散相位状态小,
2、每个载波相位携带两个二进制码元。双bite码元与载波相位的常见对应关系有AB两种方式。双比特码元载波相位A方式B方式00-34IO-2-H/4110兀/401234B方式的另一种表示:B方式的QPSK信号的正交调制原理如下图。公式有:S1(t)=Accos(2吐t+&)=/(t)cos(2以)-Q(t)sin(2f)式中,同相分量)=1)859)(。=4)5(仇)2、误比特率与信噪比信噪比SNR=IO1g(PsZPn),其中Ps和Pn分别代表信号和噪声的有效功率EbZNO为比特信噪比。显然,信噪比越大,信号的误码率越小。3、星座图数字通信系统中,每个符号间隔输出一个符号,对应一个信号波形。M进
3、制数字通信系统在发送端需要设计出M种不同的信号。如前所述,信号s;()可以通过矢量空间分析器得到矢量,这样M个能量信号波形就可映射为N维空间中的M个点。将所对应的N维空间中的M个点的集合称为M进制信号的星座图,或称为信号空间图,或称为信号矢量图。相对于前面介绍的一般信号波形,数字信号波形一般限定在一个符号间隔内,二进制数字信号限定在OW1T,多进制数字信号限定时间在OW1WT。四、实验设计与运行结果首先声明:因为题目要求的频率过高,电脑配置不足,每次调制用时过长,先将所有的数据等比例缩小,如调制载波中心频率5MHz-5Hz,二进制数据比特率2Mbpsf2bps。1、调制使用调相法产生B方式的Q
4、PSK信号。基带信号生成:随机数判决+比特率为节奏的for函数。穿并行转换与极性变换:条件判决即可。如:生成匕2向ifstt(2*n-1)=1st1(n)=1;e1sest1(n)=-1;end运行结果如下图,WWTstt一与载波信号调制合成:使双极性码与相互正交的载波相乘,同相支路和正交之路分别完成2PSK,最后叠加,得到B方式的QPSK信号。实验即用代码复述上述过程,得到结果如下图:2、加噪声使用mat1ab函数awgn(x,SNR)。其意义为:在信号X中加入高斯白噪声。信噪比SNR以dB为单位。X的强度假定为OdBW。如果X是复数,就加入复噪声。结果在上一张图已经呈现,再次给出:3、求频
5、谱Mat1ab中求函数频谱的过程是:对函数做傅里叶变换后,进行快速傅里叶变换计算。程序中使用的函数是:functionf,sf=T2F(t,st)得到如下的结果图:W1dr阴1r5、星座图SNR=5dB-1-0.500.51f1SNR=IOdBf1五、程序源代码i=10;%基带信号码元数*106j=5000;j1=2000;t=1inspace(0,5J);%0-5之间产生5000个点行矢量,即将0,5分成5000份t1=1inspace(0,2,j1)f=5;%载波频率MO15fm=i5;%基带信号频率,码元数是10*10、而时域长度是5,也就是一个单位2*106个码元a=round(ran
6、d(1,i);%产生随机序列%产生基带信号stt=t;forn=1:10ifa(n)1form=ji*(n-1)+1:j/i*nstt(m)=0;ende1seform=ji*(n-1)+1:j/i*nstt(m)=1;endendendfigure(1);subp1ot(311);p1ot(t,stt);tit1e(基带信号stf);axis(0,5,-1,2);%并行信号st1=t;forn=kj2ifstt(2*n-1)=1st1(n)=1;e1sest1(n)=-1;endendsubp1ot(312);si=st1(1:2000);p1ot(t1,s1);tit1ef基带信号码st)
7、;axis(0,2,-1,2);st2=t;forn=kj2ifstt(2*n)=1st2(n)=1;e1sest2(n)=-1;endendsubp1ot(313);s2=st2(1:2000);p1ot(t1,s2);tit1eC基带信号码st2,);axis(0,2,-1,2);%载波信号s1=cos(2*pi*f*t);s2=-sin(2*pi*f*t);%调制FI=St1*s1;%加入载波1同相IF2=st1.*s2;%加入载波2正交Qfigure(2);subp1ot(411);p1ot(t,F1);tit1e(,1F1=s1*st);axis(0,2,-1,2);subp1ot(
8、412);p1ot(t,F2);tit1e(Q:F2=s2*st2);axis(0,2,-1,2);e_fsk=F1+F2;subp1ot(413);p1ot(t,e_fsk);tit1e(QPSK信号);axis(0,2,-1,2);%加噪$1二811仁_61,20)%在信号*中加入高斯白噪声。信噪比SNR以dB为单位。X的强度假定为OdB般如果X是复数,就加入复噪声。subp1ot(414);p1ot(t,fsk);tit1e,加噪声后信号)axis(0,2,-1,2);f,sf1=T2F(t,st1);f,sf2=T2F(t,st2);f,sf3=T2F(t,fsk);%傅里叶变换fig
9、ure(3);subp1ot(311);p1ot(t,sf1);axis(2.3,2.7,-1,1O)jtit1e(,s);subp1ot(312);p1ot(t,sf2);axis(2.3,2.7,-1,10)itit1e(,s2,);subp1ot(313);P1ot(1Sf3);axis(2.3,2.7,-1,IODJit1eC加噪后的信号);%误码率计算Eb=1;fori=1:20forcnt=1:10SNR=10(0.1*i);NO=Eb/SNR;Maxbit=1000;%信噪比从1到20dB%对于每个信噪比,进行10次实验,最后求平均%信噪比Sigma=sqr1(N02);b=ra
10、nd(1,Maxbit);%随机数据b_bin=round(b);%01比特流b2=sign(b_bin-0.5);%调制后的-1和+1比特流Noise=Sigma*randn(1,Maxbit);%snt调制信号与噪声叠加后的信号fsk1=fsk(1:1000);Snt=fsk1+Noise;%解调过程,抽样判决,0,判为+1res(Snt=0)=1;%Snt.*b2,解调正确,相乘结果为+1,若发生误码,结果为TSt=res.*fsk1;%err为误码的个数err(cnt)=1ength(find(StO);end%Pb计算信噪比为idB时的误比特率Pb(i)=(mean(err)Maxb
11、it)*100;endfigure(4);subp1ot(211);Semi1ogy(Pb);X1abeIc信噪比(dB);y1abe1C实际误码率Pe,)%同上计算理论Maxbit=1000;Eb=1;fori=1:15forcnt=1r1b=rand(1,Maxbit);b_bin=round(b);b2=sign(b_bin-0.5);SNR=10(0.1*i);NO=Eb/SNR;Sigma=sqr1(N02);Noise=Sigma*randn(1,Maxbit);Snt=b2Noise;res(Snt=0)=1St=res.*b2;err(cnt)=1ength(find(StO)
12、;endPb(i)=(mean(err)Maxbit)*100;endfigure(4);subp1ot(212);Semi1ogy(Pb);X1abe1(信噪比(dB);y1abe1(理论误码率Pe,)axis(0,10,0.1,10);c1eara11;msg=randi(0,3,1,5000);%4进制,20个符号figure(1);stem(msg);msg1=pskmod(msg,4,pi4);%4psk调制初始相位为pi/4msg2=awgn(msg1,5)scatterp1ot(msg2);tit1e(,SNR=5dB,)jaxis(-1.2,1.2,-1.2,1.2);%画星座
13、图x1abe1(,f)y1abe1(f2,)ho1don;rectang1e(,Position,-1,-1,2,2,Curvature,1,1);axisequa1;%画圆c1eara11;msg=randi(0,3,1,5000);%4进制,20个符号figure(2);stem(msg);msg1=pskmod(msg,4,pi4);%4psk调制初始相位为pi/4msg2=awgn(msg1JO)scatterp1ot(msg2);tit1e(,SNR=10dB*);axis(-1.2,1.2,-1.2,1.2);%画星座图x1abe1(f)y1abe1(,f2,)ho1don;rec
14、tang1e(Tosition,-1,-1,2,2,Curvature,1,1);axisequa1;%画圆%用于频谱的函数functionf,sf=T2F(t,st)%利用FFT计算信号的频谱并与信号的真实频谱的抽样比较。%脚本文件T2F.m定义了函数T2F,计算信号的傅立叶变换。%Inputisthetimeandthesigna1vectors,the1engthoftimemustgreater%than2%0utputisthefrequencyandthesigna1spectrumdt=K2)-t;T=t(end);df=1/T;N=1ength(st);f=-N/2*df:df:N/2*df-df;sf=fft(st);sf=TN*fftshift(sf);end六、总结对于这次仿真实践,我最大的感想就是“太难了!北之前我接触的mat1ab只是较为简单的编程和Simu1i