四相移相键控调制及解调实验Word文档下载推荐.docx
《四相移相键控调制及解调实验Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《四相移相键控调制及解调实验Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。
我们把组成双比特码元的前一信息比特用a代表,后一信息比特用b代表。
双比特码元中两个信息比特ab通常是按格雷码排列的,它与载波相位的关系如表1-1所示,矢量关系如图1-1所示。
图1-1(a)表示A方式时QPSK信号矢量图,图1-1(b)表示B方式时QPSK信号的矢量图。
由于正弦和余弦的互补特性,对于载波相位的四种取值,在A方式中:
45°
、135°
、225°
、315°
,则数据Ik、Qk通过处理后输出的成形波形幅度有两种取值±
2/2;
B方
式中:
0°
、90°
、180°
、270°
,则数据Ik、Qk通过处理后输出的成形波形幅度有三种取值±
1、0。
表1-1双比特码元与载波相位关系
双比特码元
载波相位
A
B
A方式
B方式
225°
0°
1
315°
90°
45°
180°
135°
270°
(1,0)
(0,1)
(b)
(a)
图1-1QPSK信号的矢量图
下面以A方式的QPSK为例说明QPSK信号相位的合成方法。
串/并变换器将输入的二进制序列依次分为两个并行序列,然后通过基带成形得到的双极性序列(从D/A转换器输出,幅度为±
2/2)。
设两个双极性序列中的二进制数字分别为a和b,每一对ab称为一个双比特码元。
双极性的a和b脉冲通过两个平衡调制器分别对同相载波及正交载波进行二相调制,得到图1-2中虚线矢量,将两路输出叠加,即得到
QPSK调制信号,其相位编码关系如表1-2所示。
b(0)
b
(1)
图1-2矢量图
表1-2QPSK信号相位编码逻辑关系
图1-3QPSK调制器框图
010*********
图1-4二进制码经串并变换后码型
由图1-3可以看到,QPSK的调制器可以看作是由两个BPSK调制器构成,输入的串行二进制信息序列经过串并变换,变成两路速率减半的序列,电平发生器分别产生双极性的二电
平信号I(t)和Q(t),然后对Acost和Asint进行调制,相加后即可得到QPSK信号。
经过串并变换后形成的两个支路如图1-4所示,一路为单数码元,另外一路为偶数码元,这两个支路互为正交,一个称为同相支路,即I支路;
另外一路称为正交支路,即Q支路。
2、QPSK相干解调原理
QPSK由于QPSK可以看作是两个正交2PSK信号的合成,故它可以采用与2PSK信号类似的解调方法进行解调,即由两个2PSK信号相干解调器构成,其原理框图如图1-5所示。
3、星座图
图1-5QPSK解调原理框图
器的两个输入通道,通过示波器的“X-Y”的功能即可以很清晰地看到调制信号的星座图。
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=;
mq=;
i=1;
whilei<
101
ifmod(i,2)==1;
data2_1(1,i/2+=data2(1,i);
else
data2_2(1,i/2)=data2(1,i);
end
i=i+1;
data24=data2_2+data2_1*2;
51
ifdata24(1,i)==0
Ia(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;
ifdata24(1,i)==1
Ia(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;
ifdata24(1,i)==2
Qa(1,4*i)=1;
Qa(1,4*i-1)=1;
Qa(1,4*i-2)=1;
Qa(1,4*i-3)=1;
ifdata24(1,i)==3
Ia(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;
Fd=1;
Fs=4;
,3);
[num,den]=rcosine(Fd,Fs,'
fir'
B=Ia;
Ia=conv(B,num);
Ia=Ia(1,12:
211);
C=Qa;
Qa=conv(C,num);
Qa=Qa(1,12:
subplot(5,1,1);
plot(1:
200,Ia);
subplot(5,1,2);
200,Qa);
fc=177;
cos_c=zeros(1,200);
sin_c=zeros(1,200);
201
cos_c(1,i)=cos(2*pi*i*fc/4);
sin_c(1,i)=sin(2*pi*i*fc/4);
data_in=Ia.*cos_c+Qa.*sin_c;
forx=0:
1:
49
error_m=0;
fory=1:
100
data_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:
149
doc_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:
50
sum=0;
forn=1:
4;
sum=sum+Ia_j1(1,4*(i-1)+n);
sum=sum/4;
ifsum>
=mi
F(1,4*i-3)=1;
F(1,4*i-2)=1;
F(1,4*i-1)=1;
F(1,4*i)=1;
ifsum<
=-mi
F(1,4*i-3)=-1;
F(1,4*i-2)=-1;
F(1,4*i-1)=-1;
F(1,4*i)=-1;
F(1,4*i-3)=0;
F(1,4*i-2)=0;
F(1,4*i-1)=0;
F(1,4*i)=0;
Ia_j=F;
dos_f=fft(data_out_s);
Qa_f=fft(Qa);
dos_f_mag=abs(dos_f);
fori=51:
dos_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);
sum=sum+Qa_j1(1,4*(i-1)+n);
=mq
G(1,4*i-3)=1;
G(1,4*i-2)=1;
G(1,4*i-1)=1;
G(1,4*i)=1;
=-mq
G(1,4*i-3)=-1;
G(1,4*i-2)=-1;
G(1,4*i-1)=-1;
G(1,4*i)=-1;
G(1,4*i-3)=0;
G(1,4*i-2)=0;
G(1,4*i-1)=0;
G(1,4*i)=0;
Qa_j=G;
ifIa_j(1,4*i-2)==1&
&
Qa_j(1,4*i-2)==0
data2_out(1,2*i-1)=0;
data2_out(1,2*i)=0;
ifIa_j(1,4*i-2)==0&
Qa_j(1,4*i-2)==1
data2_out(1,2*i-1)=1;
ifIa_j(1,4*i-2)==-1&
data2_out(1,2*i)=1;
Qa_j(1,4*i-2)==-1
endend
ifdata2(1,i)~=data2_out(1,i);
error_m=error_m+1;
error_rate(1,x+1)=error_m/10000;
subplot(5,1,3);
200,Ia_j);
subplot(5,1,4);
200,Qa_j);
subplot(5,1,5);
semilogy(0:
:
error_rate);
5.实验结果
I,Q,误码率曲线图