シミュレーション
MATLAB/Simulink

Simulinkについて

Simulinkは、MATLABの環境下で動くグラフィカルな汎用シミュレーション・パッケージであり、MATLABから簡単に呼び出すことが出来る。図1にはSimulinkのLibrary Browserを示しているが、多数用意された機能ブロックが機能別にカテゴリに分けられ整理されている。新規モデルを選択すると、真新しいダイアログボックスが表示される。用意された機能ブロックから必要なものをドラッグ・アンド・ドロップで配置してモデルを作成してゆくというのが作業の基本的な手順である。このような優れたユーザーインタフェースのため、簡単なモデルであれば非常に短時間で組み上げる事ができる。

Simulink

図1 Simulinkのlibrary Browserと新規モデル

MATLABの組み込み

XDEVオプションによるカスタマイズ機能を搭載すると、図2のようにWaveMasterの演算メモリF1にMATLABを組み込むことができる。ここでは、Source1とSource2で選択したオシロスコープの波形データが自動的にMATLABに転送されることを示しており、MATLABで演算した結果はF1の波形データとしてオシロスコープ上で表示されることとなる。実際には、MATLAB上にデータ配列WformIn1(またはWformIn2)が作られで入力データを受け取り、同様にデータ配列WformOutが作られて出力データを受け渡すように設定されるのである。既存のmファイルがあれば、入出力に上記の配列を使って入出力の文を追加してやれば、そのままオシロスコープに組み込む事ができる。

MATLAB

図2 MATLAB演算の組み込み

MATLABからSimulinkモデルの利用

図3には、例として取り上げた1次振動系のモデルを示している。このモデルを元にSimulinkで表したモデルを図4に示した。もちろんSimulink上でこのモデルのシミュレーションができるが、このモデルをMATLABから使うには、以下のようなコマンドを用いる。

[t,x,y]=sim(‘モデル名’、データの数、simset、入力の配列名)

上記に示したように、オシロスコープで捉えた実測波形データは、MATLABに簡単に引き渡す事が出来るので、その波形データをMATLABからSimulinkに引き渡せば、実測データを使ったシミュレーションが実行できる。ただし、ここで注意しなければならないのは、オシロスコープからMATLABへ引き渡される波形データは電圧値のみの1次元の配列であり、Simulinkで期待される入力データは時間軸データも付加した2次元配列であるため、MATLAB上で一旦1次元配列を2次元配列に変換してからSimulinkに送らなければならないということである。Simコマンドを使ってシミュレーションを行った結果は配列yとして送られてくるので、これをMATLABでオシロスコープに戻す事で実測波形をSimulinkのモデルを通した結果として表示する事が可能になる。
以下に、簡略化したコマンド列を示しておく。

num=size(WformIn1);
for i=1:num;
Ind(i,1)=i;
Ind(i,2)=WformIn1(i);
end
[t,x,y]=sim(‘VibSim’,num(:,1),simset,Ind);
Wformout=y;

Simulink

図3 一次振動系のモデル

Simulink

図4 Simulinkで作った一次振動系のモデル

実験結果
図5には、先に示した1次振動系のモデルをオシロスコープに組み込んで実行した結果を示している。上のグリッドに実測波形、下のグリッドにはSimulinkモデルを通した後のシミュレーション波形が示されていて、減衰振動が起きている事が分かる。このシミュレーション波形は、オシロスコープが実際の波形を取り込むたびにシミュレーションを実行しているので、モデルを変更すれば直ちに結果に反映される。図6にはモデルのダンピング係数を変えて得られた異なる波形を重ねてみたものである。
この例のように、モデルの変更による波形の変化を見ることだけならば、オシロスコープで補足した信号をMATLABに転送してPC上でシミュレーションを行えば事足りるが、実測の現場で結果を見ることができる優位性は大きい。特に実際の条件下で最適化条件を求めるような用途に最適である。デジタル・オシロスコープの信号補足能力が非常に優れているのは当然で、図6に示したように、実測波形が変化すれば、その変化した入力信号に対して新たなシミュレーション結果を即座に示すのである。このように実測波形を捉えることが本来の目的であるオシロスコープに、MATLAB/Simulinkの強力なシミュレーションを組み込む事で新たなアプリケーションが広がるものと期待している。

Simulink

図5 Simulinkを組み込んで実行した例

Simulink

図6 ダンピング係数を変えて実行した結果

Simulink

図7 入力信号を変えたときの結果

LeCroy MATLAB/Simulink Resources
【NO.LAB WM760】MATLABによる信号のフィルタ演算 PDF File 150K
【NO.LAB WM763】デジタル・フィルタリング PDF File 100K
エレクトロニクス アップデイト 【2003年12月号】
Simulinkによるシミュレーションをオシロスコープに組む
PDF File 650K
エレクトロニクス アップデイト 【2002年12月号】
高性能デジタル・オシロスコープでフィルタの検証
MATLABを組む
・MATLABの組み込み
・MATLABによるフィルタの設計
・フィルタの検証
PDF File 1.3MB

ページトップに戻る