DQPSK调制解调 |
您所在的位置:网站首页 › qpsk调制及解调实验数据 › DQPSK调制解调 |
文章目录
1. QPSK信号的调制原理2. 双比特码元差分编码原理3. DQPSK信号解调原理3.1 相干解调原理3.2 四次方环载波提取3.3 Costas环载波提取2.4 极性Costas环载波提取
3. DQPSK调制解调的MATLAN仿真
1. QPSK信号的调制原理
与多相ASK调制一样,相位调制也有多进制调制方式,其中最为广泛的是四相调制。四相调制也可分为四相绝对移相调制(也称为四相绝对相移键控,记为4PSK)和四相相对移相调制(又称为四相相对相移键控,记为4DPSK)两种,其中4DPSK也是未解决接收机对信号进行解调时产生的相位模糊而提出的一种调制方式。 4DPSK是由4PSK经过差分编码后调制的四相调制,因此我们先了解一下4PSK信号的调制原理。所谓四相绝对相移调制,是利用载波的四种不同相位来表征四种数字信息。因此,对于输入的二进制数字序列应该先进行分组,将每两个信息数字编为一组,然后根据其组合情况用四种不同的载波相位去表征它们。由于每一种载波相位代表两比特信息,故每个码元(四进制码元)常被称为双比特码元,并把组成双比特码元的前一信息比特用A代表,后一信息比特用B代表。双比特码元中两个信息比特AB是按格雷码(即反射码)排列的,因此,在接收端检测时,如果出现相邻相位判决错误,只造成一比特的差错,有利于提高传输的可靠性。 4PSK信号载波的相位 φ k \varphi _{k} φk与双比特码元的对应关系通常有两种:一种为AB=00对应0°相位,AB=10对应90°相位,AB=11对应180°相位,AB=01对应270°相位;另一种为AB=00对应225°相位,AB=10对应315°相位,AB=11对应45°相位,AB=01对应135°相位. 显然,四相绝对相移调制可以看成两个正交的绝对相移调制的合成,且其中每一个二相调制都具有相同的基带调制波形。因此,4PSK也被称为正交相移键控(Quadrature Phase Shift Keying,QPSK)。当所有相位值都以等概率出现时,四相绝对相移调制波形的功率谱将是两个正交二相调制波形功率谱的合成。 QPSK信号产生方法与2PSK信号一样,可以分为调相法和相位选择法。调相法产生4PSK信号的电路组成如下图(a)所示,图中,串/并转换器将输入的二进制数据序列依次分为两个并行的序列。设两个序列中的二进制数字分别为A和B,每一对AB称为一个双比特码元。双极性的A和B数字脉冲通过两个平衡调制器,对0°相载波
c
o
s
ω
c
t
cos\omega_{c}t
cosωct及正交载波
s
i
n
ω
c
t
sin\omega_{c}t
sinωct进行二相调制,得到下图(b)中的虚线相量;将两路输出叠加,即得到下图(b)中实线向量所示的四相信号。为了消除码间干扰,以及抑制主瓣带外频率分量功率的目的,通常会在平衡调制器之前增加一级成形滤波器。需要特别说明的是,下图(b)中,平衡调制器是对0°相载波及正交载波进行调制,由于两路信号叠加后信号的相位发生了
π
/
4
\pi /4
π/4的偏移,因此采用相干解调时,相干载波实际上已转换成45°相位载波及其正交载波信号。 对于二相相位调制来讲,为了得到2DPSK信号,可以先将绝对码变换成相对码,然后用相对码对载波进行绝对相移。同样,4DPSK信号也可以采用这种方法。先将输入的双比特码经过码型变换(差分编码),再用码型变换器输出的双比特码进行绝对相移。 所四相相对相移调制,也是利用前后码之间的相对相位变化来表示数字信息。若以前一码元相位作为参考。并令 Δ φ k \Delta \varphi _{k} Δφk为本码元与前一码元的初相差,则信息编码与载波相位变化关系与绝对相移调制相似。不过,此时绝对相移调制的相位为绝对相位 φ k \varphi _{k} φk,相对相移调制的相位为相对相位 Δ φ k \Delta \varphi _{k} Δφk而已。当相对相位变化以等概率出现时,相对调相信号的功率谱密度与绝对调相信号的功率谱密度相同。 为进一步分析相对调相信号的载波相位与双比特数据的关系,我们将输入比特信息与载波相位直接的关系以列表形式给出: 第一种情况:前一码元
c
k
−
1
⊕
d
k
−
1
=
0
c_{k-1}\oplus d_{k-1}=0
ck−1⊕dk−1=0时,解码器的输出有
a
k
=
c
k
⊕
c
k
−
1
,
b
k
=
d
k
⊕
d
k
−
1
a_{k}=c_{k}\oplus c_{k-1},b_{k}=d_{k}\oplus d_{k-1}
ak=ck⊕ck−1,bk=dk⊕dk−1;第二种情况:前一码元
c
k
−
1
⊕
d
k
−
1
=
1
c_{k-1}\oplus d_{k-1}=1
ck−1⊕dk−1=1时,解码器的输出有
b
k
=
c
k
⊕
c
k
−
1
,
a
k
=
d
k
⊕
d
k
−
1
b_{k}=c_{k}\oplus c_{k-1},a_{k}=d_{k}\oplus d_{k-1}
bk=ck⊕ck−1,ak=dk⊕dk−1。因此,我们很容易分析出解码器的组成结构如下图所示。 与PSK信号一样,QPSK只能采用相干解调方法,而DQPSK则可以采用最常用的差分解调方法(非相干解调)。 DQPSK解调与QPSK解调相比,只是QPSK解调后的数据进行一次差分解码即可。由于QPSK可以看出两路正交PSK信号的合成信号,因此不难得出DQPSK信号的相干解调原理框图,如下图所示 接收端接收到的抑制载波的QPSK调制信号本身无载波分量,然而经过非线性变换却能产生载波的倍频分量,用锁相环将其提取出来,经过分频就可得到相干载波。 设输入信号为QPSK调制信号 s ( t ) = I ( t ) c o s ( ω c t + φ 0 ) − Q ( t ) s i n ( ω c t + φ 0 ) s(t)=I(t)cos(\omega _{c}t+\varphi _{0})-Q(t)sin(\omega _{c}t+\varphi _{0}) s(t)=I(t)cos(ωct+φ0)−Q(t)sin(ωct+φ0) 对输入信号进行四次方后得到 s ( t ) 4 = [ I 2 ( t ) c o s 2 ( ω c t + φ 0 ) − I ( t ) Q ( t ) s i n ( 2 ω c t + 2 φ 0 ) − Q 2 ( t ) s i n 2 ( ω c t + φ 0 ) ] 2 = { I 2 ( t ) + Q 2 ( t ) 2 + 1 2 [ I 2 ( t ) − Q 2 ( t ) ] c o s ( 2 ω c t + 2 φ 0 ) − I ( t ) Q ( t ) s i n ( 2 ω c t + 2 φ 0 ) } 2 s(t)^{4}=[I^{2}(t)cos^{2}(\omega _{c}t+\varphi _{0})-I(t)Q(t)sin(2\omega _{c}t+2\varphi _{0})-Q^{2}(t)sin^{2}(\omega _{c}t+\varphi _{0})]^{2}=\left \{ \frac{I^{2}(t)+Q^{2}(t)}{2} +\frac{1}{2}[I^{2}(t)-Q^{2}(t)]cos(2\omega _{c}t+2\varphi _{0})-I(t)Q(t)sin(2\omega _{c}t+2\varphi _{0})\right \}^{2} s(t)4=[I2(t)cos2(ωct+φ0)−I(t)Q(t)sin(2ωct+2φ0)−Q2(t)sin2(ωct+φ0)]2={2I2(t)+Q2(t)+21[I2(t)−Q2(t)]cos(2ωct+2φ0)−I(t)Q(t)sin(2ωct+2φ0)}2 由于 I ( t ) 、 Q ( t ) I(t)、Q(t) I(t)、Q(t)的取值为 ± 1 \pm 1 ±1,因此上式可简化为 s ( t ) 4 = { 1 − I ( t ) Q ( t ) s i n ( 2 ω c t + 2 φ 0 ) } 2 = 1 − 2 I ( t ) Q ( t ) s i n ( 2 ω c t + 2 φ 0 ) + I 2 ( t ) Q 2 ( t ) s i n 2 ( 2 ω c t + 2 φ 0 ) = 3 2 − I ( t ) Q ( t ) s i n ( 2 ω c t + 2 φ 0 ) − 1 2 c o s ( 4 ω c t + 4 φ 0 ) s(t)^{4}=\left \{ 1-I(t)Q(t)sin(2\omega _{c}t+2\varphi _{0}) \right \}^{2}=1-2I(t)Q(t)sin(2\omega _{c}t+2\varphi _{0})+I^{2}(t)Q^{2}(t)sin^{2}(2\omega _{c}t+2\varphi _{0})=\frac{3}{2}-I(t)Q(t)sin(2\omega _{c}t+2\varphi _{0})-\frac{1}{2}cos(4\omega _{c}t+4\varphi _{0}) s(t)4={1−I(t)Q(t)sin(2ωct+2φ0)}2=1−2I(t)Q(t)sin(2ωct+2φ0)+I2(t)Q2(t)sin2(2ωct+2φ0)=23−I(t)Q(t)sin(2ωct+2φ0)−21cos(4ωct+4φ0) 上式中已包含有载波的4倍频分量,用一个窄带滤波器将其滤除,再经过4分频即可得到所需的相干载波。当然,也能利用锁相环的跟踪功能提取相干载波。 3.3 Costas环载波提取对于四相PSK调制来讲,仍然可以采用Costas环来解调,只是其鉴相器结构稍有不同,其组成原理图如下 判决反馈环的工作原理是对先接收信号进行相干预解调,将解调出来的信号去抵消接收信号的调制信息,由此来得到误差电压,实现载波提取。对于QPSK信号来讲,可以将判决反馈环简化为一个修正的Costas环,也称为极性Costas环,其原理框图如下所示 在整个环路中,跟踪误差为 Δ θ = ( 1 / 4 ) s i n − 1 ( 12 2 π σ 3 ) ∣ f 0 − f ∣ / K 0 A 4 \Delta \theta=(1/4)sin^{-1}(12\sqrt{2\pi}\sigma ^{3})\left | f_{0}-f \right |/K_{0}A^{4} Δθ=(1/4)sin−1(122π σ3)∣f0−f∣/K0A4 式中, f 0 f_{0} f0为VCO的自由振荡频率,f为输入信号频率, K 0 K_{0} K0为VCO灵敏度, σ \sigma σ为窄带高斯白噪声均方根值,A为输入信号均值。可以看出,如果希望设计的载波环有好的跟踪性能,那么 K 0 A 4 K_{0}A^{4} K0A4要大,特别是在低信噪比环境下设计的VCO/NCO灵敏度要高。 比较集中载波提取环路,可以看出极性Costas环路的结构更为简单,且不需要乘法运算,因此更有利于FPGA实现。 3. DQPSK调制解调的MATLAN仿真条件:仿真双比特绝对码转换为相对码的过程;采用调相法产生DQPSK信号;基带信号符号速率 R b = 1 M b p s R_{b}=1Mbps Rb=1Mbps;成形滤波去的滚降因子 α = 0.8 \alpha=0.8 α=0.8;载波信号频率 f c = 2 M H z f_{c}=2MHz fc=2MHz;采样频率 f s = 8 R b f_{s}=8R_{b} fs=8Rb; ps=1*10^6; %码速率为1MHz a=0.8; %成形滤波器系数 B=(1+a)*ps; %中频信号处理带宽 Fs=8*10^6; %采样速率 fc=2*10^6; %载波频率 N=24000; %仿真数据的长度 t=0:1/Fs:(N*Fs/ps-1)/Fs;%产生长度为N,频率为fs的时间序列 s=randint(N,1,4); %产生随机四进制数据作为原始数据 %s=ones(N,1)*3; %将绝对码变换为相对码 ds=zeros(1,N); for i=2:N if s(i)==0 ds(i)=ds(i-1); elseif s(i)==1 if ds(i-1)==0 ds(i)=1; elseif ds(i-1)==2 ds(i)=0; elseif ds(i-1)==3 ds(i)=2; elseif ds(i-1)==1 ds(i)=3; end elseif s(i)==2 if ds(i-1)==0 ds(i)=2; elseif ds(i-1)==2 ds(i)=3; elseif ds(i-1)==3 ds(i)=1; elseif ds(i-1)==1 ds(i)=0; end elseif s(i)==3 if ds(i-1)==0 ds(i)=3; elseif ds(i-1)==2 ds(i)=1; elseif ds(i-1)==3 ds(i)=0; elseif ds(i-1)==1 ds(i)=2; end end end %将四进制数据分成同相正交两路数据的双极性码 %i支路在低位,q支路在高位 ds_i=zeros(1,N); ds_q=zeros(1,N); for i=1:N if ds(i)==0 ds_i(i)=1;ds_q(i)=1; elseif ds(i)==1 ds_i(i)=-1;ds_q(i)=1; elseif ds(i)==2 ds_i(i)=1;ds_q(i)=-1; elseif ds(i)==3 ds_i(i)=-1;ds_q(i)=-1; end end %对相对码数据以Fs频率采样 Ads_i=upsample(ds_i,Fs/ps); Ads_q=upsample(ds_q,Fs/ps); %加噪声 % SNR=20; % Ads_i=awgn(Ads_i,SNR); % Ads_q=awgn(Ads_q,SNR); %设计平方升余弦滤波器 n_T=[-2 2]; rate=Fs/ps; T=1; Shape_b = rcosfir(a,n_T,rate,T);%figure(4);freqz(Shape_b) %对采样后的数据进行升余弦滤波; rcos_Ads_i=filter(Shape_b,1,Ads_i); rcos_Ads_q=filter(Shape_b,1,Ads_q); %产生同相正交两路载频信号 f0_i=sin(2*pi*fc*t); f0_q=cos(2*pi*fc*t); %产生DQPSK已调信号 dqpsk=rcos_Ads_i.*f0_i+rcos_Ads_q.*f0_q; %与相干载波相乘,实现相干解调 demod_mult_i=dqpsk.*f0_i; demod_mult_q=dqpsk.*f0_q; %设计接收端低通滤波器 fc=[ps 3.1*10^6]; %过渡带 mag=[1 0]; %窗函数的理想滤波器幅度 dev=[0.01 0.01]; %纹波 [n,wn,beta,ftype]=kaiserord(fc,mag,dev,Fs) %获取凯塞窗参数 fpm=[0 fc(1)*2/Fs fc(2)*2/Fs 1]; %firpm函数的频段向量 magpm=[1 1 0 0]; %firpm函数的幅值向量 rec_lpf=firpm(n,fpm,magpm); %对乘法运算后的同相正交支路滤波 demod_lpf_i=filter(rec_lpf,1,demod_mult_i); demod_lpf_q=filter(rec_lpf,1,demod_mult_q); %绘制DQPSK信号频谱、DQPSK信号时域波形 figure(1) m_dqpsk=20*log10(abs(fft(dqpsk,1024)));m_dqpsk=m_dqpsk-max(m_dqpsk); %设置幅频响应的横坐标单位为MHz x_f=[0:(Fs/length(m_dqpsk)):Fs/2];x_f=x_f/10^6; %只显示正频率部分的幅频响应 mdqpsk=m_dqpsk(1:length(x_f)); %设置时域波表的横坐标单位为us Len=100;%设置时域波形显示的点数 x_t=1:Len;%产生长度为Len的时间序列 x_t=x_t/Fs*10^6; %显示所需的频谱及时域波形 subplot(211); plot(x_f,mdqpsk); legend('相对码信号频谱'); xlabel('频率(MHz)');ylabel('幅度(dB)');grid on; subplot(212);plot(x_t,dqpsk(101:Len+100)); legend('DQPSK时域信号波形'); xlabel('时间(us)');ylabel('幅度(V)');grid on; %绘制解调前后的原始基带数据 figure(2) Len=100;%设置时域波形显示的点数 x_t=1:Len;%产生长度为Len的时间序列 x_t=x_t/ps*10^6; %绘制DPSK解调前后时域波形 subplot(311) %原始绝对码及相对码波形 plot(x_t,s(1:Len),'-',x_t,ds(1:Len)+3.5,'-');grid on; legend('原始四进制绝对码波形','原始四进制相对码波形'); xlabel('时间(us)');ylabel('幅度(V)'); subplot(312) %解调后的同相支路基带波形 Len=800;%设置时域波形显示的点数 x_t=1:Len;%产生长度为Len的时间序列 x_t=x_t/ps*10^6; plot(x_t,demod_lpf_i(1:Len));grid on; legend('解调后的同相支路基带波形'); xlabel('时间(us)');ylabel('幅度(V)'); subplot(313) %解调后的正交支路基带波形 plot(x_t,demod_lpf_q(1:Len)');grid on; legend('解调后的正交支路基带波形'); xlabel('时间(us)');ylabel('幅度(V)');DQPSK信号的频谱及时域波形如下图所示,DQPSK调试数据及解调后的基带时序波形如下图所示 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |