一、Moudel仿真步长设置

resample采样的起始时间 采样时间和采集时间_resample采样的起始时间

点击Moudling->Model Settings,设置求解器的参数。

resample采样的起始时间 采样时间和采集时间_采样时间_02

1.1 红圈1-开始和结束时间

设置仿真开始和结束的时间

1.2 红圈2-选择求解器

Type:分为Fixed-step(固定步长)和Variable-step(变步长)两种。

resample采样的起始时间 采样时间和采集时间_simulink_03

 Slover:求解器,没有特殊需求,选择auto即可,运算速度会自动优化。

resample采样的起始时间 采样时间和采集时间_resample采样的起始时间_04

1.3 红圈3-

Type:Fixed-step(固定步长),则红圈3设置固定步长基础采样时间;

resample采样的起始时间 采样时间和采集时间_Simulink_05

 Type:Variable-step(变步长),则会多出Zero-crossing option选项;

resample采样的起始时间 采样时间和采集时间_simulink_06

1.4 红圈4-任务和采样时间选项

resample采样的起始时间 采样时间和采集时间_采样周期_07

周期采样时间约束:无约束

把每个离散的速率看作一个单独的任务

允许任务在目标上

并发执行自动处理数据传输的速率转换

priority值越高,任务优先级越高

对于Slover更加详细的内容,可以点击Slover窗格详情页。

二、Block采样时间设置

resample采样的起始时间 采样时间和采集时间_resample采样的起始时间_08

通常许多模块会有一个采样时间,用于设置该模块产生的信号被采样时的更新速度。

sample time

详情

-1

表示继承输入信号的采样时间,若没有输入信号,继承父层模型采样时间;如果模块无输入信号且本身处于顶层模型中,则继承系统解算器的步长。

0

表示连续采样时间

非0正数

表示离散采样时间,例如0.01意思是我们输入的信号采样周期是0.01秒。

inf

无穷大采样时间,即不采样,即常数模块

包含两个元素的数组[sampletime,offset]

例如填入[0.2,0.01],此时表示采样周期是0.2秒,但是不是从零时刻开始采样的,而是从0.01秒处开始采样的,即采样时间点为:0.01,0.21,0.41等等。

三、S函数采样时间

sample time

详情

[0,0]

连续采样时间

[-1,0]

继承S函数输入信号或父层模型的采样的采样时间

[0.5,0.1]

离散采样时间,从0.1秒开始每0.5秒采集一次

四、固定步长

指定所选固定步长求解器使用的步长大小。

  • 设置

默认为:auto

auto:在此字段中输入(默认值)会导致 Simulink 选择步长大小。

如果模型指定了一个或多个周期性采样时间,Simulink 将选择一个等于指定采样时间的最大公约数的步长。此步长(称为模型的基本采样时间)可确保求解器在模型定义的每个采样时间执行一个步骤。

如果模型未定义任何周期性采样时间,Simulink 将选择一个步长,将总仿真时间划分为 50 个相等的步长

如果模型未指定周期性速率和停止时间 ,则 Simulink 使用 0.2 作为步长。否则,它将固定步长大小设置为Inf

resample采样的起始时间 采样时间和采集时间_simulink_09

 对于正弦和信号发生器源块,如果停止时间为 ,Simulink 使用以下启发式方法计算步长:

resample采样的起始时间 采样时间和采集时间_采样周期_10

 否则,步长为:

resample采样的起始时间 采样时间和采集时间_采样周期_11

Freq.max是模型中这些块的最大频率 (Hz)。

 五、查看整体采样时间方法

单击鼠标左键,选择下图选项,即可看到相应的界面。

resample采样的起始时间 采样时间和采集时间_采样周期_12

 选中某个采样时间,那么simulink就会显示采用该采样时间的模块。

resample采样的起始时间 采样时间和采集时间_resample采样的起始时间_13