基于MATLAB的FSK调制系统设计SIMULINK仿真.docx
《基于MATLAB的FSK调制系统设计SIMULINK仿真.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的FSK调制系统设计SIMULINK仿真.docx(24页珍藏版)》请在冰豆网上搜索。
![基于MATLAB的FSK调制系统设计SIMULINK仿真.docx](https://file1.bdocx.com/fileroot1/2022-11/22/e02e1183-d623-4a9c-993e-c613c9002e3c/e02e1183-d623-4a9c-993e-c613c9002e3c1.gif)
基于MATLAB的FSK调制系统设计SIMULINK仿真
毕业论文
FSK调制技术及其MATLAB仿真
院系资讯管理系
班级
姓名
学号
指导教师
职称
提交时间
基于MATLAB的FSK调制系统设计(SIMULINK仿真)
中文摘要:
移频键控(FSK)是数据通信中最常用的一种调制方式。
FSK方法简单易于实现,并且解调不需要恢复本地载波,可以异步传输,抗噪声和抗衰落性能较强。
缺点是占用频带较宽,频带利用不够经济。
FSK主要应用于低中速数据传输,以及衰落信道和频带较宽的信道中。
MATLAB可以用来进行通信领域的研究、开发、系统设计和仿真。
阐述了计算机仿真的发展概况,及其重要意义,着重介绍了MATLAB的基础知识和其重要工具--动态仿真软件SIMULINK的基本操作。
利用MATLAB中的仿真工具SIMULINK建立了FSK仿真模型,并对仿真模型进行了测试,经结果分析表明,仿真结果与理论基本一致。
关键词:
FSK;MATLAB;仿真;调制解调
Title:
FSKmodulationsystemdesignbasedonMATLAB
Abstract:
FrequencyShiftKeying(FSK)isadatacommunicationmostcommonlyusedasa
modulationmode.FSKmethodissimple,easytoimplement,anddemodulationnotrestorelocal
carrier,ATM,Anti-noiseandanti-fadingstrongperformance.Thedrawbackisawideband
occupation,theeconomyenoughbandwidthutilization.Hence,FSKismainlyappliedintodatatransportinlowormediumrateandinfadingchannelorchannelswithrelativewidebandwidth.MATLABcanbeusedforcommunicationsintheresearch,development,systemdesignandsimulation.ExpoundedonthedevelopmentofcomputersimulationprofilesanditssignificanceMATLABhighlightsofthebasicknowledgeanditsimportanttools--dynamicsimulationsoftwareSIMULINKbasetheoperation.UsingMATLABSimulinksimulationtoolswereestablishedFSKmodulationmodelcoherent,aswellassimulationmodelsweretested,theresultsshowthatthesimulationresultsagreedwiththebasictheory.
Keywords:
FSK;MATLAB;simulation;modulation;demodulation
第1章绪论
随着社会的不断发展,通信对我们来说越来越显的重要。
对于通信技术来讲,对我们来讲的质量也就显的非常的关键。
通信的根本任务是如何保证远距离传输信息的正确性,在这方面数字通信系统具有先天的优势。
这主要是因为数字通信系统中传输的是离散的数字信号,由于信号时离散的,被噪声干扰后的信号只要没有超过门限,接收端就能完全正确的判断出传输的信息;而对于模拟传输系统,只要有稍微的干扰都会使传输信息产生错误。
也正是由于这样的原因,数字通信系统才能在各方面逐渐的取代模拟通信系统成为现代通信的最基本的方式。
为了方便区别于信号和噪声,使通信不失真和不受干扰,往往给测量信号赋以一定特征,这就是调制的功能。
调制就是用一个信号(称为调制信号)去控制另一个作为载体的信号(称为载波信号),让后者的某一特征参数按前者变化。
再将测量信号调制,并将它和噪声分离,放大等处理后,还要从已经调制的信号中提取反映被测量值的测量信号,这一过程称为解调。
为了更好地利用通信信道的带宽并使信号能够传送更大的距离,在数字载波通信中,我们采用了三种解调方式:
幅移键控(ASK)、频移键控(FSK)、相移键控(PSK)。
其中频移键控(FSK)是信息传输中使用得较早的一种调制方式,它的主要优点是:
实现起来较容易,抗噪声与抗衰减的性能较好,因此在中低速数据传输中得到了广泛的应用。
本课题主要是数字频率调制又称频移键控(FSK)。
同时利用MATLAB软件实现对FSK系统的仿真和分析,从而通过运用模拟的视觉化的手段来实现达到解调调制的目的。
1.1课题研究背景方法及目的
(1)研究背景
随着通信系统的规模和复杂度不断增加,传统的设计方法已经不能适应发展的需要,通信系统的模拟仿真技术越来越受到重视。
传统的通信仿真技术主要分为手工分析与电路试验两种,可以得到与真实环境十分接近的结果,但耗时长,方法比较繁杂,而通信系统的计算机模拟仿真技术是介于上述两种方法的一种系统设计方法,它可以让用户在很短的时间内建立整个通信系统模型,并对其进行模拟仿真。
早期,多采用计算机高级程序语言(FORTRAN、PASCAL、C等)进行仿真,用这些高级程序语言编写系统仿真程序,虽然比上述两种方法更加便捷,但在程序编写中仍需花费大量时间精力考虑事件的发生、处理以及结果的可视化等因素。
即使是一个简单系统,程序都十分冗长,难于调试[1]。
数字技术的飞速发展与数字器件的广泛使用,使得数字信号处理在通信系统中的应用越来越重要。
现代通信系统中,由于数字信号较模拟信号的抗干扰能力强,无噪声积累传输质量好;保密性高;便于与计算机连接;通信设备便于集成化、小型化、智能化;便于差错控制等优势。
信号往往采用数字进行传输。
数字信号传输系统分为基带传输系统和频带传输系统。
频带传输系统也叫数字调制系统,该系统对基带信号进行调制,使其频谱搬移到适合在信道(一般为带通信道)上传输的频带上。
FSK技术以其抗干扰性能强、误码性能好、频谱利用率高等优点,广泛应用于数字微波通信系统、数字卫星通信系统、宽带接入、移动通信及有线电视系统之中。
(2)研究方法
随着数字技术的飞速发展与数字器件的广泛使用,数字信号处理在通信系统中的应用已经越来越重要。
数字信号传输系统分为基带传输系统和频带传输系统。
频带传输系统也叫数字调制系统,该系统对基带信号进行调制,使其频谱搬移到适合在信道(一般为带通信道)上传输的频带上。
数字调制和模拟调制一样都是正弦波调制,即被调制信号都为高频正弦波。
数字调制信号又称为键控信号,数字调制过程中处理的是数字信号,而载波有振幅、频率和相位3个变量,且二进制的信号只有高低电平两个逻辑量即1和0,所以调制的过程可用键控的方法由基带信号对载频信号的振幅、频率及相位进行调制,最基本的方法有三种振幅调制(ASK)、频移键控(FSK)、相移键控(PSK)[2]。
基于信号的系统仿真,是通信电子类专业教学和科研经常使用的一种方法。
(2)研究目的
1、加深理解FSK系统的调制解调原理;
2、通过MATLAB仿真深入学习FSK系统及其性能;
3、熟悉和掌握MATLAB软件的使用方法和在通信领域的应用;
4、通过这次课题设计,自己能够务实专业知识,培养分析问题和解决问题的能力。
1.2课题设计要求
1、熟悉MATLAB的使用方法,掌握FSK信号的调制解调原理,以此为基础用M文件编程实现FSK信号的调制解调。
2、演示FSK调制解调的过程,并画出误码率随信噪比的变化曲线。
3、在老师的指导下,独立完成课程设计的全部内容,并按要求编写课程设计论文,文中能正确阐述和分析设计和实验结果。
1.3课题设计步骤
本课程设计步骤如下:
1、随机产生原始数字信号序列并对其进行FSK调制;
2、对已调信号进行解调,并绘制出解调后的数字信号序列;
3、分析解调结果,对照不同参数设置下的解调效果;
4、分析噪声对误码率的影响。
1.4MATLAB概述
一、MATLAB简介
MATLAB软件是由美国MATHWORKS公司于1984年推出的一种面向科学与工程的计算软件,用于概念设计、算法开发、建模仿真、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB内核及辅助工具箱,两者的调用构成了MATLAB的强大功能。
通过MATLAB和相关工具箱,工程师、科研人员、数学家和教育工作者可以在统一的平台下完成相应的科学计算工作。
MATLAB是矩阵实验室(MatrixLaboratory)的简称,它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
[3]MATLAB语言以数组为基本数据单位,包括控制流语句、函数、数据结构、输入输出及面向对象等特点的高级语言。
其主要特点是:
(1)具有丰富的数学功能
包括矩阵各种运算。
如:
正交变换、三角分解、特征值、常见的特殊矩阵等。
包括各种特殊函数。
如:
贝塞尔函数、勒让德函数、伽码函数、贝塔函数、椭圆函数等。
包括各种数学运算功能。
如:
数值微分、数值积分、插值、求极值、方程求根、FFT、常微分方程的数值解等。
(2)具有良好的图视系统
可方便地画出两维和三维图形。
高级图形处理。
如:
色彩控制、句柄图形、动画等。
图形用户界面GUI制作工具,可以制作用户菜单和控件。
使用者可以根据自己的需求编写出满意的图形界面。
(3)可以直接处理声音和图形文件
声音文件。
如:
WAV文件(例:
wavread,sound等)。
图形文件。
如:
bmp、gif、pcx、tif、jpeg等文件。
(4)具有若干功能强大的应用工具箱
如:
SIMULINK、COMM、DSP、SIGNAL等16种工具箱。
(5)使用方便,具有良好的扩张功能
使用MATLAB语言编写的程序可以直接运行,无需编译。
可以将M文件转变为独立于平台的EXE可执行文件。
MATLAB的应用接口程序API是MATLAB提供的十分重要的组件,由一系列接口指令组成。
用户就可在FORTRAN或C中,把MATLAB当作计算引擎使用。
(6)具有很好的帮助功能
提供十分详细的帮助文件(PDF、HTML、demo文件)。
联机查询指令:
help指令(例:
helpelfun,helpexp,helpsimulink),lookfor关键词(例:
lookforfourier)。
[4]
MATLAB6.x的集成环境,在Windos桌面,双击MATLAB图标,系统就会进入MATLAB6.x的工作环境。
MATLAB6.x的集成环境由桌面平台以及组件组成。
它包括8个组成部分:
指令窗口、历史指令窗口、工作台及工具箱窗口、当前工作目录窗口、工作空间窗口、矩阵编辑器、程序编辑器和帮助浏览器。
MATLAB帮助系统,MATLAB为用户提供了三种帮助功能:
一.利用帮助菜单获取帮
助信息。
单击MATLAB工作窗口的菜单栏Help菜单项,弹出帮助菜单项。
选择
HelpWindow选项,可以打开MATLAB的主题窗口。
选择HelpDesk选项,可以
打开MATLAB帮助工作台。
二.通过指令窗口获取帮助信息,用户可以在指令窗口
直接键入帮助指令来获得帮助。
三.使用演示功能(Demo)。
MATLAB带有生动直
观的演示程序,可以帮助用户形象直观地学习和理解MATLAB的使用方法和强大
的功能。
启动演示程序有下面几种方法:
(一)在工作台和工具箱窗口中,列出了
MATLAB和已经安装的各种工具箱。
单击欲学习的工具箱前面的“+”号,在打开
的功能项中,双击Demos,即可打开演示程序。
(二)选择Help菜单Demos选项,
可以打开MATLAB的演示窗口。
(三)在指令窗口中键入指令demo,同样可以打开
MATLAB演示窗口。
下表1是近年来MATLAB的版本更新简况:
日期
版本
平台
MATLAB系列的重要工具包软件
1987年
MATLAB3.0版
DOS
Control,signal,ldentflcatlon
1991年
3.5版
DOS
图形编程、仿真软件simulib(simulink的前身)
1993年
3.5k版
Windows3.0
1993.1
4.0版
Windows3x
MatIabwnhslmullnk,control,
NeuralNetwork,optlmlzatlon,Robust
Control,state-spaceIdentlflcaon,
Systemldentlf,panalysandsynthesls
1993.11
4.1版
SYMBOLIC,Math符号计算工具包
1994.5
4.2版
DSPblockset
1994.11
Notebokforword”活”笔记本工具包,real-timeworkshop
1995.5
4.2c版
Windows3.x
Flxe-PolntBl优kset
1996.4
MATLABcomplierMathlibrary
1997年夏
MATLAB5.0
Simulink2.0
(MATLAB公司预计)在继承MATLAB4.2C和simulink1.3c。
版本功能的基础上,实现真正32-bit运作。
数值计算更快,图形表现更有效、编程更简捷直观、用户界面更友善
表1
二、基于MATLAB仿真实现方法
MATLAB通信工具箱是一套用于在通信领域进行理论研究、系统开发、分析设计和仿真的专业化工具软件包。
MATIAB通信工具箱由两大部分组成:
通信系统功能函数库和SIMULINK通信系统仿真模型库。
运行MATLAB通信工具箱需要有MATLAB信号处理工具箱支持[5]。
MATLAB通信系统功能函数库由七十多个函数组成,每个函数有多种选择参数、函数功能覆盖了现代通信系统的各个方面。
这些函数包括:
信号源产生函数、信源编码/解码函数、纠错控制编码/解码函数、调制/解调函数(基带和通带)、滤波器函数、传输信道模型函数(基带和通带)、TDMA、FDMA、CDMA函数、同步函数、工具函数等。
以纠错控制编解码函数为例:
函数库提供了线性分组码、汉明码、循环码、BCH码、里德一索洛蒙码(REED—SOLOMON)、卷积码等6种纠错控制编码,每种编码又有编码、解码、矢量输入输出、序列输入输出等四种形式的函数表达。
在SIMULINK通信系统仿真模型库中,整个通信系统的流程图被概括为:
信号的产生与输出、编码与解码、调制与解调。
多址接入方式、滤波器以及传输介质的模型。
每个框图都由一个子仿真模型库构成。
在通信系统中,一般情况下,传输和接受所采用的技术是相互对应的,因此,可以将发射与接收部分中各个子仿真模型库进行相应的归类。
发射部分的信源编码和接收部分的信源解码所对应的子仿真模型库归类后共有5种信源编解码仿真模型。
另外,为能进行通信的全系统仿真,SIMULINK通信系统仿真模型库提供了通带和基带两种类别的信道模型,其中通带信道有4种模型,基带信道有6种模型[6]。
三、simulink仿真模块功能
Simulink是Mathworks公司推出的基于Matlab平台的著名仿真环境Simulin作为一种专业和功能强大且操作简单的仿真工具,目前已被越来越多的工程技术人员所青睐,它搭建积木式的建模仿真方式既简单又直观,而且已经在各个领域得到了广泛的应用。
Simulink是一个用来对动态系统进行建模、仿真和分析的软件包。
它的存在使MATLAB的功能得到进一步扩展。
这种扩展的意义表现在:
(1)实现了可视化建摸。
在windows视窗里,用户通过简单的鼠标操作就可以建立起直观的系统模型,并进行仿真。
(2)实现了多工作环境间文件互用和数据交换,如SIMULINK与MATLAB,SIMULINK与C、FORTRAN,SIMULINK与DSP,SIMULINK与实时硬件工作环境等的信息交换都可以方便地实现。
(3)把理论研究和工程实现有机地结合在一起。
SIMULINK支持线性和非线性系统,连续和离散时间模型,或者是两者的混合。
系统还可以是多采样率的,比如系统的不同部分拥有不同的采样率。
Simulink已经在学术和工业等领域得到了广泛的应用,用它可以进行动态系统的建模和仿真,也可以很随意地建立各种模型。
Simulink仿真是交互式的,可以很随意地改变模型的参数并且马上就可以看到改变参数后的结果。
MATLAB中的分析与可视化工具多种多样并且易于操作,所以用户可以对仿真的结果进行分析并且使之可视化。
Simulink会使你的计算机变成一个实验室,以用来对各种现实中不可能存在或现实中恰恰相反的系统进行建模和仿真。
不管是汽车离合器的动作,飞机机翼的抖动,还货币供给对经济的影响等都可以进行建模和仿真。
对于建模,Simulink提供了一个图形化的用户界面(GUI),可以用鼠标点击和拖拉模块的图标建模。
通过图形界面,可以像用铅笔在纸上画图一样画模型图。
这是以前需要用编辑语言明确地用公式表达微分方程的仿真软件包所远远不能相比的。
Simulink包括一个复杂的接受器、信号源、线性和非线性组件以及连接件组成的模块库,也可以制定或者创建用户自己的模块。
在定义完一个模型以后,就可通过Simulink的菜单事者在MATLAB的命令窗口输入命令对它进行仿真。
菜单对于交互式工作非常方便,而命令行方式对于处理成批的仿真比较有用(例如,你在进行MonteCarlo仿真时想使参数遍历某一范围的值)。
使用Scopes或者其它的显示模块,可以在运行仿真时观察到仿真的结果。
另外,还可以在仿真时改变参数并且立即就可看到有什么变化。
仿真的结果可以放在MATLAB的工作空间(workspace)中以等进一步的处理或者可视化。
因此该结构具有直观、方便、灵活的优点。
同时,RTW(realtimeworkshop)还可以对Simulink模块提供C代码生成功能,所以用户可以通过Simulink建立系统模型,并针对不同的参数进行动态仿真,通过参数不断调整优化,找出系统最佳实现模型参数,此时,可以通过RTW模块直接生成相应的C语言程序,并且此程序是经过优化的,因此利用此功能可以方便、快捷地实现系统开发,其大部分工作均在Simulink环境中完成,最后只须将生成优化的C代码嵌入系统,从某种程度上说,Simulink及RTW的出现在强大MATLAB功能的同时,也在改变着人们对系统进行开发设计的流程。
Simulink包含以下模型库:
输入源(sources)、输出方式(sinks)、离散子模块(discrete)、线性环节(linear)、非线性环节(nonlinear)、连接与接口(corrnections)、工具箱(toolboxse&blockscts)。
第2章FSK系统的理论综述
2.1数字调制解调
数字调制具有调幅、调频和调相3种基本形式,对应的3种基本调制方法是振幅键控(ASK)、频移键控(FSK)和相移键控(PSK),在此基础上还可以派生出许多其他的形式。
数字调制是用载波信号的某些离散状态来表征所传输的信息,在接收端也对载波信号的离散调制参量进行检测,数字调制采用正弦波调制,即被调制信号为高频正弦波。
数字解调是一种为了传播方便,把信息编码传输的方法。
在传输过程中,语音通话等会转变成一连串的数字信号,变为计算机二进制代码0和1,在信息接收处又解码恢复到原来的语音状态。
解调是调制的逆过程,其作用是从接受的已调信号中恢复原基带信号(即调制信号)。
调制的方法可分为两类:
相干解调和非相干解调。
由于FSK的解调过程有相干解调法和非相干解调法,我们在这里只介绍相干解调原理。
相干解调是指利用乘法器,输入一路与载频相干(同频同相)的参考信号与载频相乘。
比如原始信号A与载频cos(ωt+θ)调制后得到信号Acos(ωt+θ);
解调时(2FSK解调)引入相干(同频同相)的参考信号cos(ωt+θ),则得到:
Acos(ωt+θ)cos(ωt+θ)
利用积化和差公式可以得到
A*1/2*[cos(ωt+θ+ωt+θ)+cos(ωt+θ-ωt-θ)]
=A*1/2*[cos(2ωt+2θ)+cos(0)]
=A/2*[cos(2ωt+2θ)+1]
=A/2+A/2cos(2ωt+2θ)
利用低通滤波器将高频信号cos(2ωt+2θ)滤除,即得原始信号A。
因此相干解调需要接收机和载波同步。
2.2频移键控(FSK)
所谓FSK就是用数字信号去调制载波频率,是数字信号传输中用的最早的一种调制方式。
此方式实现起来比较容易,抗噪声和抗衰减性能好,稳定可靠,是中低速数据传输最佳选择。
频移就是把振幅、相位作为常量,而把频率作为变量,通过频率的变化来实现信号的识别,在FSK中传送的信号只有0和1两个。
2.2.1FSK的调制原理
频率调制的最简单形式是二进制频移键控(2FSK)。
在频移键控的调制解调中,我们将源数字信号1和0分别进行不同频率调制,载波的频率随二进制基带信号在
和
两个频率点间切换。
其表达式为
(2-1)
频移键控常采用调制方式需要两个不同频率段的载波信号,码元为“1”和码元为“0”时的载波频率不同,其数学表达式为
(2-2)
其中
(2-3)
(2-4)
(2-5)
(2-6)
FSK调制的原理框图如图2-1所示:
图2-1频移键控调制原理框图
2.2.2FSK的解调原理
在解调时可采用相干解调,同步检测的方式。
其原理是将2FSK信号分解为上下两路2ASK信号分别进行解调,然后进行判决。
这里的抽样判决是直接比较两路信号的抽样值大小,可以不专门设置门限。
相干解调的原理框图如图2-2所示:
图2-2同步检测解调原理框图
第3章FSK在MATLAB环境下的仿真
3.1FSK在MATLAB环境下的仿真过程与结果
FSK的模拟仿真是采用的matlab软件,其在电脑运行环境如图3-1所示。
实验过程是在窗口点击matlab快捷方式,使其运行,将FSK调制与解调的程序输入框中,点击回车即可运行,运行结果后面进行分析。
图3-1
在matlab环境下调制与解调的程序如:
附件1(百分号后为程序注释)
程序的运行过程是:
首先产生25个随机序列码(如图3-2所示注:
此序列为随机序列,每一次运行程序所产生的序列都不同),然后通过调用函数对该序列进行调制(如图3-3所示)。
在调制信号中加入高斯白噪声(如图3