2DPSK信号调制解调的matlab设计和仿真

合集下载

基于MATLAB的2DPSK调制与解调系统的分析

基于MATLAB的2DPSK调制与解调系统的分析

摘要MATLAB集成环境下的Simulink仿真平台,设计一个2DPSK调制与解调系统.用示波器观察调制前后的信号波形;用频谱分析模块观察调制前后信号频谱的变化;加上噪声源,用误码测试模块测量误码率;最后根据运行结果和波形来分析该系统性能。

关键词:Simulink;2DPSK;相干解调目录摘要 (I)关键词 (I)1 引言 (1)1.1 课程设计目的 (1)1.2 课程设计内容 (1)2基本原理 (1)2.1 2DPSK调制与解调原理 (1)2.1.1调制原理 (1)2.1.2解调原理 (2)3系统设计 (4)3.1 2DPSK调制与解调分析 (4)3.1.1 2DPSK调制与解调电路 (4)3.1.2 2DPSK调制部分参数设置 (4)3.1.3 2DPSK解调部分参数设置 (7)3.2 2DPSK调制电路频谱分析 (10)3.3 2DPSK解调电路频谱分析 (12)3.4加有噪声源的调制解调电路分析 (14)4 仿真电路分析与总结 (17)4.1 出现的问题 (17)4.2 解决方法 (17)结束语 (18)参考文献 (18)1 引言2DPSK信号中,相位变化变化是以未调载波的相位作为参考基准的。

由于载波恢复中相位有0、π模糊性,导致解调过程中出现“反相工作”现象,会付出的数字信号“1”和“0”的位置倒置,从而使2psk难以实际应用。

为了克服此缺点,提出了二进制差分相移键控(2dpsk)方式。

1.1 课程设计目的通过课程设计,巩固已经学过的有关数字调制系统的知识,加深对知识的理解和应用,学会应用Matlab Simulink工具对通信系统进行仿真。

1.2 课程设计内容利用MATLAB集成环境下的Simulink仿真平台,设计一个2DPSK调制与解调系统.用示波器观察调制前后的信号波形;用频谱分析模块观察调制前后信号频谱的变化;加上噪声源,用误码测试模块测量误码率;最后根据运行结果和波形来分析该系统性能。

基于MATLAB的2DPSK信号仿真

基于MATLAB的2DPSK信号仿真

基于MATLAB 的2DPSK信号的调制与解调仿真西安电子科技大学张**目录题目要求关于2DPSK1基础知识_________________________________________________________________________________ 2 22DPSK 的调制原理_________________________________________________________________________ 2 32DPSK 的解调原理_________________________________________________________________________ 3调制系统仿真1调制系统设计 41)产生基带信号 42)产生相对码______________________________________________________________________ 53)产生载波信号______________________________________________________________________ 64)调制________________________________________________________________________________ 6 2传输系统设计7 3解调系统设计____________________________________________________________________________ 71)带通滤波器72)乘法器______________________________________________________________________________ 83)低通滤波器84)抽样判决器95)延迟单元96)码(反)变换器9 4极性比较法结果105差分相干法结果11四完整程序源码1极性比较法程序DPSK.m 122差分相干法DPSK1.m 15一题目要求产生2DPSK信号,画出时域波形和频谱,分别用极性比较法和差分相干法解调。

2DPSK信号处理仿真(含代码)

2DPSK信号处理仿真(含代码)

2DPSK信号处理仿真(含代码)按照2DPSK产生模型和解调模型分别产生2DPSK信号和高斯白噪声,经过信道传输后进行解调。

对调制解调过程中的波形进行时域和频域观察,并且对解调结果进行误码率测量。

2DPSK信号的解调可以选用非相干解调或者相干解调法。

仿真流程首先通过随机函数产生一列随机的基带信号,这里设定一共有10个码元。

然后对这10个码元进行差分变换,设定起始参考电平为0电平。

则差分序列可以由如下的公式产生:在完成差分序列的产生之后要产生对应的载波,载波采用正弦波,相位设定如下:使用载波与对应的差分序列相乘,首先生成两个ASK波形,叠加这两个ASK波形就得到DPSK调制的已调波形。

完成波形调制之后,直接在波形上叠加高斯白噪声,完成信道传输的模拟。

同时在接收端,首先进行带通滤波,滤除信道中叠加上的噪声,然后通过相干解调的方式进行解调。

让解调后的波形通过低通滤波器,对波形进行平滑处理,最后通过抽样判决判断出接收到的序列码。

对序列码采用公式进行码反变化就可以得到解调后的绝对码序列,对比发送的绝对码序列和接收到的绝对码序列就可以得到误码率。

仿真结果1)码序列:首先可以通过该仿真程序产生输入的绝对码序列和输入的相对码序列。

2)载波信号:产生两个正弦信号作为载波,一个初相为0 ,另一个初相为π。

3)调制后的波形与频谱:为了实现DPSK调制,在完成绝对码向相对码的转换之后,根据这些相对码分别生成对应的ASK调制波形,将两个ASK波形叠加就得到了DPSK的调制波形。

4)通过信道:模拟通过信道,在输入信号上增加均值为0,方差为2的高斯白噪声,得到对应的信号和频谱。

5)通过带通滤波:将接受到的通过信道的波形进行带通滤波,得到滤波后的波形和对应的频谱。

6)相干解调:对经过带通滤波之后的信号再进行相干解调,得到解调后的波形和频谱。

7)通过低通滤波:将上面解调后的信号通过低通滤波可以得到滤波后对应的波形及频谱。

8)得到解调波形及误码率:通过抽样判决得到解调出来的相对码的码序列,然后利用码反变换得到输入的绝对码序列。

基于MATLAB的2DPSK调制与解调系统的分析

基于MATLAB的2DPSK调制与解调系统的分析

摘要MATLAB集成环境下的Simulink仿真平台,设计一个2DPSK调制与解调系统.用示波器观察调制前后的信号波形;用频谱分析模块观察调制前后信号频谱的变化;加上噪声源,用误码测试模块测量误码率;最后根据运行结果和波形来分析该系统性能。

关键词:Simulink;2DPSK;相干解调目录摘要 (I)关键词 (I)1 引言 (1)1.1 课程设计目的 (1)1.2 课程设计内容 (1)2基本原理 (1)2.1 2DPSK调制与解调原理 (1)2.1.1调制原理 (1)2.1.2解调原理 (2)3系统设计 (4)3.1 2DPSK调制与解调分析 (4)3.1.1 2DPSK调制与解调电路 (4)3.1.2 2DPSK调制部分参数设置 (4)3.1.3 2DPSK解调部分参数设置 (7)3.2 2DPSK调制电路频谱分析 (10)3.3 2DPSK解调电路频谱分析 (12)3.4加有噪声源的调制解调电路分析 (14)4 仿真电路分析与总结 (17)4.1 出现的问题 (17)4.2 解决方法 (17)结束语 (18)参考文献 (18)1 引言2DPSK信号中,相位变化变化是以未调载波的相位作为参考基准的。

由于载波恢复中相位有0、π模糊性,导致解调过程中出现“反相工作”现象,会付出的数字信号“1”和“0”的位置倒置,从而使2psk难以实际应用。

为了克服此缺点,提出了二进制差分相移键控(2dpsk)方式。

1.1 课程设计目的通过课程设计,巩固已经学过的有关数字调制系统的知识,加深对知识的理解和应用,学会应用Matlab Simulink工具对通信系统进行仿真。

1.2 课程设计内容利用MATLAB集成环境下的Simulink仿真平台,设计一个2DPSK调制与解调系统.用示波器观察调制前后的信号波形;用频谱分析模块观察调制前后信号频谱的变化;加上噪声源,用误码测试模块测量误码率;最后根据运行结果和波形来分析该系统性能。

(完整版)2DPSK调制与解调matlab

(完整版)2DPSK调制与解调matlab

(完整版)2DPSK调制与解调matlab%- 2DPSK 调制与解调%---------------------------------------------------%>>>>>>>>>>>>>>>>>>参数初始化>>>>>>>>>>>>>>>>>>>>>%---------------------------------------------------fs = 3600000;%采样频率为36000赫兹Time_Hold_On = 1/1200;%一个时钟周期为1200分之1,对应比特率为1200bpsNum_Unit = fs * Time_Hold_On;%一个时钟周期内的采样点个数High_Level = ones ( 1, Num_Unit );%高电平(全1序列)Low_Level = zeros ( 1, Num_Unit );%低电平(全0序列)w = 1800;%载波角频率1800HzA = 1;%载波幅值%---------------------------------------------------%>>>>>>>>>>>>>>>>>>信号初始化>>>>>>>>>>>>>>>%---------------------------------------------------Sign_Set = [0,1,1,0,1,0,0,1];%原始序列Lenth_Of_Sign = length ( Sign_Set );%原始序列长度Sign_Sett = ones(1,Lenth_Of_Sign+1);%差分变换后的序列,初始化为长度为原始序列长度+1的全1序列(第一个码元为1)sign_orign = zeros ( 1, Num_Unit * (Lenth_Of_Sign+1) );%初始化基带信号为全0序列sign_result = zeros ( 1, Num_Unit * (Lenth_Of_Sign+1) );%初始化接收到的基带信号为全0序列st = zeros ( 1, Num_Unit *( Lenth_Of_Sign+1) );%初始化调制后的信号为全0序列t = 0 : 1/fs : Time_Hold_On * (Lenth_Of_Sign +1)- 1/fs;%信号采样时间点result=zeros(1,Lenth_Of_Sign+1);%初始化接收到的序列resultt=zeros(1,Lenth_Of_Sign);%初始化差分解调后的序列%---------------------------------------------------%>>>>>>>>>>>求差分编码>>>>>>>>>>>>%---------------------------------------------------for I = 2 : Lenth_Of_Sign+1 %差分变换后的序列第一个值为1,从第2个开始计算Sign_Sett(I)= xor(Sign_Sett(I-1),Sign_Set(I-1));%用异或运算求差分码end%---------------------------------------------------%>>>>>>>>>>>产生基带信号>>>>>>>>>>>>%---------------------------------------------------for I = 1 : Lenth_Of_Sign+1 %考虑差分变换后序列中每一个值if Sign_Sett(I) == 1sign_orign( (I-1)*Num_Unit + 1 : I*Num_Unit) = High_Level; %序列值为1,基带信号为高电平elsesign_orign( (I-1)*Num_Unit + 1 : I*Num_Unit) = Low_Level; %序列值为0,基带信号为低电平endend%---------------------------------------------------%>>>>>>>>>>>>>>>>>>调制部分>>>>>>>>>>>>>>>>>>%---------------------------------------------------for I = 1 : Lenth_Of_Sign+1 %考虑差分变换后序列中每一个值if Sign_Sett(I) == 1st( (I-1)*Num_Unit + 1 : I*Num_Unit) = A * cos ( 2 * pi * w * t( (I-1)*Num_Unit + 1 : I*Num_Unit ) + ( pi / 2 ) );%序列值为1,相位调制为π/2elsest( (I-1)*Num_Unit + 1 : I*Num_Unit) = A * cos ( 2 * pi * w * t( (I-1)*Num_Unit + 1 : I*Num_Unit ) );%序列值为0,相位调制为0 endendfiguresubplot ( 2,1,1 )plot(t, sign_orign);axis( [ 0 , Time_Hold_On *( Lenth_Of_Sign + 2), - (A / 2), A + (A / 2) ] );title ( '原始信号' );grid %画出基带信号subplot ( 2, 1, 2 );plot ( t, st );axis( [ 0 , Time_Hold_On *( Lenth_Of_Sign + 2), - 3*(A / 2), 3*(A / 2) ] );title ( '调制后的信号' );grid %画出相位调制后的信号%---------------------------------------------------%>>>>>>>>>>>>>>>>>>相干解调>>>>>>>>>>>>>>>>>>>>>>>>>>>>>%---------------------------------------------------dt = st .* cos ( 2 * pi * w * t ); %相干相乘figureplot ( t, dt );axis( [ 0 , Time_Hold_On *( Lenth_Of_Sign + 2), - 3*(A / 2),3*(A / 2) ] );title ( '相干相乘后的波形' );grid%--------------------------------------------------- %>>>>>>>>>>>>>>>>>>>低通滤波部分>>>>>>>>>>>>>>>>>>>>%---------------------------------------------------[N,Wn] = buttord( 2*pi*1500, 2*pi*3400,3,25,'s'); %临界频率采用角频率表示,计算低通滤波器参数[b,a]=butter(N,Wn,'s'); %产生N阶低通巴特沃斯滤波器[bz,az]=impinvar(b,a,fs); %映射为数字的dt = filter(bz,az,dt); %将相干相乘后的信号进行滤波figureplot ( t, dt );axis( [ 0 , Time_Hold_On *( Lenth_Of_Sign + 2), - 3*(A / 2), 3*(A / 2) ] );title ( '低通滤波后的波形' );grid%---------------------------------------------------%>>>>>>>>>>>>>抽样判决& 逆码变换部分>>>>>>>>>>>>>>>%---------------------------------------------------for I = 1 : Lenth_Of_Sign+1if dt((2*I-1)*Num_Unit/2) < 0.25 %在时钟周期中间采样,由于相干相乘后信号幅值变为1/2,所以判决门限为0.25sign_result( (I-1)*Num_Unit + 1 : I*Num_Unit) = High_Level;elsesign_result( (I-1)*Num_Unit + 1 : I*Num_Unit) = Low_Level;end%由于相干相乘后得到的信号变为原来的负数,所以进行逆码变换endfigureplot ( t, sign_result );axis( [ 0 , Time_Hold_On *( Lenth_Of_Sign + 2), - 3*(A / 2), 3*(A / 2) ] );title ( '逆码变换后的波形' );grid%---------------------------------------------------%>>>>>>>>>>>序列生成与差分还原>>>>>>>>>>>>%---------------------------------------------------for I=1: Lenth_Of_Sign+1result(I)=sign_result(I* Num_Unit)%将接收到的信号生成(差分)序列endfor I = 1 : Lenth_Of_Signresultt(I)= xor(result(I),result(I+1)) %将接收到的差分序列还原为原序列endwindow=boxcar(length(st)); %矩形窗nfft=1024;[Pxx,f]=periodogram(st,window,nfft,fs); %求功率谱密度plot(f,10*log10(Pxx));。

2DPSK调制与解调 matlab

2DPSK调制与解调 matlab

%- 2DPSK 调制与解调%---------------------------------------------------%>>>>>>>>>>>>>>>>>>参数初始化>>>>>>>>>>>>>>>>>>>>>%---------------------------------------------------fs = 3600000;%采样频率为36000赫兹Time_Hold_On = 1/1200;%一个时钟周期为1200分之1,对应比特率为1200bpsNum_Unit = fs * Time_Hold_On;%一个时钟周期内的采样点个数High_Level = ones ( 1, Num_Unit );%高电平(全1序列)Low_Level = zeros ( 1, Num_Unit );%低电平(全0序列)w = 1800;%载波角频率1800HzA = 1;%载波幅值%---------------------------------------------------%>>>>>>>>>>>>>>>>>>信号初始化>>>>>>>>>>>>>>>%---------------------------------------------------Sign_Set = [0,1,1,0,1,0,0,1];%原始序列Lenth_Of_Sign = length ( Sign_Set );%原始序列长度Sign_Sett = ones(1,Lenth_Of_Sign+1);%差分变换后的序列,初始化为长度为原始序列长度+1的全1序列(第一个码元为1)sign_orign = zeros ( 1, Num_Unit * (Lenth_Of_Sign+1) );%初始化基带信号为全0序列sign_result = zeros ( 1, Num_Unit * (Lenth_Of_Sign+1) );%初始化接收到的基带信号为全0序列st = zeros ( 1, Num_Unit *( Lenth_Of_Sign+1) );%初始化调制后的信号为全0序列t = 0 : 1/fs : Time_Hold_On * (Lenth_Of_Sign +1)- 1/fs;%信号采样时间点result=zeros(1,Lenth_Of_Sign+1);%初始化接收到的序列resultt=zeros(1,Lenth_Of_Sign);%初始化差分解调后的序列%---------------------------------------------------%>>>>>>>>>>>求差分编码>>>>>>>>>>>>%---------------------------------------------------for I = 2 : Lenth_Of_Sign+1 %差分变换后的序列第一个值为1,从第2个开始计算Sign_Sett(I)= xor(Sign_Sett(I-1),Sign_Set(I-1));%用异或运算求差分码end%---------------------------------------------------%>>>>>>>>>>>产生基带信号>>>>>>>>>>>>%---------------------------------------------------for I = 1 : Lenth_Of_Sign+1 %考虑差分变换后序列中每一个值if Sign_Sett(I) == 1sign_orign( (I-1)*Num_Unit + 1 : I*Num_Unit) = High_Level; %序列值为1,基带信号为高电平elsesign_orign( (I-1)*Num_Unit + 1 : I*Num_Unit) = Low_Level; %序列值为0,基带信号为低电平endend%---------------------------------------------------%>>>>>>>>>>>>>>>>>>调制部分>>>>>>>>>>>>>>>>>>%---------------------------------------------------for I = 1 : Lenth_Of_Sign+1 %考虑差分变换后序列中每一个值if Sign_Sett(I) == 1st( (I-1)*Num_Unit + 1 : I*Num_Unit) = A * cos ( 2 * pi * w * t( (I-1)*Num_Unit + 1 : I*Num_Unit ) + ( pi / 2 ) );%序列值为1,相位调制为π/2elsest( (I-1)*Num_Unit + 1 : I*Num_Unit) = A * cos ( 2 * pi * w * t( (I-1)*Num_Unit + 1 : I*Num_Unit ) );%序列值为0,相位调制为0endendfiguresubplot ( 2,1,1 )plot(t, sign_orign);axis( [ 0 , Time_Hold_On *( Lenth_Of_Sign + 2), - (A / 2), A + (A / 2) ] );title ( '原始信号' );grid %画出基带信号subplot ( 2, 1, 2 );plot ( t, st );axis( [ 0 , Time_Hold_On *( Lenth_Of_Sign + 2), - 3*(A / 2), 3*(A / 2) ] );title ( '调制后的信号' );grid %画出相位调制后的信号%---------------------------------------------------%>>>>>>>>>>>>>>>>>>相干解调>>>>>>>>>>>>>>>>>>>>>>>>>>>>>%---------------------------------------------------dt = st .* cos ( 2 * pi * w * t ); %相干相乘figureplot ( t, dt );axis( [ 0 , Time_Hold_On *( Lenth_Of_Sign + 2), - 3*(A / 2), 3*(A / 2) ] );title ( '相干相乘后的波形' );grid%--------------------------------------------------- %>>>>>>>>>>>>>>>>>>>低通滤波部分>>>>>>>>>>>>>>>>>>>>%---------------------------------------------------[N,Wn] = buttord( 2*pi*1500, 2*pi*3400,3,25,'s'); %临界频率采用角频率表示,计算低通滤波器参数[b,a]=butter(N,Wn,'s'); %产生N阶低通巴特沃斯滤波器[bz,az]=impinvar(b,a,fs); %映射为数字的dt = filter(bz,az,dt); %将相干相乘后的信号进行滤波figureplot ( t, dt );axis( [ 0 , Time_Hold_On *( Lenth_Of_Sign + 2), - 3*(A / 2), 3*(A / 2) ] );title ( '低通滤波后的波形' );grid%---------------------------------------------------%>>>>>>>>>>>>>抽样判决& 逆码变换部分>>>>>>>>>>>>>>>%---------------------------------------------------for I = 1 : Lenth_Of_Sign+1if dt((2*I-1)*Num_Unit/2) < 0.25 %在时钟周期中间采样,由于相干相乘后信号幅值变为1/2,所以判决门限为0.25sign_result( (I-1)*Num_Unit + 1 : I*Num_Unit) = High_Level;elsesign_result( (I-1)*Num_Unit + 1 : I*Num_Unit) = Low_Level;end%由于相干相乘后得到的信号变为原来的负数,所以进行逆码变换endfigureplot ( t, sign_result );axis( [ 0 , Time_Hold_On *( Lenth_Of_Sign + 2), - 3*(A / 2), 3*(A / 2) ] );title ( '逆码变换后的波形' );grid%---------------------------------------------------%>>>>>>>>>>>序列生成与差分还原>>>>>>>>>>>>%---------------------------------------------------for I=1: Lenth_Of_Sign+1result(I)=sign_result(I* Num_Unit)%将接收到的信号生成(差分)序列endfor I = 1 : Lenth_Of_Signresultt(I)= xor(result(I),result(I+1)) %将接收到的差分序列还原为原序列endwindow=boxcar(length(st)); %矩形窗nfft=1024;[Pxx,f]=periodogram(st,window,nfft,fs); %求功率谱密度plot(f,10*log10(Pxx));。

实验四 2DPSK系统的仿真实验

实验四  2DPSK系统的仿真实验

图1
Communications Blockset / Source Coding 库下的 Differential Encoder 模块
Communications Blockset / Utility Functions 库下的 Unipolar to Bipolar Converter 模块
Communications Bll Passband Modulation/PM 库下的
码元间隔与数字信号 采样周期要一致
图4
进制数 要一致
图5 仿真相对相移键控方法产生 2DPSK 时,可以用 M-DPSK Modulator Passband 模块完成 2DPSK 的调制功能,该模块的参数设置如图 7 所示,注意各参数的设置方法;M-DPSK Demodulator Passband 模块完成 2DPSK 的解调功能,该模块的参数设置如图 8 所示,注意解 调模块的参数设置必须与调制模块的相关参数设置一致。
图6 46
2DPSK 信号的频谱如图 9 所示。2DPSK 信号时域波形如图 10 所示。
图7
四、实验内容
1. 进一步熟悉并掌握 Matlab/Simulink 基本库、通信库和 DSP 库中较为重要的一些功能 模块的作用以及相应功能参数的物理意义与设置方法。
2. 搭建 2DPSK 模拟法仿真模型如图 1 所示。设置系统参数并调试,同时观测并记录 A~D 各点的时域波形以及 D 点的频谱。
数字信号 的进制数
数字信号 采样周期
图3 43
数设置如图 4 所示,注意该模块差分的性质;单双极性变换 Unipolar to Bipolar Converter 模 块的参数设置如图 5 所示,注意进制数的设置值必需与 Random Integer Generator 模块一致; Random Number 模块产生一个高斯型分布的随机噪声,该模块的参数设置如图 6 所示。

通信原理matlab课程设计2ASK、2FSK、2PSK、2DPSK调制解调matlab仿真

通信原理matlab课程设计2ASK、2FSK、2PSK、2DPSK调制解调matlab仿真

通信原理matlab课程设计--2ASK、2FSK、2PSK、2DPSK调制解调matlab仿真南昌大学通信原理课程设计报告题目: 2ASK、2FSK、2PSK、2DPSK调制解调matlab仿真姓名:学院:信工学院专业:指导教师:完成日期:2013 年5 月5日一、设计要求课程设计需要运用MATLAB 编程实现2ASK,2FSK,2PSK ,2DPSK 调制解调过程,并且输出其源码,调制后码元以及解调后码元的波形。

二、基本原理二进制数字调制技术原理数字信号的传输方式分为基带传输和带通传输,在实际应用中,大多数信道具有带通特性而不能直接传输基带信号。

为了使数字信号在带通信道中传输,必须使用数字基带信号对载波进行调制,以使信号与信道的特性相匹配。

这种用数字基带信号控制载波,把数字基带信号变换为数字带通信号的过程称为数字调制。

通常使用键控法来实现数字调制,比如对载波的振幅、频率和相位进行键控。

(1)振幅键控是利用载波的幅度变化来传递数字信息,而其频率和相位保持不变,在2ASK 中,载波的幅度只有两种变化状态,分别对应二进制信息‘0’和‘1’。

OOK (通-断键控)是一种常用的二进制振幅键控式模拟调制器法 键控法包络检波法)开关电路2e2e同步检测法(2) 一个2FSK 信号可以看成是两个不同载波的2ASK 信号的叠加。

其解调和解调方法和ASK 差不多。

2FSK 信号的频谱可以看成是f1和f2的两个2ASK 频谱的组合。

2FSK 信号的产生方法采用模拟调频电路来实现:信号在相邻码元之间的相位是连续变化的。

采用键控法来实现:相邻码元之间的相位不一定连续。

2FSK 信号的解调方法相干解调2e FSK2e FSK非相干解调(3) 2PSK 以载波的相位变化作为参考基准的,当基带信号为0时相位相对于初始相位为0, 当基带信号为1时相对于初始相位为180°。

调制器原理方框图如下:检控法2PSK 信号的解调器原理方框图(4) 2DPSK 是利用前后相邻码元的载波相对相位变化传递数字信息,所以又称相对相移键控。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2DPSK调制与解调系统的仿真摘要设计了差分编码移相键控(2DPSK)调制解调系统的工作流程图,并利用Matlab 软件对该系统的动态进行了模拟仿真。

利用仿真的结果,从基带信号的波形图可以衡量数字信号的传输质量;由系统的输入和输出波形图可以看出,仿真实验良好。

2DPSK调制解调系统的仿真设计,为以后进一步研究基于Matlab的通信实验仿真系统奠定了坚实的基础。

关键词调制解调; 差分移相编码; 仿真设计1、 2DPSK基本原理1.1 2DPSK信号原理2DPSK方式即是利用前后相邻码元的相对相位值去表示数字信息的一种方式。

现假设用Φ表示本码元初相与前一码元初相之差,并规定:Φ=0表示0码,Φ=π表示1码。

则数字信息序列与2DPSK信号的码元相位关系可举例表示如2PSK信号是用载波的不同相位直接去表示相应的数字信号而得出的,在接收端只能采用相干解调,它的时域波形图如图2.1所示。

图1.1 2DPSK信号在这种绝对移相方式中,发送端是采用某一个相位作为基准,所以在系统接收端也必须采用相同的基准相位。

如果基准相位发生变化,则在接收端回复的信号将与发送的数字信息完全相反。

所以在实际过程中一般不采用绝对移相方式,而采用相对移相方式。

定义∆Φ为本码元初相与前一码元初相之差,假设:∆Φ=0→数字信息“0”;∆Φ=π→数字信息“1”。

则数字信息序列与2DPSK 信号的码元相位关系可举例表示如下: 数字信息: 1 0 1 1 0 1 1 1 0 1 DPSK 信号相位:0 π π 0 π π 0 π 0 0 π或:π 0 0 π 0 0 π 0 π π 01.2 2DPSK 信号的调制原理一般来说,2DPSK 信号有两种调试方法,即模拟调制法和键控法。

2DPSK 信号的的模拟调制法框图如图1.2.1所示,其中码变换的过程为将输入的单极性不归零码转换为双极性不归零码。

图1.2.1 模拟调制法2DPSK 信号的的键控调制法框图如图1.2.2所示,其中码变换的过程为将输入的基带信号差分,即变为它的相对码。

选相开关作用为当输入为数字信息“0” 时接相位0,当输入数字信息为“1”时接pi 。

图1.2.2 键控法调制原理图1.3 2DPSK 信号的解调原理2DPSK 信号最常用的解调方法有两种,一种是极性比较和码变换法,另一种是差分相干解调法。

1.3.1 2DPSK 信号解调的极性比较法它的原理是2DPSK 信号先经过带通滤波器,去除调制信号频带以外的在信道中混入的噪声,再与本地载波相乘,去掉调制信号中的载波成分,再经过低通滤波器去除高频成分,得到包含基带信号的低频信号,将其送入抽样判决器中进行抽样判决的到基带信号的差分码,再经过逆差分器,就码变换相乘载波s(t)e o (t)得到了基带信号。

它的原理框图如图1.3.1所示。

图 1.3.1 极性比较解调原理图1.3.2 2DPSK信号解调的差分相干解调法差分相干解调的原理是2DPSK信号先经过带通滤波器,去除调制信号频带以外的在信道中混入的噪声,此后该信号分为两路,一路延时一个码元的时间后与另一路的信号相乘,再经过低通滤波器去除高频成分,得到包含基带信号的低频信号,将其送入抽样判决器中进行抽样判决,抽样判决器的输出即为原基带信号。

它的原理框图如图1.3.2所示。

图 1.3.2 差分相干解调原理图2、建立模型2.1 差分和逆差分变换模型差分变换模型的功能是将输入的基带信号变为它的差分码。

逆码变换器原理图如下:逆码变换器(a)原理方框图2.2 带通滤波器和低通滤波器的模型带通滤波器模型的作用是只允许通过(fl,fh)范围内的频率分量、但将其他范围的频率分量衰减到极低水平。

低通滤波器模型的作用是只允许通过(0,fh)范围内的频率分量,并且将其他范围的频率分量衰减到极低水平。

在Matlab中带通滤波器和低通滤波器的模型可以用编写程序来模拟。

2.3 抽样判决器模型抽样判决器的功能是根据位同步信号和设置的判决电平来还原基带信号。

在Matlab中抽样判决器可以用simulink中的模块来模拟。

它的模型框图如图所示,它的内部结构图如图2.3所示。

图 3.3 抽样判决器2.4 系统结构图图2.4.1 系统结构图2.4.2 2DPSK调制与解调总原理框图图2.4.2 2DPSK调制与解调总原理框图3、仿真3.1 仿真程序%- 2DPSK 调制与解调%--------------------------------------------------- %>>>>>>>>>>>>>>>>>>Initial_Part>>>>>>>>>>>>>>>>>>>>> %---------------------------------------------------function y=dpsk2()fs = 30000;Time_Hold_On = 0.1;Num_Unit = fs * Time_Hold_On;High_Level = ones ( 1, Num_Unit );Low_Level = zeros ( 1, Num_Unit );w = 300;A = 1;%--------------------------------------------------- %>>>>>>>>>>>>>>>>>>Initial_The_Signal>>>>>>>>>>>>>>> %---------------------------------------------------Sign_Set = [0,1,1,0,1,0,0,1]Lenth_Of_Sign = length ( Sign_Set );st = zeros ( 1, Num_Unit * Lenth_Of_Sign );sign_orign = zeros ( 1, Num_Unit * Lenth_Of_Sign );sign_result = zeros ( 1, Num_Unit * Lenth_Of_Sign );t = 0 : 1/fs : Time_Hold_On * Lenth_Of_Sign - 1/fs;%--------------------------------------------------- %>>>>>>>>>>>Generate_The_Original_Signal>>>>>>>>>>>> %---------------------------------------------------for I = 1 : Lenth_Of_Signif Sign_Set(I) == 1sign_orign( (I-1)*Num_Unit + 1 : I*Num_Unit) = High_Level;elsesign_orign( (I-1)*Num_Unit + 1 : I*Num_Unit) = Low_Level;endend%---------------------------------------------------%>>>>>>>>>>>>>>>>>>Modulation_Part>>>>>>>>>>>>>>>>>>%---------------------------------------------------for I = 1 : Lenth_Of_Signif Sign_Set(I) == 1st( (I-1)*Num_Unit + 1 : I*Num_Unit) = A * cos ( 2 * pi * w * t( (I-1)*Num_Unit + 1 : I*Num_Unit ) + ( pi / 2 ) );elsest( (I-1)*Num_Unit + 1 : I*Num_Unit) = A * cos ( 2 * pi * w * t( (I-1)*Num_Unit + 1 : I*Num_Unit ) );endendfiguresubplot ( 2, 1, 1 )plot(t, sign_orign);axis( [ 0 , Time_Hold_On *( Lenth_Of_Sign + 1), - (A / 2), A + (A / 2) ] );title ( '原始信号' );gridsubplot ( 2, 1, 2 );plot ( t, st );axis( [ 0 , Time_Hold_On *( Lenth_Of_Sign + 1), - 3*(A / 2), 3*(A / 2) ] );title ( '调制后的信号' );grid%---------------------------------------------------%>>>>>>>>>>>>>>>>>>相乘>>>>>>>>>>>>>>>>>>>>>>>>>>>>>%---------------------------------------------------dt = st .* cos ( 2 * pi * w * t );figuresubplot(2,1,1)plot ( t, dt );axis( [ 0 , Time_Hold_On *( Lenth_Of_Sign + 1), - 3*(A / 2), 3*(A / 2) ] );title ( '相乘后的波形' );grid%--------------------------------------------------- %>>>>>>>>>>>>>>>>>>>低通滤波部分>>>>>>>>>>>>>>>>>>>>%---------------------------------------------------[N,Wn] = buttord( 2*pi*50, 2*pi*150,3,25,'s'); %临界频率采用角频率表示[b,a]=butter(N,Wn,'s');[bz,az]=impinvar(b,a,fs); %映射为数字的dt = filter(bz,az,dt);subplot(2,1,2)plot ( t, dt );axis( [ 0 , Time_Hold_On *( Lenth_Of_Sign + 1), - 3*(A / 2), 3*(A / 2) ] ); title ( '低通滤波后的波形' );grid%--------------------------------------------------- %>>>>>>>>>>>>>抽样判决& 逆码变换部分>>>>>>>>>>>>>>>%---------------------------------------------------for I = 1 : Lenth_Of_Signif dt((2*I-1)*Num_Unit/2) < 0.25sign_result( (I-1)*Num_Unit + 1 : I*Num_Unit) = High_Level;elsesign_result( (I-1)*Num_Unit + 1 : I*Num_Unit) = Low_Level;endendfigureplot ( t, sign_result );axis( [ 0 , Time_Hold_On *( Lenth_Of_Sign + 1), - 3*(A / 2), 3*(A / 2) ] ); title ( '逆码变换后的波形' );grid3.2.1 2DPSK模拟调制和差分相干解调法仿真图图3.4.2 2DPSK模拟调制和差分相干解调法仿真图4、调试过程及结论4.1 差分相干法2DPSK信号经相关模块调试后的波形图如下:调制过后加入高斯白噪声,连接到带通滤波器,去除调制信号以外的在信道中混入的噪声,再连接到相乘器。

相关文档
最新文档