预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

2DPSK调制与解调系统的仿真 1、2DPSK基本原理 2DPSK信号原理 2DPSK方式即是利用前后相邻码元的相对相位值去表示数字信息的一种方式。现假设用Φ表示本码元初相与前一码元初相之差,并规定:Φ=0表示0码,Φ=π表示1码。则数字信息序列与2DPSK信号的码元相位关系可举例表示如2PSK信号是用载波的不同相位直接去表示相应的数字信号而得出的,在接收端只能采用相干解调,它的时域波形图如图所示。 图2DPSK信号 在这种绝对移相方式中,发送端是采用某一个相位作为基准,所以在系统接收端也必须采用相同的基准相位。如果基准相位发生变化,则在接收端回复的信号将与发送的数字信息完全相反。所以在实际过程中一般不采用绝对移相方式,而采用相对移相方式。 定义??为本码元初相与前一码元初相之差,假设: ????→数字信息“0”; ????→数字信息“1”。? 则数字信息序列与2DPSK信号的码元相位关系可举例表示如下: 数字信息:1011011101 DPSK信号相位:??????????????????????????????? 或:0???????????????????????????? 2DPSK信号的调制原理 一般来说,2DPSK信号有两种调试方法,即模拟调制法和键控法。2DPSK信号的的模拟调制法框图如图1.2.1所示,其中码变换的过程为将输入的单极性不归零码转换为双极性不归零码。 码变换 相乘 载波 s(t) eo(t) 图1.2.1模拟调制法 2DPSK信号的的键控调制法框图如图1.2.2所示,其中码变换的过程为将输入的基带信号差分,即变为它的相对码。选相开关作用为当输入为数字信息“0”时接相位0,当输入数字信息为“1”时接pi。 图1.2.2键控法调制原理图 2DPSK信号的解调原理 2DPSK信号最常用的解调方法有两种,一种是极性比较和码变换法,另一种是差分相干解调法。 2DPSK信号解调的极性比较法 它的原理是2DPSK信号先经过带通滤波器,去除调制信号频带以外的在信道中混入的噪声,再与本地载波相乘,去掉调制信号中的载波成分,再经过低通滤波器去除高频成分,得到包含基带信号的低频信号,将其送入抽样判决器中进行抽样判决的到基带信号的差分码,再经过逆差分器,就得到了基带信号。它的原理框图如图1.3.1所示。 延迟T 相乘器 低通滤波器 抽样判决器 2DPSK 带通滤波器 图1.3.1极性比较解调原理图 2DPSK信号解调的差分相干解调法 差分相干解调的原理是2DPSK信号先经过带通滤波器,去除调制信号频带以外的在信道中混入的噪声,此后该信号分为两路,一路延时一个码元的时间后与另一路的信号相乘,再经过低通滤波器去除高频成分,得到包含基带信号的低频信号,将其送入抽样判决器中进行抽样判决,抽样判决器的输出即为原基带信号。它的原理框图如图1.3.2所示。 带通 滤波器 相乘器 低通 滤波器 抽样 判决器 逆码变换 本地载波 2DPSK 图1.3.2差分相干解调原理图 2、建立模型 差分和逆差分变换模型 差分变换模型的功能是将输入的基带信号变为它的差分码。逆码变换器原理图如下: c a b 微分整流 脉冲展宽 逆码变换器 (a)原理方框图 带通滤波器和低通滤波器的模型 带通滤波器模型的作用是只允许通过(fl,fh)范围内的频率分量、但将其他范围的频率分量衰减到极低水平。低通滤波器模型的作用是只允许通过(0,fh)范围内的频率分量,并且将其他范围的频率分量衰减到极低水平。在Matlab中带通滤波器和低通滤波器的模型可以用编写程序来模拟。 抽样判决器模型 抽样判决器的功能是根据位同步信号和设置的判决电平来还原基带信号。在Matlab中抽样判决器可以用simulink中的模块来模拟。它的模型框图如图所示,它的内部结构图如图所示。 图抽样判决器 系统结构图 图2.4.1系统结构图 2DPSK调制与解调总原理框图 图2DPSK调制与解调总原理框图 3、仿真 仿真程序 %-2DPSK调制与解调 %--------------------------------------------------- %>>>>>>>>>>>>>>>>>>Initial_Part>>>>>>>>>>>>>>>>>>>>> %--------------------------------------------------- functiony=dpsk2() fs=30000; Time_Hold_On=; Num_Unit=fs*Time_Hold_On; High_Level=ones(1,Num_Unit); Low_Level=zeros(1,Num_Unit); w=300; A=1; %-----------------------