面筋小子 2023-07-12 17:10 采纳率: 100%
浏览 9
已结题

data store memory引起的信号延迟

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

img

img


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

img

img

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

  • 写回答

2条回答 默认 最新

  • 开发技术控 2023-07-12 17:18
    关注

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

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

报告相同问题?

问题事件

  • 系统已结题 7月20日
  • 已采纳回答 7月12日
  • 创建了问题 7月12日

悬赏问题

  • ¥15 ecplise在连接数据库时显示加载驱动成功但是数据库连接失败
  • ¥15 visionmaster启动失败,提示为“机器不满足授权而被禁用”
  • ¥50 用logisim设计16位单时钟周期cpu
  • ¥15 IDEA中圈复杂度如何具体设置
  • ¥50 labview采集不了数据
  • ¥15 Multisim红外倒车雷达仿真中距离问题
  • ¥15 请上面代码做什么处理或什么混淆
  • ¥15 英雄联盟自定义房间置顶
  • ¥15 W5500网线插上无反应
  • ¥15 如何用字典的Key,显示在WPF的xaml中