第一篇:通信原理课程设计_(基于MATLAB的_2PSK_2DPSK仿真)
江西农业大学
通信原理课程设计报告
题 目 基于Matlab的相移键控仿真设计
专 业 电子信息工程
学生姓名 曾凡文
学 号 20121206
江西农业大学课程设计报告 2015年6月
基于Matlab的2PSK,2DPSK仿真
摘要:现代通信系统要求通信距离远、通信容量大、传输质量好,作为其关键技术之一的调制技术
一直是研究的一个重要方向。本设计主要叙述了数字信号的调制方式,介绍了2PSK数字调制方式的
基本原理,功率谱密度,并运用MATLAB软件对数字调制方式2PSK进行了编程仿真实现,在MATLAB平
台上建立2PSK和2DPSK调制技术的仿真模型。进一步学习了MATLAB编程软件,将MATLAB与通信系统
中数字调制知识联系起来,为以后在通信领域学习和研究打下了基础在计算机上,运用MATLAB软件
来实现对数字信号调制技术的仿真。
关键词:数字调制与解调;MATLAB;2PSK;2DPSK;
江西农业大学课程设计报告
江西农业大学课程设计报告
第1章 绪论
1.1 调制方式
数字通信系统, 按调制方式可以分为基带传输和带通传输。数字基带信号的功率一般处于从零开始到某一频率(如0~6M)低频段,因而在很多实际的通信(如无线信道)中就不能直接进行传输,需要借助载波调制进行频谱搬移,将数字基带信号变换成适合信道传输的数字频带信号进行传输,这种传输方式,称为数字信号的频带传输或调制传输、载波传输。所谓调制,是用基带信号对载波波形的某参量进行控制,使该参量随基带信号的规律变化从而携带消息。对数字信号进行调制可以便于信号的传输;实现信道复用;改变信号占据的带宽;改善系统的性能。
数字基带通信系统中四种基本的调制方式分别称为振幅键控(ASK,Amplitude-Shift keying)、移频键控(FSK,Frequency-Shift keying)、移相键控(PSK,Phase-Shift keying)和差分移相键(DPSK,Different Phase-Shift keying)。本次课程设计对PSK,DPSK这两种调制方式进行了仿真。
1.2 设计要求 1.2.1 设计内容
用MATLAB完成对2PSK、2DPSK的调制与解调仿真电路设计,并对仿真结果进行分析,可编写程序,也可硬件设计框图
1.2.2 设计参数(参数可以自行设置)
1、传输基带数字信号(15位)码元周期T=0.01S
2、载波频率:15KHz 1.2.3 设计仪器
计算机和MATLAB软件
江西农业大学课程设计报告
第2章 2PSK,2DPSK原理
2.1 2PSK原理 2.1.1 2PSK基本原理
二进制移相键控,简记为2PSK或BPSK。2PSK信号码元的“0”和“1”分别用两个不同的初始相位“0”和“”来表示,而其振幅和频率保持不变.因此,2PSK信号的时域表达式为:
(t)=Acos其中,表示第n个符号的绝对相位:
t+)
=因此,上式可以改写为:
这种以载波的不同相位直接表示相应二进制数字信号的调制方式,称为二进制移相键控方式。二进制移相键控信号的典型时间波形如图2-1。
10011tTs图2-1 二进制相移键控信号的时间波形
2.1.2 2PSK调制原理
在二进制数字调制中,当正弦载波的相位随二进制数字基带信号离散变化时,则产生二进制移相键控(2PSK)信号。2PSK信号调制有两种方法,即模拟调制法和键控法。通常用已调信号载波的 0°和 180°分别表示二进制数字基带信号的 1 和 0,模拟调
江西农业大学课程设计报告
制法用两个反相的载波信号进行调制。2PSK以载波的相位变化作为参考基准的,当基带信号为0时相位相对于初始相位为0°,当基带信号为1时相对于初始相位为180°。
键控法,是用载波的相位来携带二进制信息的调制方式。通常用0°和180°来分别代表0和1。其时域表达式为:
e2PSKang(tnTs)cosct
n其中,2PSK的调制中an必须为双极性码。两种方法原理图分别如图2-2和图2-3所示。
图2-2 模拟调制
原理图
图 2-3 键控法原理
图
2.1.3 2PSK解调原理
由于2PSK的幅度是恒定的,必须进行相干解调。经过带通滤波的信号在相乘器中与本地载波相乘,然后用低通滤波器滤除高频分量,在进行抽样判决。判决器是按极性来判决的。即正抽样值判为1,负抽样值判为0。2PSK信号的相干解调原理图如图2-4所示,各点的波形如图2-5所示。
由于2PSK信号的载波回复过程中存在着180°的相位模糊,即恢复的本地载波与所需 3
江西农业大学课程设计报告
相干载波可能相同,也可能相反,这种相位关系的不确定性将会造成解调出的数字基带信号与发送的基带信号正好相反,即“1”变成“0”吗“0”变成“1”,判决器输出数字信号全部出错。这种现象称为2PSK方式的“倒π”现象或“反相工作”。
e2PSK(t)带通滤波器a相乘器c低通滤波器d抽样判决器定时脉冲e输出
cosct
b
图 2-4 2PSK的相干解调原理图
edb10011atTstctt10011t图 2-5 相干解调中各点波形图
2.2 2DPSK原理 2.2.1 2DPSK基本原理
二进制差分相移键控常简称为二相相对调相,记为2DPSK。它不是利用载波相位的绝对数值传送数字信息,而是用前后码元的相对载波相位值传送数字信息。所谓相对 4
江西农业大学课程设计报告
载波相位是只本码元初相与前一码元初相之差。
传输系统中要保证信息的有效传输就必须要有较高的传输速率和很低的误码率。在传输信号中,2PSK信号和2ASK及2FSK信号相比,具有较好的误码率性能,但是,在2PSK信号传输系统中存在相位不确定性,并将造成接收码元“0”和“1”的颠倒,产生误码。为了保证2PSK的优点,又不会产生误码,将2PSK体制改进为二进制差分相移键控(2DPSK),及相对相移键控。
2DPSK方式即是利用前后相邻码元的相对相位值去表示数字信息的一种方式。现假设用Φ表示本码元初相与前一码元初相之差,并规定:Φ=0表示0码,Φ=π表示1码。则数字信息序列与2DPSK信号的码元相位关系可举例表示如2PSK信号是用载波的不同相位直接去表示相应的数字信号而得出的,在接收端只能采用相干解调,它的时域波形图见图2-6。
图2-6 2DPSK信号波形图(a)绝对码(b)相对码10参考100011011(c)2DPSKt
2.2.2 2DPSK调制原理
二进制差分相移键控。2DPSK方式是用前后相邻码元的载波相对相位变化来表示数字信息。假设前后相邻码元的载波相位差为,可定义一种数字信息与之间的关系为:
0(数字信息“0”)
(数字信息“1 为前一码元的相位。
实现二进制差分相移键控的最常用的方法是:先对二进制数字基带信号进行差分编码,然后对变换出的差分码进行绝对调相即可。2DPSK调制原理图如图2-7所示。
江西农业大学课程设计报告
绝对码Dn相对码BnCnS2dpsk(t)+延时Ts波形变换×Coswc(t)
图2-7 2DPSK调制原理框图
2.2.3 2DPSK解调原理
2DPSK信号解调有相干解调方式和差分相干解调。用差分相干解调这种方法解调时不需要恢复本地载波,只要将DPSK信号精确地延迟一个码元时间间隔,然后与DPSK信号相乘,相乘的结果就反映了前后码元的相对相位关系,经低通滤波后直接抽样判决即可恢复出原始的数字信息,而不需要在进行差分解码。
相干解调码变换法及相干解调法的解调原理是,先对2DPSK信号进行相干解调,恢复出相对码,再通过码反变换器变换为绝对码,从而恢复出发送的二进制数字信息。
在解调过程中,若相干载波产生180相位模糊,解调出的相对码将产生倒置现象,但是经过码反变换器后,输出的绝对码不会发生任何倒置现象,从而解决了载波相位模糊的问题。本次设计采用相干解调。两种解调方式的原理图如图2-8和图2-9所示。
2DPSK相干解调各点波形图如图 2-10所示。
图 2-8 2DPSK差分相干解调原理图
江西农业大学课程设计报告
图 2-9 2DPSK相干解调原理图
第3章 实验过程
3.1 2PSK仿真部分 3.1.1 2PSK仿真图
用MATLAB搭建好的2PSK仿真图如下:
江西农业大学课程设计报告
图3-1PSK仿真图
3.1.2 2PSK模块的参数设置: 1)相乘模块
图3-2 相乘器参数设置
2)低通滤波器模块
江西农业大学课程设计报告
图3-3 滤波器其参数设置
3)抽样判决模块
图3-4 pulse generator 参数设置
江西农业大学课程设计报告
3.2 2DPSK仿真部分 3.2.1 2DPSK仿真图
用MATLAB搭建好的2DPSK仿真图如下:
图3-5 2DPSK仿真图
2.2.2 2DPSK模块的参数设置: 1)载波模块
图3-6 载波参数设置
江西农业大学课程设计报告
2)乘法器模块
图3-7 乘法器参数设置
3)基带模块
图3-8 基带信号参数设置
江西农业大学课程设计报告
4)Unipolar to Bipolar Converte模块
图3-9 Unipolar to Bipolar Converter参数设置
5)码变换模块
图3-10 Logical Operator参数设置
江西农业大学课程设计报告
图3-11 Unit Delay参数设置
图3-12 Data Type Conversion参数设置
6)滤波器模块
江西农业大学课程设计报告
图3-13 带通滤波器参数设置
图3-14 低通滤波器参数设置
江西农业大学课程设计报告
第4章 仿真结果
4.1 2PSK仿真结果
图4-1 2PSK电路仿真波形
4.2 2DPSK仿真结果
江西农业大学课程设计报告
图4-2 2DPSK电路仿真波形
附录:
通过编写M文件程序: 2PSK调制解调程序及注释 clear all close all i=10;j=5000;fc=4;%载波频率 fm=i/5;%码元速率 B=2*fm;t=linspace(0,5,j);a=round(rand(1,i));%随机序列,基带信号 figure(3);stem(a);st1=t;16
江西农业大学课程设计报告
for n=1:10 if a(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 figure(1);subplot(411);plot(t,st1);title('基带信号st1');axis([0,5,-1,2]);%由于PSK中的是双极性信号,因此对上面所求单极性信号取反来与之一起构成双极性码 st2=t;
for k=1:j;
if st1(k)>=1;
st2(k)=0;
else
st2(k)=1;
end end;subplot(412);plot(t,st2);title('基带信号反码st2');axis([0,5,-1,2]);st3=st1-st2;subplot(413);plot(t,st3);title('双极性基带信号st3');axis([0,5,-2,2]);s1=sin(2*pi*fc*t);subplot(414);plot(s1);title('载波信号s1');e_psk=st3.*s1;figure(2);subplot(511);plot(t,e_psk);title('e_2psk');noise=rand(1,j);psk=e_psk+noise;
%加入噪声 subplot(512);plot(t,psk);title('加噪后波形');psk=psk.*s1;
%与载波相乘 subplot(513);plot(t,psk);title('与载波s1相乘后波形');[f,af] = T2F(t,psk);
%通过低通滤波器
[t,psk] = lpf(f,af,B);subplot(514);plot(t,psk);title('低通滤波后波形');for m=0:i-1;
if psk(1,m*500+250)<0;
for j=m*500+1:(m+1)*500;
psk(1,j)=0;
end
else
for j=m*500+1:(m+1)*500;
psk(1,j)=1;
end
end end subplot(515);plot(t,psk);axis([0,5,-1,2]);title('抽样判决后波形')
2DPSK调制解调程序及注释 clear all close all i=10;j=5000;fc=4;%载波频率 fm=i/5;%码元速率B=2*fm;t=linspace(0,5,j);a=round(rand(1,i));figure(4);stem(a);st1=t;for n=1:10 if a(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 江西农业大学课程设计报告
figure(1);subplot(321);plot(t,st1);title('绝对码');axis([0,5,-1,2]);b=zeros(1,i);%全零矩阵 b(1)=a(1);for n=2:10 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:10 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(323);plot(t,st1);title('相对码st1');axis([0,5,-1,2]);st2=t;for k=1:j;if st1(k)>=1;st2(k)=0;else st2(k)=1;江西农业大学课程设计报告 end end;subplot(324);plot(t,st2);title('相对码反码st2');axis([0,5,-1,2]);s1=sin(2*pi*fc*t);subplot(325);plot(s1);title('载波信号s1');s2=sin(2*pi*fc*t+pi);subplot(326);plot(s2);title('低通滤波后波形');st=zeros(1,i);
%全零矩阵for m=0:i-1;
if dpsk(1,m*500+250)<0;
st(m+1)=0;
for j=m*500+1:(m+1)*500;
dpsk(1,j)=0;
end
else
for j=m*500+1:(m+1)*500;
st(m+1)=1;
dpsk(1,j)=1;
end
end end subplot(413);plot(t,dpsk);axis([0,5,-1,2]);title('抽样判决后波形')dt=zeros(1,i);
%全零矩阵 dt(1)=st(1);for n=2:10;
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:10
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(414);plot(t,st);axis([0,5,-1,2]);title('码反变换后波形')21
第二篇:通信仿真课程设计 初稿
基于MATLAB的点对点通信仿真
摘
要
在当前飞速发展的信息时代,随着数字通信技术计算机技术的发展,以及通信网络与计算机网络的相互融合,信息技术已成为21世纪社会国际化的强大动力。Matlab软件包含众多的功能各异的工具箱,涉及领域包括:数字信号处理、通信技术、控制系统、神经网络、模糊逻辑、数值统计、系统仿真和虚拟现实技术等。作为一个功能强大的数学工具软件,在很多领域中得到本文利用Matlab对点对点通信进行仿真实验,实现信号从信源到信宿过程的模拟并获得信噪比与误码率的曲线图,研究了相移键控调制下信噪比与误码率的关系并比较了不同进制相移键控调制下误码率—信噪曲线的异同,同时也研究了不同中继信道对误码率—信噪比曲线的影响了广泛的应用。
关键字:MATLAB仿真;点对点通信;PSK;中继信道;误码率
基于MATLAB的点对点通信仿真............................................................................................1 摘
要............................................................................................................................1 1 引言.................................................................................................................................2 1.1 课程设计的目的和意义...........................................................................................2 1.2 课程设计内容.........................................................................................................2 2仿真环境简介....................................................................................................................3 3系统理论分析....................................................................................................................3 3.1通信系统模型..........................................................................................................3 3.2 相移键控原理.........................................................................................................4 3.2.1二进制相移键控原理......................................................................................4 3.2.2 多进制相移键控调制原理..............................................................................5 4 仿真过程基于Matlab的实现.............................................................................................6 4.1仿真条件及符号说明................................................................................................6 4.1.1仿真条件:....................................................................................................6 4.1.2符号说明........................................................................................................6 5仿真结果...........................................................................................................................8 6仿真模型分析....................................................................................................................9 6.1模型结果分析..........................................................................................................9 6.2模型优缺点分析及改进方案...................................................................................10 6.2.1优缺点分析..................................................................................................10 6.2.2改进发案......................................................................................................10 7小结体会.........................................................................................................................10 参考文献............................................................................................................................11 附录...................................................................................................................................12 1 8PSK信噪比—误码率作图代码................................................................................12 2 QPSK信噪比—误码率作图代码................................................................................13 3 BPSK信噪比—误码率作图程序................................................................................15 4 QPSK加三跳中继作图程序....................................................................................16 5 QPSK信号加两跳中继作图程序................................................................................18 6 QPSK信号加一跳中继作图程序................................................................................20 引言
1.1 课程设计的目的和意义
巩固所学的专业技术知识,培养学生综合运用所学知识与生产实践经验,分析和解决工程技术问题的能力,培养初步的独立设计能力;通过课程设计仿真试验,了解并掌握通信系统、通信调制解调等技术的一般设计方法,训练并提高学生在理论计算、结构设计、工程绘图、查阅设计资料、运用标准与规范和应用计算机等方面的能力,更好地将理论与实践相结合,提高综合运用所学理论知识独立分析和解决问题的能力。并且掌握Matlab的简单操作方法。
1.2 课程设计内容
1)设计一个四进制相移键控调制系统,绘出误码率与信噪比的关系曲线。2)绘制不同进制相移键控下误码率与信噪比的关系曲线,并分析是否与理论相符,得出结论。
3)
设计一个加中继且的四进制相移键控系统,绘出其误码率与信噪比的关系曲线。
4)绘出四进制相移系统加不同跳数中继情况下其误码率与信噪比的关系曲线,并分析是否与理论相符,得出结论。
2仿真环境简介
本次课程设计使用
MATLAB,运用蒙特•卡罗方法(Monte Carlo method),对通信系统进行仿真。
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C++。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。
蒙特•卡罗方法(Monte Carlo method),也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。
这里主要使用MATLAB提供的功能,包括:数值和符号计算,工程与科学绘图等,实现蒙特•卡罗过程,对通信系统进行仿真。最后给出几种不同通信系统的通信效果的可视化结果,并对结果进行分析,比较。
3系统理论分析
3.1通信系统模型
图2-1:通信系统模型
如图2-1所示为通信系统的模型,由一下几个部分组成: 信息源(简称信源):把各种消息转换成原始电信号,如麦克风。信源可分为模拟信源和数字信源。
发送设备:产生适合于在信道中传输的信号。信道:将来自发送设备的信号传送到接收端的物理媒质。分为有线信道和无线信道两大类。
信道是信息论中的一个主要概念。它是用来传送信息的,所以理论上应解决它能无错误地传送的最大信息率,也就是计算信道容量问题,并证明这样的信息率是能达到或逼近的,最好还能知道如何实现,这就是信道编码问题。
在理论研究中,一条信道往往被分成信道编码器、信道本身和信道译码器。人们可以变更编码器、译码器以获得最佳的通信效果,因此编码器、译码器往往是指易于变动和便于设计的部分,而信道就指那些比较固定的部分。但这种划分或多或少是随意的,可按具体情况规定。例如调制解调器和纠错编译码设备一般被认为是属于信道编码器、译码器的,但有时把含有调制解调器的信道称为调制信道;含有纠错编码器、译码器的信道称为编码信道。信息通过信道传输,由于物理介质的干扰和无法避免噪声,信道的输入和输出之间仅具有统计意义上的关系,在做出唯一判决的情况下将无法避免差错,其差错概率完全取决于信道特性。因此,一个完整、实用的通信系统通常包括信道编译码模块。视频信号在传输前都会经过高度压缩以降低码率,传输错误会对最后的图像恢复产生极大的影响,因此信道编码尤为重要。噪声源:集中表示分布于通信系统中各处的噪声。
接收设备:从受到减损的接收信号中正确恢复出原始电信号。
受信者(信宿):把原始电信号还原成相应的消息,如扬声器等。
3.2 相移键控原理
数字相位调制(phase shift keying,PSK)又称相移键控。二进制相移键控记做2PSK是相移键控最简单的形式,还有多进制相移键控MPSK是二进制相移键控的推广,本次仿真实验主要用到了二进制相移键控(BPSK),四进制相移键控(QPSK)及八进制相移键控(8PSK)三种调制方式
3.2.1二进制相移键控原理
二进制相移键控是用二进制数字信号去控制载波的相位,使已调等幅、恒定载波的载波相位与待发数字信号相对应;只有两种对应状态,例如载波相位以0相与(传号)和“0”(空号)。如果数字基带信号g(t)的的幅度是
1、p相分别代表“1”宽度为Tb的矩形脉冲,则2PSK信号可表示为:
j2PSK(t)=Acos(w0t+q)
q取0时代表“1”,取p时代表“0”
由于2PSK信号相当于DSB信号,因而不能采用包络解调,要采用相干解调;但必须在DSB解调后加一抽样判决以便恢复原数字信号。其判决准则为:抽养值大于0,判为1 ;抽养值小于0,判为0 下图为2PSK信号的波形图及矢量图
图3-1:2PSK信号波形图 图3-2:2PSK信号矢量图
3.2.2 多进制相移键控调制原理
多进制相移键控是二进制的推广。它用多个相位状态的正弦震荡分别表示不同的数字信息,通常相位用M=2n计算,有2,4,8,16相制等,M取不同的相位,分别于n为二进制码元的不同组合相对应。其信号的产生于BPSK类似只是维度不同在处理时略有差别,在此不再详细介绍
图3-3和图3-4分别为QPSK信号及8PSK信号的矢量图
010011013π/4相11π/4相1103π/8相111π/8相0-π/8相101-3π/8相100
5π/8相7π/8相-7π/8相0010-3π/4相 0010-π/4相-5π/8相000
图3-3:QPSK信号矢量图 图3-4:8PSK信号矢量图 仿真过程基于Matlab的实现
4.1仿真条件及符号说明 4.1.1仿真条件:
(1)整个通信的等效高斯白噪声方差为1;(2)假设信道估计是理想的;
(3)经过不同跳数中继的QPSK信号总的增益相同
4.1.2符号说明
(1)ray为瑞利衰落信道(2)n为高斯噪声
(3)r为信号经过瑞利衰落信道后的接受信号(4)y为接收端对接收信号还原处理后的信号(5)snr为信噪比
(6)xigma为噪声方差(7)ber为误码率(8)li为单位虚数i(9)s为调制信号的相位
(10)G为经过中继转发是信号的增益
4.2仿真过程的实现
(1)调制信号的产生(以QPSK为例)
产生两个(0,1)的随机数,根据两个数的范围,规定发送的两位原码的值及其相位
ss1=rand(1,2);if((ss1(1,1)>0.5)&&(ss1(1,2)>0.5))s1(1,1)=1;s1(1,2)=1;s=exp(1i*(pi/4));elseif((ss1(1,1)<0.5)&&(ss1(1,2)>0.5))s1(1,1)=0;s1(1,2)=1;s=exp(1i*pi*(3/4));elseif((ss1(1,1)<0.5)&&(ss1(1,2)<0.5))s1(1,1)=0;s1(1,2)=0;s=exp(1i*pi*(5/4));
else
s1(1,1)=1;s1(1,2)=0;s=exp(1i*pi*(7/4));
(2)信道的产生
ray=sqrt(1/2)*(randn(1,1)+1i*randn(1,1));
(3)高斯噪声的产生
n=sqrt(1/2)*(randn(1,1)+1i*randn(1,1));
(4)接收信号
r=s*(snr(L)*xigma)*ray+n;(5)接收信号的还原
y=r/ray;(6)接受判决的实现
根据接受信号最终落在矢量图中的位置判断发送的QPSK信号的值,程序如下: if(real(y)>0)y1=1;else y1=-1;end
if(imag(y)>0)y2=1;else
y2=-1;end
if((y1==1)&&(y2==1))rs=[1,1];sre=exp(1i*(pi/4));elseif((y1==-1)&&(y2==1))rs=[0,1];sre=exp(1i*pi*(3/4));elseif((y1==-1)&&(y2==-1))rs=[0,0];sre=exp(1i*pi*(5/4));else
rs=[1,0];sre=exp(1i*pi*(7/4));
(7)信号经过中继转发过程的实现
r=s*(snr(L)*xigma)*ray+n;y1=r/ray;ray1=sqrt(1/2)*(randn(1,1)+1i*randn(1,1));n1=sqrt(1/2)*(randn(1,1)+1i*randn(1,1));r1=y1*ray1*G1+n1;
5仿真结果
仿真结果如下图所示:
图5-1为8PSK,QPSK,BPSK信号加高斯白噪声经过相同信道,其误码率与信噪比的关系曲线 图5-2为QPSK信号分别经过一跳中继,两跳中继及三跳中继后信噪比与误码率的关系曲线 100 M进制相位调制误码率—信噪比曲线图8PSK10-1QPSKBPSKber(误码率)10-210-310-410-50 ***0snr(信噪比)图5-1:M进制相位调制信噪比—误码率曲线图
100对比加不同跳数中继是信噪比与误码率的关系加三跳中继加两跳中继加一跳中继10-1误码率10-210-3012345678910信噪比(dB)图5-2:对比加不同跳数中继时信噪比与误码率的关系
6仿真模型分析
6.1模型结果分析
图5-1所示为M进制相位调制信号误码率—信噪比的关系曲线 由图可知:误码率随着信噪比的增大而减小,即要想减小信号在传输过程中的失真度必须增加信号的发射功率以减小信号的误码率;对于BPSK、QPSK及8PSK相位调制,在相同信噪比的情况下BPSK的误码率最小QPSK次之,8PSK的误码率最大;同时,要想实现想同的误码率,8PSK调制时必须提供更大的信号功率,QPSK次之,BPSK所需的信号功率最小。然而对于MPSK系统,M的值越大,其功率谱的主瓣越大频带利用率越高,发送数据的速率越快。因此为提供较高的服务质量,在实际的运用中需均衡考虑信号的误码率及发送速率,因而MPSK系统一般很少取较大的M值,一般取M £16,并且以M=4的QPSK使用最多,其次是8PSK,16PSK及BPSK都较少使用。
图5-2所示为在信号的总增益相同的情况下对比QPSK信号加不同跳数中继时信噪比与误码率的关系的曲线图。由图可知在相同信噪比的情况下,信号所经过的中继跳数越多其误码率就越大,原因是所经过的中继跳数增加后所加入噪声也怎加了,同时每经过一个信道时也会增加数据传输的误码率。
6.2模型优缺点分析及改进方案 6.2.1优缺点分析
本文对MPSK信号经高斯信道传输的接受误码率进行蒙特卡罗仿真,仿真过程取了1000000个点,得到了较为准确的信噪比—误码率的关系曲线;同时本文还考虑了加入中继时的情况,对比了加不同跳数中继对信噪比—误码率曲线的影响获得了比较正确的结论;当然本模型也有一些不足之处,例如通信系统比较简单没有加入编码和解码的过程,算法的设计也还不是特别简化,所获得的信噪比与误码率的关系曲线也没有和实际的曲线进行对比,数据的说服力还不够强。
6.2.2改进发案
由于时间有限,我们现在所学的知识有限,整个仿真模型存在大量的不足之处,我在此提出以下改进方案:
(1)本通信仿真模型还可以加入编码解码的过程
(2)加中继时的模型还可以讨论一下协作中继时的情况(3)本模型还可以用Simulink模块来进行仿真
(4)可以把仿真所获得的的曲线与实际情况下的信噪比—误码率的曲线拿来对比
7小结体会
历时两个月的软件课程设计让我们受益良多,从开始不懂matlab做起课程设计来一头雾水到后期可以和老师讨论自己想法,这中间都离不开老师的悉心教诲。
这次软件课程设计的开展,其目的在于让我们了解通信过程是如何实现的,以及让我们深入了解matlab是如何作为仿真软件仿真通信过程并结合相关的实例让我们在原有了解的基础上设计完成老师布置的课题。
在进行软件课程设计的过程中我们遇到了一系列的问题,首先是对于matlab软件的不熟悉,好在在大家的摸索和交流以及和老师的交流中慢慢熟悉。其次,由于在本专业的推荐课表中未导入通信原理等相关课程,使得我们对于调制解调,信道,编码,接受判别等方面并不了解,大家一起查阅相关书籍,积极交流,积极主动的询问老师,自己尝试编码,错误共享,成果共享,在老师的帮助下将上述模糊的概念一一攻克,并在错误中学会了进步。
在老师未布置课程题目时,老师给了我们积极思考的空间,通过自己在个人电脑上的编码实践和结合借阅的有关书籍,老师传给我们的实例和学习资料,自己摸索,在上课时间和老师沟通,进行每人为时3分钟的问题陈述,自己进程的陈述,结合陈述,老师给予相应的解答和指导。大家都表示在这个自主学习的过程中受益匪浅。
老师布置课程设计题目后,大家结合开始做的准备工作一步一个脚印的慢慢完善我们的程序和功能,在学会如何对多进制调制进行编码的基础上进行课程题目相关的仿真,并针对matlab仿真的结果进行交流,在原本点对点的单信道通信的基础上加了中继信道,实现了对于不同跳数的仿真,并进行了对比。同时由于不同的调制方式对误码率也有一定的影响,我们在基于多进制调制方式仿真上做了一个单信道的8PSK,QPSK,BPSK不同调制方式对接受端误码率的影响的仿真,并对结果进行了对比得出了相同信噪比时BPSK的误码率最低,QPSK其次,8PSK的误码率最高的仿真结果。
在本次课程设计实训中,我们认识到了实训远比理论学习更有乐趣,仿真的意义就在于无需花费过大的成本就可以在计算机上通过matlab等仿真软件模拟通信的过程,对最终的结果有一个大致的认识和了解,并与理论结果进行比对,找出产生差异的原因,同时节省了移动运营商的成本。
而对于这历时两个月的自我学习和共同学习,我们意识到学习有时候不是一个人的过程,它可以是一群人共同进步的过程。在交流和沟通中共同学习,共同协作,共同完成课题。在老师的帮助、在理解的基础上、在实践和理论相结合的基础上学习,无疑是进步和积极的。
总之,在这次软件课程设计的学习过程中无论是学习方法还是软件仿真方法,我们都获益匪浅,同时也感谢在课程设计过程中智慧老师不遗余力的教诲和给予我们的帮助。过程是艰辛的,但成果是美丽的。
参考文献
[1] 王秉钧,冯玉珉 通信原理 清华大学出版社 [2] 樊昌信.通信原理.国防工业出版社
[3] 黄载禄,殷蔚华.通信原理.科学出版社
[4] 李宗豪.基本通信原理.北京邮电大学出版社
[5] 甘勤涛.MATLAB 2012数学计算与工程分析从入门到精通.机械工业出版社 [6] 求是科技编著.MATLAB 7.0从入门到精通.人民邮电出版社
[7](美)William J.Palm III著;黄开枝译.MAtlab基础教程.清华大学出版社
附录
部分程序代码: 8PSK信噪比—误码率作图代码
clear all;clf;
snrindb=0:1:20;
snr=10.^(0.1*snrindb);xigma=1;
count=zeros(1,length(snrindb));ber8PSK=zeros(1,length(snrindb));for L=1:length(snrindb)
for num=1:1000000
ss1=rand(1,3);
if((ss1(1,1)>0.5)&&(ss1(1,2)>0.5)&&(ss1(1,3)>0.5))
s1=[1,1,1];
s=exp(1i*(pi/8));
elseif((ss1(1,1)>0.5)&&(ss1(1,2)>0.5)&&(ss1(1,3)<0.5))
s1=[1,1,0];
s=exp(1i*pi*(3/8));
elseif((ss1(1,1)<0.5)&&(ss1(1,2)>0.5)&&(ss1(1,3)<0.5))
s1=[0,1,0];
s=exp(1i*pi*(5/8));
elseif((ss1(1,1)<0.5)&&(ss1(1,2)>0.5)&&(ss1(1,3)>0.5))
s1=[0,1,1];
s=exp(1i*pi*(7/8));
elseif((ss1(1,1)<0.5)&&(ss1(1,2)<0.5)&&(ss1(1,3)>0.5))
s1=[0,0,1];
s=exp(1i*pi*(9/8));
elseif((ss1(1,1)<0.5)&&(ss1(1,2)<0.5)&&(ss1(1,3)<0.5))
s1=[0,0,0];
s=exp(1i*pi*(11/8));
elseif((ss1(1,1)>0.5)&&(ss1(1,2)<0.5)&&(ss1(1,3)<0.5))
s1=[1,0,0];
s=exp(1i*pi*(13/8));
elseif((ss1(1,1)>0.5)&&(ss1(1,2)<0.5)&&(ss1(1,3)>0.5))
s1=[1,0,1];
s=exp(1i*pi*(15/8));
end ray=sqrt(1/2)*(randn(1,1)+1i*randn(1,1));
n=sqrt(1/2)*(randn(1,1)+1i*randn(1,1));
r=s*(snr(L)*xigma)*ray+n;
y=r/ray;
a=real(y);
b=imag(y);
c=atan(b/a);
if(a>0&&b>0&&c>=0&&c<(pi/4))
rs=[1,1,1];
elseif(a>0&&b>0&&c>=(pi/4)&&c<(pi/2))
rs=[1,1,0];
elseif(a<0&&b>0&&c>=(-pi/2)&&c<(-pi/4))
rs=[0,1,0];
elseif(a<0&&b>0&&c>=(-pi/4)&&c<0)rs=[0,1,1];
elseif(a<0&&b<0&&c>=0&&c<(pi/4))
rs=[0,0,1];
elseif(a<0&&b<0&&c>=(pi/4)&&c<(pi/2))
rs=[0,0,0];
elseif(a>0&&b<0&&c>=(-pi/2)&&c<(-pi/4))
rs=[1,0,0];
elseif(a>0&&b<0&&c>=(-pi/4)&&c<0)
rs=[1,0,1];
end
if(rs(1,1)~=s1(1,1)||rs(1,2)~=s1(1,2)||rs(1,3)~=s1(1,3))
count(L)=count(L)+1;
end
end
ber8PSK(L)=count(L)/1000000;
end
semilogy(snrindb,ber8PSK,'r>-');gtext('8PSK')hold on;QPSK信噪比—误码率作图代码
snrindb=0:1:20;
snr=10.^(0.1*snrindb);xigma=1;
count=zeros(1,length(snrindb));berQPSK=zeros(1,length(snrindb));for L=1:length(snrindb)
for num=1:1000000
ss1=rand(1,2);
if((ss1(1,1)>0.5)&&(ss1(1,2)>0.5))
s1(1,1)=1;
s1(1,2)=1;
s=exp(1i*(pi/4));
elseif((ss1(1,1)<0.5)&&(ss1(1,2)>0.5))
s1(1,1)=0;
s1(1,2)=1;
s=exp(1i*pi*(3/4));
elseif((ss1(1,1)<0.5)&&(ss1(1,2)<0.5))
s1(1,1)=0;
s1(1,2)=0;
s=exp(1i*pi*(5/4));
else
s1(1,1)=1;
s1(1,2)=0;
s=exp(1i*pi*(7/4));
end
ray=sqrt(1/2)*(randn(1,1)+1i*randn(1,1));
n=sqrt(1/2)*(randn(1,1)+1i*randn(1,1));
r=s*(snr(L)*xigma)*ray+n;
y=r/ray;
if(real(y)>0)
y1=1;
else
y1=-1;
end
if(imag(y)>0)
y2=1;
else
y2=-1;
end
if((y1==1)&&(y2==1))
rs=[1,1];sre=exp(1i*(pi/4));
elseif((y1==-1)&&(y2==1))
rs=[0,1];sre=exp(1i*pi*(3/4));
elseif((y1==-1)&&(y2==-1))
rs=[0,0];sre=exp(1i*pi*(5/4));
else
rs=[1,0];sre=exp(1i*pi*(7/4));end
if((rs(1,1)~=s1(1,1))||rs(1,2)~=s1(1,2))
count(L)=count(L)+1;
end
end
berQPSK(L)=count(L)/1000000;
end
semilogy(snrindb,berQPSK,'r>-');gtext('QPSK')hold on;
BPSK信噪比—误码率作图程序
snrindb=0:1:20;
snr=10.^(0.1*snrindb);xigma=1;
count=zeros(1,length(snrindb));ber=zeros(1,length(snrindb));for L=1:length(snrindb)
for num=1:1000000
ss1=rand;if ss1>0.5
s1=1;
s=exp(1i*0);
elseif ss1<0.5
s1=0;
s=exp(1i*pi);
end
ray=sqrt(1/2)*(randn(1,1)+1i*randn(1,1));
n=sqrt(1/2)*(randn(1,1)+1i*randn(1,1));
r=s*(snr(L)*xigma)*ray+n;
y=r/ray;
if(real(y)>0)
rs=1;
else
rs=0;
end
if(rs~=s1)
count(L)=count(L)+1;
end
end
ber(L)=count(L)/1000000;end
semilogy(snrindb,ber,'r>-');gtext('BPSK')hold on;QPSK加三跳中继作图程序
clear all;clf;
snrindb=0:1:10;snr=10.^(0.1*snrindb);xigma=1;
count=zeros(length(snrindb));ber=zeros(length(snrindb));G1=2;
G2=3;G3=6;
for L=1:length(snr)
for num=1:100000
ss1=rand(1,2);
if((ss1(1,1)>0.5)&&(ss1(1,2)>0.5))
s1(1,1)=1;
s1(1,2)=1;
s=exp(1i*(pi/4));
elseif((ss1(1,1)<0.5)&&(ss1(1,2)>0.5))
s1(1,1)=0;
s1(1,2)=1;
s=exp(1i*pi*(3/4));
elseif((ss1(1,1)<0.5)&&(ss1(1,2)<0.5))
s1(1,1)=0;
s1(1,2)=0;
s=exp(1i*pi*(5/4));
else
s1(1,1)=1;
s1(1,2)=0;
s=exp(1i*pi*(7/4));
end
ray=sqrt(1/2)*(randn(1,1)+1i*randn(1,1));
n=sqrt(1/2)*(randn(1,1)+1i*randn(1,1));
r=s*(snr(L)*xigma)*ray+n;
y1=r/ray;
ray1=sqrt(1/2)*(randn(1,1)+1i*randn(1,1));
n1=sqrt(1/2)*(randn(1,1)+1i*randn(1,1));
r1=y1*ray1*G1+n1;
y2=r1/ray1;
ray2=sqrt(1/2)*(randn(1,1)+1i*randn(1,1));
n2=sqrt(1/2)*(randn(1,1)+1i*randn(1,1));
r2=y2*ray2*G2+n2;
y3=r2/ray2;
ray3=sqrt(1/2)*(randn(1,1)+1i*randn(1,1));
n3=sqrt(1/2)*(randn(1,1)+1i*randn(1,1));
r3=y3*ray3*G3+n3;
y=r3/ray3;
if(real(y)>0)
y1=1;
else
y1=-1;
end
if(imag(y)>0)
y2=1;
else
y2=-1;
end
if((y1==1)&&(y2==1))
rs=[1,1];sre=exp(1i*(pi/4));
elseif((y1==-1)&&(y2==1))
rs=[0,1];sre=exp(1i*pi*(3/4));
elseif((y1==-1)&&(y2==-1))
rs=[0,0];sre=exp(1i*pi*(5/4));
else
rs=[1,0];sre=exp(1i*pi*(7/4));
end
if((rs(1,1)~=s1(1,1))||rs(1,2)~=s1(1,2))
count(L)=count(L)+1;
end
end
ber(L)=count(L)/100000;
end
semilogy(snrindb,ber);hold on;QPSK信号加两跳中继作图程序
snrindb=0:1:10;
snr=10.^(0.1*snrindb);xigma=1;
count=zeros(length(snrindb));ber=zeros(length(snrindb));G1=3;
G2=12;
for L=1:length(snr)
for num=1:100000
ss1=rand(1,2);
if((ss1(1,1)>0.5)&&(ss1(1,2)>0.5))
s1(1,1)=1;
s1(1,2)=1;
s=exp(1i*(pi/4));
elseif((ss1(1,1)<0.5)&&(ss1(1,2)>0.5))
s1(1,1)=0;
s1(1,2)=1;
s=exp(1i*pi*(3/4));
elseif((ss1(1,1)<0.5)&&(ss1(1,2)<0.5))
s1(1,1)=0;
s1(1,2)=0;
s=exp(1i*pi*(5/4));
else
s1(1,1)=1;
s1(1,2)=0;
s=exp(1i*pi*(7/4));
end
ray=sqrt(1/2)*(randn(1,1)+1i*randn(1,1));
n=sqrt(1/2)*(randn(1,1)+1i*randn(1,1));
r=s*(snr(L)*xigma)*ray+n;
y1=r/ray;
ray1=sqrt(1/2)*(randn(1,1)+1i*randn(1,1));
n1=sqrt(1/2)*(randn(1,1)+1i*randn(1,1));
r1=y1*ray1*G1+n1;
y2=r1/ray1;
ray2=sqrt(1/2)*(randn(1,1)+1i*randn(1,1));
n2=sqrt(1/2)*(randn(1,1)+1i*randn(1,1));
r2=y2*ray2*G2+n2;
y=r2/ray2;
if(real(y)>0)
y1=1;
else
y1=-1;
end
if(imag(y)>0)
y2=1;
else
y2=-1;
end
if((y1==1)&&(y2==1))
rs=[1,1];sre=exp(1i*(pi/4));
elseif((y1==-1)&&(y2==1))
rs=[0,1];sre=exp(1i*pi*(3/4));
elseif((y1==-1)&&(y2==-1))
rs=[0,0];sre=exp(1i*pi*(5/4));
else
rs=[1,0];sre=exp(1i*pi*(7/4));
end
if((rs(1,1)~=s1(1,1))||rs(1,2)~=s1(1,2))
count(L)=count(L)+1;
%ͳ¼Æ´íÎóbitÊý
end
end
ber(L)=count(L)/100000;
end
semilogy(snrindb,ber);hold on;QPSK信号加一跳中继作图程序
snrindb=0:1:10;
snr=10.^(0.1*snrindb);xigma=1;
count=zeros(length(snrindb));ber=zeros(length(snrindb));G=36;
for L=1:length(snr)
for num=1:100000
ss1=rand(1,2);
if((ss1(1,1)>0.5)&&(ss1(1,2)>0.5))
s1(1,1)=1;
s1(1,2)=1;
s=exp(1i*(pi/4));
elseif((ss1(1,1)<0.5)&&(ss1(1,2)>0.5))
s1(1,1)=0;
s1(1,2)=1;
s=exp(1i*pi*(3/4));
elseif((ss1(1,1)<0.5)&&(ss1(1,2)<0.5))
s1(1,1)=0;
s1(1,2)=0;
s=exp(1i*pi*(5/4));
else
s1(1,1)=1;
s1(1,2)=0;
s=exp(1i*pi*(7/4));
end
ray=sqrt(1/2)*(randn(1,1)+1i*randn(1,1));
n=sqrt(1/2)*(randn(1,1)+1i*randn(1,1));
r=s*(snr(L)*xigma)*ray+n;
y1=r/ray;
ray1=sqrt(1/2)*(randn(1,1)+1i*randn(1,1));
n1=sqrt(1/2)*(randn(1,1)+1i*randn(1,1));
r1=y1*ray1*G+n1;
y=r1/ray1;
if(real(y)>0)
y1=1;
else
y1=-1;
end
if(imag(y)>0)
y2=1;
else
y2=-1;
end
if((y1==1)&&(y2==1))
rs=[1,1];sre=exp(1i*(pi/4));
elseif((y1==-1)&&(y2==1))
rs=[0,1];sre=exp(1i*pi*(3/4));
elseif((y1==-1)&&(y2==-1))
rs=[0,0];sre=exp(1i*pi*(5/4));
else
rs=[1,0];sre=exp(1i*pi*(7/4));
end
if((rs(1,1)~=s1(1,1))||rs(1,2)~=s1(1,2))
count(L)=count(L)+1;
end
end
ber(L)=count(L)/100000;
end
semilogy(snrindb,ber);hold on;
第三篇:通信原理仿真
通信原理仿真实验提纲
1.任意产生一个调制信号,画出其波形及其频谱;
2.产生一个余弦载波信号,画出其波形及其频谱;
3.分别采用AM(幅度),DSB(双边),SSB(单边)的方式对调
制信号进行调制,画出已调信号的波形及频谱;
4.采用适当的方式,分别对3中得到的已调信号进行解调,画
出解调信号的波形;
5.产生一个高斯白噪声,叠加在已调信号上,然后进行解调,画出解调信号的波形;
6.比较4和5中的结果;
7.编写A律13折线PCM编码的程序,能够对任意输入信号输
出其PCM编码;
8.产生一个随机数字信号,分别进行ASK,FSK,PSK调制解调,画出解调前后的波形
第四篇:通信原理课程设计_(基于MATLAB的_2PSK_2DPSK仿真)
江西农业大学
通信原理课程设计报告
题 目 基于Matlab的相移键控仿真设计
专 业 电子信息工程
学生姓名 曾凡文
学 号 20121206
江西农业大学课程设计报告 二 0 一五 年 六 月
基于Matlab的2PSK,2DPSK仿真
摘要:现代通信系统要求通信距离远、通信容量大、传输质量好,作为其关键技术之一的调制技术一直是研究的一个重要方向。本设计主要叙述了数字信号的调制方式,介绍了2PSK数字调制方式的基本原理,功率谱密度,并运用MATLAB软件对数字调制方式2PSK进行了编程仿真实现,在MATLAB平台上建立2PSK和2DPSK调制技术的仿真模型。进一步学习了MATLAB编程软件,将MATLAB与通信系统中数字调制知识联系起来,为以后在通信领域学习和研究打下了基础在计算机上,运用MATLAB软件来实现对数字信号调制技术的仿真。
课程设计目的:通过课程设计,巩固已学过的*****知识,加深对其理解和应用,学会应用Matlab Simulink工具对通信系统仿真。
关键词:数字调制与解调;MATLAB;2PSK;2DPSK;
江西农业大学课程设计报告
第1章 基本工作原理
1.1 2PSK原理
1.1.1 2PSK基本原理
二进制移相键控,简记为2PSK或BPSK。2PSK信号码元的“0”和“1”分别用两个不同的初始相位“0”和“”来表示,而其振幅和频率保持不变.因此,2PSK信号的时域表达式为:
(t)=Acos其中,表示第n个符号的绝对相位:
t+)
=因此,上式可以改写为:
这种以载波的不同相位直接表示相应二进制数字信号的调制方式,称为二进制移相键控方式。二进制移相键控信号的典型时间波形如图1-1。
10011tTs江西农业大学课程设计报告
图1-1 二进制相移键控信号的时间波形
1.1.2 2PSK调制原理
在二进制数字调制中,当正弦载波的相位随二进制数字基带信号离散变化时,则产生二进制移相键控(2PSK)信号。2PSK信号调制有两种方法,即模拟调制法和键控法。通常用已调信180°分别表示信号的 1 和 两个反相的载制。2PSK以载
号载波的 0°和 二进制数字基带0,模拟调制法用波信号进行调波的相位变化作为参考基准的,当基带信号为0时相位相对于初始相位为0°,当基带信号为1时相对于初始相位为180°。键控法,是用载二进制信息的调制和180°来分别代表达式为:
波的相位来携带方式。通常用0°表0和1。其时域
e2PSKang(tnTs)cosct
n其中,2PSK的调制中an必须为双极性码。两种方法原理图分别如图1-2和图1-3所示。
图1-2 模拟调制原理图
江西农业大学课程设计报告
图 1-3 键控法原理图
带通滤波器ae2PSK(t)相乘器c低通滤波器d抽样判决器定时脉冲e输出
cosct
1.1.3 2PSK解调原理
b由于2PSK的幅度是恒定的,必须进行相干解调。经过带通滤波的信号在相乘器中与本地载波相乘,然后用低通滤波器滤除高频分量,在进行抽样判决。判决器是按极性来判决的。即正抽样值判为1,负抽样值判为0。2PSK信号的相干解调原理图如图1-4所示,各点的波形如图1-5所示。
由于2PSK信号的载波回复过程中存在着180°的相位模糊,即恢复的本地载波与所需相干载波可能相同,也可能相反,这种相位关系的不确定性将会造成解调出的数字基带信号与发送的基带信号正好相反,即“1”变成“0”吗“0”变成“1”,判决器输出数字信号全部出错。这种现象称为2PSK方式的“倒π”现象或“反相工作”。
图 1-4 2PSK的相干解调原理图
江西农业大学课程设计报告
edb10011atTstctt10011t
图 1-5 相干解调中各点波形图
1.2 2DPSK原理
1.2.1 2DPSK基本原理
二进制差分相移键控常简称为二相相对调相,记为2DPSK。它不是利用载波相位的绝对数值传送数字信息,而是用前后码元的相对载波相位值传送数字信息。所谓相对载波相位是只本码元初相与前一码元初相之差。
传输系统中要保证信息的有效传输就必须要有较高的传输速率和很低的误码率。在传输信号中,2PSK信号和2ASK及2FSK信号相比,具有较好的误码率性能,但是,在2PSK信号传输系统中存在相位不确定性,并将造成接收码元“0”和“1”的颠倒,产生误码。为了保证2PSK的优点,又不会产生误码,将2PSK体制改进为二进制差分相移键控(2DPSK),及相对相移键控。
2DPSK方式即是利用前后相邻码元的相对相位值去表示数字信息的一种方式。现假设用Φ表示本码元初相与前一码元初相之差,并规定:Φ=0表示0码,Φ=π表示1码。则数字信息序列与2DPSK信号的码元相位关系可举例表示如2PSK信号是用载波的不同相位直接去表示相应的数字信号而得出的,在接收端只能采用相干解调,它的时域波形图见图1-6。
江西农业大学课程设计报告
图1-6 2DPSK信号波形图
(a)绝对码(b)相对码10参考100011011(c)2DPSKt1.2.2 2DPSK调制原理
二进制差分相移键控。2DPSK方式是用前后相邻码元的载波相对相位变化来表示数字信息。假设前后相邻码元的载波相位差为,可定义一种数字信息与之间的关系为:
0(数字信息“0”)
(数字信息“1 为前一码元的相位。
实现二进制差分相移键控的最常用的方法是:先对二进制数字基带信号进行差分编码,然后对变换出的差分码进行绝对调相即可。2DPSK调制原理图如图1-7所示。
绝对码Dn相对码BnCnS2dpsk(t)+延时Ts波形变换×Coswc(t)
图1-7 2DPSK调制原理框图
1.2.3 2DPSK解调原理
2DPSK信号解调有相干解调方式和差分相干解调。用差分相干解调这种方法解调时不需要恢复本地载波,只要将DPSK信号精确地延迟一个码元时间间隔,然后与DPSK信号相乘,相乘的结果就反映了前后码元的相对相位关系,经低通滤波后直接抽样判决即可恢复出原始的数字信息,而不需要在进行差分解码。
第二章 设计系统
江西农业大学课程设计报告 2.1框图
两种解调方式的原理框图如图1-8和图1-9所示。
图 1-8 2DPSK差分相干解调原理框图
图 1-9 2DPSK相干解调原理框图
2.2工作原理
相干解调码变换法及相干解调法的解调原理是,先对2DPSK信号进行相干解调,恢复出相对码,再通过码反变换器变换为绝对码,从而恢复出发送的二进制数字信息。
在解调过程中,若相干载波产生180相位模糊,解调出的相对码将产生倒置现象,但是经过码反变换器后,输出的绝对码不会发生任何倒置现象,从而解决了载波相位模糊的问题。本次设计采用相干解调。
2.3设定参数 如附录1
江西农业大学课程设计报告
第三章 Matlab仿真
3.1显示系统不同部分的信号波形
3.1.1PSK如图3-1和图3-2所示
图3-1
图3-2
江西农业大学课程设计报告
3.1.2 2DPSK如图3-
3、图3-4和图3-5所示
图3-3
图3-4
江西农业大学课程设计报告
图3-5 3.2各种相移系统的比较和分析
例如“倒π”现象
对于相同的数字信号基带序列,由于初始相位不同,2DPSK信号的相位并不直接代表基带信号,而前后码元相对相位的差才唯一决定信号的符号。2PSK信号载波恢复过程中,存在着180°的相位模糊即恢复的本地载波与与所需的想干载波可能同相也可能反相,这种相位关系的不确定性将会造成解调出来的数字基带信号与发送的数字基带信号正好相反,即“1”变成“0”,“0”变成“1”,判决器输出的数字信号全部出错, 这种现象称为2PSK的“倒π”现象或“反相工作”。本地载波与发送端载波反向时,2PSK的解调波形与2DPSK完全相反
3.3不同方式解调下PSK、DPSK的误码率
误码率是指接收的码元数在传输总码元数中所占的比例,即:
误码率错误码元数传输总码元数 PSK相干解调:
误码率(r/2)DPSK相干解调:
误码率 DPSK差分非相干解调:
误码率1/2e^(-r)r为信噪比。
误码率是衡量一个数字通信系统性能的重要指标。在信道高斯白噪声的干扰下,各种二进制数字调制系统的误码率取决于解调器输入信噪比,而误码率表达式的形式则取决于解调方式。对于所有的数字调制系统误码率与信噪比的关系的图表来看,所有的曲线呈减函数的下降曲线,即随着信噪比的增大,误码率降低。横向比较来看,对于同一种调制方式,当信噪比相同时,采用相干解调方式的误码率低于非相干解调方式的误码率;纵向比较来看,对2PSK,2DPSK两种调制方式若采用同一种解调方式
江西农业大学课程设计报告(相干解调或非相干解调),则2PSK的误码率最低,2DSPK的误码率次之。当信噪比一定时,误码率由低到高依次是:2PSK的相干解调,2DPSK的相干解调,2DPSK的差分解的非相干调。
附录1 2PSK调制解调程序及注释: clear all close all i=10;j=5000;fc=4.6;%载波频率 fm=i/5;%码元速率 B=2*fm;t=linspace(0,5,j);a=round(rand(1,i));%随机序列,基带信号 figure(3);stem(a);st1=t;for n=1:10 if a(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 figure(1);subplot(411);plot(t,st1);title('基带信号st1');axis([0,5,-1,2]);%由于PSK中的是双极性信号,因此对上面所求单极性信号取反来与之一起构成双极性码
st2=t;for k=1:j;if st1(k)>=1;st2(k)=0;else
江西农业大学课程设计报告 st2(k)=1;end end;subplot(412);plot(t,st2);title('基带信号反码st2');axis([0,5,-1,2]);st3=st1-st2;subplot(413);plot(t,st3);title('双极性基带信号st3');axis([0,5,-2,2]);s1=sin(2*pi*fc*t);subplot(414);plot(s1);title('载波信号s1');e_psk=st3.*s1;figure(2);subplot(511);plot(t,e_psk);title('e_2psk');noise=rand(1,j);psk=e_psk+noise;%加入噪声 subplot(512);plot(t,psk);title('加噪后波形');psk=psk.*s1;%与载波相乘 subplot(513);plot(t,psk);title('与载波s1相乘后波形');[f,af] = T2F(t,psk);%通过低通滤波器 [t,psk] = lpf(f,af,B);subplot(514);plot(t,psk);title('低通滤波后波形');for m=0:i-1;if psk(1,m*500+250)<0;for j=m*500+1:(m+1)*500;psk(1,j)=0;end else for j=m*500+1:(m+1)*500;psk(1,j)=1;end
江西农业大学课程设计报告 end end subplot(515);plot(t,psk);axis([0,5,-1,2]);title('抽样判决后波形')
2DPSK调制解调程序及注释: clear all close all i=10;j=5000;fc=4.6;%载波频率 fm=i/5;%码元速率 B=2*fm;t=linspace(0,5,j);a=round(rand(1,i));figure(4);stem(a);st1=t;for n=1:10 if a(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 figure(1);subplot(321);plot(t,st1);title('绝对码');axis([0,5,-1,2]);b=zeros(1,i);%全零矩阵 b(1)=a(1);for n=2:10 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:10 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(323);plot(t,st1);title('相对码st1');axis([0,5,-1,2]);st2=t;for k=1:j;if st1(k)>=1;st2(k)=0;else st2(k)=1;end end;subplot(324);plot(t,st2);title('相对码反码st2');axis([0,5,-1,2]);s1=sin(2*pi*fc*t);subplot(325);plot(s1);title('载波信号s1');s2=sin(2*pi*fc*t+pi);subplot(326);plot(s2);
江西农业大学课程设计报告 title('载波信号s2');d1=st1.*s1;d2=st2.*s2;figure(2);subplot(411);plot(t,d1);title('st1*s1');subplot(412);plot(t,d2);title('st2*s2');e_dpsk=d1+d2;subplot(413);plot(t,e_dpsk);title('调制后波形');noise=rand(1,j);dpsk=e_dpsk+noise;%加入噪声 subplot(414);plot(t,dpsk);title('加噪声后信号');dpsk=dpsk.*s1;%与载波s1相乘 figure(3);subplot(411);plot(t,dpsk);title('与载波相乘后波形');[f,af]=T2F(t,dpsk);%通过低通滤波器 [t,dpsk]=lpf(f,af,B);subplot(412);plot(t,dpsk);title('低通滤波后波形');st=zeros(1,i);%全零矩阵 for m=0:i-1;if dpsk(1,m*500+250)<0;st(m+1)=0;for j=m*500+1:(m+1)*500;dpsk(1,j)=0;end else for j=m*500+1:(m+1)*500;st(m+1)=1;dpsk(1,j)=1;end end end subplot(413);
江西农业大学课程设计报告 plot(t,dpsk);axis([0,5,-1,2]);title('抽样判决后波形')dt=zeros(1,i);%全零矩阵 dt(1)=st(1);for n=2:10;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:10 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(414);plot(t,st);axis([0,5,-1,2]);title('码反变换后波形');
第五篇:通信原理课程设计[范文]
通
题目:
信 原 理课程设计
基于MATLAB的系统的2ASK仿真
五、设计心得和体会„„„„„„„„„„„„„„„„„„„„„„„
1、心得和体会……………………………………………………………
2、致谢……………………………………………………………………
参考文献„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„
一、2ASK通信系统发展背景
随着通信技术日新月异的发展,尤其是数字通信的快速发展越来越普及,研究人员对其相关技术投入了极大的兴趣。为使数字信号能在带通信道中传输,必须用数字信号对载波进行调制,其调制方式与模拟信号调制相类似。根据数字信号控制载波的参量不同也分为调幅、调频和调相三种方式。因数字信号对载波参数的调制通常采用数字信号的离散值对载波进行键控,故这三种数字调制方式被称为幅移键控(ASK)、频移键控(FSK)和相移键控(PSK)。经调制后的信号,通过信道传输,在接收端解调后恢复成数字信号。因此,调制解调技术是实现现代通信的重要手段,促进通信的快速发展。
现代通信系统要求通信距离远、通信容量大、传输质量好。作为其关键技术之一的调制解调技术一直是人们研究的一个重要方向。从最早的模拟调幅调频技术的日臻完善,到现在数字调制技术的广泛运用,使得信息的传输更为有效和可靠。二进制数字振幅键控是一种古老的调制方式,也是各种数字调制的基础。
二、仿真设计原理 1、2ASK信号的调制
2ASK技术是通过改变载波信号的幅值变化来表示二进制0或1的。载波0,1信息只改变其振幅,而频率和相位保持不变。通常使用其最大值Acos(t)和0分别表示1和0.有一种常用的幅值键控技术是开关键控(OOK)在OOK中,把一个幅度取为0,另一个幅度取为非0,其优点是传输信息所需的能量下降了,且调制方法简单.OOK的产生原理如图2、2ASK信号的解调
接收端接收信号传来的2ASK信号,首先经过带通滤波器滤掉传输过程中产生的噪声干扰,再从中回复原始数据信号。常用的解调方法有两种:包络解调法和相干解调法。
相干解调法
相干解调也叫同步解调,就是利用相干波和接收到的2ASK信号相乘分离出包含原始信号的低频信号,再进行抽样判决恢复数字序列。相干波必须是与发送端同频同相的正弦信号。Z(t)=y(t)cos(t)=m(t)cos2(t)=111m(t)[1+cos(2t)]=m(t)+m(t)cos(2t).式中1/2m(t)是基带信号,2221/2m(t)cos(2t)是频率为2的高频信号,利用低通滤波器可检测出基带信号,再经过抽样判决,即可恢复出原始数字信号序列{an},2ASK信号带宽为码元速率的2倍,即:B2ASK=2Rb.式中Rb为信息速率。
相干解调的原理图如下
三、直接用MATLAB编程仿真
1、实验框图
在数字基带传输系统中,为了使数字基带信号能够在信道中传输,要求信道应具有低通形式的传输特性。然而,在实际信道中,大多数信道具有带通传输特性,数字基带信号不能直接在这种带通传输特性的信道中传输。必须用数字基带信号对载波进行调制,产生
元速率Rb=1000Band,载波频率为f=4kHZ.以下是仿真程序及注释。例子中采用OOK键控方式实现2ASK调制。第一行为数字序列波***1的单极性不归零码,码元宽度Tb=1/Rb=0.001s,第二行为载波波形,在一个码元宽度,有4个周期的正玄波载波信号f=1/4Tb=4kHz;第三行为调整之后的波形,码元1对应的调制后波形对应正玄波,0对应的调制后波形为0,结果满足要求.。
%数字信号的ASK调制
3、使用MATLAB编程
Clear;
%清空空间变量 m=[1 1 1 0 0 0 1 0 1 1 0 1];
%数字信号序列 Lm=length(m);
%序列的长度
F=200;
%数字信号的带宽
f=800;
%正弦载波信号的频率 A=1;
%载波的幅度
Q=f/F;
%频率比,即一个码元宽度中的正弦周期个数,为适配下面的滤波器参数选取,Q>=1/3 M=500;
%一个正弦周期内的采样点数 t=(0:M-1)/M/f;
%一个正弦信号周期内的时间
carry1=repmat(A*sin(2*pi*f*t),1,Q);%一个码元宽度内的正弦载波信号 Lcarry1=length(carry1);
%一个码元宽度内的信号长度 carry2=kron(ones(size(m)),carry1);%载波信号
ask=kron(m,carry1);
%调制后的信号 N=length(ask);
%长度 tau=(0:N-1)/(M-1)/f;
%时间 Tmin=min(tau);
%最小时刻 Tmax=max(tau);
%最大时刻 T=ones(size(carry1));
%一个数字信号1 dsig=kron(m,T);
%数字信号波形 subplot(3,1,1);
%子图分割 plot(tau,dsig)
%画出载波波形 grid on
%添加网 axis([Tmin Tmax-0.2 1.2])
%设置坐标范围 subplot(3,1,2)
%子图分割 plot(tau,carry2)
%画出载波波形 grid on
%添加网络
axis([Tmin Tmax-1.2*A 1.2*A]);%设置坐标范围 subplot(3,1,3)
%子图分割 plot(tau,ask)
%画出调制后的波形 grid on
%添加网络
axis([Tmin Tmax-1.2*A 1.2*A])%设置坐标范围
y=(x(t_judge));
%抽样判决时刻的信号值 y_judge=1*(y>=th)+0*(y<=th);
%抽样判决信号的0阶保持 y_value=kron(y_judge,ones(size(carry1)));
%抽样判决后的数字信号波形 n_tau=tau+0.5/F;
%抽样判决后的信号对应时间 subplot(4,1,3)
plot(n_tau,y_value)
axis([min(n_tau)max(n_tau)grid on subplot(4,1,4)plot(tau,dsig)
axis([Tmin Tmax-0.2 1.2])grid on
1、图示
%子图分割
%画出抽样判决后的数字信号波形-0.2 1.2])
%画出原始信号波形与解调后信号作对比
四、仿真结果
011
为使仿真过程清晰,忽略了信道的传输延时等,仅考虑了抽样判决点选取时的延时0.5Tb,因码元波特率RB=1000Band,码元宽度Tb=1/Rb=0.001s 故0.5Tb=0.0005s,从图中标注可以看出,信号的起始点为0.0005s。
五、设计心得和体会
1、心得和体会
通过本次课程设计,我们主解了要了2ASK调制与解调原理,特别是2ASK调制解调电路的MATLAB实现与调制性能分析,把本学期学的通信原理等通信类科目的内容应用到本课程设计中来,进一步巩固复习通信原理,MATLAB等课程,以达到融会贯通的目的。
通过对通信系统原理和MATLAB的学习,在通过硬件实现时会时不时地会出现一些问题,诸如:某个芯片的用法、其适用范围、其典型应用时会出现的问题、滤波器的设计、模拟电路中反馈电阻与控制增益器件的调节等等,都需要理论知识和实践经验结合才能解决。在此期间,首先,通过查阅相关书籍、文献,搞清楚原理框图,为今后的实验及论文写作奠定比较扎实的理论;其次,在原理图的基础之上,设计具体的硬件实现流程图,利用将一个大而复杂的系统分解转化为多个小而简单的模块的思想,在进行整合、连接,将复杂的问题简单化。了解了更多关于通信的知识,对以后的学习和工作又了莫大的帮助。通过本次课程设计,加强了对通信系统原理的理解,学会查寻资料、方案比较,以及设计计算及仿真等环节,进一步提高了分析解决实际问题的能力。在学习通信原理理论后进行一次电子设计与制作,锻炼了分析、解决电子电路问题的实际本领。为进一步学习计算机网络,数据通信,多媒体技术等课程打下坚实的基础。运用学习成果把课堂上学的系统化的理论知识,尝试性的应用于实际设计工作,并从理论的高度对设计工作的现代化提高一些有真惰性的建议和设想,检验学习成果,看一看课堂学习与实际工作到底有多大差距,并通过综合分析,找出学习中存在的不足,以便为完善学习计划,更边学习内容提供实践依据。
2、致谢
在此,首先要感谢蔡老师对我们一直以来的关心和照顾,细心给我们解答疑惑,帮助我们更好的学习,同时还要谢谢同学们热情的帮助。最后,祝老师新年快乐!笑口常开!
参考文献
[1]《通信原理》(第2版)樊昌信 等编著
国防工业出版社 北京
2012年 [2]《MATLAB信息工程工具箱技术手册》魏巍 主编 国防工业出版社 北京 2004年 [3]《MATLAB通信仿真开发手册》孙屹 主编 李妍 编著国防工业出版社 北京2004年