0

この単純な simulink モデルでスコープの出力を理解するのに問題があります。

puls_gen とスコープ

固定ステップ ソルバーを使用しています (ode3 と ode8 で試しました)。 Pulse typeパルス発生器の を に設定しSample based、 と を変更しましPeriodPulse Width

まず、シミュレーション時間を 10 に設定し、パルス発生器をPeriod = 10およびに設定しPuls width = 5ます。スコープの出力は期待どおりです。

期間=10

Period = 1,000しかし、シミュレーション時間を 10,000 にしてパルス発生器を試してみたところPuls width = 500、スコープが間違っているようです。

ここに画像の説明を入力

最初の立ち下がりエッジが 5,500 にあるのはなぜですか? 私は毎回 Autoscale ボタンを使用しました。

sim time 100,000 を使用するとPeriod = 10,000Puls width = 5,000立ち下がりエッジが 1 つも得られません。

ここに画像の説明を入力

シミュレーション時間が長くなっても、スコープ ウィンドウの最後に 1 つの立ち上がりエッジがあるように見えます。

私は何を間違っていますか?スコープは、固定ステップ ソルバーを使用したこのような長いシミュレーション時間には適していませんか? または、Autoscale ボタンを使用するのは「安全」ではありませんか?

4

1 に答える 1

1

あなたが示すプロットはすべて正しいです。Simulink は長いシミュレーション時間でも問題ありません。Autoscale ボタンを使用することは「安全」です。

デフォルトでは、スコープは最後の 5000 シミュレーション タイム ステップのみを表示するように設定されています。モデルは 1 秒のステップ サイズを使用しているため (これは、パルス ジェネレーターのデフォルトのステップ サイズである 1 秒を使用することに基づいています)、2 番目のプロットでは、t=5000 から t=10000 までのポイントのみが表示されます (したがって、その期間の最初のダウン ステップは 5500 です)。3 番目のプロットでは、t=95000 から t=100000 (パルスの値が低い/ゼロの期間) までのポイントのみが表示されます。

すべてのシミュレーション時間を表示するには、Scope ブロックのパラメーターを (歯車の絵が描かれたボタンをクリックして) 開き、[履歴] タブに移動して、[データ ポイントを最後まで制限:]チェック ボックスの選択を解除します。

次に、シミュレーションを再実行し、オートスケール ボタンを押します。次に、何を期待しているか (私が思うに) が表示されます。

于 2015-07-05T14:17:50.440 に答える