相移键控PSK和差分相移键控DPSK的仿真与设计05230Word下载.docx
《相移键控PSK和差分相移键控DPSK的仿真与设计05230Word下载.docx》由会员分享,可在线阅读,更多相关《相移键控PSK和差分相移键控DPSK的仿真与设计05230Word下载.docx(25页珍藏版)》请在冰豆网上搜索。
2、相关理论
2.1数字调制与解调的相关原理
在数字基带传输系统中,为了使数字基带信号能够在信道中传输,要求信道应具有低通形式的传输特性。
然而,在实际信道中,大多数信道具有带通传输特性,数字基带信号不能直接在这种带通传输特性的信道中传输。
必须用数字基带信号对载波进行调制,产生各种已调数字信号。
数字调制与模拟调制原理是相同的,一般可以采用模拟调制的方法实现数字调制。
但是,数字基带信号具有与模拟基带信号不同的特点,其取值是有限的离散状态。
这样,可以用载波的某些离散状态来表示数字基带信号的离散状态。
2.2二进制相移键控(2PSK)
相移键控是利用载波的相位变化来传递数字信息,而振幅和频率保持不变。
在2PSK中,通常用初始相位0和π分别表示二进制“1”和“0”。
因此,2PSK信号的时域表达式为
(2.2-1)
其中,
表示第n个符号的绝对相位:
(2.2-2)
因此,式(2.2-1)可以改写为
(2.2-3)
由于表示信号的两种码元的波形相同,极性相反,故2PSK信号一般可以表述为一个双极性(bipolarity)全占空(100%dutyratio)矩形脉冲序列与一个正弦载波的相乘,即
(2.2-4)
其中
(2.2-5)
这里,g(t)是脉宽为
的单个矩形脉冲,而
的统计特性为
(2.2-6)
即发送二进制符号“0”时(
取+1),
取0相位;
发送二进制符号“1”时(
取-1),
取π相位。
这种以载波的不同相位直接去表示相应二进制数字信号的调制方式,称为二进制绝对相移方式。
2PSK信号的调制原理框图如图2-1所示。
与2ASK信号的产生方法相比较,只是对s(t)的要求不同,在2ASK中s(t)是单极性的,而在2PSK中s(t)是双极性的基带信号。
2PSK信号的解调通常采用相干解调法,解调原理框图如图2-2所示。
在相干解调中,如何得到与接收的2PSK信号同频同相的相干载波是个关键问题。
2.3 二进制差分相移键控(2DPSK)
在2PSK信号中,相位变化是以未调载波的相位作为参考基准的。
由于它利用载波相位的绝对数值表示数字信息,所以又称为绝对相移。
2PSK相干解调时,由于载波恢复中相位有0、π模糊性,导致解调过程出现“反向工作”现象,恢复出的数字信号“1”和“0”倒置,从而使2PSK难以实际应用。
为了克服此缺点,提出了二进制差分相移键控(2DPSK)方式。
2DPSK是利用前后相邻码元的载波相对相位变化传递数字信息,所以又称相对相移键控。
假设
为当前码元与前一码元的载波相位差,可定义一种数字信息与
之间的关系为
(2.3-1)
于是可以将一组二进制数字信息与其对应的2DPSK信号的载波相位关系示例如下:
二进制数字信息:
110100110
2DPSK信号相位:
(0)π00πππ0ππ
或(π)0ππ000π00
数字信息与
之间的关系也可定义为
由此示例可知,对于相同的基带数字信息序列,由于初始相位不同,2DPSK信号的相位并不直接代表基带信号,而前后码元相对相位的差才唯一决定信息符号。
为了更直观地说明信号码元的相位关系,我们可以用矢量图来表述。
按照(2.3-1)的定义关系,我们可以用如图2-3(a)所示的矢量图来表示,图中,虚线矢量位置称为基准相位。
在绝对相移中,它是未调制载波的相位;
在相对相移中,它是前一码元的载波相位,当前码元的相位可能是0或π。
但是按照这种定义,在某个长的码元序列中,信号波形的相位可能仍没有突跳出点,致使在接收端无法辨认信号码元的起止时刻。
这样,2DPSK方式虽然解决了载波相位不确定性问题,但是码元的定时问题仍没有解决。
为了解决定时问题,可以采用图2-3(b)所示的相移方式。
这时,当前的码元的相位相对于前一码元的相位改变±
π/2。
因此,在相邻码元之间必定有相位突跳。
在接收端检测此相位突跳就能确定每个码元的起止时刻,即可提供码元定时信息。
根据ITU-T建议,图2-3(a)所示的相移方式称为A方式;
图2-3(b)所示的相移方式称为B方式。
由于后者的优点,目前被广泛采用。
2DPSK信号的产生方法:
先对二进制数字基带信号进行差分编码,即把表示数字信息的序列的绝对码变换成相对码(差分码),然后再根据相对码绝对调相,从而产生二进制差分相移键控信号。
2DPSK信号调制器原理框图如图2-4所示。
差分码可取传号差分码或空号差分码。
其中,传号差分码的编码规则为
(2.3-2)
式中:
为模2加;
为
的前一码元,最初的
可任意设定。
式(2.3-2)称为差分编码(码变换),即把绝对码变换为相对码;
其逆过程称为差分译码(码反变换),即
(2.3-3)
2DPSK信号的解调方法之一是相干解调(极性比较法)加码反变换法。
其解调原理是:
对2DPSK信号进行相干解调,恢复出相对码,再经码反变换器变换为绝对码,从而恢复出发送的二进制数字信息。
在解调过程中,由于载波相位模糊性的影响,使得解调出的相对码也可能是“1”和“0”倒置,但经差分译码(码反变换)得到的绝对码不会发生任何倒置的现象,从而解决了载波相位模糊性带来的问题。
2DPSK的相干解调器原理框图如图2-5所示。
2DPSK信号的另一种解调方法是差分相干解调(相位比较法),其原理框图如图2-6所示。
用这种方法解调进不需要专门的相干载波,只需由收到的2DPSK信号延时一个码元间隔Ts,然后与2DPSK信号本身相乘。
相乘器起着相位比较的作用,相乘结果反映了前后码元的相位差,经低通滤波后再抽样判决,即可直接恢复原始数字信息,故解调器中不需要码反变换器。
2DPSK系统是一种实用的数字调相系统,但其抗加性白噪声性能比2PSK的要差。
3、仿真结果与分析及仿真流程
3.1 2PSK调制和解调仿真结果与分析
2PSK调制采用图2-1(b)所示方法,当源信号为0时传送载波,当源信号为1时传送相移180度的载波,即产生2PSK信号。
2PSK解调采用如图2-2所示方法,将2PSK信号在频域上与载波相乘,再经过低通滤波,然后进行抽样判决得到解调信号。
2PSK调制和解调各环节仿真波形如下各图所示。
图3-1原信号波形及原信号波形频谱
其中源信号是随机产生的二进制码元,载波频为fc=256Hz,幅度为1的余弦波。
、
图3-2根升余弦滤波器单位冲击序列及根升余弦滤波器频谱
图3-32PSK解调信号SNR=0dB时及2PSK解调信号频谱SNR=0dB时
图3-42PSK加噪声调制信号SNR=0dB时及2PSK加噪声调制信号频谱SNR=0dB时
源信号经过2PSK调制后产生未加噪声调制信号,从频域上看是源信号中心频率经调制后搬移到了载波频率上。
调制后信号的时间波形由两种相位不同的波形组成,而且两种波形是反相的,即相位相差180度。
2PSK信号后经过加性高斯白噪声信道后得到加噪声调制信号,设信噪比为SNR=0dB,各时间波形和频谱如图3-4所示。
图3-52PSK解调低通滤波后信号及2PSK解调滤波后信号频谱
图3-6a图为2PSK抽样判决后信号波形b图为抽样判决后信号频谱,
c图为原信号波形d图为原信号频谱
解调时加噪声的2PSK信号与同步载波在频域相乘再经过低通滤波后,再经过抽样判决后恢复出原始数字信号,各时间波形和频谱如图3-6所示,抽样判决后信号时域波形和频谱与源信号相比是一致的,说明没有产生误码。
3.22DPSK调制和解调仿真
2DPSK调制采用如图2-4所示方法,先对源信号进行差分编码(码变换),再根据相对码绝对调相,从而产生二进制差分相移键控信号。
2DPSK解调采用如图2-5所示方法,对2DPSK信号进行相干解调,恢复出相对码,再经码反变换器变换为绝对码,从而恢复出发送的二进制数字信息。
2DPSK调制和解调各环节仿真波形如下各图所示。
图3-72DPSK信号和2DPSK信号频谱
源信号是随机产生二进制码元,载波频为fc=256Hz,幅度为1的余弦波,源信号经过码变换(差分编码)产生码变换后信号,各时间波形和频谱如图3-8所示。
图3-8
2DPSK加噪声调制信号SNR=0dB时及2DPSK加噪声调制信号频谱SNR=0dB时
图3-92DPSK解调信号SNR=0dB时及2DPSK解调信号频谱SNR=0dB时
源信号经过2DPSK调制后产生调制波信号,从频域上看是源信号中心频率经调制后搬移到了载波频率上。
调制后的信号时间波形由两种相位不同的波形组成,当源信号为1时,2DPSK信号相位反转π,当源信号为0时,相位保持不变(1变0不变)。
2DPSK信号后经过加性高斯白噪声信道后得到加噪声调制信号,设信噪比为SNR=0dB,各时间波形和频谱如图3-8所示。
图3-10
2DPSK解调低通滤波信号SNR=0dB时及2DPSK解调滤波信号频谱SNR=0dB时
图3-11a图为2DPSK抽样判决后信号波形SNR=0dBb图为2DPSK抽样判决后信号频谱SNR=0dB
c图为原信号波形d图为原信号频谱
解调时加有噪声的2DPSK信号与同步载波在频域相乘后经过低通滤波后,再经过抽样判决得到相对码,然后进行码反变换得到绝对码,从而恢复出原始数字信号,与源信号相比是一致的,说明没有产生误码,各时间波形和频谱如图3-11所示。
3.3 仿真流程
4、仿真中用到的MATLAB函数介绍
Randsrc:
x1=randsrc(1,1000,[1,0;
0.6,0.4]);
%产生随机信源,信源符号1和0的概率分别为0.6,0.4
Symerr:
[wnum(1,SNR+11),pe(1,SNR+11)]=symerr(x1(1:
length(R_X)),R_X);
%计算误码率
Xor:
b(n+1)=xor(x1(n),b(n));
%差分码编码规则b(n+1)是x1(n)与b(n)相异或
O_a=[];
O_a
(1)=xor(R_X
(1),1);
%码反变换
Rcosfir:
Num=rcosfir(Alfa,N_Filter,Rate,Tc,'
sqrt'
);
%根升余弦滤波器单位冲激序列
Filter:
x=filter(Num,[1],c);
%滤波
Awgn:
y=awgn(x,snr);
%向功率为0dB的信号x添加高斯白噪声,输出信号y的信噪比SNR为参数snr(单位dB)。
如果信号x为复信号,该函数添加复高斯白噪声。
R_Y=awgn(y,SNR,'
measured'
%加上高斯白噪声
5、误码率与信噪比的关系结果分析与仿真系统参数设计
5.1分析结果——误码率与信噪比的关系
图5-1误码率与信噪比的关系
由结果图可知随信噪比增加误码率降低。
PSK比DPSK抗噪性能好,但由于2PSK系统存在“反向工作”问题,而2DPSK系统不存在“反向工作”问题,因此在实际应用中,真正作为传输用的数字调相信号几乎都是DPSK信号。
2PSK信号的带宽、频带利用率和2DPSK信号的相同。
5.2仿真参数设计
抽样速率fs=256Hz
载波速率fc=64Hz
码元速率sigv=16B
/sigv;
升余弦滤波器参数
采用了符号1和0概率分别是0.6,0.4的随机信源,并且信噪比分别设置在-10dB—10dB变化范围内
附录、相移键控(PSK)和差分相移键控(DPSK)的程序设计
functionpskvsdpsk
clc;
clearall;
closeall
wnum=zeros(2,21);
%用于存储不同信噪比不同调制方式下的错误符号个数
pe=zeros(2,21);
%存储误码率
i=-1;
forSNR=-10:
10%信噪比变化范围
ifSNR==0
i=0;
figure,subplot(211),plot(x1),title('
原信号波形'
)
subplot(212),plot(abs(fftshift(x1))),title('
原信号波形频谱'
else
i=-1;
end
NSig=length(x1);
%码元个数
%-------------------------------------------------------------------
%基于2PSK的调制与解调
forn=1:
NSig%2PSK信号产生
ifx1(n)==1
Sig(n)=1;
%2PSK信号
Sig(n)=-1;
R_X=runup(Sig,SNR,i);
%调用子函数,完成调制与解调,返回解调信号
%判决
length(R_X)
ifR_X(n)>
R_X(n)=1;
R_X(n)=0;
figure,subplot(411),plot(R_X),title('
2PSK抽样判决后信号波形,SNR=0'
axis([0,100,-0.5,1.5])
subplot(412),plot(abs(fft(R_X))),title('
2PSK抽样判决后信号频谱,SNR=0'
axis([0,100,-inf,inf])
subplot(413),plot(x1),title('
subplot(414),plot(abs(fft(x1))),title('
原信号频谱'
[wnum(1,SNR+11),pe(1,SNR+11)]=symerr(x1(1:
%---------------------------------------------------------------
%基于2DPSK的调制与解调
i=1;
b=[];
b
(1)=1;
%b为差分码,设第一个符号为1
NSig%
ifb(n+1)==1
%2DPSK信号
O_a=[];
ifO_a
(1)==1
O_Y
(1)=1;
elseO_Y
(1)=0;
end
forn=2:
O_a(n)=xor(R_X(n),R_X(n-1));
ifO_a(n)==1
O_Y(n)=1;
%输出信号
elseO_Y(n)=0;
figure,subplot(411),plot(O_Y),title('
2DPSK抽样判决后信号波形,SNR=0'
subplot(412),plot(abs(fft(O_Y))),title('
2DPSK抽样判决后信号频谱,SNR=0'
[wnum(2,SNR+11),pe(2,SNR+11)]=symerr(x1(1:
length(O_Y)),O_Y);
end
wnum,pe
figure
t=-10:
10;
plot(t,pe(1,:
),'
*-'
%画出误码率曲线
gtext('
2psk'
holdon
plot(t,pe(2,:
.-'
2dpsk'
xlabel('
信噪比r/dB'
ylabel('
误码率Pe'
title('
误码率与信噪比的关系图'
%子函数runup,完成调制与解调,返回解调信号
functionR_X=runup(Sig,SNR,i)
NSig=length(Sig);
%参数设置
%Fc:
载波速率;
sigv:
码元速率;
Fs:
抽样速率
M=4;
Fc=64;
Fs=Fc*4;
sigv=16;
%
Rate=Fs/sigv;
%每个符号抽样点数
N_Filter=8;
%升余弦滤波冲激序列截断长度的一半
Alfa=0.22;
%升余弦滤波器参数
Tc=1/sigv;
%码元周期
%内插处理
c(1:
Rate*length(Sig))=0;
fork=1:
length(Sig)
c((k-1)*Rate+1)=Sig(k);
%根升余弦滤波器
n=1:
length(c);
Num=rcosfir(Alfa,N_Filter,Rate,Tc,'
%根升余弦滤波器单位冲激序列
x=filter(Num,[1],c);
%滤波
y=x.*cos(2*pi*Fc/Fs*n);
%2PSK/2DPSK调制信号产生
%在高斯白噪声信道中传输
%加上高斯白噪声
%解调
RYc=R_Y.*cos(2*pi*Fc/Fs*n);
RY1=filter(Num,[1],RYc);
%滤波
RY2=RY1(2*N_Filter*Rate:
NSig*Rate/2);
%截取数据
forn=1:
length(RY2)/Rate%按Rate:
1抽取
R_X(n)=RY2(Rate*(n-1)+1);
ifi==0
figure,subplot(211),plot(Num),title('
根升余弦滤波器单位冲激序列'
sub