您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 四相移相键控(QPSK)调制及解调实验
通信对抗原理实验报告实验名称:四相移相键控(QPSK)调制及解调实验学生姓名:学生学号:学生班级:所学专业:实验日期:1.实验目的1.掌握QPSK调制解调原理及特性。2..熟悉Matlab仿真软件的使用。2.实验内容1、编写Matlab程序仿真QPSK调制及相干解调。2、观察IQ两路基带信号的特征及与输入NRZ码的关系。3、观察IQ调制解调过程中各信号变化。4、观察功率谱的变化。5、分析仿真中观察的数据,撰写实验报告。3.实验原理1、QPSK调制原理QPSK又叫四相绝对相移调制,它是一种正交相移键控。QPSK利用载波的四种不同相位来表征数字信息。由于每一种载波相位代表两个比特信息,因此,对于输入的二进制数字序列应该先进行分组,将每两个比特编为一组,然后用四种不同的载波相位来表征。我们把组成双比特码元的前一信息比特用a代表,后一信息比特用b代表。双比特码元中两个信息比特ab通常是按格雷码排列的,它与载波相位的关系如表1-1所示,矢量关系如图1-1所示。图1-1(a)表示A方式时QPSK信号矢量图,图1-1(b)表示B方式时QPSK信号的矢量图。由于正弦和余弦的互补特性,对于载波相位的四种取值,在A方式中:45°、135°、225°、315°,则数据、通过处理后输出的成形波形幅度有两种取值±;B方式中:0°、90°、180°、270°,则数据、通过处理后输出的成形波形幅度有三种取值±1、0。表1-1双比特码元与载波相位关系双比特码元载波相位ABA方式B方式01100011225°315°45°135°0°90°180°270°kIkQ2/2kIkQ图1-1QPSK信号的矢量图下面以A方式的QPSK为例说明QPSK信号相位的合成方法。串/并变换器将输入的二进制序列依次分为两个并行序列,然后通过基带成形得到的双极性序列(从D/A转换器输出,幅度为±)。设两个双极性序列中的二进制数字分别为a和b,每一对ab称为一个双比特码元。双极性的a和b脉冲通过两个平衡调制器分别对同相载波及正交载波进行二相调制,得到图1-2中虚线矢量,将两路输出叠加,即得到QPSK调制信号,其相位编码关系如表1-2所示。图1-2矢量图表1-2QPSK信号相位编码逻辑关系a1-1-11b11-1-1a路平衡调制器输出b路平衡调制器输0°90°45°180°90°135°180°270°225°0°270°(1,1)(0,1)(0,0)(1,0)45°(1,0)(1,1)(0,1)(0,0)0°参考相位参考相位(a)(b)2/2a(1)b(1)b(0)a(0)(-1,1)(1,-1)(-1,-1)(1,1)出合成相位315°用调相法产生QPSK调制器框图如图1-3所示。图1-3QPSK调制器框图图1-4二进制码经串并变换后码型由图1-3可以看到,QPSK的调制器可以看作是由两个BPSK调制器构成,输入的串行二进制信息序列经过串并变换,变成两路速率减半的序列,电平发生器分别产生双极性的二电平信号I(t)和Q(t),然后对和进行调制,相加后即可得到QPSK信号。经过串并变换后形成的两个支路如图1-4所示,一路为单数码元,另外一路为偶数码元,这两个支路互为正交,一个称为同相支路,即I支路;另外一路称为正交支路,即Q支路。2、QPSK相干解调原理QPSK由于QPSK可以看作是两个正交2PSK信号的合成,故它可以采用与2PSK信号类似的解调方法进行解调,即由两个2PSK信号相干解调器构成,其原理框图如图1-5所示。01010011011100+1-1+1-100010100111110I(t)Q(t)cosAtsinAt图1-5QPSK解调原理框图3、星座图星座显示是示波器显示的数字等价形式,将正交基带信号的I和Q两路分别接入示波器的两个输入通道,通过示波器的“X-Y”的功能即可以很清晰地看到调制信号的星座图。我们知道QPSK信号可以用正交调制方法产生。在它的星座图中,四个信号点之间任何过渡都是可能的,如图1-6(a)所示。OQPSK信号将正交路信号偏移T2/2,结果是消除了已调信号中突然相移180度的现象,每隔T2/2信号相位只可能发生±90度的变化。因而星座图中信号点只能沿正方形四边移动,如图1-6(b)所示。MSK信号配置图如图1-6(c)所示,1比特区间仅使用圆周的1/4,信号点必是轴上4个点中任何一个,因此,相位必然连续。(a)QPSK(b)OQPSK(c)MSK图1-6相位转移图4.实验代码clearall;j=sqrt(-1);data2=randint(1,100);data2_out=zeros(1,100);data2_1=zeros(1,50);data2_2=zeros(1,50);Ia=zeros(1,200);Qa=zeros(1,200);error_rate=zeros(1,50);mi=0.8;mq=1.5;QIIQsin分量cos分量左转1/4周右转1/4周i=1;whilei101ifmod(i,2)==1;data2_1(1,i/2+0.5)=data2(1,i);elsedata2_2(1,i/2)=data2(1,i);endi=i+1;enddata24=data2_2+data2_1*2;i=1;whilei51ifdata24(1,i)==0Ia(1,4*i)=1;Ia(1,4*i-1)=1;Ia(1,4*i-2)=1;Ia(1,4*i-3)=1;Qa(1,4*i-0)=0;Qa(1,4*i-1)=0;Qa(1,4*i-2)=0;Qa(1,4*i-3)=0;elseifdata24(1,i)==1Ia(1,4*i)=0;Ia(1,4*i-1)=0;Ia(1,4*i-2)=0;Ia(1,4*i-3)=0;Qa(1,4*i)=-1;Qa(1,4*i-1)=-1;Qa(1,4*i-2)=-1;Qa(1,4*i-3)=-1;elseifdata24(1,i)==2Ia(1,4*i)=0;Ia(1,4*i-1)=0;Ia(1,4*i-2)=0;Ia(1,4*i-3)=0;Qa(1,4*i)=1;Qa(1,4*i-1)=1;Qa(1,4*i-2)=1;Qa(1,4*i-3)=1;elseifdata24(1,i)==3Ia(1,4*i)=-1;Ia(1,4*i-1)=-1;Ia(1,4*i-2)=-1;Ia(1,4*i-3)=-1;Qa(1,4*i)=0;Qa(1,4*i-1)=0;Qa(1,4*i-2)=0;Qa(1,4*i-3)=0;endendendendi=i+1;endFd=1;Fs=4;[num,den]=rcosine(Fd,Fs,'fir',0.5,3);B=Ia;Ia=conv(B,num);Ia=Ia(1,12:211);C=Qa;Qa=conv(C,num);Qa=Qa(1,12:211);subplot(5,1,1);plot(1:200,Ia);subplot(5,1,2);plot(1:200,Qa);fc=177;cos_c=zeros(1,200);sin_c=zeros(1,200);i=1;whilei201cos_c(1,i)=cos(2*pi*i*fc/4);sin_c(1,i)=sin(2*pi*i*fc/4);i=i+1;enddata_in=Ia.*cos_c+Qa.*sin_c;forx=0:1:49error_m=0;fory=1:100data_out=awgn(data_in,x/5);data_out_c=data_out.*cos_c;data_out_s=data_out.*sin_c;doc_f=fft(data_out_c);la_f=fft(Ia);doc_f_mag=abs(doc_f);doc_f_ang=angle(doc_f);fori=51:1:149doc_f_mag(1,i)=doc_f_mag(1,i)/3;endI_j=doc_f_mag.*exp(j*doc_f_ang);Ia_j1=ifft(I_j);Ia_j1=real(Ia_j1);fori=1:50sum=0;forn=1:4;sum=sum+Ia_j1(1,4*(i-1)+n);endsum=sum/4;ifsum=miF(1,4*i-3)=1;F(1,4*i-2)=1;F(1,4*i-1)=1;F(1,4*i)=1;elseifsum=-miF(1,4*i-3)=-1;F(1,4*i-2)=-1;F(1,4*i-1)=-1;F(1,4*i)=-1;elseF(1,4*i-3)=0;F(1,4*i-2)=0;F(1,4*i-1)=0;F(1,4*i)=0;endendendIa_j=F;dos_f=fft(data_out_s);Qa_f=fft(Qa);dos_f_mag=abs(dos_f);dos_f_ang=angle(dos_f);fori=51:1:149dos_f_mag(1,i)=dos_f_mag(1,i)/3;endQ_j=dos_f_mag.*exp(j*dos_f_ang);Qa_j1=ifft(Q_j);Qa_j1=2*real(Qa_j1);fori=1:50sum=0;forn=1:4;sum=sum+Qa_j1(1,4*(i-1)+n);endsum=sum/4;ifsum=mqG(1,4*i-3)=1;G(1,4*i-2)=1;G(1,4*i-1)=1;G(1,4*i)=1;elseifsum=-mqG(1,4*i-3)=-1;G(1,4*i-2)=-1;G(1,4*i-1)=-1;G(1,4*i)=-1;elseG(1,4*i-3)=0;G(1,4*i-2)=0;G(1,4*i-1)=0;G(1,4*i)=0;endendendQa_j=G;fori=1:50ifIa_j(1,4*i-2)==1&&Qa_j(1,4*i-2)==0data2_out(1,2*i-1)=0;data2_out(1,2*i)=0;elseifIa_j(1,4*i-2)==0&&Qa_j(1,4*i-2)==1data2_out(1,2*i-1)=1;data2_out(1,2*i)=0;elseifIa_j(1,4*i-2)==-1&&Qa_j(1,4*i-2)==0data2_out(1,2*i-1)=1;data2_out(1,2*i)=1;elseifIa_j(1,4*i-2)==0&&Qa_j(1,4*i-2)==-1data2_out(1,2*i-1)=0;data2_out(1,2*i)=1;endendendendendfori=1:100ifdata2(1,i)~=data2_out(1,i);error_m=error_m+1;endendenderror_rate(1,x+1)=error_m/10000;endsubplot(5,1,3);plot(1:200,Ia_j);subplot(5,1,4);plot(1:200,Qa_j);subplot(5,1,5);semilogy(0:0.2:9.8,error_rate);5.实验结果I,Q,误码率曲线图
本文标题:四相移相键控(QPSK)调制及解调实验
链接地址:https://www.777doc.com/doc-6060707 .html