初心者のためのLTspice 入門 シミュレーション結果を保存しその結果を利用する(5)waveファイルを有効利用
●waveファイルの電圧変動の範囲
電圧データをwaveファイルとして保存するときは、変動の上下限がプラス1Vからマイナス1Vの範囲のデータしか保存できません。この範囲を超えるデータは上下限の値(±1)に固定されてwaveファイルに保存されます。そのため、クリッピングされたデータとなります。
±1Vを超える電圧などの変動をwaveファイルに記録するためには、何らかの方法で電圧の変動の範囲を縮小する必要があります。
●BVでシミュレーション結果に演算処理を加えられる
BV(Arbitrary behavioral voltage source)は、各種の関数、演算が利用できて、いろいろな使い方ができます。その中で、今回は、waveファイルに保存するために、変動の範囲を±1Vの範囲内に抑えるために縮小する方法を検討します。
BVの利用で、次に示すように出力電圧は、
V=F(・・・) |
関数やほかの電圧源の出力、シミュレーション結果などの加減乗除の組み合わせで設定できます。
V=F(・・・)の関数F(…)の部分に、次の式を代わりに設定します。
V=V(out)/2 |
V(out)は、シミュレーション結果で±1V以下に縮小が必要なwaveファイルに保存が必要な電圧データです。V(out)のピーク値が±2Vですので1/2にしています。
本連載の3回目に、LTspiceのHelpにあるBVで利用できる関数、演算子の一覧表を載せてあるので参照してください。LTspiceのHelpからも参照できます。
http://www.denshi.club/ltspice/2018/04/ltspice-3-1.html
●LTspiceでのシミュレーション結果
出力OUTをBVのB1で1/2にしました。そのため、V(out)は±2Vのピークの出力ですがB1により1/2に縮小された出力V(B1out)のピーク値は、waveファイルの保存範囲電圧±1Vを超えません。
次の回路で、このB1の出力を .waveコマンド(ディレクティブ)を利用して V(B1out)をチャネル0に縮小したデータを保存しています。あわせてマイナス入力(in-)をチャネル1に、プラス入力(in+)をチャネル2に保存します。
シミュレーションの結果を確認すると、次に示すように青のB1outの出力電圧は、outの電圧の1/2になっています。
●waveファイルを信号源に利用する
次に示すように、電圧源V1でwaveファイルのチャネル0で、±2Vの範囲で振れていたデータを1/2に除算して圧縮し保存したものを再現しています。
B1のvoutは、V1のwaveファイルの電圧を2倍して下のデータの大きさに再現しています。
BVでは、このように電圧源などの信号データに演算処理を加えることができます。BVでは、このほかに多くの種類の関数も利用できます。機会を見つけそれぞれ説明する予定です。
waveファイルは複数のシミュレーション結果を保存し、ほかの回路などの入力信号として利用することもできます。waveファイルの処理について一区切りとします。
(2018/4/17 V1.0)
<神崎康宏>