data store memory引起的信号延迟

我在做反电势模型预测的时候,把预测的转速和theta与电机实际转速和theta进行比较。其中我发现一个现象,当我的EMF没有封装在子系统中,且连接上data store write的时候(无论data store是否被使用),theta会存在约一个周期的延迟。

img

img


但是把EMF放入任意子系统或者EMF包括两个输出的比较一同封装的话就不会存在延迟。

img

img

这是因为什么原因导致的,会不会是任务调度的延迟。

有帮助的话 采纳一下
你观察到的theta预测存在延迟的问题,很可能是任务调度造成的。
在Simulink模型中,不同子系统的执行优先级和调度是有影响的。

  1. 当EMF没有放在子系统中时,它的执行任务优先级较低,需要等待其他子系统任务完成后才会执行。因此会出现执行延迟。
  2. 将EMF放入子系统后,该子系统作为一个整体提高了执行优先级,可以减少延迟。
  3. 将EMF和比较输出一起封装也形成了一个子系统,提高了执行优先级。
    另外一点需要注意的是,使用数据存储会引入延迟。数据存储是在每次时间步后执行,需要等待当前时间步的所有任务完成。这也可能是延迟的一个原因。
    总结来说,使用子系统,避免数据存储,以及调整任务执行优先级,都可以帮助减少此类延迟问题的发生。需要针对模型结构具体分析找到延迟产生的根源。

造了10%的幅值衰减,且相位延迟了0.1个周期。这就是一个很大的问题,相位延迟了0.1个周期,进一步造成子系统中等处理时间的延迟。www.yiibai.com/matlab/simulink/simulink_models.html