四相移相键控QPSK调制及解调实验.docx

上传人:b****7 文档编号:10862453 上传时间:2023-02-23 格式:DOCX 页数:11 大小:75.95KB
下载 相关 举报
四相移相键控QPSK调制及解调实验.docx_第1页
第1页 / 共11页
四相移相键控QPSK调制及解调实验.docx_第2页
第2页 / 共11页
四相移相键控QPSK调制及解调实验.docx_第3页
第3页 / 共11页
四相移相键控QPSK调制及解调实验.docx_第4页
第4页 / 共11页
四相移相键控QPSK调制及解调实验.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

四相移相键控QPSK调制及解调实验.docx

《四相移相键控QPSK调制及解调实验.docx》由会员分享,可在线阅读,更多相关《四相移相键控QPSK调制及解调实验.docx(11页珍藏版)》请在冰豆网上搜索。

四相移相键控QPSK调制及解调实验.docx

四相移相键控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双比特码元与载波相位关系

双比特码元

载波相位

A

B

A方式

B方式

0

1

1

0

0

0

1

1

225°

315°

45°

135°

90°

180°

270°

 

 

 

 

图1-1 QPSK信号的矢量图

下面以A方式的QPSK为例说明QPSK信号相位的合成方法。

串/并变换器将输入的二进制序列依次分为两个并行序列,然后通过基带成形得到的双极性序列(从D/A转换器输出,幅度为±

)。

设两个双极性序列中的二进制数字分别为a和b,每一对ab称为一个双比特码元。

双极性的a和b脉冲通过两个平衡调制器分别对同相载波及正交载波进行二相调制,得到图1-2中虚线矢量,将两路输出叠加,即得到QPSK调制信号,其相位编码关系如表1-2所示。

图1-2 矢量图

表1-2 QPSK信号相位编码逻辑关系

a

1

-1

-1

1

b

1

1

-1

-1

a路平衡调制器输出

b路平衡调制器输出

合成相位

90°

45°

180°

90°

135°

180°

270°

225°

270°

315°

 

 

 

 

 

用调相法产生QPSK调制器框图如图1-3所示。

图1-3 QPSK调制器框图

图1-4 二进制码经串并变换后码型

由图1-3可以看到,QPSK的调制器可以看作是由两个BPSK调制器构成,输入的串行二进制信息序列经过串并变换,变成两路速率减半的序列,电平发生器分别产生双极性的二电平信号I(t)和Q(t),然后对

进行调制,相加后即可得到QPSK信号。

经过串并变换后形成的两个支路如图1-4所示,一路为单数码元,另外一路为偶数码元,这两个支路互为正交,一个称为同相支路,即I支路;另外一路称为正交支路,即Q支路。

2、QPSK相干解调原理

QPSK由于QPSK可以看作是两个正交2PSK信号的合成,故它可以采用与2PSK信号类似的解调方法进行解调,即由两个2PSK信号相干解调器构成,其原理框图如图1-5所示。

图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个点中任何一个,因此,相位必然连续。

(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;

 

i=1;

whilei<101

ifmod(i,2)==1;

data2_1(1,i/2+0.5)=data2(1,i);

else

data2_2(1,i/2)=data2(1,i);

end

i=i+1;

end

data24=data2_2+data2_1*2;

 

i=1;

whilei<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;

else

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;

else

ifdata24(1,i)==2  

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;

else

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;

Qa(1,4*i-1)=0;

Qa(1,4*i-2)=0;

Qa(1,4*i-3)=0;

end

end

end

end

i=i+1;

end

 

Fd=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;

whilei<201

cos_c(1,i)=cos(2*pi*i*fc/4);

sin_c(1,i)=sin(2*pi*i*fc/4);

i=i+1;

end

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:

1:

149

doc_f_mag(1,i)=doc_f_mag(1,i)/3;

end

I_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);

end

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;

else

ifsum<=-mi

F(1,4*i-3)=-1;

F(1,4*i-2)=-1;

F(1,4*i-1)=-1;

继续阅读

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1