ペEの日記

ペ  ゆるふわ電子工作系ブログ。

アナログ・RF回路設計、MMIC・導波管デバイス設計経験あり、C言語/C++/Python/Matlab/Octave経験あり、シミュレータADS/HFSS/LTspice/QUCS/ngspice/openEMS経験あり。


記事一覧

Ngspiceによる結合伝送線路のシミュレーション その2:誘電正接(tanδ)

はじめに

前回の記事(Ngspiceによる結合伝送線路のシミュレーション - ペEの日記)で、Ngspiceを用いた無損失の伝送線路・結合伝送線路のモデル化について紹介した。今回は、さらに基板の誘電正接(tanδ)による損失の影響を考慮してみた。

誘電正接付きのキャパシタモデル

誘電正接を考慮したキャパシタモデルを下に示す。公称周波数FNOM=1 GHzにおけるtanδ(デフォルト値は0.04)をパラメータとして与え、等価直列抵抗に換算してCと直列に入れている。

* Capacitor with loss-tangent
.subckt C_LOSS_TANGENT
+       N1  N2
.param  C=1 tanD=0.04 FNOM=1E+09
C1      N1  N3  {C}
R1      N3  N2  {tanD/(2*3.14159*FNOM*C)}
.ends

インターディジタルフィルタの例

前回示した5次インターディジタルフィルタの例に誘電正接を加えたシミュレーション結果を下に示す。伝送線路モデルのCを全て誘電正接付きキャパシタモデルに置き換えている。グラフは、太線が誘電正接ありの結果、細線が誘電正接なしの結果を表している。tanδ=0.04で通過帯域の挿入損失は6 dB程度となった。

誘電正接(tanδ)を考慮したシミュレーション結果

下はパターンレイアウトは若干異なるが、中心周波数~1 GHzをターゲットに試作したインターディジタルフィルタの測定結果である。挿入損失は6.3 dB@1 GHzとなり、シミュレーションの値が妥当であることが分かる。

試作したインターディジタルフィルタの測定結果

以下、Ngspiceのスクリプトを載せる。

file: interdigital_filter_loss.spice

.title 5th-order chebyshev bandpass filter
* lower cutoff=900MHz, upper cutoff=1100MHz
* substrate permittivity=4.95, height=1mm

* Dimension parameters
.param  L=39.03m t=10.48m e=2.133m

* Equivalent inductances and capacitances
.param  L11=3.138E-07 L22={L11} L33={L11} L44={L11} L55={L11}
+       L12=5.382E-08 L23=4.348E-08 L34={L23} L45={L12}
+       C11=1.229E-10 C22={C11} C33={C11} C44={C11} C55={C11}
+       C12=1.141E-11 C23=7.876E-12 C34={C23} C45={C12}

* Parallel coupled microstrip lines
X1      N01 N02 N03 N04 N05
+       N11 N12 N13 N14 N15 CPL5
+       L11={L11} L22={L22} L33={L33} L44={L44} L55={L55}
+       L12={L12} L23={L23} L34={L34} L45={L45}
+       C11={C11} C22={C22} C33={C33} C44={C44} C55={C55}
+       C12={C12} C23={C23} C34={C34} C45={C45}
+       LENGTH={t}
X2      N11 N12 N13 N14 N15
+       N21 N22 N23 N24 N25 CPL5
+       L11={L11} L22={L22} L33={L33} L44={L44} L55={L55}
+       L12={L12} L23={L23} L34={L34} L45={L45}
+       C11={C11} C22={C22} C33={C33} C44={C44} C55={C55}
+       C12={C12} C23={C23} C34={C34} C45={C45}
+       LENGTH={L-t}
X3      N21 N31 LINE L11={L11} C11={C11} LENGTH={e}
X4      N25 N35 LINE L11={L55} C11={C55} LENGTH={e}
* Vias to ground
L1      N01 0   1.033e-10
L2      N22 0   1.033e-10
L3      N03 0   1.033e-10
L4      N24 0   1.033e-10
L5      N05 0   1.033e-10
* RF ports
V1      N11 0   dc 0 portnum 1 z0 50
V2      N15 0   dc 0 portnum 2 z0 50

* Capacitor with loss-tangent
.subckt C_LOSS_TANGENT
+       N1  N2
.param  C=1 tanD=0.04 FNOM=1E+09
C1      N1  N3  {C}
R1      N3  N2  {tanD/(2*3.14159*FNOM*C)}
.ends

* Single transmission line
.subckt LINE
+       NI  NO
.param  L11=1E-07 C11=4E-11 LENGTH=1E+00 DX={LENGTH/6}
X1      NI  NJ  LINE_DX L11={L11*DX} C11={C11*DX}
X2      NJ  NK  LINE_DX L11={L11*DX} C11={C11*DX}
X3      NK  NL  LINE_DX L11={L11*DX} C11={C11*DX}
X4      NL  NM  LINE_DX L11={L11*DX} C11={C11*DX}
X5      NM  NN  LINE_DX L11={L11*DX} C11={C11*DX}
X6      NN  NO  LINE_DX L11={L11*DX} C11={C11*DX}
.ends

.subckt LINE_DX
+       NI  NO
.param  L11=1E-07 C11=4E-11
L11     NI  NO  {L11}
XCI11   NI  0   C_LOSS_TANGENT C={C11/2}
XCO11   NO  0   C_LOSS_TANGENT C={C11/2}
.ends

* 5-strip coupled transmission line
.subckt CPL5
+       NI1 NI2 NI3 NI4 NI5
+       NO1 NO2 NO3 NO4 NO5
.param  L11=1E-07 L22=1E-07 L33=1E-07 L44=1E-07 L55=1E-07
+       L12=0E-07 L23=0E-07 L34=0E-07 L45=0E-07
+       C11=4E-11 C22=4E-11 C33=4E-11 C44=4E-11 C55=4E-11
+       C12=0E-11 C23=0E-11 C34=0E-11 C45=0E-11
+       LENGTH=1E+00 DX={LENGTH/6}
X1      NI1 NI2 NI3 NI4 NI5
+       NJ1 NJ2 NJ3 NJ4 NJ5 CPL5_DX
+       L11={L11*DX} L22={L22*DX} L33={L33*DX} L44={L44*DX} L55={L55*DX}
+       L12={L12*DX} L23={L23*DX} L34={L34*DX} L45={L45*DX}
+       C11={C11*DX} C22={C22*DX} C33={C33*DX} C44={C44*DX} C55={C55*DX}
+       C12={C12*DX} C23={C23*DX} C34={C34*DX} C45={C45*DX}
X2      NJ1 NJ2 NJ3 NJ4 NJ5
+       NK1 NK2 NK3 NK4 NK5 CPL5_DX
+       L11={L11*DX} L22={L22*DX} L33={L33*DX} L44={L44*DX} L55={L55*DX}
+       L12={L12*DX} L23={L23*DX} L34={L34*DX} L45={L45*DX}
+       C11={C11*DX} C22={C22*DX} C33={C33*DX} C44={C44*DX} C55={C55*DX}
+       C12={C12*DX} C23={C23*DX} C34={C34*DX} C45={C45*DX}
X3      NK1 NK2 NK3 NK4 NK5
+       NL1 NL2 NL3 NL4 NL5 CPL5_DX
+       L11={L11*DX} L22={L22*DX} L33={L33*DX} L44={L44*DX} L55={L55*DX}
+       L12={L12*DX} L23={L23*DX} L34={L34*DX} L45={L45*DX}
+       C11={C11*DX} C22={C22*DX} C33={C33*DX} C44={C44*DX} C55={C55*DX}
+       C12={C12*DX} C23={C23*DX} C34={C34*DX} C45={C45*DX}
X4      NL1 NL2 NL3 NL4 NL5
+       NM1 NM2 NM3 NM4 NM5 CPL5_DX
+       L11={L11*DX} L22={L22*DX} L33={L33*DX} L44={L44*DX} L55={L55*DX}
+       L12={L12*DX} L23={L23*DX} L34={L34*DX} L45={L45*DX}
+       C11={C11*DX} C22={C22*DX} C33={C33*DX} C44={C44*DX} C55={C55*DX}
+       C12={C12*DX} C23={C23*DX} C34={C34*DX} C45={C45*DX}
X5      NM1 NM2 NM3 NM4 NM5
+       NN1 NN2 NN3 NN4 NN5 CPL5_DX
+       L11={L11*DX} L22={L22*DX} L33={L33*DX} L44={L44*DX} L55={L55*DX}
+       L12={L12*DX} L23={L23*DX} L34={L34*DX} L45={L45*DX}
+       C11={C11*DX} C22={C22*DX} C33={C33*DX} C44={C44*DX} C55={C55*DX}
+       C12={C12*DX} C23={C23*DX} C34={C34*DX} C45={C45*DX}
X6      NN1 NN2 NN3 NN4 NN5
+       NO1 NO2 NO3 NO4 NO5 CPL5_DX
+       L11={L11*DX} L22={L22*DX} L33={L33*DX} L44={L44*DX} L55={L55*DX}
+       L12={L12*DX} L23={L23*DX} L34={L34*DX} L45={L45*DX}
+       C11={C11*DX} C22={C22*DX} C33={C33*DX} C44={C44*DX} C55={C55*DX}
+       C12={C12*DX} C23={C23*DX} C34={C34*DX} C45={C45*DX}
.ends

.subckt CPL5_DX
+       NI1 NI2 NI3 NI4 NI5
+       NO1 NO2 NO3 NO4 NO5
.param  L11=1E-07 L22=1E-07 L33=1E-07 L44=1E-07 L55=1E-07
+       L12=0E-07 L23=0E-07 L34=0E-07 L45=0E-07
+       C11=4E-11 C22=4E-11 C33=4E-11 C44=4E-11 C55=4E-11
+       C12=0E-11 C23=0E-11 C34=0E-11 C45=0E-11
L11     NI1 NO1 {L11}
L22     NI2 NO2 {L22}
L33     NI3 NO3 {L33}
L44     NI4 NO4 {L44}
L55     NI5 NO5 {L55}
K13     L11 L33 0
K14     L11 L44 0
K15     L11 L55 0
K24     L22 L44 0
K25     L22 L55 0
K35     L33 L55 0
K12     L11 L22 {L12/sqrt(L11*L22)}
K23     L22 L33 {L23/sqrt(L22*L33)}
K34     L33 L44 {L34/sqrt(L33*L44)}
K45     L44 L55 {L45/sqrt(L44*L55)}
XCI11   NI1 0   C_LOSS_TANGENT C={C11/2}
XCO11   NO1 0   C_LOSS_TANGENT C={C11/2}
XCI22   NI2 0   C_LOSS_TANGENT C={C22/2}
XCO22   NO2 0   C_LOSS_TANGENT C={C22/2}
XCI33   NI3 0   C_LOSS_TANGENT C={C33/2}
XCO33   NO3 0   C_LOSS_TANGENT C={C33/2}
XCI44   NI4 0   C_LOSS_TANGENT C={C44/2}
XCO44   NO4 0   C_LOSS_TANGENT C={C44/2}
XCI55   NI5 0   C_LOSS_TANGENT C={C55/2}
XCO55   NO5 0   C_LOSS_TANGENT C={C55/2}
XCI12   NI1 NI2 C_LOSS_TANGENT C={C12/2}
XCO12   NO1 NO2 C_LOSS_TANGENT C={C12/2}
XCI23   NI2 NI3 C_LOSS_TANGENT C={C23/2}
XCO23   NO2 NO3 C_LOSS_TANGENT C={C23/2}
XCI34   NI3 NI4 C_LOSS_TANGENT C={C34/2}
XCO34   NO3 NO4 C_LOSS_TANGENT C={C34/2}
XCI45   NI4 NI5 C_LOSS_TANGENT C={C45/2}
XCO45   NO4 NO5 C_LOSS_TANGENT C={C45/2}
.ends

.control
* color0 is background, color1 is grid & text color, color2..22 are for graph plots
set color0=white color1=gray color2=red color3=blue color4=black
set wfont='DejaVu Sans Mono'
set wfont_size=12
set xbrushwidth=2

sp lin 1000 100Meg 2000Meg
plot db(s_1_1) db(s_2_1) ylimit -100 0

.endc
.end