前回、LTspiceの.MEASコマンドを使ってカットオフ周波数を計算。そのときHELPファイルの.MEASUREの項を読んでいて気付きました。ピークから3dB落ちたところの1点の周波数でなくバンド幅を求める方法書いてあるじゃん。Q値(Quality factor)など一撃、と思ったらそこから先が長かったです。
※「SPICEの小瓶」投稿順インデックスはこちら
※ Analog Devices, Inc. LTspice を使用させていただいて動作確認しております。今回使用のバージョンは以下です。
XVII(x64) (17.0.37.0)
Q値(quality factor)
アンテナとか、コイルとか、振動子とか振動するものを扱っていれば必ずどこかで登場してくるのがQ値です。アナログ素人の老人は何もいいませぬ、大量な情報がWeb上には存在しますし、AIに聞けば丁寧に教えてくれるでしょう。
なんとかの一つ覚えで「発振周波数のピークのところから3dB落ちたところのバンド幅」(2つの周波数の差)を求め、ピークの周波数をこれで割ってやればQが求まる筈。前回3dB落ちたところ、ただし1点の周波数を求めてます。あともう一息なんだけれどもと思っていたら、LTspiceのHELPファイルの.MEASUREの項に書いてありました。1か所引用させていただきます。
おお、.MEAS AC BWのところで2点の周波数のバンド幅を求めているじゃありませんか。これが分かればQ値を計算するのは一撃な筈。
AC解析、デフォルトで出力される値は (dB, °)
しかし、やってみて困りました。何を計算しても dB で値が出力されるのです。ピーク周波数をBW(周波数)で割った結果がまた dB って何よ。ここに躓きました。救いは以下の英文記事です。
finding corner frequency using .MEASURE in LTSpice
同じような事に困っている人がいたみたいデス。その対策がなんだか分からん以下の呪文です。あざ~す。
.opt meascplxfmt=cartesian
まあ、LTspiceのHELPファイルを丹念に読み込んでいたら .OPTION を説明しているページに以下のような記述があります。1か所引用させていただきます。
.measが複素数を扱う(AC解析などのとき)とき、bodeがデフォルトだと。つまりbodeだと (dB, °)という表現になるみたいです。一方、前にもやりましたがcartesian(デカルト座標ってこってすかい?)とすると素の(対数とらない)座標系になるのでした。これを使えばよかったのね。
Q値を求めるシミュレーション
以下のシミュレーションで使用した .OPTと.MEASが以下に。
.opt meascplxfmt=cartesian .meas AC Vpeak MAX mag(V(vout)) .meas AC Fpeak when mag(V(vout))=Vpeak .meas AC BW trig mag(V(vout))=Vpeak/sqrt(2) rise=1 targ mag(V(vout))=Vpeak/sqrt(2) fall=last .meas AC Qfactor PARAM Fpeak / BW
念のため、グラフにカーソル合わせて測定しているところが以下に。
グラフから求めるのはメンドイけど、Qはだいたい7.68くらいと読みました。
Qは約7.85だと。こっちゃのがちと大きいですけれども、計算はマズマズできておるようです。
なお、上記のシミュレーション過程で一文字の「Q」という変数名を使ったら以下のようなエラーにも遭遇しました。
一文字Qは使ってはいけないみたいです。これもどこかに書いてあるのか?