主要内容

零交点的算法

的仿真软金宝app件®软件包括两种过零检测算法:非自适应和自适应。

要选择算法,可以使用算法选项,或使用“配置参数”对话框的“求解器”窗格中的ZeroCrossAlgorithm命令。该命令可以设置为“非适应”“自适应”

非自适应算法是为了向后兼容旧版本的Simulink而提供的,它是默认的。金宝app它将过零事件括起来,并使用越来越小的时间步长来确定何时发生过零。尽管非自适应算法适用于许多类型的仿真,但当存在高度“抖振”(在过零点附近的高频振荡)时,非自适应算法会导致非常长的仿真时间。

Adaptive算法动态地打开和关闭括号,在以下情况下是一个很好的选择:

  • 该系统包含大量的抖振。

  • 您希望指定一个保护带(容差),在其周围检测到零交叉。

如果满足以下任何一个条件,Adaptive算法将关闭过零括号(停止迭代):

  • 超过了零交叉错误。中指定的值决定信号阈值选项,在“配置参数”对话框的“求解器”窗格中。也可以用ZCThreshold命令。默认值是汽车,但您可以输入任何大于零的实数作为公差。

  • 中指定的连续过零次数已超过连续零交叉的个数选项,在“配置参数”对话框的“求解器”窗格中。或者,可以使用MaxConsecutiveZCs命令。

自适应过零检测的信号阈值

自适应算法自动设置过零检测的公差。或者,您可以通过在“配置参数求解器”窗格中输入一个大于或等于零的实数来设置公差,信号阈值下拉。只有当过零算法设置为时,此选项才会激活自适应

这个图形显示了信号阈值如何在过零点周围设置一个窗口区域。落在这个窗口内的信号被认为是零。

过零事件用时间步长T括起来n - 1和Tn.求解器迭代地减少时间步长,直到状态变量位于信号阈值定义的频带内,或直到连续的过零次数等于或超过配置参数求解器窗格中的值,连续零交叉的个数下拉。

从图中可以明显看出,增加信号阈值会增加将要执行的时间步长之间的距离。这通常会导致更快的模拟时间,但可能会降低准确性。