参考视频:simulink1.1simulink简介_哔哩哔哩_bilibili
一、信号源库中的模块概览
注:部分模块在第二章中有介绍,本章不再赘述。
二、from输入源模块
1、From Workspace模块
(1)该模块可从MATLAB工作区、模型工作区或掩码工作区中读取以时间序列、矩阵或结构体格式指定的数据值并输出之,它的作用以及使用方法可认为与To Workspace模块“相反”,To Workspace模块以何种格式在工作区中生成数据,那么From Workspace模块就可以从工作区中读取何种格式的数据并根据其中的时间序列将数据逐一输出(一般使用最多的情形就是从工作区中读取一个N行2列的矩阵,第1列是单调递增的仿真时刻,第2列是各个仿真时刻对应的信号值)。
(2)MATLAB时序格式可用于任何数据类型、复杂度或固定维度。如需加载总线信号的数据,要使用与总线层次结构相匹配的MATLAB结构,并为每个信号指定时间序列。
(3)将上一章生成的两个MAT文件拖拽到命令窗口,其中的变量会添加进工作区,这时在From Workspace模块的对话框中配置变量名即可将工作区中的变量读取并输出。
2、From File模块
(1)该模块可从MAT文件的变量中读取以时间序列或矩阵格式指定的数据值并输出之,它的作用以及使用方法可认为与To File模块“相反”,To File模块以何种格式在文件中生成数据,那么From File模块就可以从文件中读取何种格式的数据并根据其中的时间序列将数据逐一输出(一般情况下都是先把MAT文件导入工作区,然后再用From Workspace模块读取数据,所以From File模块作为备选即可)。
(2)MATLAB时序格式可用于任何数据类型、复杂度或固定维度。如需加载总线信号的数据,要使用与总线层次结构相匹配的MATLAB结构,并为每个信号指定时间序列。
(3)将上一章生成的两个MAT文件分别配置给两个From File模块,文件变量中的数据会被分别读取并输出。
三、发生器模块
1、Signal Generator信号发生器
(1)信号发生器只能在连续模式下仿真,它可以产生4种连续波形,分别为正弦波(sine)、方波(square)、锯齿波(sawtooth)和随机波(random,这个建议用随机数生成器替代),如下图所示。
(2)仿真波形的频率单位可以选择Hz或者rad/s,并设置幅值和频率。
(3)下图中的三个信号发生器,其信号幅值均为1,频率均为1,它们的频率单位为rad/s。
2、Pulse Generator脉冲发生器
(1)脉冲发生器可生成方波信号,在对话框中可对波形属性进行设置,如下图所示,波形形式(Pulse type)可分为基于仿真时间和采样时间两种,分别对应连续方波信号和离散方波信号,离散方波信号的属性配置依赖仿真步长。
(2)波形的产生依赖时间信号,这个时间信号可由仿真时间提供,也可由外部输入提供,如果选择由外部输入提供,则该模块会提供一个输入端口输入时间信号,连续波形的时间信号要由连续时间信号提供,离散波形的时间信号要由离散时间信号提供。
3、Ramp斜坡信号发生器
(1)该模块只能生成连续的信号,可对其配置初始输出值,仿真开始后该模块会按照该值进行输出,直到达到斜率开始作用的时间(Start time),输出值根据斜率随仿真时间的推进线性变化。
(2)下图中Ramp2模块的斜率为-2,斜率开始作用时间为3,初始输出值为1,Ramp1的配置如上图所示。
4、Step阶跃信号发生器
(1)该模块能生成阶跃信号,可对其配置阶跃产生的时间(从仿真开始时刻开始计算)以及信号阶跃前后的信号值。
(2)下图中Step的配置如上图所示。
5、Chirp Signal线性调频模块
(1)该模块生成的波形与正弦波相似,但其波形频率随仿真时间的推进线性增长,可通过配置下图所示的三个参数间接配置信号频率的变化率。
(2)下图中Chirp Signal模块的配置如上图所示。
6、Repeating Sequence重复序列模块
(1)该模块可产生一个锯齿波,在该模块的对话框中可对其任一一个周期的锯齿波进行配置,如下图所示,有这些配置以后,模块能自动计算出锯齿波的周期、相位等属性。
(2)下图所示Repeating Sequence模块的配置如上图所示,周期为2s,周期内的信号起止值分别为0和2。
(3)实际上,该模块不仅可用于生成锯齿波,它可基于锯齿波的生成规则生成出更多周期性变化的波形,首先它将Time values向量的元素作为时间点,将Output values向量的作为各时间点对应的信号值,根据这两个向量可以得出一个周期内的信号形式,也就得出了其它周期的信号形式。
7、Sine正弦波发生器
(1)正弦波发生器可生成方波信号,在对话框中可对波形属性进行设置,如下图所示,波形形式(Sine type)可分为基于仿真时间和采样时间两种,分别对应连续正弦波信号和离散正弦波信号,离散正弦波信号的属性配置依赖仿真步长。
(2)波形的产生依赖时间信号,这个时间信号可由仿真时间提供,也可由外部输入提供,如果选择由外部输入提供,则该模块会提供一个输入端口输入时间信号,连续波形的时间信号要由连续时间信号提供,离散波形的时间信号要由离散时间信号提供。
四、信号构造器及随机数模块
1、Signal Builder信号构造器模块
(1)双击该模块可对输出信号进行编辑。
①双击信号中的“节点”,可按住鼠标左键对其进行纵向拖拽,也可按住鼠标滚轮或按住鼠标左键+Shift键对其进行横向拖拽,也可直接通过修改对话框下方的配置参数以修改所选“节点”的位置。
②如果想增加信号中的“节点”,可以选择一段左右斜率不均为无穷大(也就是不垂直于时间轴)的波形,按住鼠标左键纵向拖动,这样就会自动生成新的“节点”。
③当横向拖动“节点”导致波形不符合实际规则(一个时间点只能对应一个信号值)时,模块会给出警告并自动停靠在极限处,此时信号阶跃跳变。
(2)该模块可同时输出多个信号,添加信号的方法如下图所示(不一定必须添加方波,脉冲信号、阶跃信号等都可选择);要想移除某个信号,选中后按下Delete键即可。
(3)当窗口显示过于拥挤时,可双击暂时不需要编辑或者观察的信号,以隐藏之。
(4)要想调整信号的持续时间,可按下图所示操作。(当仿真时间超过信号持续时间时,输出将按照信号持续时间结束一刻的值和变化趋势随仿真时间推进继续变化)
(5)使用示例如下图所示。
2、Random Number随机数发生器(服从正态分布)
该模块生成的随机数服从正态分布,双击该模块,可设置其平均值、方差、随机数种子及采样时间。
3、随机数发生器(服从均匀分布)
该模块生成的随机数服从均匀分布,双击该模块,可设置其最大值、最小值、随机数种子及采样时间。
五、带限白噪声模块
1、白噪声概述
(1)白噪声具有常量功率谱,这意味着白噪声在所有频率上出现的强度相同,不随着频率的增加而衰减,白噪声的这一特性使其在功率谱上趋近为常值,即在整个频谱上都有成分,从低频到高频都有分布。
(2)白噪声的理想状态是具有无限带宽,因此其能量是无限大的。然而,在实际应用中,白噪声通常是在一定频率范围内具有均匀功率谱密度的噪声。
2、Band-Limited White Noise带限白噪声模块
该模块可将带限的白噪声(功率谱如上右图所示)等效为经过零阶保持器处理的理想的白噪声(功率谱如上左图所示)并输出之。
六、其余两个重复序列模块
1、Repeating Sequence Stair重复序列阶梯模块
(1)该模块的功能和Repeating Sequence模块相似,不过该模块输出的信号是跳变的,呈楼梯状而不是锯齿状。
(2)配置该模块时仅需配置输出值列表和采样时间。在一个信号周期内,每到一个采样时间点,该模块都会从输出值列表中按顺序选取元素作为输出值,并将该输出值维持到下一采样时间点,以此往复,当所有元素均被选取过后,一个信号周期完成。
2、Repeating Sequence Interpolated重复序列插值模块
(1)该模块的功能也和Repeating Sequence模块相似,不过该模块输出的信号是离散的。
(2)配置该模块时需配置输出值列表、时间点列表和采样时间,时间点列表中的各时间点间隔应大于采样时间间隔(而且不应该仅大于一点)。在一个信号周期内,每当仿真时刻来到时间点列表中的一个时间点,该模块都会从输出值列表中选取对应元素作为输出值,两个时间点之间应该会有若干个采样时间点(取决于Sample time),这些采样时间点的输出值可通过插值算法计算,每个采样时间点的输出值都会维持到下一采样时间点。
(3)上例中选择的差值算法为线性差值,其它可选的差值算法有使用最近点差值、使用上方最近点差值、使用下方最近点差值。
七、计数器模块
1、Counter Limited带限计数器模块
带限计数器从0开始计数(每个采样时间点计数加一),它会持续将计数值输出,在计数达到指定上限后会返回零,重新开始下一轮计数,这个计数上限用十进制数指定即可。
2、Counter Free-Running自由运行计数器模块
自由运行计数器也是从0开始计数(每个采样时间点计数加一),它会持续将计数值输出,在计数达到指定上限后会返回零,重新开始下一轮计数,这个计数上限通过指定二进制上限位数间接指定,比如指定上限位数为n,那么计数上限为。
八、时钟模块
1、Clock模拟时钟模块
该模块会将当前仿真时间输出,且时间信号是连续的。
2、Digital Clock数字时钟模块
该模块会将当前仿真时间输出,不过时间信号是离散的,在下一个采样时间点到来前,输出将维持在上一个采样时间点的状态。