SIMULINK常用库模块介绍一、SIMULINK简介1、简介SIMULINK是一个对动态系统(包括连续系统、离散系统和混合系统)进行建模、仿真和综合分析的集成软件包,是MATLAB的一个附加组件,其特点是模块化操作、易学易用,而且能够使用MATLAB提供的丰富的仿真资源。在SIMULINK环境中,用户不仅可以观察现实世界中非线性因素和各种随机因素对系统行为的影响,而且也可以在仿真进程中改变感兴趣的参数,实时地观察系统行为的变化,因此已在许多领域,如通信、信号处理、DSP、电力、金融、生物系统等获得重要应用。对信息类专业的学生来说,无论是学习专业课程或相关课程设计,还是在今后的工作中,SIMULINK都是一个重要的仿真建模工具。2、预备知识SIMULINK的启动首先启动MATLAB,然后在MATLAB主界面中单击上面的Simulink按钮,如下图所示:或在命令窗口中输入simulink命令打开。SIMULINK的模块库Simulink的模块库有两部分组成:基本模块和各种应用工具箱,如下图所示。对通信系统仿真来说,主要用到Simulink基本库,通信系统工具箱和数字信号处理工具箱。二、SIMULINK的模块库1、SIMULINK基本库(1)连续模块Continuous名称功能说明Derivative微分Integrator积分器IntegratorLimited定积分Integrator,Second-Order二阶积分Integrator,Second-OrderLimited二阶定积分PIDControllerPID控制器PIDController(2DOF)PID控制器State-Space状态空间TransferFcn传递函数TransportDelay传输延时VariableTransportDelay可变传输延时Zero-Pole零—极点增益模型(2)非连续模块Discontinuous名称功能说明Backlash间隙非线性Coulomb&ViscousFriction库仑和黏度摩擦非线性DeadZone死区非线性DeadZoneDynamic动态死区非线性HitCrossing冲击非线性Quantizer量化非线性RateLimiter静态限制信号的变化速率RateLimiterDynamic动态限制信号的变化速率Relay滞环比较器,限制输出值在某一范围内变化Saturation饱和输出,让输出超过某一值时能够饱和SaturationDynamic动态饱和输出WrapToZero还零非线性(3)离散模块Discrete名称功能说明Delay延时器Difference差分环节DiscreteDerivative离散微分环节DiscreteFIRFilter离散FIR滤波器DiscreteFilter离散滤波器DiscretePIDController离散PID控制器DiscretePIDController(2DOF)离散PID控制器DiscreteState-Space离散状态空间系统模型DiscreteTransfer-Fcn离散传递函数模型DiscreteZero-Pole以零极点表示的离散传递函数模型Discrete-timeIntegrator离散时间积分器First-OrderHold一阶保持器Memory输出本模块上一步的输入值TappedDelay延迟TransferFcnFirstOrder离散一阶传递函数TransferFcnLeadorLag传递函数TransferFcnRealZero离散零点传递函数UnitDelay一个采样周期的延迟Zero–OrderHold零阶保持器(4)逻辑和位操作模块LogicandBitOperations名称功能说明BitClear位清零BitSet位置位BitwiseOperator逐位操作CombinatorialLogic组合逻辑CompareToConstant和常量比较CompareToZero和零比较DetectChange检测跳变DetectDecrease检测递减DetectFallNegative检测负下降沿DetectFallNonpositive检测非负下降沿DetectIncrease检测递增DetectRiseNonnegative检测非负上升沿DetectRisePositive检测正上升沿ExtractBits提取位IntervalTest检测开区间IntervalTestDynamic动态检测开区间LogicalOperator逻辑操作符RelationalOperator关系操作符ShiftArithmetic移位运算(5)查找表模块LookupTable名称功能说明1-DLookupTable一维输入信号的查询表(线性峰值匹配)2-DLookupTable两维输入信号的查询表(线性峰值匹配)Cosine余弦函数查询表DirectLookupTable(n-D)N个输入信号的查询表(直接匹配)InterpolationusingPreLookup输入信号的预插值LookupTableDynamic动态查询表PreLookup预查询索引搜索Sine正弦函数查询表n-DLookupTableN维输入信号的查询表(线性峰值匹配)(6)数学模块MathOperations名称功能说明Abs取绝对值Add加法AlgebraicConstraint代数约束Assignment赋值Bias偏移ComplextoMagnitude-Angle由复数输入转为幅值和相角输出ComplextoReal-Imag由复数输入转为实部和虚部输出Divide除法DotProduct点乘运算FindNonzeroElements查找非零元素Gain比例运算Magnitude-AngletoComplex由幅值和相角输入合成复数输出MathFunction包括指数函数、对数函数、求平方、开根号等常用数学函数MatrixConcatenation矩阵级联MinMax最值运算MinMaxRunningResettable最大最小值运算PermuteDimensions按维数重排Polynomial多项式Product乘运算ProductofElements元素乘运算Real-ImagtoComplex由实部和虚部输入合成复数输出ReciprocalSqrt开平方后求倒Reshape取整RoundingFunction舍入函数Sign符号函数SignedSqrtSineWaveFunction正弦波函数SliderGain滑动增益Sqrt平方根Squeeze删去大小为1的孤维Subtract减法Sum求和运算SumofElements元素和运算TrigonometricFunction三角函数UnaryMinus一元减法VectorConcatenateWeightedSampleTimeMath权值采样时间运算(7)模型检测模块ModelVerification名称功能说明Assertion确定操作CheckDynamicGap检查动态偏差CheckDynamicRange检查动态范围CheckStaticGap检查静态偏差CheckStaticRange检查静态范围CheckDiscreteGradient检查离散梯度CheckDynamicLowerBound检查动态下限CheckDynamicUpperBound检查动态上限CheckInputResolution检查输入精度CheckStaticLowerBound检查静态下限CheckStaticUpperBound检查静态上限(8)模型扩充模块Model-WideUtilities名称功能说明BlockSupportTable功能块支持的表DocBlock文档模块ModelInfo模型信息Timed-BasedLinearization时间线性分析Trigger-BasedLinearization触发线性分析(9)端口和子系统模块Ports&Subsystems名称功能说明AtomicSubsystem单元子系统CodeReuseSubsystem代码重用子系统ConfigurableSubsystem可配置子系统Enable使能EnabledSubsystem使能子系统EnabledandTriggeredSubsystem使能和触发子系统ForEachSubsystemForEach子系统ForIteratorSubsystemFor迭代子系统Function-CallFeedbackLatch函数调用反馈锁存Function-CallGenerator函数调用生成器Function-CallSplit函数调用切换Function-CallSubsystem函数调用子系统IfIf操作IfActionSubsystemIf操作子系统In1输入端口Model模型ModelVariants模型变种Out1输出端口Subsystem子系统SubsystemExamples子系统例子SwitchCaseSwitchCase语句SwitchCaseActionSubsystemSwitchCase操作子系统Trigger触发操作TriggeredSubsystem触发子系统VariantSubsystemWhileIteratorSubsystemWhile迭代子系统(10)信号属性模块SignalAttributes名称功能说明BustoVector总线到矢量转换DataTypeConversion数据类型转换DataTypeConversionInherited数据类型继承DataTypeDuplicate数据类型复制DataTypePropagation数据类型传播DataTypePropagationExamples数据类型传播示例DataTypeScalingStrip数据类型缩放IC信号输入属性Probe探针点RateTransition速率转换SignalConversion信号转换SignalSpecification信号特征指定WeightedSampleTime加权的采样时间Width信号宽度(11)信号线路模块SignalRouting名称功能说明BusAssignment总线分配BusCreator总线生成BusSelector总线选择DataStoreMemory数据存储DataStoreRead数据存储读取DataStoreWrite数据存储写入Demux分路EnvironmentController环境控制器From信号来源Goto信号去向GotoTagVisibilityGoto标签可视化IndexVector索引矢量ManualSwitch手动选择开关Merge信号合并MultiportSwitch多端口开关Mux合路Selector信号选择器Switch开关选择,当第二个输入端大于临界值时,输出由第一个输入端而来,否则输出由第三个输入端而来VectorConcatenate矢量拼接(12)接收器模块Sinks名称功能说明Display数字显示器FloatingScope浮动示波器Out1输出端口Scope示波器StopSimulation停止仿真Terminator终止符号(ToFile将输出数据写入数据文件保护ToWorkspace将输出数据写入MATLAB的工作空间XYGraph显示二维图形(13)输入源模块Sources名称功能说明Band-LimitedWhiteNoise带限白噪声ChirpSignal产生一个频率不断增大的正弦波Clock显示和提供仿真时间Constant常数信号CounterFree-Running无限计数器CounterLimited有限计数器DigitalClock数字时钟EnumeratedConstant枚举常量FromFile来自文件FromWorkspace来自MATLAB的工作空间Ground接地In1输入信