当前位置:文档之家› QPSK调制解调

QPSK调制解调

QPSK 即4PSK ,正交相移调制。

在看QPSK 之前,先看一下通信系统的调制解调的过程
为了方便分析,先假设这里是理想信道,没有噪声,接收端已经载波同步,位同步。

调制后的信号数学模型为:cos()c A w t φ+ 上述的x(t)被调制到了A,ϕ上。

如果调制信息在A 上,就是调幅,如果调制信息在φ上,就是调相。

QPSK 正是通过调整φ的变化,来传输信息。

φ分别取45135225,315︒︒︒︒,
,4个相位表示00,01,10,11表示4个信息,调制后的信号表达式为:
cos(45),00cos(135),01()cos(225),10cos(315),11c c c c A w t x A w t x s t A w t x A w t x ︒︒︒︒⎧+=⎪+=⎪=⎨+=⎪⎪+=⎩ (cos cos 45sin sin 45),00(cos cos135sin sin135),01()(cos cos 225sin sin 225),10(cos cos315sin sin 315),11c c c c c c c c A w t w t x A w t w t x s t A w t w t x A w t w t x ︒︒︒︒︒︒︒︒⎧-=⎪-=⎪=⎨-=⎪⎪-=⎩
sin ),00cos sin ),01()cos sin ),10sin ),11c c c c c c c c w t w t x w t w t x s t w t w t x w t w t x -=-+==--=+= 这样的话,我们调制任何一个信号,都可以转化为调制在同一时刻的两路上的幅度调制后再相加合并为一路输出,而调制模型cos()c A w t φ+中任意的A 和φ,根据正交分解的原理,又可以分解到两个相互正交个坐标轴上,这就是星座映射、IQ 分路的本质原理。

又由于cos()sin()c jw t c c e w t j w t =+,所有我们又经常把需要IQ 分路的调制用c jw t e 这样的复数来表示,也经常说IQ 分别是实部,虚部。

当然这么说是不准确的,IQ 两路就是同相和正交,而且默认的调制模型是cos()c A w t φ+,以上才成立。

(此处插入星座映射图)
(此处插入有星座映射的调制解调图)
就拿发送10这个信号来说,最后推导出要发送这个信号调制后的信号为
()cos sin )
c c s t w t w t =-- 调制过程就是先进行星座映射,10映射为(-1-j)/sqrt(2),映射到IQ 两路为I 路 -1/sqrt(2),Q 路为-1/sqrt(2),然后I 路乘以cos(w c t),Q 路乘以sin(w c t),然后相加。

当然这里在乘以载波前,要先进行信道成形,比如1在一个码元周期内用cos(w c t)来表示,在数字信号里,是一个矩形信号rect(t-nT)与cos(w c t)相乘,这里的rect(t-nT)其实就是信道成形,但通常不用rect(t-nT s )来做成形,因为rect 在符号的改变点,波形会发生突变,且考虑到发送端的成形滤波要和接收端的匹配滤波要配合使用,常用根升余弦滤波器来做发送端成形滤波。

(此处插入信道成形波形图)
由于采用的成型滤波器是线性相位移动的FIR 滤波器,卷积后,原信号发生了线性相位移动,且长度增加,所以要进行截取,截取的方法为:
y_temp=conv(x,h); x_len=length(x); h_len=length(h); y_temp_len=x_len+h_len-1; y_len=x_len; y_len_start=floor(y_temp_len/2)+1; y_len_end=y_len_start+y_len-1;
y=y_temp(y_len_start:y_len_end);
在信道是理想信道,即没有噪声,且载波、位同步的情况下,接收到已调信号cos()c A w t φ+,解调就是接收的混频信号经过下变频到基带信号后,从基带信号中提取A 和φ这两个信息的过程。

从数学的角度来看,我们把解调后的基带信号表示成是
一个复数信号,a+jb,他就同时含有幅度A 和相位φ两个信息了,其幅度A =,相位arctan b a
φ=,那么我们只要得到解调信号的实部和虚部就可以了。

按照前面发送端分析的结果,在接收端要提取实部和虚部,就是要进行IQ 两路信号,而IQ 两路信号的提取,可以按照发送端生成的逆过程来做,即I 路乘以cos ,经过LPF,Q 路乘以sin ,经过LPF
解调的框图为:
其中下变频的低通滤波器和匹配滤波器可以合并为一个滤波器,由于发送端的成形滤
波用的是根升余弦滤波器,那么接收端的合并的滤波器也可以用和发送端相同的根升余弦滤波器。

接收端接收到的cos()c n A w t ϕ+信号,分别乘以cos 和sin
I 路:(cos cos sin sin )cos {(cos 21)cos sin 2sin }2
(cos 2cos sin 2sin )cos 22c n c n c c n c n c n c n n A w t w t w t A w t w t A A w t w t ϕϕϕϕϕϕϕ-=
+-=-+
Q 路:(cos cos sin sin )sin {sin 2cos (1cos 2)sin }2
(sin 2cos cos 2sin )sin 22c n c n c c n c n c n c n n A w t w t w t A w t w t A A w t w t ϕϕϕϕϕϕϕ-=
--=+-
然后在经过LPF ,就是
I 路:cos 2
n A ϕ Q 路:A sin 2n ϕ
QPSK 调制解调仿真的各个参数:
码速率:1MHz
成形滤波器类型:平方根升余弦滤波器
成形滚降因子:0.8
采样频率:8MHz
载波频率:2MHz
仿真长度:4000
调制方式:QPSK
仿真代码:
clear all;
clc;
fid=fopen('data\\data.txt','r');
x=fscanf(fid,'%d');
fclose(fid);
x=conj(x');
len=length(x);
if mod(len,2)==1
x=[x 0];
len=len+1;
end
len0=len/2;
for i=1:len0
if x(2*i-1)==0 && x(2*i)==0
I(i)=1/sqrt(2);
Q(i)=1/sqrt(2);
elseif x(2*i-1)==0 && x(2*i)==1
I(i)=-1/sqrt(2);
Q(i)=1/sqrt(2);
elseif x(2*i-1)==1 && x(2*i)==0
I(i)=-1/sqrt(2);
Q(i)=-1/sqrt(2);
else
I(i)=1/sqrt(2);
Q(i)=-1/sqrt(2);
end
end
ps=1e6;
fs=8e6;
a=0.8;
fc=2e6;
rate=fs/ps;
n_T=2;
T=1;
h=rcosfir(a,n_T,rate,T,'sqrt');
for i1=1:len0
for i2=1:rate
if i2==1
I_fs(rate*i1-rate+1)=I(i1);
Q_fs(rate*i1-rate+1)=Q(i1);
else
I_fs(rate*i1-rate+i2)=0;
Q_fs(rate*i1-rate+i2)=0;
end
end
end
IQ_len=len0*rate;
h_len0=length(h);
h_len=floor(h_len0/2)+1;
IQ_len1=IQ_len+h_len-1;
s0_I=conv(I_fs,h);
s0_Q=conv(Q_fs,h);
s1_I=s0_I(h_len:IQ_len1); s1_Q=s0_Q(h_len:IQ_len1); t=0:1/fs:(IQ_len-1)/fs;
sc_I=cos(2*pi*fc*t);
sc_Q=sin(2*pi*fc*t);
s_I=s1_I.*sc_I;
s_Q=s1_Q.*sc_Q;
s=s_I+s_Q;
r=s;
r0_I=r.*sc_I;
r0_Q=r.*sc_Q;
r1_I=conv(r0_I,h);
r1_Q=conv(r0_Q,h);
r2_I=r1_I(h_len:IQ_len1); r2_Q=r1_Q(h_len:IQ_len1); r2=r2_I+j*r2_Q; scatterplot(r2,rate,rate,'b.');
仿真截图:。

相关主题