示波器显示意外的脉冲发生器输出
Scope displays unexpected puls generator output
在这个简单的 simulink 模型中,我无法理解范围的输出:
我正在使用固定步长求解器(尝试使用 ode3 和 ode8)。
脉冲发生器的 Pulse type
设置为 Sample based
,我改变了 Period
和 Pulse Width
。
首先,我将模拟时间设置为 10,并将脉冲发生器设置为 Period = 10
和 Puls width = 5
。示波器的输出符合预期:
但是当我尝试使用模拟时间 10,000 和带有 Period = 1,000
和 Puls width = 500
的脉冲发生器时,我的范围似乎是错误的:
为什么第一个下降沿是在 5,500?我每次都使用自动缩放按钮。
使用模拟时间 100,000 和 Period = 10,000
和 Puls width = 5,000
我什至没有得到一个下降沿:
即使仿真时间更长,范围末尾似乎也只有一个上升沿 window。
我做错了什么?示波器不适合使用固定步长求解器进行如此长的模拟时间吗?或者是不是"safe"使用Autoscale按钮?
你展示的所有情节都是正确的。 Simulink 适用于较长的仿真时间。 "safe" 使用自动缩放按钮。
默认情况下,范围设置为仅显示最后 5000 个模拟时间步长。由于您的模型采用 1s 的步长(这是基于使用脉冲发生器的默认步长,即 1s),在您的第二个图中,您只能看到从 t=5000 到 t=10000 的点(因此第一步 在那个时间段 是 5500),在你的第三个情节中你只能看到从 t=95000 到 t=100000 的点(这是脉冲值为low/zero的周期)。
要查看所有模拟时间,请打开 Scope 块的参数(通过单击上面有齿轮图片的按钮),转到 History 选项卡,然后取消选择 Limit data points to last : 复选框。
然后重新运行模拟并按下自动缩放按钮。然后你会看到(我认为)你在期待什么。
在这个简单的 simulink 模型中,我无法理解范围的输出:
我正在使用固定步长求解器(尝试使用 ode3 和 ode8)。
脉冲发生器的 Pulse type
设置为 Sample based
,我改变了 Period
和 Pulse Width
。
首先,我将模拟时间设置为 10,并将脉冲发生器设置为 Period = 10
和 Puls width = 5
。示波器的输出符合预期:
但是当我尝试使用模拟时间 10,000 和带有 Period = 1,000
和 Puls width = 500
的脉冲发生器时,我的范围似乎是错误的:
为什么第一个下降沿是在 5,500?我每次都使用自动缩放按钮。
使用模拟时间 100,000 和 Period = 10,000
和 Puls width = 5,000
我什至没有得到一个下降沿:
即使仿真时间更长,范围末尾似乎也只有一个上升沿 window。
我做错了什么?示波器不适合使用固定步长求解器进行如此长的模拟时间吗?或者是不是"safe"使用Autoscale按钮?
你展示的所有情节都是正确的。 Simulink 适用于较长的仿真时间。 "safe" 使用自动缩放按钮。
默认情况下,范围设置为仅显示最后 5000 个模拟时间步长。由于您的模型采用 1s 的步长(这是基于使用脉冲发生器的默认步长,即 1s),在您的第二个图中,您只能看到从 t=5000 到 t=10000 的点(因此第一步 在那个时间段 是 5500),在你的第三个情节中你只能看到从 t=95000 到 t=100000 的点(这是脉冲值为low/zero的周期)。
要查看所有模拟时间,请打开 Scope 块的参数(通过单击上面有齿轮图片的按钮),转到 History 选项卡,然后取消选择 Limit data points to last : 复选框。
然后重新运行模拟并按下自动缩放按钮。然后你会看到(我认为)你在期待什么。