MATLAB Answers

simulinkのサンプル時間について

5 views (last 30 days)
今現在、離散系のシミュレーションを構築して解析を行っています。
構成として図にあるように上側がsin波を積分しScopeに接続、下側がsin波をZero-Order Holdしてから積分しScopeに接続したものになっています。
サンプル時間の凡例を表示させるとZero-Order Holdによってサンプリングが行えていることがわかります。
サンプリングした波形を積分ブロックに通すと信号の種類としては連続になっているのですが、波形を見ると100 μsでサンプリングされた波形が出力されてしまっています。
この結果は正しいのでしょうか?
合体版.PNG
また、離散系を連続系に変換するブロックがあれば教えていただけると幸いです。
よろしくお願いいたします。

  0 Comments

Sign in to comment.

Accepted Answer

Toshinobu Shintai
Toshinobu Shintai on 21 Jan 2020
離散系を連続系に戻すことはできないと思っていただきたいです。
離散時間でサンプリングした時点で、ナイキスト周波数以上の周波数成分が損なわれます。その成分をサンプリング後のデータから再生することはできません。
Simulinkの連続ブロックは、離散ブロックからの出力でも問題なく受け取って計算できますが、離散ブロックから信号を受け取っているときは、今回の結果のように離散的な挙動になります。

  1 Comment

Taisuke Hattori
Taisuke Hattori on 22 Jan 2020
ありがとうございます。

Sign in to comment.

More Answers (1)

Musashi Ito
Musashi Ito on 21 Jan 2020
モデルを見ると、Zero-Order Hold ブロックではサンプリングのみを考慮した理想的なAD変換器として表現していて、サンプリングしたデジタル的な信号をDA変換器を省略して、連続系のブロックに信号を入力している表現になるのかなと思います。
離散系の信号から、連続系の信号に変換する場合は、Rate Transition Block を連続系のブロックの前に挿入して、サンプル時間を 0 に設定すれば良いかなと思います。
また、ご参考までに離散システムをモデリングする場合は、ブロックライブラリの Discrete のブロックを使用してモデリングするかなと思います。

  1 Comment

Taisuke Hattori
Taisuke Hattori on 22 Jan 2020
ありがとうございます。

Sign in to comment.

Sign in to answer this question.