您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > MATLAB的数字逻辑电路Simulink仿真
MATLAB的数字逻辑电路Simulink仿真摘要:数字逻辑电路的逻辑验证是一件繁琐的工作,费时又费力,采用MATLAB附带的图形仿真工具Simulink数字逻辑电路的仿真,简单方便,成本低。为数字逻辑电路的逻辑验证和实验教学提供了一种新的方法。[1]关键词:数字逻辑电路;MATLAB;Simulik;仿真Matlab是一种功能强大的数据分析和工程计算语言,Simulink是其中一个可视化方框图系统建模和仿真平台,将强大的数值计算能力和丰富的数据可视化能力、友好的图形用户界面融合为一体,适合于科学计算、系统仿真,系统建模直观,更加贴近系统工程设计的思维模式。[2]1、MATLAB/SIMULINK及其仿真简介Matlab是矩阵实验室(MartixLaboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发,数据可视化,数据分析以及数值计算的高级技术计算机语言和交互式环境,主要包括MATLAB和SIMULINK两大部分。Matlab的应用范围非常广,包括信号和图像处理,通讯,控制系统设计,测试和测量,财务建模和分析以及计算机生物学等众多应用领域。附加的工具箱扩展了Matlab环境,以解决这些应用领域内特定类型问题。它以强大的科学计算与可视化功能,简单易用,开发式可扩展环境,特别是所附带的30多种面向不同领域的工具箱支持,使得它在许多科学领域中成为计算机辅助设计与分析,算法研究和应用开发的基本工具和首选平台。[3]SIMULINK是一个进行动态系统的建模、仿真和综合分析的集成软件包。它可以处理的系统包括:线性、非线性系统;离散、连续及混合系统;单任务、多任务离散事件系统。在SIMULINK提供的图形用户界面GUI上,只要进行鼠标的简单拖拉操作就可以构造出复杂的仿真模型。它的外表以方框图形式呈现,且采用分层结构。从建模角度,SIMULINK既适用于自上而下的设计流程,又适用于自下而上的逆程设计。从分析研究角度,这种SIMULINK模型不仅让用户知道具体环节的动态细节,而且能够让用户清晰的了解各器件、各子系统、各系统间的信息交换,掌握各部分的交互影响。[2]SIMILINK模块库按功能进行分类,包括以下8类子库:Continuous(连续模块)Discrete(离散模块)Function&Tables(函数和平台模块)Math(数学模块)Nonlinear(非线性模块)Signals&Systems(信号和系统模块)Sinks(接收器模块)Sources(输入源模块)2、应用SIMULINK的基本操作对于simulink来说其实没什么好说的,需要什么就把什么拖到Model里面,连线之后设定参数。不是很麻烦的。但是重要的是对于系统的设计与仿真思想才是最重要的。而且里面的S-Function也是比较好的一个设计,用S-Function可以自定义一些组件,使自己的仿真看上去更加清晰与精简。Simulink的工作方式:(1)模块内的参数值首先会送到Matlab中进行计算,得到的参数值会用来当做以后需要调用的参数。(2)模型系统中的各个层级将被平展开来,每一个子系统将被相应的模块所代替。(3)模块按被处理的顺序排列,此时代数回路结构也被检查出来,此种排列产生一个列表,以确保具有代数回路的模块驱动输入的模块被更新后才更新。(4)检查块之间的链接,是否每一个块的输出端口与它所连接的模块输入端口有相同的信号宽度。准备执行仿真操作时,仿真时使用数值迭代求的的结果,每种数值积分模型提供的连续状态的微分能力。3、用simulink产生信号在MATLAB的命令视窗下输入simulink指令,则会打开untitled和librarysimulink两个视窗。librarysimulink有7个子库,其中source是信号源子库,sinks是显示器子库。子库中的任何模块都可以拖动到untitled视窗,用鼠标把模块用连线按输入输出关系连接起来,就构成了仿真系统。在untitled视窗的菜单选simulation中的start,开始进行仿真,仿真执行完毕后,示波器上会显示出信号波形。Simulink中的模型都是分级的,因此可以通过自上而下或者自下而上的方式建立模型。定义了一个模型以后,就可以通过Simulink的菜单或者在Matlab的Command中输入命令进行仿真。观察一个信号与积分之后的区别,目的是了解Scope的功能和用法。仿真结果,左边为原始信号,右边为积分后的信号。4、利用输出模块分析利用SIMULINK输出模块进行仿真结果分析输出有以下几种方法:观察输出轨迹;以文件形式输出;直接显示数据输出;用表盘和量计显示输出;进行数字信号处理、分析输出。4.1观察输出轨迹信号输入到Scope模块或XYGraph(相轨迹示波器)模块观察输出轨迹。4.2输出信号写入返回变量,并利用MATLAB命令绘图在仿真结束后,在MATLAB工作空间自动生成两个变量tout和yout,分别返回时间矢量和各个输出端子的仿真结果。执行plot(tout,yout)得图示结果。4.3用ToWorkspace模块把输出写入到MATLAB工作空间通过MATLAB的绘图命令绘制输出轨迹。4.4以文件形式输出仿真结果利用输出模块中的Tofile模块可以将仿真结果以Mat文件的格式直接保存到数据文件中。4.5直接显示数据输出4.6表盘和量计显示输出Dials&Gauges4.6信号处理、分析输出DSP模块、SIMULINKExtra模块5、Simulink仿真通过调用Simulink中的功能模块构成数字滤波器的仿真框图,在仿真过程中,可以双击各功能模块,随时改变参数,获得不同状态下的仿真结果。例如构造以基波为主的原始信号x(t),x(t)=5sin(100pi*t)+2sin(200at)+sin(2*83.3*pi*t),通过Simulink环境下的DigitalFilterDesign(数字滤波器设计)模块导入2.1.2中FDATool所设计的滤波器文件1.fda。仿真图和滤波效果图如图所示。可以看到经过离散采样、数字滤波后分离出了83.3Hz的频率分量(scope1)。之所以选取上面的叠加信号x(t)作为原始信号,是由于在实际工作中是要对已经经过差分滤波的信号进一步做带通滤波,信号的各分量基本同x(t)一致,可以反映实际的情况。本例设计的滤波器已在实际工作中应用,取得了不错的效果。6、结论通过上面的分析可以知道,利用Matlab的Simulink工具箱可以快速的对数字逻辑电路进行建模与仿真,并且通过SCOPE模块可以非常直观的观察到输入输出间的关系,进而进行分析得出数字逻辑器件的逻辑功能。Simulink是MATLAB中的一种可视化仿真工具,可广泛应用于线性系统、数字控制以及数字信号处理的建模与仿真中。[7]也能进行数字电路的设计,调试,仿真,验证等功能。MATLAB在数字信号处理技术中,适合于前期对算法的模拟及对所得实训数据的事后分析。可编程逻辑器件适合对大量数据的并行处理。在可编程数字逻辑电路教学中应将两者紧密结合起来,综合运用。应用Matlab/Simulink进行数字电路仿真简单可行,而且生动形象,学习起来也比较简单,易于接受。能有效的提高学生的学习兴趣,提高了老师的教学速度。如果能熟练掌握计算机仿真,对我们是未来工作会有很大的帮助。参考文献:[1]厉雅萍,钟庆昌.测控技术[2]跳频扩频系统的Matlab模拟仿真实现[3]吕天雄.Matlab与Simulink仿真学习[4]MATLAB仿真技术与应用[5]丁磊,潘贞存,丛伟.基于MATLAB信号处理工具箱的数字滤波器设计与仿真[6]郑阿奇,曹弋.MATLAB实用教程[7]基于matlab的数字逻辑电路仿真
本文标题:MATLAB的数字逻辑电路Simulink仿真
链接地址:https://www.777doc.com/doc-4369340 .html