(完整版)matlab设计2DPSK信号调制与解调

合集下载

DPSK调制解调的Matlab程序

DPSK调制解调的Matlab程序

%DPSK调制解调程序清单%仿真DPSK信号的产生及相干解调过程%将成形滤波器系数量化为10比特后,写入tra_lpf、coe文件中%将接收滤波器系数量化为10比特后,写入rec_lpf、coe文件中%将DPSK已调数据量化为8比特后,写入Dpsk、txt文件中ps=1*10^6; %码速率为1MHza=0、8; %成形滤波器系数为0、8B=(1+a)*ps; %中频信号处理带宽Fs=8*10^6; %采样速率为8MHzfc=2*10^6; %载波频率为2MHzN=20000; %仿真数据的长度t=0:1/Fs:(N*Fs/ps-1)/Fs;%产生长度为N,频率为fs的时间序列s=randint(N,1,2); %产生随机数据作为原始数据,%并将绝对码变换为相对码ds=ones(1,N);for i=2:Nif s(i)==1ds(i)=-ds(i-1);elseds(i)=ds(i-1);endend%对相对码数据以Fs频率采样Ads=upsample(ds,Fs/ps);%设计平方升余弦滤波器n_T=[-2 2];rate=Fs/ps;T=1;Shape_b = rcosfir(a,n_T,rate,T);%figure(4);freqz(Shape_b)%对采样后的数据进行升余弦滤波;rcos_Ads=filter(Shape_b,1,Ads);%产生载频信号f0=sin(2*pi*fc*t);%产生DPSK已调信号dpsk=rcos_Ads、*f0;%与相干载波相乘,实现相干解调demod_mult=dpsk、*f0;%设计接收端低通滤波器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); %firpm函数返回的最优滤波器系数%对乘法运算后的数据进行低通滤波,输出解调后的基带信号demod_lpf=filter(rec_lpf,1,demod_mult);figure(1)%绘制成形滤波后信号频谱、DPSK信号频谱、DPSK信号时域波形m_rcos_Ads=20*log10(abs(fft(rcos_Ads,1024)));m_rcos_Ads=m_rcos_Ads-max(m_rcos_Ads); m_dpsk=20*log10(abs(fft(dpsk,1024)));m_dpsk=m_dpsk-max(m_dpsk);%设置幅频响应的横坐标单位为MHzx_f=[0:(Fs/length(m_dpsk)):Fs/2];x_f=x_f/10^6;%只显示正频率部分的幅频响应mrcos_Ads=m_rcos_Ads(1:length(x_f));mdpsk=m_dpsk(1:length(x_f));%设置时域波表的横坐标单位为usLen=100;%设置时域波形显示的点数x_t=1:Len;%产生长度为Len的时间序列x_t=x_t/Fs*10^6;%显示所需的频谱及时域波形subplot(311); plot(x_f,mrcos_Ads);legend('成形滤波后信号频谱');xlabel('频率(MHz)');ylabel('幅度(dB)');grid on;subplot(312); plot(x_f,mdpsk);legend('DPSK已调信号频谱');xlabel('频率(MHz)');ylabel('幅度(dB)');grid on;subplot(313); plot(x_t,dpsk(101:Len+100));grid on;legend('DPSK时域信号波形');xlabel('时间(us)');ylabel('幅度(V)');grid on;figure(2)%对相对码重复Fs/ps倍采样,便于绘图比较s_Ads=rectpulse(ds,Fs/ps);Len=500;%设置时域波形显示的点数x_t=1:Len;%产生长度为Len的时间序列x_t=x_t/Fs*10^6;%绘制DPSK解调前后时域波形delay=18;%为便于观察,对解调后的基带波形超前显示delay个点。

2DPSK信号调制器和解调器课程设计

2DPSK信号调制器和解调器课程设计

课程名称:通信原理课程设计设计题目:2DPSK信号调制器和解调器学生班级:学生姓名:指导教师:完成日期:2015-12-25数学与计算机学院课程设计项目研究报告目录第 1 章项 (3)1.1 项目名称 (3)1.2 开发人员 (3)1.3 指导教师 (3)第 2 章项目研究意义 (3)2.1 课程设计概述 (3)2.2 需求分析 (3)2.3 研究意义 (3)第3 章 2DPSK信号原理 (3)3.1 2DPSK的调制原理 .................................................................... 错误!未定义书签。

3.2 2DPSK的解调原理 .................................................................... 错误!未定义书签。

第 4 章采用的技术 .. (5)4.1 课程设计的方案设计论证 (5)4.2 重要算法的设计、流程描述或伪代码描述 ........................... 错误!未定义书签。

第5 章课程设计项目进度表 .. (6)第6 章课程设计任务分配表 (6)第7 章达到的效果 (7)7.1 程序设计思想 (7)7.2 程序最终实现结果 ................................................................... 错误!未定义书签。

第8 章源程序 ..................................................................................... 错误!未定义书签。

8.1主程序(以M文件的形式) .................................................... 错误!未定义书签。

基于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));。

2PSK调制与解调系统的MATLAB实现及性能分析

2PSK调制与解调系统的MATLAB实现及性能分析

2PSK调制与解调系统的MATLAB实现及性能分析学生姓名:指导老师:摘要:在数字传输系统中,数字信号对高频载波进行调制,变为频带信号,通过信道传输,在接收端解调后恢复成数字信号,由于大多数实际信号都是带通型的,所以必须先用数字频带信号对载波进行调制,形成数字调制信号再进行传输,因此,调制解调技术是实现现代通信的重要手段。

数字调制地实现,促进了通信的飞速发展。

研究数字通信调制理论,提供有效调制方法有着重要意义。

实现调试解调的方法有很多种,本文应用了键控法产生调制与解调信号。

数字相位调制又称相移键控记作PSK(Phase Shift Keying),二进制相移键控记作2PSK,它们是利用载波振荡相位的变化来传送数字信号的,在二进制数字解调中,当正弦载波的相位随二进制数字基带信号离散变化,则就产生二进制移相键控2PSK信号。

重点介绍了2PSK的调制与解调的工作原理,以及Simulink 进行设计和仿真。

关键词:调制与解调;2PSK;Simulink;MATLAB;1 引言本课程设计主要是学会运用MATLAB中的Simulink来实现数字基带信号的模拟传输。

在知道其传输原理的情况下,将仿真电路到Simulink之中。

并且对正交振幅调制、解调过程的频谱和波形的分析,同时在无噪声和有噪声的进行分析,加入高斯白噪声,瑞利噪声,莱斯噪声分析调制解调后的频谱、波形,观察其误码率。

1.1 课程设计的目的首先了解和掌握MATLAB中Simulink平台的使用;其次了解正交振幅基本电路的调制与解调的仿真,加入噪声后观察其频谱和波形的变化,同时检测其误码率。

1.2 课程设计的要求熟悉MATLAB 环境下的Simulink 仿真平台,熟悉2PSK 系统的调制解原理,构建2PSK 调制解调电路图.用示波器观察调制前后的信号波形,用频谱分析模块观察调制前后信号的频谱的变化。

并观察解调前后频谱有何变化以加深对该信号调制解调原理的理解。

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));。

通信原理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 是利用前后相邻码元的载波相对相位变化传递数字信息,所以又称相对相移键控。

利用MATLAB实现DPSK调制及解调

利用MATLAB实现DPSK调制及解调

利用MATLAB实现DPSK调制及解调
DPSK(Differential Phase Shift Keying)调制是一种数字信息传输调制方式。

它采用相位差的改变来表示数字信息,具有抗噪声和波动的能力,因此在数字通信领域得到了广泛的应用。

MATLAB是一种适合数字信号处理的工具,可以有效地实现DPSK调制及解调。

以下是具体的实现步骤:
DPSK调制
1. 生成数字信息比特流,转换为1和-1形式。

2. 将比特流进行差分编码得到差分比特流。

3. 将差分比特流分组,每组2个比特。

4. 根据相邻两个比特的差异,确定相位差。

差分比特流为00或11时,相位差为0;差分比特流为01或10时,相位差为π。

5. 根据相位差,生成相位进行调制得到调制信号。

可以使用sinc函数或高斯函数对信号进行脉冲整形。

DPSK解调
1. 将DPSK调制后的信号送入相干解调器。

2. 使用带通滤波器去除高频噪声。

3. 再次进行相干解调,得到调制信号。

4. 对调制信号进行差分解码还原差分比特流。

5. 对差分比特流进行译码得到数字信息比特流。

利用MATLAB实现DPSK调制及解调的代码可在Matlab官网上找到并学习使用。

基于MATLAB数字信号2PSK调制与解调及其仿真

基于MATLAB数字信号2PSK调制与解调及其仿真

基于MATLAB数字信号2PSK调制与解调及其仿真本论文将对2PSK(二进制移相键控)波形的产生和仿真过程进行详细的介绍。

利用MATLAB实验平台实现对数字信号二进制移相键控(2PSK)的调制与解调的模拟。

具体是使用键控法来产生信号的调制和解调。

这对2PSK信号波形的调制可以有一个更好的理解。

同时也将会加深对数字信号调制与解调的认知。

目录1. 引言 (1)2. 设计依据及框图 (2)2.1 设计任务 (2)2.2设计平台 (2)2.3 设计原理 (2)3. 基于MATLAB的2PSK系统仿真 (5)3.1 MATLAB仿真代码 (6)3.2仿真波形图 (8)4. 结论 (11)5. 心得体会 (11)1. 引言随着社会经济的进步电子技术产业有了飞快的发展,同时通信技术也从原先的模拟通信朝向数字化、宽带化、网络化、和智能化的方向发展;随着高科技的研发电子产品的不断更新,人们在对各种通信的要求将会变得更高,也会有越来越多的新技术将不断地运用到通信领域之中,一些更先进的通信业务将会不断地被开发出来[1]。

在数字基带的传输系统中,由于数字基带信号不能够在带通传输信道正常传输,为了让数字基带信号可以在信道中有效的传输,所以信道传输特性应该为低通形式。

但在实际的信道传输中,绝大部分的信道有着带通传输特性。

而在带通传输特性的信道中数字基带信号不可以直接传输。

为了能够得到信号同信道相匹配的特性,数字基带信号要对载波信号进行相关的调制。

[2]利用数字基带信号来控制信号的载波,数字调制过程是:把数字基带信号转换成数字带通信号。

而数字解调的过程是:在信号接收端,利用解调器把带通信号恢复成数字基带信号[3]。

一般情况下人们把调制与解调过程的数字的传输系统称之为数字频带的传输系统。

频带传输也称为带通传输(band-pass transmission)、载波传输(carrier transmission)[1]。

其中数字调制的基本结构如下图:图1-1数字调制系统基本结构图[1]数字和模拟调制有着一样的原理,通常数字调制信号可以利用模拟的调制方法来实现。

2DPSK的调制和解调(键控调制 相干解调)解析

2DPSK的调制和解调(键控调制 相干解调)解析

用SystemView 仿真实现二进制差分相位键控(2DPSK )的调制1、实验目的:(1)了解2DPSK 系统的电路组成、工作原理和特点;(2)分别从时域、频域视角观测2DPSK 系统中的基带信号、载波及已调信号; (3)熟悉系统中信号功率谱的特点。

2、实验内容:以PN 码作为系统输入信号,码速率Rb =10kbit/s 。

(1)采用键控法实现2DPSK 的调制;分别观测绝对码序列、差分编码序列,比较两序列的波形;观察调制信号、载波及2DPSK 等信号的波形。

(2)获取主要信号的功率谱密度。

3、实验原理:2DPSK 方式是用前后相邻码元的载波相对相位变化来表示数字信息。

假设前后相邻码元的载波相位差为∆ϕ,可定义一种数字信息与∆ϕ之间的关系为则一组二进制数字信息与其对应的2DPSK 信号的载波相位关系如下表所示数字信息与∆ϕ 之间的关系也可以定义为2DPSK 信号调制过程波形如图1所示。

0,01φπ⎧∆=⎨⎩表示数字信息“”,表示数字信息“”()()1 1 0 1 0 0 1 102DPSK 0 0 0 0 0 00 0 0 0ππππππππππ二进制数字信息:信号相位:或0,10φπ⎧∆=⎨⎩表示数字信息“”,表示数字信息“”图1 2DPSK 信号调制过程波形可以看出,2DPSK 信号的实现方法可以采用:首先对二进制数字基带信号进行差分编码,将绝对码表示二进制信息变换为用相对码表示二进制信息,然后再进行绝对调相,从而产生二进制差分相位键控信号。

2DPSK 信号调制器原理图如图2所示。

图2 2DPSK 信号调制器原理图其中码变换即差分编码器如图3所示。

在差分编码器中:{a n }为二进制绝对码序列,{dn }为差分编码序列。

D 触发器用于将序列延迟一个码元间隔,在SystemView 中此延迟环节一般可不采用D 触发器,而是采用操作库中的“延迟图符块”。

绝对码相对码载波DPSK 信号101100101 0 0 1 0 1 1 0 2开关电路图3差分编码器4、系统组成、图符块参数设置及仿真结果:键控法:采用键控法进行调制的组成如图4所示。

matlab2ask调制解调

matlab2ask调制解调

一、MATLAB介绍MATLAB是一款用于数学建模、仿真和数据分析的高级技术计算语言和交互式环境。

它被广泛应用于工程、科学和金融领域,可以帮助用户加快研发过程,简化代码编写,提高工作效率。

MATLAB具有强大的数据处理能力和丰富的功能库,可以用于解决各种复杂的数学问题和进行信号处理、通信系统设计等工作。

二、ASK调制解调原理ASK调制(Amplitude Shift Keying)是一种数字调制技术,它通过调整载波的幅度来传输数字信号。

具体来说,当发送数字0时,载波的幅度为0;当发送数字1时,载波的幅度为1。

ASK调制在通信系统中应用广泛,可以用于简单的无线传输、红外通信和短距离通信等场合。

ASK调制的解调过程需要依靠一些特定的算法和技术。

在数字通信系统中,接收端需要对接收到的ASK调制信号进行解调,将其转换为原始的数字信号。

这个过程需要利用到MATLAB等工具来进行信号处理和数学建模,以实现解调算法的设计和仿真。

三、MATLAB在ASK调制解调中的应用1. 信号生成在ASK调制解调中,首先需要生成原始数字信号并进行ASK调制。

MATLAB提供了丰富的信号生成函数和工具箱,可以方便地生成各种数字信号并将其进行ASK调制。

用户可以利用MATLAB编写相应的代码实现信号生成和调制过程,以便进行后续的仿真和分析。

2. 模拟仿真MATLAB具有强大的仿真功能,可以帮助用户对ASK调制解调系统进行模拟和分析。

用户可以利用MATLAB编写仿真代码,并通过仿真工具箱进行系统性能评估、误码率分析等工作。

利用MATLAB的图形界面工具,用户还可以直观地查看信号波形、频谱图等仿真结果,加快对系统性能的评估和优化。

3. 解调算法设计在ASK调制解调中,解调算法的设计是非常重要的一环。

通过MATLAB可以方便地进行解调算法的建模和仿真。

用户可以利用MATLAB的信号处理工具箱和通信工具箱,快速设计并验证各种解调算法,包括简单的信号检测算法、匹配滤波器设计、时钟恢复等关键技术。

(完整版)基于MATLAB的2FSK的调制与解调

(完整版)基于MATLAB的2FSK的调制与解调

(完整版)基于MATLAB的2FSK的调制与解调基于MATLAB的2FSK数字通信系统仿真一、课程设计目的二、课程设计内容在信道中,大多数具有带通传输特性,必须用数字基带信号对载波进行调制,产生各种已调数字信号。

可以用数字基带信号改变正弦型载波的幅度、频率或相位中的某个参数,产生相应的数字振幅调制、数字频率调制和数字相位调制。

也可以用数字基带信号同时改变正弦型载波幅度、频率或相位中的某几个参数,产生新型的数字调制。

本课程设计旨在根据所学的通信原理知识,并基于MATLAB软件,仿真一2FSK 数字通信系统。

2FSK数字通信系统,即频移键控的数字调制通信系统。

频移键控是利用载波的频率变化来传递数字信息。

在2FSK中,载波的频率随二进制基带信号在f1和f2两个频率点间变化。

因此,一个2FSK信号的波形可以看成是两个不同载频的2ASK信号的叠加。

可以利用频率的变化传递数字基带信号,通过调制解调还原数字基带信号,实现课程设计目标。

三、2FSK的基本原理和实现二进制频率调制是用二进制数字信号控制正弦波的频率随二进制数字信号的变化而变化。

由于二进制数字信息只有两个不同的符号,所以调制后的已调信号有两个不同的频率f1和f2,f1对应数字信息“1”,f2对应数字信息“0”。

二进制数字信息及已调载波如图3-1所示。

1、2FSK的产生在2FSK信号中,当载波频率发生变化时,载波的相位一般来说是不连续的,这种信号称为不连续2FSK信号。

相位不连续的2FSK通常用频率选择法产生,如图3-2所示:图3-2 2FSK信号调制器两个独立的振荡器作为两个频率发生器,他们受控于输入的二进制信号。

二进制信号通过两个与门电路,控制其中的一个载波通过。

调制器各点波形如图3-3所示:图3-3 2FSK调制器各点波形由图3-3可知,波形g是波形e和f的叠加。

所以,二进制频率调制信号2FSK可以看成是两个载波频率分别为f1和f2的2ASK信号的和。

毕业设计(最终版)-2dpsk调制解调仿真系统设计[管理资料]

毕业设计(最终版)-2dpsk调制解调仿真系统设计[管理资料]

论文题目:2DPSK调制解调仿真系统设计专业:通信技术学号: 0807040211学生:苏瑜签名:_____指导教师:张鸣签名:_____摘要二进制差分相移键控简称二相相对调相,记作2DPSK。

它是数据通信中最常用的一种调制方式,这种方式的优点是简单,易于实现。

与2PSK的波形不同,2DPSK 波形的同一相位并不对应相同的数字信息符号,而前后码元的相对相位才唯一确定信息符号。

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

调制解调技术是实现现代通信的重要手段,研究数字通信调制解调理论,提供有效的调制方式,有着重要意义。

Matlab中的通信工具箱可以用来进行通信领域的研究、开发、系统设计和仿真。

本文主要研究了利用Matlab Simulink软件对2DPSK调制解调系统的设计。

首先介绍了2DPSK调制解调的基本原理和Matlab Simulink仿真软件。

然后根据2DPSK的调制原理及解调原理进行了仿真模型搭建,并分析了仿真结果。

最后利用Matlab Simulink 中的DBPSK Modulator Baseband和DBPSK Demodulator Baseband模块实现了2DPSK调制解调系统设计。

【关键词】Matlab Simulink 2DPSK 调制解调【论文类型】设计型Title: 2DPSK of Modulation and Demodulation Simulation System Design Major: Communication Technology Number: 0807040211 Name:Su Yu Signature:Supervisor:Zhang Ming Signature:ABSTRACTBinary differential phase shift keying modulation is relatively short two-phase, denoted by 2DPSK. It is one of the most commonly used modulation in data communications, this approach has the advantage of simple, easy to implement. 2DPSK waveform is different from 2PSK waveform. 2DPSK waveform does not correspond to the same phase of the same number of information symbols, and the relative phase of the before and after symbol determine the only information symbols. In order to make the digital signal transmitted in a communication channel,we must use digital baseband signal to modulate the carriert, which can make the signal match the channel characteristics. Modulation and demodulation technology is an important means to achieve modern communications, modulation and demodulation of digital communications theory,and it can provide an effective way of great significance. Matlab toolbox of communication in the field of communications can be used for research, development, system design and simulationThis paper studies the use of Matlab Simulink software to design 2DPSK modem system. First it introduces the basic principles of 2DPSK modulation and demodulation and Matlab Simulink simulation software. Then according to the principle of 2DPSK modulation and demodulation, it builds the simulation model and analysis of simulation results. Finally, in the 2DPSK modulator and 2DPSK demodulator module of Matlab Simulink,it implements the design of 2DPSK modem system.【Key words】Matlab Simulink 2DPSK Modulate Demodulate 【Type of Thesis】Design前言本文主要是熟悉Matlab的运用,了解2DPSK的原理及其原理图,利用Matlab/Simulink仿真软件,设计一个2DPSK调制与解调系统,并得出调制后的信号,用示波器对调制前与解调后的波形进行比较,最后进行性能分析。

dpsk信号调制与解调matlab源程序

dpsk信号调制与解调matlab源程序

%Run from editor debug(F5)-DPSK UWB system analysis%matlab±àдFSKµ÷ÖÆÓë½âµ÷µÄ³ÌÐò%JC 12/10/05%This m file simulates a differential phase shift keyed (DPSK) ultra wide bandwidth(UWB) system using%a fifth derivative waveform equation of a Gaussian pulse. I thought the setup for DPSK%would be apparent to configure from my other fifth drivative m files but several emails%convinced me otherwise so here it is. This system should be fairly easy to breadboard in%the lab assuming an appropriately starting pulse can be realized along with the required%delay line in the receuver. I have to keep reminding myself we are only talking one to%five meters, not miles. One could walk in front of the antennas and flip and move the antennas to%observe multipath, etc. Another interesting problem for test equipment vendors%is how to measure and characterize the spectrum of the waveform coming off the%transmitting antenna in the far field. Anyway, good luck to those who like to tinker and%play in new areas of wireless.%The receiver section uses a squaring %circuit(mixer) with a delay in one leg and a low pass filter%is used to integrate the waveforms to recover the voltage levels(a radiometer and/or correlaton receiver).%A one bit flash ADC is simulated via a comparator routine to show the demodulated%output bits from the integrator. Various plots of time and frequency waveforms are shown at%different positions in the file so the user can observe and analyze the %operation of the simulated system. The transmitter is simulated assuming %the fifth order waveforms are being sent from an appropriate antenna. The receiving antenna%in a real system would distort the original and delayed signal equally. %The fifth derivative waveform equation is obtained by use of the Matlab symbolic processor in%matlab.You would actually use the fourth derivative of the gaussian%monocycle 1st derivative which is t/pw*exp(-t^2/pw^2).Procedure as follows: %syms t pw%t/pw*exp(-t^2/pw^2)enter%diff(ans,t,4)%ans=60/pw^5*t*exp(-t^2/pw^2)-80/pw^7*t^3*exp(-t^2/pw^2)+16*t^5/pw^9*exp(-t^2/pw^2)%set pw=1 to normalize and do an ezplot(ans) and you should get a plot of the fifth order%derivative which has 5 zero crossings.It is apparent from my previous files that the 1st and%second derivative pulses will not meet the FCC spectral mask without%reducing the transmitter power. The fifth order derivative pulse meets the FCC%mask without a reduction in power. It also retains a wide 3DB and 10DB bandwidth.%One may ask how to generate these pulses at the transmitter. One possible %method might be to take a high speed differentially encoded digital bitstream and process it%thru highpass or bandpass filters(the pulse would ring on the leading edge %and would ring and be inverted on the trailing edge) with the output being a close match to a%fourth derivative waveform and use a TX antenna that differentiates the pulse%once for fifth order. DPSK does not require a template at the receiver and any%distortions caused by the receiving antenna or the channel path would be reduced%and possibly balanced out. It may be possible to improve the system (for short distances%and very high bit rates), to use direct sequence spread spectrum(DSSS) (for smoothing and%multiple access-may not be required since UWB is already a spread spectrum process) and forward%error correction(FEC) coding with the DPSK scheme. Not needing to synch up the receiver with a templet%solves a lot of design problems. You would only lose several DB of Eb/No(1e-3) %and as stated before would not require generation of a template at%the receiver for syncronization assuming timing jitter can be held to a minimum.%The characteristics of the fifth order waveform are as follows and which you can verify are:%pw(tail to tail)=~.5e-9%fc=~7Ghz%3DB fl to fh=~3GHz%10DB fl to fh=~6GHz%You might wish to review my other files published under UWB or author(C,J) to get%additional information on UWB analysis.%================================================clearFs=100e9;%sample frequencyFn=Fs/2;%Nyquist frequencyt=-1e-9:1/Fs:46e-9;%time vector sampled at Fs Hertz. zoom in/out using (-1e-9:1/Fs:xxxx)-set for%6e-9 to see first pulse.%================================================% EQUATIONS%================================================%y=A*(t/pw).*exp(-(t/pw).^2);%1st derivative of Gaussian pulse=Gaussian monocycle%y =1*(1 - 4*pi.*((t)/pw).^2).* exp(-2*pi.*((t)/pw).^2);%2nd derivative of Gaussian%pulse=doublet(two zero crossings)pw=75e-12;%value sets pulse width of fifth derivative looking at figure 1 y=((60./pw.^5).*(t-0).*exp(-(t-0).^2./pw.^2)-(80./pw.^7).*(t-0).^3.*exp (-(t-0).^2./pw.^2)+ ...(16.*(t-0).^5./pw.^9.*exp(-(t-0).^2/pw.^2)));%Fifth derivative of Gaussian pulse.(5 zero crossings)yd=((60./pw.^5).*(t-5e-9).*exp(-(t-5e-9).^2./pw.^2)-(80./pw.^7).*(t-5e-9).^3.*exp(-(t-5e-9).^2./pw.^2)+ ...(16.*(t-5e-9).^5./pw.^9.*exp(-(t-5e-9).^2/pw.^2)));%(one) fifthderivative pulse delayed by 5e-9 sec%================================================%NOISE SETUP FOR BER AND SNR%================================================noise=1e-50*(randn(size(t)));%(Noise-AWGN)Set to 1e-50 to disable(setto~3e-5 for Eb/No=9DB BER @1e-3)%================================================%DPSK%================================================%The following series of equations sets the pulse recurring frequency(PRF) %at 200MHz(waveform repeats every 5e-9 sec and a%modulated bit stream(bit rate=200Mb/s)of 1001101 (differentially encoded to a value of 01110110)%where a phase change (0to1 or 1to0)=0 and no phase change (0to0 or 1to1)=1 %==================================================% FIFTH DERIVATIVE(DPSK) WITH 5 PULSES)%==================================================%DPSK modulated fifth(ydiff)A=.6e-45;%sets voltage level out of TX or input to mixer(.6e-45 for .6mv volt peak to peak)ydiff=-A*y+ ...A*((60./pw.^5).*(t-5e-9).*exp(-(t-5e-9).^2./pw.^2)-(80./pw.^7).*(t-5e-9 ).^3.*exp(-(t-5e-9).^2./pw.^2)+ ...(16.*(t-5e-9).^5./pw.^9.*exp(-(t-5e-9).^2/pw.^2)))+ ...A*((60./pw.^5).*(t-10e-9).*exp(-(t-10e-9).^2./pw.^2)-(80./pw.^7).*(t-10e-9).^3.*exp(-(t-10e-9).^2./pw.^2)+ ...(16.*(t-10e-9).^5./pw.^9.*exp(-(t-10e-9).^2/pw.^2)))+ ...A*((60./pw.^5).*(t-15e-9).*exp(-(t-15e-9).^2./pw.^2)-(80./pw.^7).*(t-15e-9).^3.*exp(-(t-15e-9).^2./pw.^2)+ ...(16.*(t-15e-9).^5./pw.^9.*exp(-(t-15e-9).^2/pw.^2)))+ ...-A*((60./pw.^5).*(t-20e-9).*exp(-(t-20e-9).^2./pw.^2)-(80./pw.^7).*(t-20e-9).^3.*exp(-(t-20e-9).^2./pw.^2)+ ...(16.*(t-20e-9).^5./pw.^9.*exp(-(t-20e-9).^2/pw.^2)))+ ...A*((60./pw.^5).*(t-25e-9).*exp(-(t-25e-9).^2./pw.^2)-(80./pw.^7).*(t-25e-9).^3.*exp(-(t-25e-9).^2./pw.^2)+ ...(16.*(t-25e-9).^5./pw.^9.*exp(-(t-25e-9).^2/pw.^2)))+ ...A*((60./pw.^5).*(t-30e-9).*exp(-(t-30e-9).^2./pw.^2)-(80./pw.^7).*(t-30e-9).^3.*exp(-(t-30e-9).^2./pw.^2)+ ...(16.*(t-30e-9).^5./pw.^9.*exp(-(t-30e-9).^2/pw.^2)))+ ...-A*((60./pw.^5).*(t-35e-9).*exp(-(t-35e-9).^2./pw.^2)-(80./pw.^7).*(t-35e-9).^3.*exp(-(t-35e-9).^2./pw.^2)+ ...(16.*(t-35e-9).^5./pw.^9.*exp(-(t-35e-9).^2/pw.^2)));%-A inverts waveform%DPSK delayed(5e-9) fifth(ydelayed)(notice inversion from ydiff-keeps ADC %(comparator) output correct). This is acceptable under differential%encoding PSK phase ambiguity rules.ydelayed=A*yd+ ...-A*((60./pw.^5).*(t-10e-9).*exp(-(t-10e-9).^2./pw.^2)-(80./pw.^7).*(t-10e-9).^3.*exp(-(t-10e-9).^2./pw.^2)+ ...(16.*(t-10e-9).^5./pw.^9.*exp(-(t-10e-9).^2/pw.^2)))+ ...-A*((60./pw.^5).*(t-15e-9).*exp(-(t-15e-9).^2./pw.^2)-(80./pw.^7).*(t-15e-9).^3.*exp(-(t-15e-9).^2./pw.^2)+ ...(16.*(t-15e-9).^5./pw.^9.*exp(-(t-15e-9).^2/pw.^2)))+ ...-A*((60./pw.^5).*(t-20e-9).*exp(-(t-20e-9).^2./pw.^2)-(80./pw.^7).*(t-20e-9).^3.*exp(-(t-20e-9).^2./pw.^2)+ ...(16.*(t-20e-9).^5./pw.^9.*exp(-(t-20e-9).^2/pw.^2)))+ ...A*((60./pw.^5).*(t-25e-9).*exp(-(t-25e-9).^2./pw.^2)-(80./pw.^7).*(t-25e-9).^3.*exp(-(t-25e-9).^2./pw.^2)+ ...(16.*(t-25e-9).^5./pw.^9.*exp(-(t-25e-9).^2/pw.^2)))+ ...-A*((60./pw.^5).*(t-30e-9).*exp(-(t-30e-9).^2./pw.^2)-(80./pw.^7).*(t-30e-9).^3.*exp(-(t-30e-9).^2./pw.^2)+ ...(16.*(t-30e-9).^5./pw.^9.*exp(-(t-30e-9).^2/pw.^2)))+ ...-A*((60./pw.^5).*(t-35e-9).*exp(-(t-35e-9).^2./pw.^2)-(80./pw.^7).*(t-35e-9).^3.*exp(-(t-35e-9).^2./pw.^2)+ ...(16.*(t-35e-9).^5./pw.^9.*exp(-(t-35e-9).^2/pw.^2)))+ ...A*((60./pw.^5).*(t-40e-9).*exp(-(t-40e-9).^2./pw.^2)-(80./pw.^7).*(t-40e-9).^3.*exp(-(t-40e-9).^2./pw.^2)+ ...(16.*(t-40e-9).^5./pw.^9.*exp(-(t-40e-9).^2/pw.^2)));ydiff=ydiff+noise;%DPSK modulated fifth with noiseydelayed=ydelayed+noise;%delayed DPSK fifth with noiseyc=ydelayed.*ydiff;%yc=ydiff.*ydelayed;%This is where the correlation occurs in the receiver and would be the%mixer in the receiver. You are multipling the DPSK fifth with a .5e-9 delayed replecia%==================================================% FFT%==================================================%new FFT for DPSK modulated fifth(ydiff)NFFYDIFF=2.^(ceil(log(length(ydiff))/log(2)));FFTYDIFF=fft(ydiff,NFFYDIFF);%pad with zerosNumUniquePts=ceil((NFFYDIFF+1)/2);FFTYDIFF=FFTYDIFF(1:NumUniquePts);MYDIFF=abs(FFTYDIFF);MYDIFF=MYDIFF*2;MYDIFF(1)=MYDIFF(1)/2;MYDIFF(length(MYDIFF))=MYDIFF(length(MYDIFF))/2;MYDIFF=MYDIFF/length(ydiff);f=(0:NumUniquePts-1)*2*Fn/NFFYDIFF;%new FFT for correlated pulses(yc)%yc is the time domain signal output of the multiplier%(modulated times delayed) in the correlation receiver. Plots%in the time domain show that a simple comparator and clocked flip flop instead of a multibit high speed flash ADC%may be used to recover the 1001101 signal depending on integrator design and level of%peak voltage into mixer.NFFYC=2.^(ceil(log(length(yc))/log(2)));FFTYC=fft(yc,NFFYC);%pad with zerosNumUniquePts=ceil((NFFYC+1)/2);FFTYC=FFTYC(1:NumUniquePts);MYC=abs(FFTYC);MYC=MYC*2;MYC(1)=MYC(1)/2;MYC(length(MYC))=MYC(length(MYC))/2;MYC=MYC/length(yc);f=(0:NumUniquePts-1)*2*Fn/NFFYC;%===================================================% PLOTS%===================================================%plots for DPSK modulated fifth(ydiff)figure(1)subplot(2,2,1); plot(t,ydiff);xlabel('TIME');ylabel('AMPLITUDE');title('DPSK modulated pulse train(01110110)');grid on;%axis([-1e-9,27e-9 -1 2]);subplot(2,2,2); plot(f,MYDIFF);xlabel('FREQUENCY');ylabel('AMPLITUDE'); grid on;%axis([0 20e9 0 .0001]);%zoom in/outsubplot(2,2,3); plot(t,ydelayed);xlabel('TIME');ylabel('AMPLITUDE');title('DPSK delayed pulse train(01110110)');grid on;%axis([-1e-9,27e-9 -1 2]);subplot(2,2,4);plot(f,20*log10(MYDIFF));xlabel('FREQUENCY');ylabel('20LOG10=DB');grid on;%axis([0 15e9 -200 5]);%plots for correlated pulses(yc)figure(2)subplot(2,2,1); plot(t,yc);xlabel('TIME');ylabel('AMPLITUDE');title('Receiver correlator output-no LPF');grid on;%axis([-1e-9,27e-9 -1 1]);subplot(2,2,2); plot(f,MYC);xlabel('FREQUENCY');ylabel('AMPLITUDE');grid on;%axis([0 7e9 0 .025]);%zoom in/outsubplot(2,2,3);plot(f,20*log10(MYC));xlabel('FREQUENCY');ylabel('20LOG10=DB');grid on;%axis([0 20e9 -120 0]);%===========================================================%CORRELATION RECEIVER COMPARATOR[ADC](before lowpass filter)%===========================================================pt=.1e-8%sets level where threshhold device comparator triggersH=5;%(volts)L=0;%(volts)LEN=length(yc);for ii=1:LEN;if yc(ii)>=pt;%correlated output(yc) going above pt threshold setting pv(ii)=H;%pulse voltageelse;pv(ii)=L;end;end ;po=pv;%pulse out=pulse voltage%figure(3)subplot(2,2,4);plot(t,po);axis([-1e-9 27e-9 -1 6])title('Comparator output');xlabel('FREQUENCY');ylabel('VOLTAGE');grid on;%===================================================%SETUP and INFO%===================================================%Check axis settings on plots.%Change t=-1e-9:1/Fs:(xxxx) to 1e-9 or proper value for viewing%Press F5 or run.%With waveform in plot 2,2,1(Figure 1), set pulse width to%.5e-9(tail to tail).%Change t=-1e-9:1/Fs:(xxx) to something like 46e-9.Zoom out. I would%comment in all plot axis and use them for zooming in and out.%Press F5 and observe waveforms. Print or observe waveforms to compare with next set of%wave forms.%===================================================================% CORRELATION RECEIVER LOW PASS FILTER(INTEGRATOR)%=======================================================================rc=.5e-9;%time constantht=(1/rc).*exp(-t/rc);%impulse responseycfo=filter(yc,1,ht)/Fs;%use this instead of ycfo=conv(yc,ht)/Fs for proper dimension.%The #=1 allows this. The LPF RC time constant(integrates over this time). %Theory states that it should be set to the pulse width but should be set %to a value that gives the best error free operation at the highest noise %levels. Different filter types(butterworth,etc) may give different%results.%The 3DB or 1/2 power bandwidth on the RC LPF is f=1/(2*pi*RC). The noise %bandwith is f=1/(4*rc).yn=filter(noise,1,ht)/Fs;%looks at filtered noise only(Figure 4)%new FFT for filtered correlated pulses(ycfo)NFFYCFO=2.^(ceil(log(length(ycfo))/log(2)));FFTYCFO=fft(ycfo,NFFYCFO);%pad with zerosNumUniquePts=ceil((NFFYCFO+1)/2);FFTYCFO=FFTYCFO(1:NumUniquePts);MYCFO=abs(FFTYCFO);MYCFO=MYCFO*2;MYCFO(1)=MYCFO(1)/2;MYCFO(length(MYCFO))=MYCFO(length(MYCFO))/2;MYCFO=MYCFO/length(ycfo);f=(0:NumUniquePts-1)*2*Fn/NFFYCFO;%new FFT for filtered noise(yn)NFFYN=2.^(ceil(log(length(yn))/log(2)));FFTYN=fft(yn,NFFYN);%pad with zerosNumUniquePts=ceil((NFFYN+1)/2);FFTYN=FFTYN(1:NumUniquePts);MYN=abs(FFTYN);MYN=MYN*2;MYN(1)=MYN(1)/2;MYN(length(MYN))=MYN(length(MYN))/2;MYN=MYN/length(yn);f=(0:NumUniquePts-1)*2*Fn/NFFYN;%plots for filtered correlated pulses(ycfo)figure(3)subplot(2,2,1); plot(t,ycfo);xlabel('TIME');ylabel('AMPLITUDE');title('Receiver filtered correlator output');grid on;%axis([-1e-9,27e-9 -1 1]);subplot(2,2,2); plot(f,MYCFO);xlabel('FREQUENCY');ylabel('AMPLITUDE'); grid on;%axis([0 5e9 0 .35]);%zoom in/outsubplot(2,2,3);plot(f,20*log10(MYCFO));xlabel('FREQUENCY');ylabel('20LOG10=DB');grid on;%axis([0 20e9 -120 0]);%=========================================================% CORRELATION RECEIVER COMPARATOR[ADC](after low pass filter)%=========================================================pt1=1.7e-8%sets level where threshhold device comparator triggersH=5;%(volts)L=0;%(volts)LEN=length(ycfo);for ii=1:LEN;if ycfo(ii)>=pt1;%correlated output(ycfo) going above pt threshold settingpv1(ii)=H;%pulse voltageelse;pv1(ii)=L;end;end ;po1=pv1;%pulse out=pulse voltagesubplot(2,2,4);plot(t,po1);xlabel('FREQUENCY');ylabel('VOLTAGE');axis([-1e-9 50e-9 -1 6]);title('Comparator output (filtered) 1001101');grid on;%plots for filtered noise(yn) and impulse response of filterfigure(4)subplot(2,2,1);plot(t,yn);xlabel('TIME');ylabel('AMPLITUDE');title('Receiver filtered noise output');grid on;%axis([-1e-9,27e-9 -1 1]);subplot(2,2,2); plot(f,MYN);xlabel('FREQUENCY');ylabel('AMPLITUDE'); grid on;%axis([0 5e9 0 .25]);%zoom in/outsubplot(2,2,3);plot(f,20*log10(MYN));xlabel('FREQUENCY');ylabel('20LOG10=DB');grid on;%axis([0 20e9 -120 0]);subplot(2,2,4);plot(t,ht);xlabel('TIME');ylabel('AMPLITUDE');title('Filter impulse response(ht)');grid on;%axis([0,1e-9 0 1]);%=========================================================%BER CALCULATIONS%=========================================================%I'm going to calibrate the noise generator and roughly determine the Eb/No or SNR in DB%that allows the system to operate almost error free(1e-3) in a noise environment.%This value of Eb/No is the number in DB that can be used in link%calculations. The calibration is required because in an actual TX-RX the received%voltage into the correlation receiver at the mixer will be in the low millivolt%region due to the FCC spectral mask at -41.3dBm/MHz and low transmitter power.%It will not be the 2 volt peak-peak BPSK used here and must be recalibrated if%different than 2 volt peak-peak.%The Eb/No value in DB is calculated as follows. Doing numerous runs by hand and%observing the LPF comparator output in figure 4, determine the proper%setting of the comparator threshold setting, RC filter time constant and %level of multiplier in the AWGN noise generator that gives almost error %free operation. This will be considered Eb/No in DB.For DPSK theory this value is ~9DB for BER of 1e-3.%For a SNR of 9 DB, 20*LOG10(ratio ofVsigp-p/Vnoisep-p=9DB=20*LOG(0.6e-3/0.213e-3)%You can try a different calibration method if you don't think%this is correct. Remember to recalibrate for new pulse widths and amplitude changes%into the mixer and pay attention to axis settings. There are a few to keep track of.%I did some preliminary link caculations with this set up and determined that approx 0.6mv p-p%would be present on the mixer input at Eb/No=9DB.%========================================================%FCC spectral mask -41.3dBm/MHz+10LOG10(~4000)=~-5dBm(aver TX power Pt)%antenna gains 0DBi(50 ohms)%lna 20DB gain%NF 10 DB%distance 1 meter%(PL)path loss~45DB%200Mbit rate(Rb)%BW~318Mhz 3DB BW(LPF)(RC=.5e-9)%Pn(receiver noiselevel)=KTB=-114dBm+NF+10log10(Rb)=-114dBm+10DB+23DB=-81dBm%3DB to 10DB spread of pulse ~3 to 6GHz(use 4GHz)%pw=.5e-9 fifth derevative%fc=~7Ghz%Eb/No=9DB(1e-3)%power received(Pr)@ant=-5dBm-45DB(PL)=-50dBm over ~4GHz.%Link margin=Pr-Pn-Eb/No%Link margin@ 1 meter=-50dBm-(-81dBm)-(9DB)=22DB%Emixerp-p=sqrt(1e-5mw*50)=2.23e-2mvrms*1.41=0.03mvpeak*20DB(lna)gain=0 .3mvpeak or 0.6mvp-p。

电子科大2DPSK调制解调matlab仿真

电子科大2DPSK调制解调matlab仿真

bn=ones(1,100);%初始化要传送的序列为100个码元i=1;j=1;t1=1/44100;%采样间隔为44.1kHZt=0:t1:1-t1;fc=1800;%载波频率G1=ones(1,441);%产生发送的脉冲GR(t),用441个1表示dn=ones(1,101);%相对码序列初始化mt=ones(1,44100);%产生基带已调信号的初始化cn=ones(1,101);%电平装换后的序列的初始化while j<=100bn(j)=0;j=j+3;end %对发送序列赋值j=1;while j<101if dn(j)==bn(j)dn(j+1)=0;endj=j+1;end %通过异或的定义对相对码序列赋值while i<101cn(i)=2*dn(i)-1;i=i+1;end %电平转换得发送序列i=1;j=1;while i<=100if cn(i)==-1while j<=441mt(441*(i-1)+j)=-1;j=j+1;endj=1;endi=i+1; %对基带发送的信号赋值,变成一系列的脉冲end%对m(t)画图s1t=2*mt.*cos(2*pi*fc*t);%上变频s=zeros(1,44100);%初始化ylabel('已调频带信号s1(t)');;%对频带发送信号作图s=awgn(s1t,20);%加信噪比为20dB的高斯白噪声i=1;y1=zeros(1,44100);%初始化y2=zeros(1,44100);%初始化subplot(2,2,1);plot(s);xlabel('t');ylabel('未通过滤波器的接收信号s');%对接收到的信号直接画图s3=conv(BPF,s);%让接受到的s信号通过早已设计好的带通滤波器BPF subplot(2,2,2);plot(s3);xlabel('t');ylabel('通过带滤波器的接收信号s3');%对通过带滤波器的信号画图N1=length(s3);%求序列s3的长度,以便进行信号截取while i<=44100y1(i)=s3(i);i=i+1;endi=0;%对y1赋值j=1;t1=1/44100;%采样间隔t=t1:t1:1; %以t1为时间间隔的时间向量,只有44100个点fc=1800;%载波频率s4=2*cos(2*pi*fc*t).*y1;%下变频N2=length(s4);%求序列s4的长度,以便进行信号截取s5=conv(LPF,s4);%让接受到的s信号通过早已设计好的低通滤波器LPF subplot(2,2,3);xlabel('t');ylabel('通过低滤波器的接收信号s5');plot(s5);%对通过低滤波器的信号画图while j<=44100y2(j)=s5(j);j=j+1;end;%对y1赋值A1=zeros(1,100);A2=ones(1,100);Bn=ones(1,100);while i<100if y2(100+i*441)>=0sum=sum+1;endif y2(200+i*441)>=0sum=sum+1;endif y2(300+i*441)>=0sum=sum+1;endif sum>=2A1(i+1) =1;endi=i+1;end%通过对接收到的信号进行采样判决,vt=0,且采用的是采3点,进行多数判决for i=2:100A2(i)=A1(i-1);%只取后面的100个点,去掉第一点endfor i=1:100if A1(i)==A2(i);Bn(i)=0;endend %异或实现差分解码subplot(2,2,4);stem(Bn);%对解调后的输出序列Bn作图xlabel('n');ylabel('解调后的输出序列Bn');%2dpsk解调function myfun()i=1;y1=zeros(1,44100);%初始化y2=zeros(1,44100);%初始化s=zeros(1,44100);%初始化s=wavrecord(44100,44100)%接收从音频线传输过来的信号subplot(2,2,1);plot(s);ylabel('未通过滤波器的接收信号s');%对接收到的信号直接画图s3=conv(BPF,s);%让接受到的s信号通过早已设计好的带通滤波器BPF subplot(2,2,2);plot(s3);xlabel('t');ylabel('通过带滤波器的接收信号s3');%对通过带滤波器的信号画图N1=length(s3);%求序列s3的长度,以便进行信号截取while i<=44100y1(i)=s3(i);i=i+1;endi=0;%对y1赋值j=1;t1=1/44100;%采样间隔t=t1:t1:1; %以t1为时间间隔的时间向量,只有44100个点fc=1800;%载波频率s4=2*cos(2*pi*fc*t).*y1;%下变频N2=length(s4);%求序列s4的长度,以便进行信号截取s5=conv(LPF,s4);%让接受到的s信号通过早已设计好的低通滤波器LPF subplot(2,2,3);xlabel('t');ylabel('通过低滤波器的接收信号s5');plot(s5);%对通过低滤波器的信号画图while j<=44100y2(j)=s5(j);j=j+1;end;%对y1赋值A1=zeros(1,100);A2=ones(1,100);Bn=ones(1,100);while i<100sum=0;if y2(100+i*441)>=0sum=sum+1;endif y2(200+i*441)>=0sum=sum+1;endif y2(300+i*441)>=0sum=sum+1;endif sum>=2A1(i+1) =1;endi=i+1;end%通过对接收到的信号进行采样判决,vt=0,且采用的是采3点,for i=2:100A2(i)=A1(i-1);endfor i=1:100if A1(i)==A2(i);Bn(i)=0;endendsubplot(2,2,4);stem(Bn);sound(y1,44100);。

(完整word版)matlab--实验十2ASK调制与解调实验

(完整word版)matlab--实验十2ASK调制与解调实验

(完整word版)matlab--实验十2ASK调制与解调实验实验十2ASK调制与解调实验一. 实验目的1. 掌握2ASK的调制与解调原理;2. 掌握利用MATLAB实现2ASK调制与解调的仿真方法.二. 实验内容及要求利用MATLAB仿真平台,完成下列任务:(1)产生二进制随机信号源,绘制信号源波形图;(2)实现2ASK调制,绘制相应的信号波形图;(3)利用awgn函数实现2ASK信号通过加性高斯白噪声信道,其中SNR = 10dB;(4)采用相干解调实现2ASK信号解调,并绘制各阶段信号波形图.(选做)三。

实验过程及结果function askdigital(s,f)t=0:2*pi/99:2*pi;m1=[];c1=[];for n=1:length(s)if s(n)==0;m=zeros(1,100);else s(n)==1;m=ones(1,100);end(完整word版)matlab--实验十2ASK调制与解调实验m1=[m1 m];c1=[c1 c];endask=c1。

*m1;y=awgn(ask,10);subplot(311);plot(m1)title(’原始信号');axis([0 100*length(s)—0.1 1.1]);subplot(312);plot(ask)title('ASK信号’);subplot(313);plot(y)title(’加噪信号’);s=round(rand(1,8))%stem(s);hold onf=1;askdigital(s,f)原始信号ASK信号加噪早信号s =1 1 0 1 1 0 1 0★2ASK调制与解调示例:clear all;close all;clc;s=randint(1,max);%长度为max的随机二进制序列cp=[];f=1;%载波频率tc=0:2*pi/99:2*pi;nsamp = 100;cm=[];mod=[];for n=1:length(s);if s(n)==0;m=zeros(1,nsamp);b=zeros(1,nsamp);else s(n)==1;m=ones(1,nsamp);b=ones(1,nsamp);endc = sin(f*tc);cm=[cm m];cp = [cp b];mod=[mod c];endtiaoz=cm。

基于MATLAB的2DPSK调制和解调仿真

基于MATLAB的2DPSK调制和解调仿真

基于MATLAB的2DPSK调制和解调仿真1. MATLAB/SIMULINK简介美国Mathworks公司于1967年推出了矩阵实验室“Matrix Laboratory”(缩写为Matlab)这就是Matlab最早的雏形。

开发的最早的目的是帮助学校的老师和学生更好的授课和学习。

从Matlab诞生开始,由于其高度的集成性及应用的方便性,在高校中受到了极大的欢迎。

由于它使用方便,能非常快的实现科研人员的设想,极大的节约了科研人员的时间,受到了大多数科研人员的支持,经过一代代人的努力,目前已发展到了7.X版本。

Simulink是MATLAB中的一种可视化仿真工具,也是目前在动态系统的建模和仿真等方面应用最广泛的工具之一。

确切的说,Simulink是一个用来对动态系统进行建模、仿真和分析的软件包,它支持线性和非线性系统,连续、离散时间模型,或者是两者的混合。

系统还可以使多种采样频率的系统,而且系统可以是多进程的。

在Simulink环境中,它为用户提供了方框图进行建模的图形接口,采用这种结构画模型图就如同用手在纸上画模型一样自如、方便,故用户只需进行简单的点击和拖动就能完成建模,并可直接进行系统的仿真,快速的得到仿真结果。

2.二进制差分相位键控(2DPSK)在2PSK信号中,信号相位的变化是以未调正弦载波的相位作为参考,用载波相位的绝对数值表示数字信息的,所以称为绝对移相.由图 2 - 14 所示2PSK 信号的解调波形可以看出, 由于相干载波恢复中载波相位的180°相位模糊,导致解调出的二进制基带信号出现反向现象,从而难以实际应用. 为了解决2PSK信号解调过程的反向工作问题, 提出了二进制差分相位键控(2DPSK). 2DPSK方式是用前后相邻码元的载波相对相位变化来表示数字信息.假设前后相邻码元的载波相位差为Δφ,可定义一种数字信息与Δφ之间的关系为则一组二进制数字信息与其对应的 2DPSK 信号的载波相位关系如下所示:二进制数字信息: 1 1 0 1 0 0 1 1 1 02DPSK信号相位: 0 π 0 0 πππ 0 π 0 0或π 0 ππ 0 0 0 π 0 ππ数字信息与Δφ之间的关系也可以定义为可以看出,2DPSK信号的实现方法可以采用:首先对二进制数字基带信号进行差分编码,将绝对码表示二进制信息变换为用相对码表示二进制信息,然后再进行绝对调相,从而产生二进制差分相位键控信号。

(完整版)matlab设计2DPSK信号调制与解调

(完整版)matlab设计2DPSK信号调制与解调

2DPSK调制与解调系统的仿真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 1DPSK信号相位:π 0 0 π 0 0 π 0 π π 0或:0 π π 0 π π 0 π 0 0 π1.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 信号先经过带通滤波器,去除调制信号频带以外的在信道中混入的噪声,再与本地载波相乘,去掉调制信号中的载波成分,再经过低通滤波器去除高频成分,得到包含基带信号的低频信号,将其送入抽样判决器中进行抽样判决的到基带信号的差分码,再经过逆差分器,就得到了基带信号。

(完整word版)2DPSK的调制与解调要点

(完整word版)2DPSK的调制与解调要点

摘要在现代通信技术中,因为基于数字信号的数据传输优于模拟信号的传输,所以数字信号的传输显得越来越重要。

虽然近距离时我们可以利用数字基带信号直接传输,但是进行远距离传输时必须将基带信号调制到高频处.为了使数字信号能够在信道中传输,要求信道应具有高通形式的传输特性。

然而,在实际信道中,大多数信道具有带通传输特性,数字信号不能直接在这种带通传输特特性的信道中传输,因此,必须用数字信号对载波进行调制,产生各种已调信号。

我们通常采用数字键控的方法来实现数字调制信号,所以又将其称为键控法。

当调制信号采用二进制数字信号时,这种调制就被称为二进制数字调制。

最常用的二进制数字调制方式有二进制振幅键控、二进制移频键控和二进制移相键控。

其中二进制移相键控又包括两种方式:绝对移相键控(2PSK)和相对(差分)移相方式(2DPSK ).在二进制数字调制中,当正弦载波的相位随二进制数字基带信号离散变化时,就产生了二进制移相键控,即所谓的绝对移相键控(2PSK)。

虽然绝对移相键控的实现方法较为简单,但是却存在一个缺点,即我们所说的倒“ "现象.因此,在实际中一般不采用2PSK 方式,而采用2DPSK方式对数字信号进行调制解调。

本文主要讨论关于2DPSK的调制解调。

并将其与MATLAB结合进行研究和仿真。

关键字:调制解调 2DPSK MATLAB仿真目录摘要 (1)一、2DPSK原理介绍 01。

12DPSK的基本原理: 01。

22DPSK的调制原理: (1)1。

32DPSK的解调原理: (2)1。

3.1 极性比较法: (4)1。

3.2 相位比较法: (4)二、系统设计 (5)2。

1调制与解调原理 (5)2.22DPSK调制解调总原理图 (6)其2DPSK调制与解调信号在加入高斯噪声前后差别 (7)2。

3DPSK调制与解调波形图 (7)三、系统仿真 (7)3.1仿真程序 (7)3。

22DPSK模拟调制和差分相干解调法仿真图 (10)3。

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

2DPSK调制与解调系统的仿真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 1DPSK信号相位:π 0 0 π 0 0 π 0 π π 0或:0 π π 0 π π 0 π 0 0 π1.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 信号先经过带通滤波器,去除调制信号频带以外的在信道中混入的噪声,再与本地载波相乘,去掉调制信号中的载波成分,再经过低通滤波器去除高频成分,得到包含基带信号的低频信号,将其送入抽样判决器中进行抽样判决的到基带信号的差分码,再经过逆差分器,就得到了基带信号。

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

图 1.3.1 极性比较解调原理图1.3.2 2DPSK 信号解调的差分相干解调法相乘器低通滤波器抽样判决器2DPSK带通滤波器码变换 相乘载波s(t)e o (t)延迟T差分相干解调的原理是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信号经相关模块调试后的波形图如下:调制过后加入高斯白噪声,连接到带通滤波器,去除调制信号以外的在信道中混入的噪声,再连接到相乘器。

相关文档
最新文档