收藏 分享(赏)

利用simulink实现8线3线编码器的设计仿真.doc

上传人:weiwoduzun 文档编号:2801222 上传时间:2018-09-27 格式:DOC 页数:4 大小:175KB
下载 相关 举报
利用simulink实现8线3线编码器的设计仿真.doc_第1页
第1页 / 共4页
利用simulink实现8线3线编码器的设计仿真.doc_第2页
第2页 / 共4页
利用simulink实现8线3线编码器的设计仿真.doc_第3页
第3页 / 共4页
利用simulink实现8线3线编码器的设计仿真.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、1 电子信息系统仿真与设计课程设计报告- 1 -利用 simulink 实现 8 线 3 线编码器的设计仿真1 问题描述(8 线 3 线编码的设计的数学建模)在数字电路中,编码器、译码器的应用极为广泛。所谓编码,就是在选定的一系列二值代码中赋予每个代码以固定的含义,执行编码功能的电路统称为编码器。实现 8 线 3 线编码器,它的功能是对输入端的 8 个信号进行编码,输出三位二进制数。要求输入信号每次只有一个事 0,其余 7 个是 1。其中 0 值是待编码信号。我们将用MATLAB 的 simulink 软件包实现这种常用的数字组合逻辑电路,并进行仿真。2. 系统模型及建模分析根据前面介绍的 8

2、 线 3 线编码器的功能,可列出下面得真值表:有了真值表之后,就可以写出输入输出间的逻辑函数式如下:在写出逻辑表达式之后,我们就可以用与非门来实现这个表达式。3. 仿真实现;在进行仿真时,将在 8 个输入端依次加一个低电平,然后用 3 个示波器观察 3 个输出波形。用 simulink 实现这个数学电路系统一共分三个步骤:第一步:添加模块,在 MATLAB 中运行 simulink,打开模块浏览器,然后新建一个模型。接下来把本次仿真需要的模块添加到模型中。这里共需要三种模块:与非门 4 个,离散信刘芳 20078001219- 2 -号脉冲源 8 个,示波器 3 个。与非门位于 simulin

3、k 模块库中的 logocal operater,离散信号源脉冲位于 simulinksourcespulse generator,示波器位于 simulinksinksscope。将这三种模块到拖到一个模型中。点击与非门模块的名称,即写着 Logical Operator 的区域,将名称改为 Y0,接着点击选中与非门模块不要松开鼠标,按住 Ctrl 键拖动这个模块到另一个位置,就会复制一个新的Y1 模块。用同样的方法得到 Y2,类似地将离散信号脉冲源模块名字改为 J0,同样得到J0,J1J7 。最后将示波器复制三个。这样一来就将所有模块添加到模型中了。第二步:修改模块参数首先双击 Y0,打开

4、属性对话框,将操作( Operator)修改为“NAND” ,输入节点数改为 4,然后点击 OK 确定。Y1,Y2 也做同样修改。然后,通过双击示波器模块 Scope,得到一个图形界面,在其工具栏上单击打印图标右边的 Parameters 图标,打开示波器属性设置对话框,将坐标轴改为 3,同样地,将示波器Scope1,Scope2 的坐标轴数改为 4。最后修改脉冲源的属性。双击离散脉冲源 J0,将看到关于它的属性对话框,可以从对话框中看到 5 个参数设置,分别为:Amolititude:方波信号的幅度;Period:方波信号的周期;Pulse width: 脉冲宽度;Sample Time:采

5、样时间长度,以秒为单位。针对这个例子中的要求,我们需要 J0 到 J7 依次为低电平,所以将 J0 到 J7 的周期调整为8,脉冲宽度设为 7,相位延迟为-7 到 0,幅度和采样时间用默认值。这样在零时刻,J0 为低电平,其余输入为高电平;过一个采样时间,J1 变为低电平。这样下去,到第七个采样时间,J7 变为低电平。从而实现了设计要求。第三步:联系及仿真现在将各模块之间的连线上。根据输入输出的逻辑表达式,将 J1、J3、J5、J7 接到 Y0的输入,将 J2、J3、J6 、J7 接到 Y1 的输入,将 J4、J5、J6、J7 接到 Y2 的输入。然后用示波器 Scope 监测 Y2、Y1、

6、Y0 的输出,Scope1 用来监视 J0 到 J3 这 4 个波形,Scope2 用来监视 J4 到 J7 这 4 个波形。这样我们就完成了连线、在最后进行仿真之前,先保存结果到自己的工作目录里。仿真结束后,可以从示波器 Scope1,Scope2 上看到编码器的 8 个输入端的波形,在示3 电子信息系统仿真与设计课程设计报告- 3 -波器 Scope 中看到编码器输出波形。4. 实验过程中遇到的问题;在初建立 simulink 模型时,我找不到 simulink 模块浏览器与题相匹配的仿真模块,开始以为是机房 MATLAB 版本太低,准备要放弃这个课题。后来通过对相似模块的研究发现,原题中

7、需要的 Discrete Pulse Generator 可以通过 Pulse Generator 改变 time 为 Sample *就可以实现。在设置离散脉冲源信号的时候,没有依次将 Phase dalay(相位延迟)设置为-70,只是随便设定了一个数字,后来波形出现混乱,无法出现预期效果。通过对 8 线 3线编码器的研究和其逻辑功能的实现,我明白了其中的不妥,从而做出了改正。由于对Simulink 开始的不熟悉,造成了在连线过程中出现很多阻挠,比如,改变输入输出端口数目的操作,改变输入输出端口方向的操作,设定示波器时间的操作,这样使我开始在连线时,将整个仿真图连得很乱,没有清晰地方向,不

8、能一目了然,通过同学的帮助,和对相关书籍的学习,我基本掌握了 Simulink 中的基本操作。在建模过程中,开始也是毫无头绪,虽然有了课题,但是还是无从下手,但是通过研究,结果并没有我想象中那么复杂,只是利用最基本的仿真模块就可以达到预期效果,这让我对 Simulink 这门技术产生了好感。5. 仿真结果分析 8 线 3 线编码器仿真后,当输入 J0 到 J7 依次以 1 为单位的相移变化时,示波器的波形跟着变化,如果 J0 为低电平,则 Y0.Y1.Y2 的输出波形为低电平,表示 0 的二进制数,J4 为低电平时,则 Y0 为低电平, Y1,Y2 为高电平,表示 4 的二进制数,从而实现了编码的功能。6. 总结刘芳 20078001219- 4 -通过对具体模型的建立和利用 Simulink 的仿真实现,我体会到了实践的重要性,通常一个模型的建立在开始的时候都是看似很难的,其实,在仔细研究过后,才发现只要认真分析其中的每个细节都能个个攻破,最后达到预想结果,当然,我的这个模型只是具体实际应用中的一个小环节,没有用到太多高功能的技术,但是,我想只要对实际问题认真分析,就能建立一个有利于各种现实问题的解决。通过对 Simulink 的学习,我对这门技术产生了兴趣,它能帮助我们更好的解决更多在现实中不可实现的仿真。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报