LTspiceで高周波解析(1)伝送線路のマイクロストリップライン素子(Microstrip LineのWheelerやHammaerstadモデル)をサブサーキットとして作ってみて、かつSパラメータ解析まで.net文をつけてやってみる。線幅、基板厚、比誘電率などをパラメータで計算できる。
LTspiceという無償のSpice系のシミュレータはよく使われている。(アナログデバイセズが買収したがもともとリニアテクノロジーが提供していたのでLTという名前が今でも残っている)。
https://www.analog.com/jp/design-center/design-tools-and-calculators/ltspice-simulator.html
ただ同じく無償のQucsやQucsStudioが様々な伝送線路モデルがあってSパラメータ解析も簡単なのに比べると、LTspiceには一応伝送線路モデルが2つ、ロスレスのTLINEと一応ロスがあるLTLINがあるというもののものすごく使いにくい。
そのためLTspiceは高周波系にはあまり使われない。むしろ半導体モデリングやディスクリートのアンプ、OPアンプのモデルが提供されているときのシミュレーションが多いのではないだろうか。
ということで伝送線路モデルLTLINに.paramで様々な式を入れてサブサーキット化してちょっとは使いやすくしようと思った。
(LTspiceしか使えない!という若手が出てきたので…)
あんまり複雑なモデルは挫折したので、前に高精度計算サイトkeisan.casio.jpに自作式で作った
と同じ、
(参考文献)"Microwave Solid State Circuit Design 2nd ed.", Bahl and Bhartia, Wiley
とした。Wheeler、Hammaerstadモデルを基にした式を計算している。
でどうやるか?まず回路にたくさん.param文をつけてこうした。
式が長すぎて途中で切れているのでサブサーキットのテキストはこちら(後で.ascと.asyファイルは添付しますが):
* block symbol definitions
.subckt microstripline Port1 Port2
O1 Port1 0 Port2 0 LTRA1
.model LTRA1 LTRA(Len=L R=Reff C=Ceff L=Leff)
.param c=299792458
.param Ceff=1/(v*Z0) Leff=Z0/v Reff=1/(t*W*sig)
.param W0=if(W/h-1/(2*pi)+0.5,W+(1.25/pi)*t*(1+ln(2*h/t)),W+(1.25/pi)*t*(1+ln(4*pi*W/t)))
.param eeff=if(W/h-0.5,(eps+1)*0.5+0.5*(eps-1)*((1+12*h/W)**(-0.5))-(eps-1)*t/(4.6*h*sqrt(W/h)),(eps+1)*0.5+0.5*(eps-1)*((1+12*h/W)**(-0.5)+0.04*(1-W/h)**2)-(eps-1)*t/(4.6*h*sqrt(W/h)))
.param Z0=if(W/h-0.5,(120*pi/sqrt(eeff))/(W0/h+1.393+0.667*ln(W0/h+1.444)),60*ln(8*h/W0+0.25*W0/h)/sqrt(eeff))
.param v=c/sqrt(eeff)
.ends microstripline
LTspiceのif文の扱いがめちゃくちゃ特殊で、、、あとべき乗が^じゃなくて**なのにはまったりいろいろ。
パラメータはWが線幅、hが基板厚み、tは線路の導体厚み、Lは線路長さ、epsは基板の比誘電率、sigは線路導体の電気伝導率で、後で出てくる入力時の数値の中で
mと書いてあるのはメートルではなく!ミリのこと(mm, 1e-3)、同じくuはμ(1e-6)のことです。
シンボルは、絵心がないがこんな感じで。
でLTspiceでは.net文を使うことで実行できる。説明はヘルプ参照で(説明が面倒、、、)。X1のクリックで先ほどの形状パラメータW,h,t,L,eps,sigが入力できる。さっきもいったけどmはメートルじゃなくてmm。
計算結果はこちら。まずはdB表示。
位相表示。
一応QucsStudioで計算した結果とも比べていい感じであってることも確かめた。
ただし大問題があって、ロスがR,Gで入れられるのだが一定値しか入れられない。
なので電気伝導損の表皮効果も表面粗さの影響も入れられないし、基本周波数に比例する誘電損(tanδが0でない場合の)も取り入れられない。
S21は基本あまりあてにならないのでご注意。
なんとか周波数に依存して反射がないロスのモデル作れないかな…と考え中。
ではLTspiceのモデルをアップロードしておきます。
« 光明寺でお参り。一本だけ赤くなっている紅葉があった。 | トップページ | 神とさざなみの密室(市川憂人さん)を読んだ。右翼・左翼の政治団体の2人が目覚めると密室で遺体が、というソウを思わせる序盤からSNS、ヘイト、森友、ナッジなど盛り込み驚愕の真相に。それと正当性確率の計算をやってみようとカシオの高精度計算サイトに作ってみた。 »
「パソコン・インターネット」カテゴリの記事
- Qwen3.6-35B-A3Bが発表され、Ollamaでも使える。そこで電子レンジの動作原理(2.45GHzは水分子の共振周波数でない)と隕石が大気圏突入で燃える原理(摩擦熱ではない)を聞くと、誘電緩和と断熱圧縮について正しく答えられた。今までのローカルLLMで一番賢い回答と思う。(2026.04.17)
- ExcelのOfficeスクリプト(TypeScript)で数値計算ライブラリmath.jsを使う(1) Officeスクリプトは外部API呼び出せるし、math.jsは RESTful APIで呼び出せることがわかった。まずは選択したセルのデータを読み、行列演算。LU分解で一次方程式を解き、逆行列と行列式を求める。(2026.04.17)
- RF Weekly Digest (Gemini 3.1 Pro・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ)2026/4/5-4/12(2026.04.12)
- GLM-5.1(Ollamaから利用)でPythonのscikit-rfを使ってTouchstoneフォーマットのSパラメータファイルを読んでdB, 位相, スミスチャート, TDRを表示するGUIアプリを作ってもらった。5分など長く考えた後、Gemma 4:31bよりさらに出来が良く、思った通りのものができた。(2026.04.09)
« 光明寺でお参り。一本だけ赤くなっている紅葉があった。 | トップページ | 神とさざなみの密室(市川憂人さん)を読んだ。右翼・左翼の政治団体の2人が目覚めると密室で遺体が、というソウを思わせる序盤からSNS、ヘイト、森友、ナッジなど盛り込み驚愕の真相に。それと正当性確率の計算をやってみようとカシオの高精度計算サイトに作ってみた。 »









コメント