simulinkのサンプル時間について
6 ビュー (過去 30 日間)
古いコメントを表示
Taisuke Hattori
2020 年 1 月 21 日
コメント済み: Taisuke Hattori
2020 年 1 月 22 日
今現在、離散系のシミュレーションを構築して解析を行っています。
構成として図にあるように上側がsin波を積分しScopeに接続、下側がsin波をZero-Order Holdしてから積分しScopeに接続したものになっています。
サンプル時間の凡例を表示させるとZero-Order Holdによってサンプリングが行えていることがわかります。
サンプリングした波形を積分ブロックに通すと信号の種類としては連続になっているのですが、波形を見ると100 μsでサンプリングされた波形が出力されてしまっています。
この結果は正しいのでしょうか?
![合体版.PNG](https://www.mathworks.com/matlabcentral/answers/uploaded_files/264660/%E5%90%88%E4%BD%93%E7%89%88.png)
また、離散系を連続系に変換するブロックがあれば教えていただけると幸いです。
よろしくお願いいたします。
0 件のコメント
採用された回答
Toshinobu Shintai
2020 年 1 月 21 日
離散系を連続系に戻すことはできないと思っていただきたいです。
離散時間でサンプリングした時点で、ナイキスト周波数以上の周波数成分が損なわれます。その成分をサンプリング後のデータから再生することはできません。
Simulinkの連続ブロックは、離散ブロックからの出力でも問題なく受け取って計算できますが、離散ブロックから信号を受け取っているときは、今回の結果のように離散的な挙動になります。
その他の回答 (1 件)
Musashi Ito
2020 年 1 月 21 日
モデルを見ると、Zero-Order Hold ブロックではサンプリングのみを考慮した理想的なAD変換器として表現していて、サンプリングしたデジタル的な信号をDA変換器を省略して、連続系のブロックに信号を入力している表現になるのかなと思います。
離散系の信号から、連続系の信号に変換する場合は、Rate Transition Block を連続系のブロックの前に挿入して、サンプル時間を 0 に設定すれば良いかなと思います。
また、ご参考までに離散システムをモデリングする場合は、ブロックライブラリの Discrete のブロックを使用してモデリングするかなと思います。
参考
カテゴリ
Help Center および File Exchange で スコープおよびデータ ログ についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!