第一篇:通信系统仿真实验
实验
一、Systemview操作环境的认识与操作
一、实验目的
1、了解和熟悉Systemview 软件的基本使用;
2、初步学习Systemview软件的图符库,能够构建简单系统。
二、实验要求:
1、PDF中1.7练习
2、正弦信号(频率为学号*10,幅度为(1+学号*0.1)V)、及其平方谱分析;并讨论定时窗口的设计对仿真结果的影响。
三、实验仿真
四、实验结论
输出信号底部有微弱的失真,调节输入的频率的以及平方器的参数,可以改变输入信号的波形失真,对于频域而言,sin信号平方之后,其频率变为原来的二倍,这一点可有三角函数的化简公式证明
实验
二、滤波器使用及参数设计
一、实验目的
1、学习使用SYSTEMVIEW 中的线性系统图符。
2、掌握典型FIR 滤波器参数和模拟滤波器参数的设置过程。
3、按滤波要求对典型滤波器进行参数设计。
二、实验要求: 学习滤波器的设计
1、设计一种FIR型带通滤波器,带通滤波器的带通范围为150HZ-200Hz,下边带截止频率为120HZ。上边带截止频率为230HZ。截止点相对于滤波器带通区的归一化增益为-60dB。
2、设计一种模拟低通滤波器,低通滤波器的通带范围为学号*10。
三、实验仿真
四、实验结论
对于试验中低通滤波器的参数设置不太容易确定,在输入完通带宽度、截止频率和截止点的衰落系数等滤波器参数后,如果选择让SystemView 自动估计抽头,则可以选择“Elanix Auto Optimizer”项中的“Enabled”按钮,再单击“Finish”按钮退出即可。此时,系统会自动计算出最合适的抽头数通常抽头数设置得越大,滤波器的精度就越大。
实验
三、模拟线性调制系统仿真(AM)
一、实验目的
1、学习使用SYSTEMVIEW 构建简单的仿真系统。
2、掌握模拟幅度调制的基本原理。
3、掌握常规调幅、DSB 的解调方法。
4、掌握AM 信号调制指数的定义。
二、实验要求
1、完成PDF中4.1节的AM调幅仿真(要求调制信号频率为学号*10),改变调制度,并观察输出波形(已调波)的变化;观察其输出频谱
2、设计滤波器,完成AM系统的解调;观察其输出频谱;
三、实验仿真
四、实验结论
高斯白噪声的功率谱是均匀分布的,作为一种噪声,仿真的时候加上高斯白噪声其结果频谱宽但是除了输出信号的频谱功率大些,其他的比较微弱,低通滤波器对高斯白噪声的影响并不是很大,在实际中,所有的通信系统中都不可避免的引入高斯白噪声。
实验
四、DSB调制解调仿真
一、实验目的
1、学习使用SYSTEMVIEW 构建简单的仿真系统。
2、掌握模拟幅度调制的基本原理。
3、掌握常规调幅、DSB 的解调方法。
4、掌握AM 信号调制指数的定义。
二、实验要求
使用通信库中现成的双边带调幅图符重新完成4.1节中的仿真,并进行解调及分析
三、实验仿真
四、实验结论
DSB系统在无干扰的信道中传输时,解调后的波形与调制信号波形相比较,只是发生了一点延迟,幅度变化也不是很大,其波形基本与调制信号波形一样。而DSB系统在有噪声干扰的信道中传输时,解调后的信号不仅有延迟,而且波形发生了变化,仍然为正弦波,但是幅度却发生了很大变化,而且是不规则的幅度变化。
实验
五、SSB调制解调仿真
一、实验目的
1、熟悉和掌握单边带调制解调方法,以及对比单边带和双边带调制,比较其优缺点,、掌握SSB调制解调设计流程。
2、练习使用SytemView软件仿真的使用。构造一般的仿真系统
二、实验要求
参考PDF 4.3节,采用移相法完成SSB调制,并进行解调。
三、实验仿真
四、实验结论
实验中并没有加高斯白噪声,但输出的结果频谱仍然有些噪声。实验中采用的频率为180Hz,结果图并不理想,也没有把上边带和下边带的频谱放在一起对比,不过在试验中,最开始的时候两个信号的频率一样的时候,上边带互相抵消的,上边带没有波形。
实验
六、模拟角度调制系统仿真
一、实验目的
1、分析理解FM调制的意义
2、掌握FM调制的基本原理
3、设计调制及解调仿真系统
二、实验要求
1、完成PDF中5.1.1、5.1.2节的仿真;
2、加大5.1.2节中FM调制器的调制增益,观察输出FM信号的频谱变化。在解调器前面加大噪声,并逐步改变噪声功率,观察解调波形失真情况。
三、实验仿真
实验参数设置比较麻烦,参数设置的并不太合适导致输出信号的波形并不是十分规范,实验输出信号的频谱也存在很大的噪声,在试验中修改滤波器的参数可以使得输出的波形和频谱改变较大,但是很难找到一个十分完美的参数使得信号可以完美的无失真,调频信号的频率为180Hz,滤波器的参数根据调制信号和载波信号的频率进行适当的设置即可。
实验
七、脉冲幅度调制系统仿真
一、实验目的
1、理解并掌握抽样定律,了解抽样定理的一般应用。
2、设计一个脉冲幅度调制的通信系统,掌握脉冲幅度调制系统的一般设计流程和方法
二、实验要求
1、理解抽样定理的意义
2、采用乘法抽样与开关抽样两种方式完成信号的取样与恢复
三、实验仿真
四、实验结论
当采样频率小于奈奎斯特频率时,在接收端恢复信号失真比较大,这是因为存在信号 混叠,当采样频率大于或者等于奈奎斯特采样频率的时候,恢复信号和原始信号基本一致,理论上理想抽样频率为2倍的奈奎斯特带宽,但是在实际工程应用中,限带信号绝对不会严格限带,而且实际滤波器特性并不理想。
实验八基带传输系统眼图分析与观察
一、实验目的
了解眼图分析法中系统参数的影响,建立构成观察眼图的基带传输仿真原理图,掌握眼图观察的相关参数的设置。眼图 的 “眼睛” 张开的大小反映着码间串扰的强弱。“眼睛”张的 越大,且眼图越端正,表示码间串扰越小;反之表示码间串扰越大。学习如何通过眼图来评价一个通信系统的性能。
二、实验要求 参考pdf7.2节
1、了解眼图分析法中系统参数的影响
2、建立构成观察眼图的基带传输仿真原理图,掌握眼图观察的相关参数的设置
三、实验仿真
四、实验结论
信噪比是度量通信系统通信质量可靠性的一个主要技术指标,眼图能直观的表明码间串扰和噪声的影响,可以用来评价一个通信系统的优劣,另外也可以用来根据眼图对接收滤波器的特性加以调整,以减少码间串扰和改善系统的传输性能。
实验九数字信号的载波调制系统仿真
一、实验目的
1、熟悉并且掌握数字信号的载波传输的基本原理,2、掌握原理图,能根据原理图设计出对应的通信系统,3、掌握原理图中各部分的作用与组成,4、掌握相干解调和非相干解调的基本原理,掌握两种解调方式的优缺点,并能够根据实际情况选用适当的解调方式,5、熟悉SystemView的仿真流程,进一步简易通信系统的设计流程
二、实验要求
1、学习数字信号的载波传输的基本原理(包括2ASK、2FSK);
2、完成2ASK调制仿真(包括调幅法和键控法)和解调仿真(相干解调和非相干解调);
3、完成2FSK调制仿真(包括模拟调频法和键控法)和解调仿真(相干解调和非相干解调);
三、实验仿真
四、实验结论
在2ASK调制中,载波的幅度只有两种变化状态,即利用数字信息“0”或“1”的基带矩形脉冲去键控一个连续的载波,使载波时断时续的输出。有载波输出时表示“1”,无载波输出时表示发送“0。2FSK信号产生的方法一般有两种:一种叫直接调频法,另一种叫频移键控法。所谓直接调频法,就是将输入的基带脉冲去控制一个振荡器的某种参数,而达到改变振荡频率的目的。虽然方法简单,但频率稳定度不高,同时转移速度不能太高;键控法就是利用矩形脉冲序列控制的开关电路,对两个不同的独立频率源进行选通。一般来说,键控法采用两个独立的振荡器,得到的是相位不连续的2FSK信号;而且直接调频法f1,f2由同一个谐振电路产生,则得到相位连续的2FSK信号。2FSK信号便是0符号对应于载频f1,1符号对应于载频f2(与f1不同的另一个载频)的一调制波形,而f1与f2的改变是瞬间完成的;
十、自行设计内容:增量调制
一、实验目的
1.通过实验加深对课本理论知识的理解。2.掌握SystemView进行通信原理仿真的方法。
3.通过实验进一步掌握增量调制系统的构成及其工作原理。4.通过实验现象对比,了解系统各项参数对系统性能的影响。
二、实验要求
1、分析各个模块在系统中的作用,并说明系统构成的原理。
2、说明系统各个参数设定的具体依据。
3、改变系统参数,结合输出波形分析造成输出波形失真的原因。
三、实验仿真
四、实验结论
输出端较好的还原了输入信号,经过判决器后输出的波形为连续的1和-1,从波形上来看,就是一些看似无规律的方波,而积分器正是在这些方波为高(即1)时积分,而在为低(-1)时反积分,从而还原输入信号。但是在上图中我们看到在信号低频部分(即波形左边部分)有失真现象,这是因为量化阶设置比较大,虽然能够较好的还原高频部分,但却在低频部分却产生了失真,
第二篇:通信原理仿真
通信原理仿真实验提纲
1.任意产生一个调制信号,画出其波形及其频谱;
2.产生一个余弦载波信号,画出其波形及其频谱;
3.分别采用AM(幅度),DSB(双边),SSB(单边)的方式对调
制信号进行调制,画出已调信号的波形及频谱;
4.采用适当的方式,分别对3中得到的已调信号进行解调,画
出解调信号的波形;
5.产生一个高斯白噪声,叠加在已调信号上,然后进行解调,画出解调信号的波形;
6.比较4和5中的结果;
7.编写A律13折线PCM编码的程序,能够对任意输入信号输
出其PCM编码;
8.产生一个随机数字信号,分别进行ASK,FSK,PSK调制解调,画出解调前后的波形
第三篇:通信仿真课程设计 初稿
基于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;
第四篇:基于MATLAB的通信系统的仿真报告参考例文
摘要
Simulink是Mathworks公司推出的基于Matlab平台的著名仿真环境Simulin作为一种专业和功能强大且操作简单的仿真工具,目前已被越来越多的工程技术人员所青睐,它搭建积木式的建模仿真方式既简单又直观,而且已经在各个领域得到了广泛的应用。
本文主要是以simulink为基础平台,对2ASK、2FSK、2PSK信号的仿真。文章第一章内容是对simulink的简单介绍和通信技术的目前发展和未来展望;第二章是对2ASK、2FSK和2PSK信号调制及解调原理的详细说明;第三章是本文的主体也是这个课题所要表现的主要内容,第三章是2ASK、2FSK和2PSK信号的仿真部分,调制和解调都是simulink建模的的方法,在解调部分各信号都是采用相干解调的方法,而且在解调的过程中都对整个系统的误码率在display模块中有所显示
本文的主要目的是对simulink的熟悉和对数字通信理论的更加深化和理解。
关键词:2ASK、2FSK、2PSK,simulink,调制,相干解调
目 录
第一章 绪论...........................................................31 1.1 MATLAB/Smulink的简介...............................................31 1.2 通信发展简史.......................................错误!未定义书签。1 1.3 通信技术的现状和发展趋势...........................错误!未定义书签。4 第二章 2ASK、2FSK、2PSK和2DPSK的基本原理和实现......错误!未定义书签。7 2.1 2ASK的基本原理和调制解调实现.....................错误!未定义书签。8 2.2 2FSK的基本原理和调制解调实现....................错误!未定义书签。11 2.3 2PSK的基本原理和调制解调实现
...................错误!未定义书签。14 2.2DPSK的基本原理和调制解调实现
...................错误!未定义书签。18 第三章 Smulink的模型建立和仿真....................错误!未定义书签。24 3.1 2ASK的仿真......................................错误!未定义书签。24 3.2 2FSK的仿真......................................错误!未定义书签。32 3.3 2PSK的仿真......................................错误!未定义书签。41 总结....................................................................46 致谢....................................................................47 参考文献................................................................47
第一章
绪论
1.1 MATLAB/Simulink的简介
美国Mathworks公司于1967年推出了矩阵实验室“Matrix Laboratory”(缩写为Matlab)这就是Matlab最早的雏形。开发的最早的目的是帮助学校的老师和学生更好的授课和学习。从Matlab诞生开始,由于其高度的集成性及应用的方便性,在高校中受到了极大的欢迎。由于它使用方便,能非常快的实现科研人员的设想,极大的节约了科研人员的时间,受到了大多数科研人员的支持,经过一代代人的努力,目前已发展到了7.X版本。Matlab是一种解释性执行语言,具有强大的计算、仿真、绘图等功能。由于它使用简单,扩充方便,尤其是世界上有成千上万的不同领域的科研工作者不停的在自己的科研过程中扩充Matlab的功能,使其成为了巨大的知识宝库。可以毫不夸张的说,哪怕是你真正理解了一个工具箱,那么就是理解了一门非常重要的科学知识。科研工作者通常可以通过Matlab来学习某个领域的科学知识,这就是Matlab真正在全世界推广开来的原因。目前的Matlab版本已经可以方便的设计漂亮的界面,它可以像VB等语言一样设计漂亮的用户接口,同时因为有最丰富的函数库(工具箱),所以计算的功能实现也很简单,进一步受到了科研工作者的欢迎。另外,,Matlab和其他高级语言也具有良好的接口,可以方便的实现与其他语言的混合编程,进一步拓宽了Matlab的应用潜力。可以说,Matlab已经也很有必要成为大学生的必修课之一,掌握这门工具对学习各门学科有非常重要的推进作用。
Simulink是MATLAB中的一种可视化仿真工具,也是目前在动态系统的建模和仿真等方面应用最广泛的工具之一。确切的说,Simulink是一个用来对动态系统进行建模、仿真和分析的软件包,它支持线性和非线性系统,连续、离散时间模型,或者是两者的混合。系统还可以使多种采样频率的系统,而且系统可以是多进程的。Simulink工作环境进过几年的发展,已经成为学术和工业界用来建模和仿真的主流工具包。在Simulink环境中,它为用户提供了方框图进行建模的图形接口,采用这种结构画模型图就如同用手在纸上画模型一样自如、方便,故用户只需进行简单的点击和拖动就能完成建模,并可直接进行系统的仿真,快速的得到仿真结果。它的主要特点在于:
1、建模方便、快捷;
2、易于进行模型分析;
3、优越的仿真性能。它与传统的仿真软件包微分方程和差分方程建模相比,具有更直观、方便、灵活的优点。Simulink模块库(或函数库)包含有Sinks(输出方式)、Sources(输入源)、Linear(线性环节)、Nonlinear(非线性环节)、Connection(连接与接口)和Extra(其他环节)等具有不同功能或函数运算的Simulink库模块(或库函数),而且每个子模型库中包含有相应的功能模块,用户还可以根据需要定制和创建自己的模块。用Simulink创建的模型可以具有递阶结构,因此用户可以采用从上到下或从下到上的结构创建模型。
用户可以从最高级开始观看模型,然后用鼠标双击其中的子系统模块,来查看其下一级的内容,以此类推,从而可以看到整个模型的细节,帮助用户理解模型的结构和各模块之间的相互关系。在定义完一个模型后,用户可以通过Simulink的菜单或MATLAB的命令窗口键入命令来对它进行仿真。菜单方式对于交互工作非常方便,而命令行方式对于运行仿真的批处理非常有用。采用Scope模块和其他的显示模块,可以在仿真进行的同时就可立即观看到仿真结果,若改变模块的参数并再次运行即可观察到相应的结果,这适用于因果关系的问题研究。仿真的结果还可以存放到MATLAB的工作空间里做事后处理。模型分析工具包括线性化和整理工具,MATLAB的所有工具及Simulink本身的应用工具箱都包含这些工具。由于MATLAB和SIMULINK的集成在一起的,因此用户可以在这两种环境下对自己的模型进行仿真、分析和修改模型。但是Simulink不能脱离MATLAB而独立工作。,1.2 通信技术的历史和发展
1.2.1 通信的概念
通信就是克服距离上的障碍,从一地向另一地传递和交换消息。消息是信息源所产生的,是信息的物理表现,例如,语音、文字、数据、图形和图像等都是消息(Message)。消息有模拟消息(如语音、图像等)以及数字消息(如数据、文字等)之分。所有消息必须在转换成电信号(通常简称为信号)后才能在通信系统中传输。所以,信号(Signal)是传输消息的手段,信号是消息的物质载体。
相应的信号可分为模拟信号和数字信号,模拟信号的自变量可以是连续的或离散的,但幅度是连续的(分别如图1-2-1所示),如电话机、电视摄像机输出的信号就是模拟信号。数字信号的自变量可以是连续的或离散的,但幅度是离散的(分别如图1-2-2所示),如电船传机、计算机等各种数字终端设备输出的信号就是数字信号。
通信的目的是传递消息,但对受信者有用的是消息中包含的有效内容,也即信息(Information)。消息是具体的、表面的,而信息是抽象的、本质的,且消息中包含的信息的多少可以用信息量来度量。
通信技术,特别是数字通信技术近年来发展非常迅速,它的应用越来越广泛。通信从本质上来讲就是实现信息传递功能的一门科学技术,它要将大量有用的信息无失真,高效率地进行传输,同时还要在传输过程中将无用信息和有害信息抑制掉。当今的通信不仅要
有效地传递信息,而且还有储存、处理、采集及显示等功能,通信已成为信息科学技术的一个重要组成部分。
通信系统就是传递信息所需要的一切技术设备和传输媒质的总和,包括信息源、发送设备、信道、接收设备和信宿(受信者),它的一般模型如图1-2-3所示。
信息源发送设备信道接收设备受信者
↑
噪声源
图1-2-3通信系统一般模型
通信系统可分为数字通信系统和模拟通信系统。数字通信系统是利用数字信号来传递消息的通信系统,其模型如图1-2-4所示,信信源源信道数字制器数信信字受 道源信息编编调 解译译信码器码器道调器码器码器者 ↑
噪声源
图1-2-4 数字通信系统模型
模拟通信系统是利用模拟信号来传递消息的通信系统,其模型如图1-2-5所示。
信息源调制器信道解调器受信者
噪声源
图1-2-5 模拟通信系统模型
数字通信系统较模拟通信系统而言,具有抗干扰能力强、便于加密、易于实现集成化、便于与计算机连接等优点。因而,数字通信更能适应对通信技术的越来越高的要求。近二十年来,数字通信发展十分迅速,在整个通信领域中所占比重日益增长,在大多数通信系统中已代替模拟通信,成为当代通信系统的主流。
1.2.2 通信的发展史简介
远古时代,远距离的传递消息是以书信的形式来完成的,这种通信方式明显具有传递时间长的缺点。为了在尽量短的时间内传递尽量多的消息,人们不断地尝试所能找到的各种最新技术手段。1837年发明的莫尔斯电磁式电报机标志着电通信的开始,之后,利用电进行通信的研究取得了长足的进步。1866年利用海底电缆实现了跨大西洋的越洋电报通信。1876年贝尔发明了电话,利用电信号实现了语音信号的有线传递,使信息的传递变的既迅速又准确,这标志着模拟通信的开始,由于它比电报更便于交流使用,所以直到20世纪前半叶这种采用模拟技术的电话通信技术比电报的到了更为迅速和广泛的发展。1937年瑞威斯发明的脉冲编码调制标志数字通信的开始。20世纪60年代以后集成电路、电子计算机的出现,使得数字通信迅速发展。在70年代末在全球发展起来的模拟移动电话在90年代中期被数字移动电话所代替,现有的模拟电视也正在被数字电视所代替。数字通信的高速率和大容量等各方面的优越性也使人们看到了它的发展前途。1.3 通信技术的发展现状和趋势
进入20世纪以来,随着晶体管、集成电路的出现与普及、无线通信迅速发展。特别是在20世纪后半叶,随着人造地球卫星的发射,大规模集成电路、电子计算机和光导纤维等现代技术成果的问世,通信技术在以下几个不同方向都取得了巨大的成功。(1)微波中继通信使长距离、大容量的通信成为了现实。
(2)移动通信和卫星通信的出现,使人们随时随地可通信的愿望可以实现。(3)光导纤维的出现更是将通信容量提高到了以前无法想象的地步。
(4)电子计算机的出现将通信技术推上了更高的层次,借助现代电信网和计算机的融合,人们将世界变成了地球村。
(5)微电子技术的发展,使通信终端的体积越来越小,成本越来越低,范围越来越广。例如,2003年我国的移动电话用户首次超过了固定电话用户。根据国家信息产业部的统计数据,到2005年底移动电话用户近4亿。
随着现代电子技术的发展,通信技术正向着数字化、网络化、智能化和宽带化的方向发展。随着科学技术的进步,人们对通信的要求越来越高,各种技术会不断地应用于通信领域,各种新的通信业务将不断地被开发出来。到那时人们的生活将越来越离不开通信。
第二章
数字频带传输系统
在数字基带传输系统中,为了使数字基带信号能够在信道中传输,要求信道应具有低通形式的传输特性。然而,在实际信道中,大多数信道具有带通传输特性,数字基带信号不能直接在这种带通传输特性的信道中传输。必须用数字基带信号对载波进行调制,产生各种已调数字信号。
图 2-1 数字调制系统的基本结构
数字调制与模拟调制原理是相同的,一般可以采用模拟调制的方法实现数字调制。但是,数字基带信号具有与模拟基带信号不同的特点,其取值是有限的离散状态。这样,可以用载波的某些离散状态来表示数字基带信号的离散状态。基本的三种数字调制方式是:振幅键控(ASK)、移频键控(FSK)和移相键控(PSK 或DPSK)。
本章重点论述二进制数字调制系统的原理及其抗噪声性能,简要介绍多进制 数字调制原理。2.1二进制振幅键控(2ASK)
振幅键控是正弦载波的幅度随数字基带信号而变化的数字调制.当数字基带信号为二进制时,则为二进制振幅键控.设发送的二进制符号序列由0,1序列组成,发送0符号的概率为P,发送1符号的概率为1-P,且相互独立.该二进制符号序列可表示为
(2-1-1)
其中:
(2-1-2)
Ts是二进制基带信号时间间隔,g(t)是持续时间为Ts的矩形脉冲:
(2-1-3)
则二进制振幅键控信号可表示为
(2-1-4)
二进制振幅键控信号时间波型如图 22 可以看出,2ASK信号的时间波形e2ASK(t)随二进制基带信号s(t)通断变化,所以又称为通断键控信号(OOK信号).二进制振幅键控信号的产生方法如图22 可以看出,2ASK信号与模拟调制中的AM信号类似.所以,对2ASK信号也能够采用非相干解调(包络检波法)和相干解调(同步检测法),其相应原理方框图如图25 所示._ 图 2 – 2 二进制振幅键控信号时间波型
图2-3 二进制振幅键控信号调制器原理框图
图 2 –4 二进制振幅键控信号解调器原理框图
图 26 所示,图中波形g可分解为波形e和波形f,即二进制移频键控信号可以看成是两个不同载波的二进制振幅键控信号的叠加.若二进制基带信号的1符号对应于载波频率f1,0符号对应于载波频率f2,则二进制移频键控信号的时域表达式为
e2FSK(t)ang(tnTs)cos(1tn)ang(tnTb)cos(2tn)
(2-1-5)
nn
(2-1-6)
(2-1-7)
图 2-6 二进制移频键控信号的时间波形
由图 28 所示.其解调原理是将二进制移频键控信号分解为上下两路二进制振幅键控信号,分别进行解调,通过对上下
两路的抽样值进行比较最终判决出输出信号.非相干解调过程的时间波形如图 210 所示.其基本原理是,二进制移频键控信号的过零点数随载波频率不同而异,通过检测过零点数从而得到频率的变化.在图 29)其中, an与2ASK和2FSK时的不同,在2PSK调制中,an应选择双极性,即
(2-1-10)
(2–1-11)
若g(t)是脉宽为Ts, 高度为1的矩形脉冲时,则有 e2PSK(t)=cosωct, 发送概率为P
-cosωct,发送概率为1-P 由式(2-111 所示.图 2 – 11 二进制移相键控信号的时间波形
二进制移相键控信号的调制原理图如图 214 所示.当恢复的相干载波产生180°倒相时,解调出的数字基带信号将与发送的数字基带信号正好是相反,解调器输出数字基带信号全部出错.
图 2-122PSK信号的调制原理图
图 2-132PSK信号的解调原理图
图 2-142PSK信号相干解调各点时间波形
这种现象通常称为“倒π”现象.由于在2PSK信号的载波恢复过程中存在着180°的相位模糊,所以2PSK信号的相干解调存在随机的“倒π”现象,从而使得2PSK方式在实际中很少采用.
第三章 调制与解调仿真
3-1 2ASK的调制与解调仿真 1。调制仿真
(1)建立模型方框图
2ASK信号调制的模型方框图由DSP模块中的sinwave信号源、方波信号源、相乘器等模块组成,Simulink 模型图如下所示:
图3-1 2ASK信号调制的模型方框图
其中正玄信是载波信号,方波代表S(t)序列的信号塬,正玄信号和方波相乘后就得到键控2ASK信号。2)参数设置
建立好模型之后就要设置系统参数,以达到系统的最佳仿真。从正玄信号源开始依次的仿真参数设置如下:
图3-2 正玄信号参数设置
其中sin函数是幅度为2频率为1Hz采样周期为0.002的双精度DSP信号
图3-3 方波信号源的参数设置
方波信号是基于采样的,其幅度设置为2,周期为3,占1比为2/3 3)系统仿真及各点波形图
经过上面参数的设置后,就可以进行系统的仿真下面是示波器显示的各点的波形图:
图3-4 各点的时间波形图
由上图可以看出信息源和载波信号相乘之后就产生了受幅度控制的2ASK信号。1. 解调仿真
2ASK的解调分为相干解调和非相干解调法,下面采用相干解调法对2ASK信号进行解调(1)建立simulink模型方框图
相干解调也叫同步解调,就是用已调信号恢复出载波——既同步载波。再用载波和已调信号相乘,经过低通滤波器和抽样判决器恢复出S(t)信号,simulink模型图如下:
图3-5 2ASK相干解调的 simulink模型方框图
(2)参数设置
建立好模型之后,开始设置各点的参数,由于低通滤波器是滤去高频的载波,才能恢复出原始信号,所以为了使已调信号的频谱有明显的搬移,就要使载波和信息源的频率有明显的差别,所以载波的频率设置为100Hz.为了更好的恢复出信源信号,所以在此直接使用原载波信号作为同步载波信号。下面是低通滤波器的参数设置:
图3-6 低通滤波器的参数设置图
(3)系统仿真及各点时间波形图
图3-7 2ASK信号解调的各点时间波形图
由上图可以看出由于载波频率的提高使的示波器在波形显示上出现了一定的困难,不过要想显示调制部分的理想波形只要调整示波器的显示范围即可。(4)误码率分析
由于在解调过程中没有信道和噪声,所以误码率相对较小,一般是由于码间串扰或是参数设置的问题,由3-5图可以看出此系统的误码率为0.3636。3-2 2FSK的调制与解调仿真 1.调制仿真
2FSK信号是由频率分别为f1和f2的两个载波对信号源进行频率上的控制而形成的,其中f1和f2是两个频率有明显差别的且都远大于信号源频率的载波信号,2FSK信号产生的simulink仿真模型图如下所示:
图3-8 2FSK信号的simulink模型方框图
其中sin wave和sin wave1是两个频率分别为f1和f2的载波,Pulse Generator模块是信号源,NOT实现方波的反相,最后经过相乘器和相加器生成2FSK信号,各参数设置如下: 载波f1的参设
图3-9 载波sin wave的参数设置
其中幅度为2,f1=1Hz,采样时间为0.002s在此选择载波为单精度信号
f2的参数设置
图3-10 载波sin wave1的参数设置 载波是幅度为2,f2=2,采样时间.为0.002的单精度信号。
本来信号源s(t)序列是用随机的0 1信号产生,在此为了方便仿真就选择了基于采样的Pulse Generator信号模块其参数设置如下:
图3-11 Pulse Generator信号模块参数设置 其中方波是幅度为1,周期为3,占1比为1/3的基于采样的信号。经过以上参数的设置后就可以进行系统的仿真,其各点的时间波形如下:
图3-12 2FSK信号调制各点的时间波形
由上图可以看出经过f1和f2两个载波的调制,2FSK信号有明显的频率上的差别。2.解调仿真
解调方框图如下所示:
图3-13 2FSK信号解调方框图
其中From File是一个封装模块,就是2FSK信号的调制模块,两个带通滤波器分别将2FSK信号上下分频f1和f2 ,后面就和2ASK信号的解调过程相同,各参数设置如下:
图3-14 2FSK信号f1带通滤波器参数设置
图3-15 2FSK信号f2带通滤波器参数设置
经过系统仿真后的各点时间波形如下:
图3-15 2FSK信号解调各点时间波形
经过系统的仿真可以观察出系统的误码率为0.7273,如下图所示:
图3-16 2FSK相干解调误码率
3-3 2PSK的调制与解调仿真 1.调制仿真
在二进制数字调制中,当正弦载波的相位随二进制数字基带信号离散变化时,则产生二进制移相键控(2PSK)信号.在此用已调信号载波的 0°和 180°分别表示二进制数字基带信号的 1 和 0.用两个反相的载波信号进行调制,其方框图如下:
图3-17 2PSK信号调制的simulink的模型图
其中Sin wave和Sin wave1是反相的载波,正玄脉冲作为信号源,各个参数设置如下:
图3-18 Sin wave信号参数设置
图3-19 Sin wave1信号的参数设置
由上面两个图可以看出两个载波是幅度为3频率为4Hz采样时间为0.002s的反相信号。
图3-20 脉冲信号的参数设置
脉冲信号是幅度为2周期为1占空比为50%的基于时间的信号。
图3-21 2PSK调制的各点时间波形
2. 解调仿真
(1)建立simulink模型方框图如下:
图3-22 2PSK解调框图
(2)各点的时间波形如下所示:
图3-23 2PSK解调各点的时间波形
(3)结果分析
由3-22图可以看出其误码率为0.6667,由于没有噪声的影响所以误码率一般在0.5,由于系统的 不 准确性和码间影响所以误码率稍微偏大。
总结
本文通过对数字信号的simulink建模仿真,使我数字键控的概念又有了更深的了解,而且也熟悉了simulink软件的操作,在此非常感谢李义红教员和井亚鹊教员对我的指导和支持。使我在设计和论文过程中非常顺利的完成。由于个人能力有限,在设计和论文中可能存在种种的不足之处,希望各位教员和评委予以指出,谢谢!
致谢
参考文献
[1] 王兴亮 编著,《数字通信原理与技术》,西安电子科技大学出版社,第二版 [2] 徐明远 邵玉斌 编著,《MATLAB仿真在通信与电子工程中的应用》,西安电子科技大学出版社,2005 [3] 孙屹 吴磊编著, 《Simulink通信仿真开发手册》,国防工业出版社,2003
第五篇:MatlabSimulink通信系统建模与仿真课程设计
电子信息课程设计
题目:
Matlab/Simulink通信
系统建模与仿真
班级:
2008级电子(X)班
学号:
姓名:
电子信息课程设计
Matlab/Simulink通信系统建模与仿真
一、设计目的:学习Matlab/Simulink的功能及基本用法,对给定系统进行建模与仿真。
二、基本知识:Simulink是用来对动态系统进行建模、仿真和分析的软件包,依托于MATLAB丰富的仿真资源,可应用于任何使用数学方式进行描述的动态系统,其最大优点是易学、易用,只需用鼠标拖动模块框图就能迅速建立起系统的框图模型。
三、设计内容:
1、基本练习:
(1)
启动SIMULINK:先启动MATLAB,在命令窗口中键入:simulink,回车;或点击窗口上的SIMULINK图标按钮。
图(1)建立simulink
(2)
点击File\new\Model或白纸图标,打开一个创建新模型的窗口。
(3)
移动模块到新建的窗口,并按需要排布。
(4)
连接模块:将光标指向起始模块的输出口,光标变为“+”,然后拖动鼠标到目标模块的输入口;或者,先单击起始模块,按下Ctrl键再单击目标模块。
(5)
在连线中插入模块:只需将模块拖动到连线上。
(6)
连线的分支与改变:用鼠标单击要分支的连线,光标变为“+”,然后拖动到目标模块;单击并拖动连线可改变连线的路径。
(7)
信号的组合:用Mux模块可将多个标量信号组合成一个失量信号,送到另一模块(如示波器Scope)。
(8)
生成标签信号:双击需要加入标签的信号线,会出现标签编辑框,键入标签文本即可。或点击Edit\Signal
Properties。传递:选择信号线并双击,在标签编辑框中键入<>,并在该尖括号内键入信号标签即可。
四、建立模型
1.建立仿真模型
(1)在simulink
library
browser中查找元器件,并放置在创建的新模型的窗口中,连接元器件,得到如下的仿真模型。
图(2)调幅解调器性能测试仿真模型
(2)分别双击双边带相干解调模块和低通滤波器模块,弹出如下的对话框,进行相应的参数设置。
(3)相干解调模块载波设置为1MHZ,初相位为-pi/2,低通滤波器截止频率为6000HZ。
图(3)双边带相干解调模块及低通滤波器的设置对话框
(4)在MATLAB中输入如下程序进行仿真。
%
ch5problem1.m
SNR_in_dB=-10:2:30;
SNR_in=10.^(SNR_in_dB./10);
%
信道信噪比
m_a=0.3;
%
调制度
P=0.5+(m_a^2)/4;
%
信号功率
for
k=1:length(SNR_in)
sigma2=P/SNR_in(k);
%
计算信道噪声方差并送入仿真模型
sim('ch5problem1.mdl')
;
%
执行仿真
SNRdemod(k,:)=SNR_out;
%
记录仿真结果
end
plot(SNR_in_dB,SNRdemod);
xlabel('输入信噪比
dB');
ylabel('解调输出信噪比
dB');
legend('包络检波','相干解调');
执行程序之后,得出仿真结果如下图所示。图中给出了不同输入信噪比下两种解调器输出的信噪比曲线。从图中可见,高输入信噪比情况下,相干解调方法下的输出解调信噪比大致比包络检波法好3dB左右,但是在低输入信噪比情况下,包络检波输出信号质量急剧下降,这样我们就通过仿真验证了包络检波的门限效应。
图(4)解调信噪比仿真结果
同时在仿真中给出了三路解调输出信号的波形,如下,从解调输出的波形上也可以看出,在相同噪声传输条件下,包络检波输出的正弦波幅度较小,也即包络检波的解调增益较相干解调要小。
图(5)仿真输出的解调信号波形
2建立另一个仿真模型
(1)
在图(2)的基础上加上一个锁相环,构成锁相环相干解调器模型,如下。
图(6)锁相环提取载波的相干解调仿真模型
(2)
用类似于对图(2)进行仿真的程序进行仿真,程序如下
%
ch5problem1progB.m
SNR_in_dB=-10:2:30;
SNR_in=10.^(SNR_in_dB./10);
%
信道信噪比
m_a=0.3;
%
调制度
P=0.5+(m_a^2)/4;
%
信号功率
for
k=1:length(SNR_in)
sigma2=P/SNR_in(k);
%
计算信道噪声方差并送入仿真模型
sim('
ch5problem1progB.mdl');
%
执行仿真
SNRdemod(k,:)=SNR_out;
%
记录仿真结果
end
plot(SNR_in_dB,SNRdemod);
xlabel('输入信噪比
dB');
ylabel('解调输出信噪比
dB');
legend('包络检波','相干解调');
(3)
仿真的波形如下,从结果中可以看出,在低信噪比下,锁相环相干解调器的性能比理想解调模块要差一些,但在实际中由于PLL的门限效应,一般不能达到这里仿真出来的性能曲线。
图(7)锁相环相干解调器的输出信噪比性能对比
(4)
同时给出仿真输出的解调信号波形如下
五.设计总结
借由此次模拟通信系统的建模仿真设计,基本熟悉了调制解调的原理和借条性能的测试方法,通过仿真实验进一步深入理解超外差接收机的工作原理。设计过程中由于对软件的不熟悉遇到了很多的问题,例如,元器件的正确查找,参数设置,等等,在老师的指导下,参照参考书目,及与同学们讨论摸索,及上网搜索,此次学到了很多东西。做完这次课设,对matlab软件也进一步熟悉,真正把理论与实践联系起来,使我所学的专业知识得到了的运用,更深刻的理解了理论知识,理论联系实际的实践操作能力也进一步提高。这次的课程设计,学要我们更进一步的掌握学到的基础知识,加深对软件的掌握,应用,为下一次课程设计打好基础。
【参考文献】
绍玉斌
仿真实例分析学习辅导和习题详解.清华大学出版社