通信对抗原理实验报告实验名称:四相移相键控(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°,则数据Ik、Qk通过处理后输出的成形波形幅度有两种取值土V2/2;B 方式中:0°、90°、180°、270°,则数据Ik、Qk通过处理后输出的成形波形幅度有三种取值土1、0。
表 1-1 双比特码元与载波相位关系双比特码元载波相位ABA方式B方式00225°0°0315°45°135°90°180°270°(0,11,1)参考相位(a)(0,0)(1,0)(1,1)(b)(0,0) 参考相位图1-1 QPSK信号的矢量图F面以A方式的QPSK为例说明QPSK信号相位的合成方法串/并变换器将输入的二进制序列依次分为两个并行序列,然后通过基带成形得到的双极性序列(从D/A转换器输出,幅度为土V2/2)设两个双极性序列中的二进制数字分别为a和b,每一对ab称为一个双比特 码元双极性的a和b脉冲通过两个平衡调制器分别对同相载波及正交载波进行二 相调制,得到图1-2中虚线矢量,将两路输出叠加,即得到QPSK调制信号,其相 位编码关系如表1-2所示b(0)b(1)图1-2 矢量图表1-2 QPSK信号相位编码逻辑关系a1-1-11b11-1-1a路平衡调制器输出0°180°180°0°b路平衡调制器输出90°90°270°270°合成相位45°135°225°315°用调相法产生QPSK调制器框图如图1-3所示图1-3 QPSK调制器框图01010011011100I I I I I I I I I I I I I I I+4I(t)-1图1-4 二进制码经串并变换后码型由图1 -3可以看到,QPSK的调制器可以看作是由两个BPSK调制器构成,输入的串行二进制信息序列经过串并变换,变成两路速率减半的序列,电平发生器分别产生双极性的二电平信号I (t)和Q (t),然后对A cos w t和Asinwt进行调制,相加后即可得到QPSK信号。
经过串并变换后形成的两个支路如图1-4 所示,一路为单数码元,另外一路为偶数码元,这两个支路互为正交,一个称为同 相支路,即I支路;另外一路称为正交支路,即Q支路2、QPSK相干解调原理QPSK由于QPSK可以看作是两个正交2PSK信号的合成,故它可以采用与2PSK 信号类似的解调方法进行解调,即由两个2PSK信号相干解调器构成,其原理框图 如图1-5所示QPSK信号图1-5 QPSK解调原理框图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个点中任何一个,因此,相位必然连续。
i左转14周Lr/ [ 右转周7cosQ Jl Q(b)(a) QPSK图1-6 相位转移图4. 实验代码clear all;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;i=1;while i<101if mod(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;while i<51if data24(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;elseif data24(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;elseif data24(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;elseif data24(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;endendendend i=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;while i<201cos_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;for x=0:1:49error_m=0;for y=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);for i=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);for i=1:50sum=0;for n=1:4;sum=sum+Ia_j1(1,4*(i-1)+n);endsum=sum/4;if sum>=miF(1,4*i-3)=1;FpFp4*〒lYrFp4*iYr elseif sum〈H——miFP4盍——37丄一FpFp4*i——lY——r ^BKIW。