从设计意图和功能角度,Delay模块相比Memory模块差别较大,没有对比的意义。
而Unit Delay模块和Memory模块在功能上存在重叠,部分应用场景下可以互换。
在前文《Memory模块的注意事项》中,我们推荐使用Unit Delay模块替代Memory模块。
Simulink中Memory模块与Unit Delay模块的具体区别如下:
指定采样时间
Memory模块:继承采样时间或基于求解器,不支持指定采样时间
Unit Dealy模块:支持继承采样时间(-1),也支持指定具体采样时间,例如:0.2(s)
基于帧的信号
Memory模块:不支持基于帧的信号
Unit Dealy模块:支持基于帧的信号,搭配Buffer模块,可以将指定多个周期的信号打包为一帧,整体记录和延迟一个周期
状态记录
Memory模块:不支持状态记录
Unit Dealy模块:支持状态记录,模型配置参数-数据导入/导出,勾选“状态”后,Unit Dealy模块的状态可以输出到仿真结果的xout