Simulink中Delay模块是Unit Delay模块的功能增强版,它增加了:
- 可变延迟长度
- 从输入端口定义初始条件
- 使用环形缓冲区(ring buffer)来存储状态
- 用外部重置信号重置初始条件的状态
- 利用外部使能信号控制模块在每一时间步的执行
上述增强功能让Simulink建模时的状态存储和数据延迟更加灵活。
实际应用中,需要注意的一点是:避免滥用Delay模块的延迟长度
例如:
对于0.01s周期的离散系统,将Delay模块的延迟长度设为200,可以获取2s之前的延迟数据。
将Unit Delay模块的采样周期设为2,也可以达到同样的效果。
后者的效率远高于前者。