1

我在 simulink 中有一个信号,我想对其进行标准化,以便信号的最大值始终为 1。所以我使用 MaxRunningResettable-Block 来记住迄今为止传递的最大值。然后我将信号除以该值。

对信号生成块、正在运行的可复位块、除法块和示波器进行的小测试运行良好。但是当我将此归一化函数添加到我的 simulink 模型时,我收到一个错误:“模型初始化失败 - 发现涉及单位延迟的非法速率转换”

我什至不需要将小测试用例连接到我的其他模型。只需将其放入我的模型中,我就会收到此错误。奇怪的是,当我复制 RunningResettable 块时,它会变成黄色——这表明我认为它具有不同的采样率。我不明白为什么会这样。我已经尝试在 RunningResettable 后面添加一个零阶保持块,但这没有帮助。

带有麻烦的 RunningResettable-block 的 Simulink 模块表

正如建议的那样,我尝试将另一个常量块添加到 RunningResettable-Block 的 R 输入。我为该块尝试了几个采样频率(-1、0、1/fAb),但这并没有帮助。 将常量块添加到 R-input 后​​发生错误

4

1 回答 1

1

好的,最后我认为我发现了我的失败。似乎 SignalGenerator 输出一个连续信号(黑色)。因为在我的模型中大部分是离散信号,这会以某种方式导致错误。因此,当我在信号发生器之后简单地添加一个零阶保持块时,一切似乎都工作得很好。零阶保持的采样频率必须根据系统的其余部分进行调整。

在此处输入图像描述

于 2015-02-24T14:21:19.093 回答