matlab第六讲
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
① J0 J1 编 码 器 真 值 表
0 1 1 1 1 0 1 1
J6 1 1 1 1
J7 1 1 1 1
输出信号 Y2 Y1 Y0 0 0 0 0 0 1 0 0 1 1 0 1
8-3
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
0 1 1 1
1 0 1 1
1 1 0 1
1 1 1 0
6.3 逻辑电路设计和仿真
以数字电路仿真为例,学习建立simulink模型的方法。 以组合逻辑电路的8-3编码器为例。
组合逻辑电路:任意时刻输出信号仅取决于该时刻的输入 信号,与信号作用前电路的原来状态无关。
例如:编码器,译码器,表决器
1.电路仿真方法 (1)功能分析: 明确对象的逻辑功能要求(什么输入对应什么输出)。 8线3线编码器的功能:对输入端的8个信号进行编码, 输出3位二进制数。并且输入信号每次只能有一个有效。
第四步:进行系统仿真。
在模型窗口菜单栏选择“simulation”菜单下的“parameter” 求解器 仿真时间设置 解法 输出设置
Solver选项卡
1.设置起始时间和停止时间,以秒为单位给出仿真始末 时间,在本例中为0到10秒 2. 设置仿真步长和算法。 步长可以设置为Variable-step(不定步长)和 Fixed-step(定步长)
教材P293
SIMULINK是MATLAB软件的扩展,它是实现动态系统建 模和仿真的一个集成开发环境,提供建立系统模型、选择仿 真参数和数值算法、启动仿真程序对该系统进行仿真、设置 不同的输出方式来观察仿真结果等功能。 Simulink优点 ① 适应面广:包括线性、非线性系统;离散、连续以及混 合系统;单任务、多任务离散事件系统;
(6) Sources(输入模块库) Band-Limited White Noise 有限带宽白噪声 Chirp 模块功能说明: Signal:频率随时间变化的正弦信号 有限带宽白噪声 Clock :时钟信号。 输出频率随时间线性变换的正弦信号 Constant :常数信号。 输出当前仿真时间 常数输入 From Workspace :来自MATLAB的工作空间。 以固定速率输出当前仿真时间 From File(.mat):来自数据文件。 从 Matlab 工作空间中输入数据 Ground :连接到没有连接到的输入端。 从 mat 文件中输入数据 接地信号 In1:输入端。 为子系统或其它模型提供输入端口 Pulse Generator :脉冲发生器。 输入脉冲信号 Ramp:输入斜坡信号 输入斜坡信号 输入服从高斯分布的随机信号 Random Nmumber:输入随机信号 输入周期信号 Repeating Sequence:重复信号。 信号发生器 Signal正弦信号初始器 Generator:信号发生器,可以产生正 输入阶跃信号 弦、方波、锯齿波及随意波。 输入服从高斯分布的随机信号 Sine Wave:正弦波信号。 Step:阶跃波信号。
信号发生器 选用的是 Pulse Generator
与非门
逻辑与比特运 算模块库
Logical Operator
示波器
模块功能
以数值形 以
•位于Sink(信宿)模 块库 •添加后可以双击示波 器,改变显示出来的 输入变量个数。
悬浮信号
为子系统 为子
信号显示
当输入非
中断输出
将 将仿真数
将仿真Байду номын сангаас将仿真数
1 1 1 1
0 0 1 1
0 1 0 1
①写出真值表
②给出函数表达式
③添加模块
④设置参数
②根据真值表,给出函数表达式:
Y0 J1 J 3 J 5 J 7 Y1 J 2 J 3 J 6 J 7 Y J J J J 4 5 6 7 2
③添加模块: 信号发生器(8个) 与非门(3个) 示波器
② 交互式、图形化的建模环境:以方块图形式呈现,比较
直观,容易构造,运行速度较快;
③ 仿真精细、贴近实际。
我们可以使用Simulink建立什么模型?
SIMULINK 的应用领域 答:任何需要数学手段建立的系统。
控制系统 船舶系统 电机系统
通讯与卫星系统 航空航天系统
电子系统
汽车系统
金融系统
生物系统
算法的设置有很多选项,对于离散系统,一般选 discrete算法,对于连续系统,一般选择ode算法。 3. 设置输出选项。
仅在不定步长仿真时有效。
注意! 对动态系统的仿真步长需要进行合适的设置,否则 会影响仿真的结果。
保存与仿真
在执行仿真之前,先将模型保存:单击模型窗口的“保存” 图标。单击模型窗口的“ ”图标,或者从“simulation” 菜单中选择“start”命令来运行仿真。 双击示波器,就可以看到仿真结果
• 信宿( Sink):可以是示波器、图形记录仪等。
2、启动Simulink,打开模型建立窗口
① 在MATLAB的命令窗口输入simulink ② 单击MATLAB主窗口工具栏上的Simulink命令按钮 ③ 选则File菜单New-Model选项
3、SIMULINK的简单仿真举例
用simulink实现两个正弦信号的乘积: x(t)=sin(t)*sin(10t) 第一步:运行simulink。 第二步:查找所需模块,将所需模块添加到模型中。
使 使用MA
①写出真值表
②给出函数表达式
③添加模块
④设置参数
④设置参数: (a)改变与非门参数 默认为AND(与运算),改为NAND(与非运算)。
(b)改变信号发生器Pulse Generator的参数: Pulse Generator(信号发生器)的类型选择Sample based(基于采样值的类型) 某一时刻只能有一个输入信号为0: 8个信号发生器的周期Period都设为8。脉冲宽度Pulse width都设为7。 相位延迟Phase delay分别设为 -7~0, Pulse Type脉冲类型 Amplitude幅值 Period周期 Pulse Width 脉宽 Sample time采 样时间
(5) Sinks(输出模块库) Display :以数值形式显示 模块功能说明: 模块功能说明: Out1 :输出端。 以数值形式显示输入信号 以数值形式显示输入信号 Scope:示波器。
悬浮信号显示器 悬浮信号显示器 为子系统或模型提供输出端口 为子系统或模型提供输出端口 Stop Simulation: 信号显示器 信号显示器 当输入非零时停止仿真 Terminator :中断输出信号 当输入非零时停止仿真 当输入非零时停止仿真 To File(.mat) : 中断输出信号 中断输出信号 将输出写入数据文件。 将仿真数据写入 mat 文件 将仿真数据写入. mat文件 To Workspace: 将仿真数据输出到 Matlab 工作空间 将仿真数据输出到 MATLAB 工作空间 将输出写入 MATLAB 的工作空间。 使用 Matlab 图形显示数据 使用MATLAB 图形显示数据 XY Graph :显示二维图形。
4、 simulink模块操作方法
(1)添加模块
教材P303~306
使用鼠标左键,将模块库中的模块拖动或者拷贝到用户的系 统模型中。 (2)模块名 (1) 模块命名:使用鼠标左键单击模块名,进入编辑状态,然 后键入新的名称。 (2) 名称隐藏:选择Format菜单中的Hide Name隐藏系统模块 名称。
6.3 SIMULINK基本仿真模型
1、SIMULINK 模型通常包含三种 “组件” : 输入 (信源) 系统 输出 (信宿)
教材P303
• 信源( Sources):可以是常数、时钟、白噪声、正弦波、 阶梯波、扫频信号、脉冲生成器、随机数产生器等信号源;
• 系统( System):即指被研究系统的 SIMULINK 方框图;
任何使用数学方式进行描述的动态系统都可以使用 Simulink进行建模、仿真与分析。
6.2 simulink模块库
(1) Continuous(连续系统模块库) Derivative:连续信号的数值微分 Integrator:输入信号的连续时间积分 State-Space:线性连续系统的状态空 间描述 Transfer-Fcn:线性连续系统的传递 函数描述 Transport Delay:对输入信号进行固 定时间延迟 Variable Transport Delay:对输入信 号进行可变时间延迟 Zero-Pole:线性连续系统的零极点模 型
(3) Functions & Tables(函数与表库) Fcn: 用自定义的函数(表达式)进行运算 MATLAB Fcn: 利用matlab的现有函数进行运算 S-Function: 调用自编的S函数的程序进行运算 Look-Up Table: 建立输入信号的查询表 Look-Up Table(2-D): 建立两个输入信号的查询表
(4) Math(数学运算库)
MinMax:最值运算 Product:乘运算 Real-Imag to Complex:由实部 和虚部输入合成复数输出 Relational Operator:关系运算 Sign:符号函数 Sum:加减运算 Trigonometric Function:三角函 数,包括正弦、余弦、正切等
正弦源
相乘器
示波器
正弦源
相乘器
示波器
第三步:编辑模块,组成模型。
连接系统模块
教材P303~306
将光标指向起始块的输出端口,此时光标变成“ +” 。单击鼠 标左键并拖动到目标模块的输入端口,在接近到一定程度时 光标变成双十字。这时松开鼠标键,连接完成。完成后在连 接点处出现一个箭头,表示系统中信号的流向,
模块功能说明: 有限带宽白噪声 输出频率随时间线性变换的正弦信号 输出当前仿真时间 常数输入 以固定速率输出当前仿真时间 从MATLAB工作空间中输入数据 从.m at文件中输入数据 接地信号 为子系统或其它模型提供输入端口 输入脉冲信号 输入斜坡信号 输入服从高斯分布的随机信号 输入周期信号 信号发生器 正弦信号初始器 输入阶跃信号 输入服从高斯分布的随机信号
(2)电路设计:输入输出信号和器件的具体化。
使用真值表进行内部电路(确定内部器件和连线)设计。 (3)电路仿真: 添加模块,连线,构建基础逻辑图。 修改模块参数,满足输入输出和逻辑运算要求。
2. 仿真主要步骤 ①写出真值表 ②给出函数表达式 输入信号 J2 J3 J4 J5 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 ③添加模块 ④设置参数
(2) Discrete(离散系统模块库)
Discrete Transfer-Fcn: 离散系统传递函数描述 Discrete Zero-Pole: 离散系统的零极点模型描述 Discrete Filter: 离散系统的滤波器描述 Discrete State-Space: 离散系统的状态空间描述 Discrete-time Integrator: 离散时间积分器 First-Order Hold: 离散信号的一阶保持器 Unit Delay:单位延迟 Zero-Order Hold: 离散信号的零阶保持器
(4) Math(数学运算库)
Abs:取绝对值 Complex to Magnitude-Angle 由复数输入转为幅值和相角输出 Complex to Real-Imag: 由复数输入转为实部和虚部输出 Dot Product:点乘运算 Gain:比例运算 Logical Operator:逻辑运算 Magnitude-Angle to Complex 由幅值和相角输入合成复数输出 Math Function 包括指数函数、对数函数、求平 方、开根号等常用数学函数
(3)模块参数的设置 双击模块或者选择Edit菜单 下的“Block Parameters” 命令打开
(4)模块间的连线
(1)连接两个模块:
先移动鼠标到输出端,鼠标的箭头会变成十字形光标,这 时按住鼠标左键,移动鼠标到另一个模块的输入端, 放 开鼠标即完成了连接。
(2)连线分支
对信号连线进行分支的操作方式为:使用鼠标右键单击需 要分支的信号连线(光标变成“+”),然后拖动到目标模 块。
MATLAB仿真技术及应用
第六章 simulink基础
主要内容
6.1 simulink简介 6.2 simulink模块库 6.3 simulink仿真实例 逻辑电路设计------ 编码器的设计
教材P292
重点
能够绘制简单的 simulink仿真结构图。
6.1 simulink简介
6.1.1什么是simulink