Matlab仿真技术

乔世坤

目录

  • 1 实验一Matlab基础与入门
    • 1.1 Matlab简介
    • 1.2 变量与数值
    • 1.3 矩阵运算
    • 1.4 数组运算
    • 1.5 常用数学函数
    • 1.6 Matlab帮助系统
    • 1.7 实验内容
    • 1.8 思考题
  • 2 实验二 Matlab程序设计基础
    • 2.1 M文件
    • 2.2 Matlab程序流控制
    • 2.3 实验内容
    • 2.4 思考题
  • 3 实验三Matlab图形绘制
    • 3.1 二维曲线的绘制
    • 3.2 三维曲线的绘制
    • 3.3 实验内容
    • 3.4 思考题
  • 4 MATLAB数值计算与符号运算
    • 4.1 线性代数中的应用
    • 4.2 多项式运算
    • 4.3 数据分析与统计
    • 4.4 功能函数
    • 4.5 常微分方程的数值求值
    • 4.6 符号运算
    • 4.7 Matlab数值计算部分实验题
    • 4.8 Matlab符号运算部分实验题
    • 4.9 Matlab程序设计部分实验题
    • 4.10 思考题
  • 5 Simulink仿真基础
    • 5.1 Simulink概述
    • 5.2 Simulink建模与仿真
    • 5.3 子系统及其封装技术
    • 5.4 SIMULINK模块库简介
    • 5.5 Simulink仿真基础实验题
    • 5.6 Simulink仿真应用实验题
    • 5.7 思考题
  • 6 Matlab在电路分析中的应用
    • 6.1 Matlab在电路中的仿真应用
    • 6.2 数字逻辑电路仿真
    • 6.3 实验内容
    • 6.4 思考题
  • 7 MATLAB在信号与系统中的应用
    • 7.1 连续时间信号及其表示
    • 7.2 线性时不变系统
    • 7.3 线性时不变系统的时域分析
    • 7.4 线性时不变系统的频域分析
    • 7.5 实验内容
    • 7.6 思考题
  • 8 Matlab在数字信号处理中的应用
    • 8.1 信号的表示与信号的基本运算
    • 8.2 实验内容
    • 8.3 思考题
  • 9 MATLAB在通信原理中的应用
    • 9.1 脉冲编码调制仿真
    • 9.2 实验内容
SIMULINK模块库简介


Simulink模块库中提供了诸多子模块库,每个子模块库中还包含诸多下一级模块库或模块,下面简介Simulink模块库。

5.5.1连续模块库

连续模块库(Continuous)中包括了常用的连续模块。此库中所有模块都是假设初始条件为零。


5-28连续模块库

• Derivative:微分模块,通过计算差分近似计算输入变量的微分。

• Integrator:积分模块,对输入信号进行数值积分。

• State-Space:线性状态空间系统模型,描述方程描述的系统。

• Transfer-Fcn:线性传递函数模型。

• Transport Delay:延时单元,输入信号延时一个固定时间再输出。

• Variable Transport Delay:可变传输延时单元,输入信号延时一个可变时间再输出。

• Zero-Pole:用零极点表示的传递函数模型。

5.5.2非线性模块库

非线性模块库(Discontinuties)在Simulink模块库浏览器中又称为不连续模块库,该模块库主要包含常见的分段模块和非线性静态模块。


5-29非线性模块库

• Dead Zone:死区非线性模块,用于设置一个零输出区间。

• Relay:继电非线性模块,用于实现在两个不同常数值之间进行切换。

• Rate Limiter Dynamic:变化率限幅器模块,用于限制输入信号的一阶导数,使信号的变化率不超过规定的限制值。

• Quantizer:量化器模块,使输入信号在一个指定的时间间隙内离散化。

• Saturation:饱合非线性模块,用于设置输入信号的上下限的值。

5.5.3离散模块库

    离散模块库(Discrete)内的模块主要用于离散系统的建模,这类系统在时域上一般用差分方程来描述,或者在频域上利用Z变换得到传递函数进行描述。在实际的仿真模型中,各模块的采样时间可能并不一致,通常将这类系统称为多速率系统。


5-30非线性模块库

• Discrete Filter:用来实现IIRFIR滤波器。

• Discrete State-Space:离散状态空间系统模型。

• Discrete Transfer Fcn:离散传递函数模型。

• Discrete Zero-Pole:以零极点表示的离散传递函数模型。

• First-Order Hold:一阶采样和保持器。

• Unit Delay:系统对输入信号采样,并进行一个采样周期的延时。

• Zero-Order Hold:零阶采样和保持器。

5.5.4逻辑和位运算模块库

    逻辑和位运算库(Logic and Bit Operations)包括常用的逻辑运算和位运算。


• Bitwise Operate:对输入信号进行位操作运算,包括与、或、与非、异或、非。

• Combinatorial Logic:根据指定的真值表对输入信号进行组合逻辑运算。

• Compare to Constant:将输入信号与常数值比较。

• Compare to Zero:将输入信号与零比较。

• Logical Operator:逻辑运算,对多个输入信号进行逻辑运算,包括与、或、与非、或非、异或、非。

• Relational Operator:关系运算,对输入信号进行关系运算,输出为逻辑值。

5.5.5数学运算模块库

    数学模块库(Math Operation)内模块用于对输入信号进行数学运算。

�显示此区中的内容。


5-32数学运算模块库

• Abs:求输入信号的绝对值。

• Algebraic Constraint:强制输入信号为零,输出必须通过某种反馈路径影响输入,此模块求取输入值为零时的输出值。

• Complex to Magnitude-Angle:计算复数信号的模与幅角。

• Complex to Real-Imag:计算复数信号的实部和虚部。

• Dot Product:点乘运算,计算两个输入信号的内积。

• Gain:比例运算,将输入信号乘上一个增益,包括标量、向量和矩阵信号。

• Magnitude-Angle to Complex:根据输入模与幅角构建复数。

• Math Function:包括指数函数、对数函数、求平方、开根号等常用数学函数。

• Matrix Concatenate,按水平或乘直方向将输入信号连接成一个新的矩阵输出。

• MinMax:最值运算,求输入信号的最小值或最大值。

• polynomial:根据模块指定的多项式计算输出信号。

• Product:乘运算,对输入信号进行乘除运算,可以是标量、向量、矩阵间的相应运算。

• Real-Imag to Complox:根据输入实部与虚部构建复数。

• Reshape:对输入的向量或矩阵信号进行维数变换。

• Rounding Function:对输入信号取整,可以选择四种取整方式。

• Sign:符号函数,输入信号如大于零则取1,小于零取-1,等于零则取零。

• Sum:求和模块,用于对多路输入信号进行求和。

• Trigonometric Function:三角函数,包括正弦、余弦、正切等。

5.5.6信号模块库

信号模块(Signals Routing)存放了大量的对信号传输路径问题进行处理的模块,如选择开关(交换)模块、复路器、分路器等。


5-33信号模块库

• Bus Creator:创建一个信号总线。

• Bus Selector:从输入总线中选择输出信号。

• Demux:将一个复合输入转化为多个单一输出。

• Mux:将多个单一输入转化为一个复合输出。

• Switch:开关选择。

• Multiport Switch:多路开关选择。

• Manual Switch:手动开关选择。

5.5.7接收器模块库

接收器模块库(Sinks)中的模块主要功能是接收信号,并且将接收到的信号显示出来。


5-34接收器模块库

• Display:将信号值直接显示于模块窗口中。

• Floating Scope:游离示波器。

• Scope:示波器,显示信号波形。

• Stop Simulation当输入不等于零时停止仿真。

• Terminator:用于未连接的输出端口,使其输出信号“终止”,防止输出未连接端口的警告信息。

• To File:将输出仿真结果保存为mat文件。

• To Workspace:将输出结果保存到工作空间。

• XYGraph:绘制两个输入信号的关系曲线。

5.5.8输入源模块库

输入源模块库(Sources)内的模块主要用于给Simulink仿真模型提供输入信号。


5-35输入源模块库

• Band-Limited White Noise为连续系统引入白噪声。

• Chirp Signal:产生一个扫频信号。

• Clock:时钟信号,显示和提供仿真时间。

• Constant:产生一个常量值。

• Digital Clock:数字时钟。

• From Workspace:从Matlab的工作空间中读入数据作为输入信号。

• From File:从mat文件中读入数据作输入信号。

• Ground:将未连接的输入端口接地等。

• Pulse Generator:脉冲发生器,按指定参数产生一个脉冲信号。

• Random number:产生随机信号。

• Repeating Sequence:重复输出数字序列信号。

• Signal Builder:输出一组分段线性的信号,信号波形可由用户手动编辑。

• Signal Generator:信号发生器,可以产生正弦、方波、锯齿波及随意波。

• Sine Wave:正弦波信号,按指定参数产生一个正弦信号。

• Step:阶跃信号,按指定参数产生一个阶跃信号。