DPSK传输系统MATLAB实验

合集下载

matlab设计2DPSK信号调制 (1)

matlab设计2DPSK信号调制 (1)

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

基于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 simulink实现DPSK通信

利用Matlab simulink实现DPSK通信

利用Matlab simulink实现DPSK通信刘易 2011001010010工作简介此次工作完成了以下几个任务:1.Simulink的DPSK实现:利用MATLAB simulink模块实现了自定义的DPSK信号的调制和解调,其中通信是利用simulink的UDP send和UDP receive来实现的,将两台电脑直接用网线连接起来,便可在两边分别运行UDP send和UDP receive实现通信,其中目的IP用“255.255.255.255”以进行广播。

2.考虑噪声的通信:在考虑噪声的情况下传输自定义信号,并成功复原原信号。

3.语音信号的传输:在实现任意信号的通信后,用一段语音信号进行DPSK通信。

先对语音信号进行量化,然后通过DPSK调制,再用相干解调得到原传输信号,最后复原语音信号并进行播放。

信号的传输是在有噪声的情况下进行的。

下面分别介绍上述工作:Simulink的DPSK实现1.1 首先展示simulink的发送方的模块:1.2 定义需要传输的信号:{1 0 1 0 1 0 1 0 1 1}1.3 生成需要传输的信号:题目中要求:Tc=1800HZ,Rb=1200bps,但是为了模拟显示得更方便直观,我仅保持了这两个量的比例,将两个量改为了:Tc=3HZ,Rb=2bps。

(消息信号生成的代码参考附录1:产生消息信号)1.4 将消息信号与载波信号相乘得到需要传输的信号:需要指出,我只定义了10个需要传输的信号,即需要传输5秒,但我都是以6秒来发送后的,后面的5-6秒的两个信号用0填充了,其原因是后面接收方的低通滤波器有延迟,需要留足够的空间来显示完整信号。

下面给出传输信号的功率谱密度,这里的计算是利用离散信号做FFT再除以信号长度得到的(由于主要集中在某一范围因此仅给出部分范围的频谱):1.5然后UDP send模块需要将小心信号发送到接收端。

2.1 接收方的Simulink模块2.2接收方的接收信号(由scope6显示):从接收模块可以看到,在直接接收的信号到scope6之间有一个我自己定义的模块。

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个点。

DPSK调制解调技术研究与MATLAB仿真任务书

DPSK调制解调技术研究与MATLAB仿真任务书

DPSK调制解调技术研究与MATLAB仿真任务书近年来,随着通信技术的飞速发展,DPSK调制解调技术受到了越来越多的重视,其高效率、低成本吸引了科研人员以及行业从业者的持久关注。

本文将研究DPSK调制解调技术,运用MATLAB仿真软件以验证理论,以及研究解调技术在调制解调技术中的应用。

DPSK(Differential Phase ShiftKeying)调制解调技术是一种对数接口调制方式,它是按照特定的相位移位编码传输数据信息。

DPSK技术具有低成本、容易实现等优点,常被用于远距离通信技术中。

DPSK调制解调技术主要包括调制和解调两部分。

调制的过程是把数据信息用相应的编码形式转换为模拟或数字信号,再经过滤波器和发射器发出;解调的过程是把数字信号从接收器取回后,经过锁相环(PLL)振荡器和比较器恢复原始数据信息。

MATLAB作为一种功能强大的仿真软件,结合DPSK调制解调技术可以快速验证理论,提高调制解调技术的运行效率。

在MATLAB中编写程序可以遵循整个通信系统的模拟流程,实现对调制前后信号的对比及比较,从而验证DPSK调制解调技术的有效性。

例如,可以先通过DPSK调制器调制信号,再将它通过MATLAB程序解调,取得与调制前信号完全相同的信号,这就验证了DPSK调制解调技术的有效性。

此外,调制解调技术在实际应用中也有着重要的作用。

DPSK调制解调技术具有容易实现的特点,可以应用于许多通信系统,例如CDMA(无线电话)、VSAT(卫星通信)等;此外,DPSK调制解调技术可以应用于DVB(数字电视)、Wi-Fi等网络技术,以保证网络传输的高速性和高效率。

综上所述,DPSK调制解调技术是一种对数接口调制方式,具有高效率、低成本的特点,可以满足科学研究以及工业应用的需求。

另外,利用MATLAB仿真软件可以快速验证DPSK调制解调技术的有效性,以及提高调制解调技术的应用效率。

(完整版)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));。

bpsk和dpskmatlab仿真

bpsk和dpskmatlab仿真

1.BPSK调制1.系统原理高斯白噪声图1 BPSK调制系统原理框图BPSK调制系统的原理框图如图1所示,其中脉冲成形的作用是抑制旁瓣,减少邻道干扰,通常选用升余弦滤波器;加性高斯白噪声模拟信道特性,这是一种简单的模拟;带通滤波器BPF可以滤除有效信号频带以外的噪声,提高信噪比;在实际通信系统中相干载波需要使用锁相环从接收到的已调信号中恢复,这一过程增加了系统的复杂度,同时恢复的载波可能与调制时的载波存在180度的相位偏差,即180度相位反转问题,这使得BPSK系统在实际中无法使用;低通滤波器LPF用于滤除高频分量,提高信噪比;抽样判决所需的同步时钟需要从接收到的信号中恢复,即码元同步,判决门限跟码元的统计特性有关,但一般情况下都为0。

2.参数要求码元速率2400波特,载波频率4800Hz,奈奎斯特频率19200Hz。

3.仿真参数采样频率:为码元速率的16倍,即奈奎斯特频率为码元速率的8倍,在计算误码率的时,采样频率为码元速率的8倍,即奈奎斯特频率为码元速率的4倍。

脉冲成形滤波器参数:脉冲成形滤波器选用FIR型升余弦滤波器,滚降系数为0.5,阶数为21,调用MATLAB中的rcosfir函数来设计滤波器。

低通滤波器:低通滤波器选用FIR型低通滤波器,参数为:f2=[0 0.125 0.4 1];w2= [1 0.95 0.1 0];b2 = fir2(30,f2,w2);调用fir2函数来生成。

两种调制/解调方式的各种参数都相同,后面不再赘述。

4.脉冲成形滤波器的冲击响应和频率特性图2 脉冲成形滤波器的冲击响应和频率特性5.低通滤波器的冲击响应和频率特性图3 低通滤波器的冲击响应和频率特性6.仿真过程各点波形:说明:在画图时,进行了归一化处理。

噪声的方差为1,随机序列的幅度为1,调制加噪后信噪比为-3dB,按照理想情况计算,解调后信噪比为0dB。

图2 随机序列(16个)图3 脉冲成形后的波形脉冲成形的作用是抑制旁瓣,减少邻道干扰,在实际通信过程中必不可少,但是为了与理论误码率进行对比,在后面计算误码率时,没有进行脉冲成形。

实验四 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 所示。

DBPSK传输系统实验

DBPSK传输系统实验

实验五DBPSK传输系统实验一、实验原理和电路说明差分BPSK是相移键控的非相干形式,它不需要在接收机端恢复相干参考信号。

非相干接收机容易制造而且便宜,因此在无线通信系统中被广泛使用。

在DBPSK系统中,输入的二进制序列先差分编码,然后再用BPSK调制器调制。

差分编码后的序列﹛a n﹜是通过对输入b n与a n-1进行模2和运算产生的。

如果输入的二进制符号b n为0,则符号a n与其前一个符号保持不变,而如果b n为1,则a n与其前一个符号相反。

差分编码原理为:anna⊕=-b()(n)1()其实现框图如图3.3.1所示:图3.3.1 差分编码示意图一个典型的差分编码调制过程如3.3.2图所示:图3.3.2 差分编码与载波相位示意图在DBPSK中,其不需要进行载波恢复,但位定时仍是必须的。

在DPSK中如何恢复位定时信号,初看起来比较复杂。

我们仍按以前的信号定义,如图3.3.3所示:图3.3.3 位定时误差信号提取实际上其与相干BPSK 中的位定时恢复是一样的,由于其存在一个较小的系统剩余频差(发送中频与接收本地载波的频差,其与码元速率相比而言一般较小),结果是在每个剩余频差的周期中,具有很多有码元信号(例如对于64KBPS 的速、剩余频差为1KHZ ,则每个剩频差的周期中可包含64个码元符号)。

从这些码元信号中可以根据下面的公式对位定时误差的大小进行计算:)]2()2()[()(+--=n S n S n S n e b当然在剩余载波发生正负变化时,按上式提取的位定时误差信号可能出现不正确的情况,但只要在位定时误差信号的输出端加一滤波器,就可以克服在DBPSK 中剩余载波的影响(在相对剩余载波不大时)。

位定时的调整如下:如果0)(>n e b ,则位定时抽样脉冲向前调整;反之应向后调整。

对DBPSK 的解调是通过比较接收相邻码元信号(I ,Q )在星座图上的夹角,如果大于900则为1,否则为0,如图3.3.4所示:图3.3.4 DBPSK 差分解调示意图即按下式进行:)2()2()2()2()(+-++-=n Q n Q n I n I n D如果0)(<n D ,则判为1,反之判为0。

基于MATLAB的DPSK系统的仿真

基于MATLAB的DPSK系统的仿真

呼伦贝尔学院论文开题报告专业:电子信息工程论文题目:基于MATLAB/Simulink的DPSK系统的仿真学生姓名:郭东芹学号:201208102089指导教师:刘丽开题报告日期:2015年11月13日一、选题意义、国内外发展现状与发展趋势1.课题的意义为了使数字信号在带通信道中传输,必须用数字基带信号对载波进行调制,以使信号与信道特性相匹配。

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

二进制差分相移键控又称相对相移键控,记作2DPSK。

它不是利用载波相位的绝对数值传送数字信息,而是用前后码元的相对载波相位值传送数字信息。

所谓相对载波相位是指本码元初相与前一码元初相之差。

2DPSK信号的解调有两种方式,一种是差分相干解调,另一种是相干解调-码变换法,后者又称为极性比较-码变换法。

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

这说明解调2DPSK信号时,并不依赖于某一固定的载波相位参考值,只要前后码元的相对相位关系不破坏,则鉴别这个相位关系就可正确恢复数字信息。

这就避免了 2PSK方式中的“倒π”现象发生。

2.国内外现状20世纪70年代,美国新墨西哥大学计算机科学系主任Cleve Moler为了减轻学生编程的负担,用FORTRAN编写了最早的MATLAB。

1984年由Little、Moler、Steve Bangert合作成立了的MathWorks公司正式把MATLAB推向市场。

到20世纪90年代,MATLAB已成为国际控制界的标准计算软件。

随着计算机技术的发展MATLAB已经被应用到各个领域。

在许多诸如控制论、时间序列分析、系统仿真、图像信号处理等方面产生了大量的矩阵及其相应的计算问题.自己去编写大量的繁复的计算程序,不仅会消耗大量的时间和精力,减缓工作进程,而且往往质量不高。

通信原理课程设计(基于MATLAB的PSK,DPSK仿真)

通信原理课程设计(基于MATLAB的PSK,DPSK仿真)

通讯原理课程设计报告题目鉴于Matlab的2PSK,2DPSK仿真学院电子信息工程学院专业学生姓名学号年级指导教师职称讲师2013年12月20日设计报成功绩(依据优、良、中、及格、不及格评定)指导教师考语:指导教师(署名)年月日说明:指导教师评分后,设计报告交院实验室保留。

鉴于 Matlab 的 2PSK,2DPSK仿真专业:学号:学生:指导老师:纲要:现代通讯系统要求通讯距离远、通讯容量大、传输质量好,作为其重点技术之一的调制技术向来是研究的一个重要方向。

本设计主要表达了数字信号的调制方式,介绍了2PSK数字调制方式的基来源理,功率谱密度,并运用MATLAB软件对数字调制方式2PSK进行了编程仿真切现,在MATLAB 平台上成立2PSK和 2DPSK调制技术的仿真模型。

进一步学习了MATLAB编程软件,将 MATLAB与通讯系统中数字调制知识联系起来,为此后在通讯领域学习和研究打下了基础在计算机上,运用MATLAB 软件来实现对数字信号调制技术的仿真。

重点词:数字调制与解调;MA TLAB ; 2PSK; 2DPSK ;目录第 1 章绪论 (1)1.1 调制方式 (1)1.2 设计要求 (1)设计内容 (1)设计仪器 (1)第 2 章 2PSK,2DPSK原理 (2)2.1 2PSK 原理 (2)2PSK 基来源理 . (2)2PSK 调制原理 . (2)2PSK 解调原理 . (3)2.2 2DPSK 原理 (4)2DPSK 基来源理 . (4)2DPSK 调制原理 . (5)2DPSK 解调原理 . (6)第 3 章实验过程 (8)3.1 2PSK 仿真部分 (8)2PSK 仿真图 . (8)2PSK 模块的参数设置: . (8)3.2 2DPSK 仿真部分 (9)2DPSK 仿真图 . (9)2DPSK 模块的参数设置: . (10)第 4 章仿真结果 (15)4.1 2PSK 仿真结果 (15)4.2 2DPSK 仿真结果 (15)总结 . (16)参照文件 . (17)道谢 . (18)第1章绪论1.1调制方式数字通讯系统 ,按调制方式能够分为基带传输和带通传输。

dpsk信号matlab实现

dpsk信号matlab实现

clear all;close all;fs=4000000; %设定系统的抽样频率k=20000;%设定数字基带信号的频率fc=200000;%设定正弦载波频率t=0:1/fs:4000/fs;%仿真时间范围p=21;s=randint(1,p,2); %设定需要产生的码元个数m=s(ceil(k*t+0.01));%将基带生成时域信号figure(1) subplot(311)plot(t,m);axis([0 10e-4 —0。

2 1。

2]);grid on;title(’数字基带信号');b=randint(1,p,2);%将生成的基带转换为差分码for i=1:pif (i==1)if (s(i)==0)b(i)=0;elseb(i)=1;endelseif (s(i)==b(i-1))b(i)=0;elseb(i)=1;endendn=b(ceil(k*t+0。

01)); %将差分码生成时域信号subplot(312)plot(t,n);axis([0 10e-4 -0.2 1。

2]);grid on;title(’差分码')x=(n-0.5).*2car=sin(2*pi*fc*t);%定义载波dpsk=x。

*car; %2dpsk信号的载波调制subplot(313);plot(t,car);axis([0 10e—4 —1.2 1.2]);title('正弦载波’);figure(2) subplot(311);plot(t,dpsk);axis([0 10e-4 -1.2 1。

2]);title('2DPSK信号');grid on;vn=0。

05;noise=vn.*(randn(size(t)));%产生噪音subplot(312);plot(t,noise);grid on;title(’噪音信号');axis([0 10e—4 —0。

基于MATLAB的2DPSK低频感应通信系统仿真设计

基于MATLAB的2DPSK低频感应通信系统仿真设计

基于MATLAB的2DPSK低频感应通信系统仿真设

0 引言
 感应通信是将待传输的数据通过低频载波调制、信号放大、功率放大后,在发射线圈产生一定的交变电流,利用交变的电流产生交变的磁场,交变的磁场产生的电场,从而在接收线圈中产生感应电动势,经滤波、解调、解码等信号处理环节后,就可在接收端准确接收发送的信息。

本文研究与设计的低频感应通信系统是一个无线的数字通信系统,结合DPSK 数字通信原理,提出基于DSP技术的软件无线电低频感应通信系统的设计方法,并利用MATLAB 软件对该DPSK 通信系统进行仿真设计。

 1 低频感应通信的基本原理及工作特性
 1.1 感应通信的基本原理
 感应通信是利用发射线圈中的交变电流,产生变化磁场使在接收线圈中感应出电动势,再经过一系列的信号处理过程得到发射信号,从而实现了通信的目的。

当类似巷道的场合中存在着金属导体(称为感应线),附近的发射机
发射无线电信号时,发射机天线上可以产生感应电流。

该电流在感应线周围产生信号场强,沿途的无线接收机天线可因感应而接收信号,经放大和处理,获得发射机发出的信息,完成通信过程,这就是感应通信的基本原理。

 1.2 感应通信的工作特性
 严格的感应通信理论是建立在麦克斯韦方程组的基础上。

麦克斯韦方程组是在对宏观电磁现象的实验规律进行分析总结的基础上,经过扩充和推广而得到的。

它揭示了电场与磁场之间、以及电磁场与电荷、电流之间的相互关系,是一切宏观电磁现象所遵循的普遍规律。

关于BPSK、MPSK、MDPSK及MATLAB的操作说明

关于BPSK、MPSK、MDPSK及MATLAB的操作说明

关于BPSK、MPSK、MDPSK及MATLAB的操作说明一、示范程序的运行方法本课程提供的示范程序包括三个方面,分别是BPSK、M(M=4、8)进制PSK和DPSK 通信系统的仿真。

前者由c++实现,后两者用Matlab语言编写。

示范程序已经上载于我院的ftp服务器上,同学们可以从“ftp://202.112.108.122/”的“通信原理与计算机仿真”文件夹中下载到本地机。

1、BPSK示范程序的运行直接运行文件夹下的可执行文件“A wgnbpsk.exe”,观察高斯白噪声的BPSK仿真;直接运行文件夹下的可执行文件“Rayleigh.exe”,观察噪声为瑞利分布的BPSK仿真。

2、M(M=4、8)进制PSK和DPSK示范程序的运行一个完整的matlab仿真程序一般由多个文件组成(即主函数和子函数)。

另外,Matlab 强调了“当前工作目录”,执行matlab仿真程序的过程,简单的说,就是在“Matlab的当前工作目录为该程序的主函数所在文件夹”的前提下,键入主函数名,然后回车运行。

一系列的操作类似于DOS命令。

举例来说,我们要运行四进制PSK仿真程序,首先把示范程序中的“M-psk”文件夹拷至Matlab的根目录下(假设其路径为“c:/matlab5.3/M-psk”),观察四进制PSK仿真程序,它的主函数为“psk.m”,路径是“c:/matlab5.3/M-psk/4psk/psk.m”。

运行此仿真程序的过程为:a.用“pwd”命令显示当前目录,其默认值一般为“c:/matlab5.3/work”;b.用“cd”命令改变当前工作目录,使其指向“c:/matlab5.3/M-psk/4psk”,即主函数“psk.m”所在文件夹,命令为“cd c:/matlab5.3/M-psk/4psk”;c.键入“psk”运行仿真程序。

以此类推,如果我们要运行八进制DPSK仿真程序(假设事先已将文件夹“M-dpsk”复制到路径“c:/matlab5.3/work/M-dpsk”下,则此时主函数“dpsk8.m”所在路径是“c:/matlab5.3/work/M-dpsk/8dpsk”),故只需键入命令“cd c:/matlab5.3/work/M-dpsk /8dpsk”,回车后运行“dpsk8”即可。

BPSK(DPSK)调制解调实验指导书

BPSK(DPSK)调制解调实验指导书

BPSK(DPSK)调制解调实验指导书电子科技大学通信学院《二相BPSK(DPSK)调制解调实验指导书》二相BPSK(DPSK)调制解调实验班级学生学号教师二相BPSK(DPSK)调制解调实验指导书二相BPSK(DPSK)调制解调实验一、实验目的1、掌握二相BPSK(DPSK)调制解调的工作原理。

2、掌握二相绝对码与相对码的变换方法。

3、熟悉BPSK(DPSK)调制解调过程中各个环节的输入与输出波形。

4、了解载波同步锁相环的原理与构成,观察锁相环各部分工作波形。

5、了解码间串扰现象产生的原因与解决方法,能够从时域和频域上分析经过升余弦滚降滤波器前后的信号。

6、掌握Matlab软件的基本使用方法,学会Simulink环境的基本操作与应用。

二、实验原理数字信号载波调制有三种基本的调制方式:幅移键控(ASK),频移键控(FSK)和相移键控(PSK)。

它们分别是用数字基带信号控制高频载波的参数如振幅、频率和相位,得到数字带通信号。

PSK调制在数字通信系统中是一种极重要的调制方式,它的抗干扰噪声性能及通频带的利用率均优于ASK幅移键控和FSK频移键控。

由于PSK调制具有恒包络特性,频带利用率比FSK高,并在相同的信噪比条件下误码率比FSK低。

同时PSK调制的实现也比较简单。

因此,PSK技术在中、高数据传输中得到了十分广泛的应用。

BPSK是利用载波相位的变化来传递数字信息,而振幅和频率保持不变。

在BPSK中,通常用初始相位0和π分别表示二进制“1”和“0”。

其调制原理框图如图1所示,解调原理框图如图2所示。

图1 BPSK的模拟调制方式由于在BPSK 信号的载波恢复过程中存在着载波相位0 和180 的不确定性反向,所以在实际的BPSK 通信系统设计中,往往采用差分编解码的方法克服这个问题。

差分编解码是利用前后信号相位的跳变来承载信息码元,不再是以载波的绝对相位传输码元信息。

差分编解码的原理可用下式描述。

1n n n d b d -=⊕ 1n n n b d d -=⊕ 其中第一个公式为差分编码原理,第二个公式为差分解码原理。

基于MATLAB实现的PSK和DPSK信号系统仿真设计

基于MATLAB实现的PSK和DPSK信号系统仿真设计

文档从互联网中收集,已重新修正排版,word格式支持编辑,如有帮助欢迎下载支持。

目录摘要 ................................................................................................................... 错误!未定义书签。

Abstract............................................................................................................. 错误!未定义书签。

1.设计目的与要求 ............................................................................................ 错误!未定义书签。

2.方案的选择 .................................................................................................... 错误!未定义书签。

2.1调制部分............................................................................................. 错误!未定义书签。

2.2解调部分............................................................................................. 错误!未定义书签。

3.单元电路原理和设计 .................................................................................... 错误!未定义书签。

DPSK调制解调技术研究与MATLAB仿真任务书

DPSK调制解调技术研究与MATLAB仿真任务书

DPSK调制解调技术研究与MATLAB仿真任务书随着计算机信息技术的发展,调制解调器(Modem)迅速成为电子工程领域的主流技术。

相较于传统模拟调制解调器,数字调制解调技术的运用使得电信的传输质量得到大大的提高。

在这一背景下,如何深入研究DPSK调制解调技术,运用MATLAB进行仿真,对于运用这项技术的实际应用具有极大的意义。

DPSK(Differential Phase-Shift Keying)是一种相位调制方式。

它类似于普通的PSK调制,但是在相位调制时有所不同,是用移相技术来调制。

其中,每个信号调制码词之间都有一定的差分,而不是普通的绝对相位调制。

DPSK调制可以将调制码词转换为双相位移相差的解调码词,产生一种可以被正确解调的差分调制码流。

DPSK调制解调技术在调制解调器中的应用越来越广泛。

由于其传输高效率、低成本、能够抵抗外界噪声等优势,DPSK调制解调技术已经成为目前最先进的调制解调技术。

本文的任务是:以MATLAB为工具,研究并仿真DPSK调制解调技术的实现过程和其应用示例。

首先,介绍DPSK调制解调原理和编解码过程;其次,研究相位移动量的变化对抗噪声的影响;最后,使用MATLAB实现DPSK调制解调技术的仿真,并进行应用分析。

首先,介绍DPSK调制解调原理和编解码过程。

DPSK调制解调技术是一种基于相位移动差分解调技术。

其实现原理是,当每次检测到新比特时,将其与前一次检测到的比特相比较,以确定当前比特相对于前一次比特是升还是降,从而确定相位移动量及其符号。

这就是编码过程,同样的,解码过程也是类似的,只是将检测到的比特跟期望的比特相比,以确定其相位移动量及其符号,从而实现解码。

其次,研究相位移动量的变化对抗噪声的影响。

DPSK调制解调技术的优点之一就是可以很好地抗噪声,因为每次检测到的比特都是基于前一次比特的相位移动,而不是普通的绝对相位调整,能够抵抗一些外部噪声干扰,对系统的传输有良好的保护作用。

基于MATLAB的DPSK通信系统仿真设计

基于MATLAB的DPSK通信系统仿真设计

《通信原理》课程实验报告基于MATLAB的DPSK通信系统仿真院系:班级:学号:姓名:教师:2012年12月7日目录1 设计题目 (3)2 设计要求 (3)3 设计原理 (3)3.1 DPSK调制 (3)3.2 DPSK解调 (4)4 设计流程 (5)5 代码实现 (5)5.1 基带信号的获取 (5)5.2 差分编码 (6)5.3 DPSK调制 (7)5.4 AWGN信道 (8)5.5 限噪处理 (8)5.6 差分相干解调 (9)5.4 AWGN信道 (11)5.7 功率谱密度图的绘制6 测试结果 (12)6.1 调制解调正确性的测试 (12)6.2 系统抗噪性能的测试 (14)7 总结 (17)8 心得体会 (17)附:完整代码 (18)1 设计题目用MATLAB仿真DPSK通信系统2 设计要求基本参数如下:1)Fc=1800Hz2)Rb=1200bps3)考虑加入AWGN信道,Eb/N0=20dB4)自定义一小段信息序列结果要求:1)绘制各阶段信号波形2)绘制信号的PSD3 设计原理二进制差分相移键控常简称为二相相对调相,记为2DPSK。

它不是利用载波相位的绝对数值传送数字信息,而是用前后码元的相对载波相位值传送数字信息。

所谓相对载波相位是只本码元初相与前一码元初相之差。

3.1 DPSK调制DPSK方式即是利用前后相邻码元的相对载波相位值去表示数字信息的一种方式。

例如,假设相位值用相位偏移△φ表示(△φ定义为本码元初相与前一码元初相只差),并设△φ=π→数字信息1△φ=0→数字信息0则数字信息序列与2DPSK信号的码元相位关系可举例表示如如下:数字信息: 0 0 1 1 1 0 0 1 0 12DPSK信号相位: 0 0 0 π 0 πππ 0 0 π或πππ 0 π 0 0 0 ππ 0画出的2PSK及DPSK信号的波形如图3-1所示。

图3-1 2PSK及2DPSK信号的波形2DPSK的产生基本类似于2PSK,只是调制信号需要经过码型变换,将绝对码变为相对码。

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

附:DPSK.m
clear all
close all
i=20; %码元的个数
j=4000;
fc=5;
fm=i/10;
B=2*fm;
t=linspace(0,10,j); % 将0-10区间平均分为j份
%%%%%%%%%%%%% 产生基带信号 %%%%%%%%%%%%%%%%
a =round(rand(1,i)); %产生20个随机码,记为a
st1=t;
for n=1:20
if a(n)<1;
for m=j/i*(n-1)+1:j/i*n % j/i为每个码元的 st1(m)=0;
end
else
for m=j/i*(n-1)+1:j/i*n
st1(m)=1;
end
end
end
figure(1);
subplot(411);
plot(t,st1);
title('绝对码');
axis([0,10,-1,2]);
%%%%%%%%%%%%%%%%%差分变换%%%%%%%%%%%%%%%%%%%
b=zeros(1,i);
b(1)=a(1);
for n=2:20
if a(n)>=1;
if b(n-1)>=1
b(n)=0;
else
b(n)=1;
end
else
b(n)=b(n-1);
end
end
st1=t;
for n=1:20
if b(n)<1;
for m=j/i*(n-1)+1:j/i*n
st1(m)=0;
end
else
for m=j/i*(n-1)+1:j/i*n
st1(m)=1;
end
end
end
subplot(412);
plot(t,st1);
title('相对码');
axis([0,10,-1,2]);
st2=t;
for k=1:j;
if st1(k)>=1;
st2(k)=0;
else
st2(k)=1;
end
end;
subplot(413)
plot(t,st2)
title('相对码的反码')
axis([0 10 -1 2])
%%%%%%%%%%%% 载波信号 %%%%%%%%%%%%%%%%%
s1=sin(2*pi*fc*t);
subplot(414);
plot(s1);
title('载波信号'); %%%%%%%%%%%%%% 调制 %%%%%%%%%%%%%%%%%%%%%% d1=st1.*s1;
d2=st2.*(-s1);%相移180
figure(2);
subplot(4,1,1);
plot(t,d1);
title('st1*s1');
subplot(4,1,2);
plot(t,d2);
title('st2*s2');
e_dpsk=d1+d2;
subplot(4,1,3);
plot(t,e_dpsk);
title('调制后波形');
noise=rand(1,j);
dpsk=e_dpsk+0.5*noise;%加入噪声
subplot(4,1,4);
plot(t,dpsk);
title('加噪声信号');
%%%%%%%%%%%%% 与载波相乘 %%%%%%%%%%%%%%%%%%%%% dpsk=dpsk.*sin(2*pi*fc*t);%与载波相乘
figure
subplot(4,1,1);
plot(t,dpsk);
title('与载波相乘后波'); %%%%%%%%%%%%% 低通滤波 %%%%%%%%%%%%%%%%%%%%%%%% [f,af] = T2F(t,dpsk);%通过低通滤波器
[t,dpsk] = lpf(f,af,B);
subplot(4,1,2);
plot(t,dpsk);
title('通过低通滤波器波形'); %%%%%%%%%%%%%%% 抽样判决 %%%%%%%%%%%%%%%%%%%%
st=zeros(1,i);
for m=0:i-1;
if dpsk(1,m*200+100)<0;
st(m+1)=0;
for j=m*200+1:(m+1)*200;
dpsk(1,j)=0;
end
else
for j=m*200+1:(m+1)*200;
st(m+1)=1;
dpsk(1,j)=1;
end
end
end
subplot(4,1,3);
plot(t,dpsk);
axis([0,10,-1,2]);
title('抽样判决后波形') %%%%%%%%%%%%%% 码反变换 %%%%%%%%%%%%%%%%%%
dt=zeros(1,i);
dt(1)=st(1);
for n=2:20;
if (st(n)-st(n-1))<=0&&(st(n)-st(n-1))>-1;
dt(n)=0;
else
dt(n)=1;
end
end
st=t;
for n=1:20
if dt(n)<1;
for m=j/i*(n-1)+1:j/i*n
st(m)=0;
end
else
for m=j/i*(n-1)+1:j/i*n
st(m)=1;
end
end
end
subplot(4,1,4);
plot(t,st);
title('码反变换后波形');
axis([0,10,-1,2]);
子程序1:F2T.m
function [ t,st ] = F2T( f,yf )
%This function calculate the time signal using ifft function for the input %signal's spectrum
df = f(2) - f(1);
Fmx = ( f(end)-f(1)+df );
dt = 1/Fmx;
N = length(yf);
T = dt*N;
sff = fftshift(yf);
t = 0 : dt : T-dt;
st = Fmx * ifft(sff);
st = real(st);
end
子程序2:Ipf.m
function [t,st]=lpf(f,sf,B)
%This function filter an input data using a lowpass filter
%Inputs: f: frequency samples
% sf: input data spectrum samples
% B: lowpass's bandwidth with a rectangle lowpass
%Outputs: t: time samples
% st: output data's time samples
df = f(2)-f(1);
T = 1/df;
hf = zeros(1,length(f));
bf = [-floor( B/df ): floor( B/df )] + floor( length(f)/2 );
hf(bf)=1;
yf=hf.*sf;
[t,st]=F2T(f,yf);
st = real(st);
子程序3:T2F.m
function [f,sf]= T2F(t,st)
%This is a function using the FFT function to calculate a signal's Fourier %Translation
%Input is the time and the signal vectors,the length of time must greater %than 2
%Output is the frequency and the signal spectrum
dt = t(2)-t(1);
T=t(end);
df = 1/T;
N = length(st);
f=-N/2*df:df:N/2*df-df;
sf = fft(st);
sf = T/N*fftshift(sf);
仿真图:。

相关文档
最新文档