リングバッファはどの​ようにモデル化すれば​いいですか?

23 ビュー (過去 30 日間)
MathWorks Support Team
MathWorks Support Team 2016 年 11 月 22 日
編集済み: MathWorks Support Team 2021 年 3 月 9 日
リングバッファを実現したいと考えています。方法を教えてください。

採用された回答

MathWorks Support Team
MathWorks Support Team 2021 年 3 月 9 日
編集済み: MathWorks Support Team 2021 年 3 月 9 日
基本的なブロックから、リングバッファを実現する1例としては、
SelectorとMux ブロックを使用する方法が考えられます。
(バッファとしてData Store Memoryを使用しています。)
Data Store Read 信号を読み出し、
Selector ブロック にて、最も古い1要素だけ捨てて取り出した後、
Mux ブロックで、最新の信号と連結させます。
また、バッファ(Data Store Memory)へのインデックスを循環させたい場合は、
Assignmentブロックを使用し、
インデックスベクトルへの入力値を循環する方法が考えられます。
その他として考えられる方法は、
・chart
・MATLAB Function
・For Iterator Subsystem
などを利用し、for文処理によって、
同一タイムステップでバッファリング処理を実現する方法も考えられます。
(関連資料)
・forループ
・for
・For Iterator

その他の回答 (1 件)

Atsushi Matsumoto
Atsushi Matsumoto 2019 年 11 月 6 日
Delayブロックで[リング バッファーを使用]オプションを有効にするとリングバッファーを使った遅延となります。

カテゴリ

Help Center および File ExchangeSignal Routing についてさらに検索

タグ

タグが未入力です。

製品


リリース

R2011b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!