ついに禁断の荒業BVエレメントに手を出してしまいました。遅延をビヘイビアモデル化するためにです。LTspiceには Lossless Transmission Lineという伝送線路をモデル化するためのエレメントもあるのですがそちらは双方向、インピーダンスも要考慮。今回は信号を一方通行で遅らせたいだけなのよ。
※「SPICEの小瓶」投稿順インデックスはこちら
※ Analog Devices, Inc. LTspice XVII(x64) (17.0.36.0)を使用させていただいて動作確認しております。
Arbitrary Behavioral Voltage Sources
BVと呼ばれるBehavioral Voltage Sourcesはその名の通りビヘイビアモデルを作るための電圧源です。それが強力なのは、頭に関した Arbitrary というお言葉をみれば分かります。フツーのプログラミング言語に備わっているような関数共に加えて演算子の数々、そして恐ろし気なことに laplace とか、fft とかも備わっているみたい。まあ、これ使えば大抵のものが作り出せそうです。
今回は、その強力な機能のうち、「遅延」に関する関数を使ってみます。偉大な先人の方々がBVの使い方を御教示されているので、真似っこ(パクれば)簡単。マルツエレック殿の以下のページとか、
ABM(Analog Behavioral Modeling)による遅延回路の表現
LTspiceの権化、三共社、渋谷先生の以下のページとか、
ご覧くだされ。
手抜きなライブラリと手抜きなシンボル
入力抵抗RI、出力抵抗RO、そして肝心の遅延値DLがパラメータ化してあります。実際に使うときは別途数値を与える必要あり~の。
動作確認用回路図
動作確認は、矩形波を与えてそれが遅延していることを確かめるだけ。以下のようにシンボル右クリックでアトリビュートエディタを開き、RI、RO、DLに値を指定しています。遅延は20usecとな。これだけ遅ければよくみえるじゃろ、と。
さて、シミュレーション結果が以下に。何か遅れていることは分かるのだけれどもイマイチ。
「遅延」部分を拡大したものが以下に。差分をみると20.3μ秒くらいとな。
遅延してますな。よかった。でもBV使いはじめると、なんでもBVで済ませてしまいそう。。。