[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Self and mutual inductances of coupled microstrip lines in RF frequency range



Hello,

Here goes the question that perhaps isn't very common among this group: application of this
great software to microwave problem. Actually, what I'd like to evaluate is an [L] and [R]
per-unit-length (p.u.l.) matrices for a system of rectangular-cross-section lossy metal strips
located within an arbitrarily stratified infinite lossy dielectric substrate that potentially
may be conductive. Usually mu is 1 for all participating materials. This case covers PCB, LTCC,
semiconducting chips etc. Operating frequencies may be from 0 Hz to dozens of GHz and eddy
currents in the substrate aggravate the stuation making [L] frequency dependent (actually,lossy
strip metall also slightly contributes to the frequency dependence of L ).


If substrate is purely dielectric electrostatic solvers may do the job and give pretty accurate
results that match those obtained from full EM solvers. Cross-sectional dimensions are small relative to
wavelength (say, width 500 microns and highest frequency 500 MHz for PCB or width 50 microns and
highest frequency 10 GHz for RF chip) so application of static and quasi-static solvers is fairly
justified. So I hoped to check the accuracy of FEMM comparing results with my favorite electrostatic solver.


Unfortunately, results for coupled lines are out of whack :-(( could be that I'm doing something wrong...

I attached two files. First file describes single line, second file describes two edge coupled lines.

In both cases perfectly conducting infinite ground plane backs the single layer substrate. Substrate
material is named Silicon but actually it is air (sigma=0, mu=1). For single line I applied circuit
current (I = 1A) to the conducting strip and enclosed the structure in a circle that models open space.
Boundary condition A=0 is applied to the bottom of substrate. So structure is very simple (W=50 microns,
T=5 microns where W stands for strip width, T is the strip thickness).


For the Single_Line structure my electrostatic solver gives p.u.l. L=536 nH/m.

Remember this solver implies that L is frequency independent.

Now go FEMM results (post-processed L=\int{A*J}/I^2 over the strip cross-section and rounded to 1 nH/m)

F L, nH/m

0 Hz 560

1 MHz 560

100 MHz 557

1 GHz 540


Not bad, at least in the ballpark.



For the Two_Lines structure my electrostatic solver gives L11 = L22 = 503 nH/m; L21 = L12 = 295 nH/m.


L11 L12
[L] =
L21 L22

With FEMM I evaluated [L] as following:
First, I appied circuit current = 1A only to the strip #1, no current applied to the strip #2.
So
L11 = \int{A_11*J_1}/I_1^2
L22 = \int{A_21}/(I_1^2*W*T)


Here A_11 is potential over strip #1; J_1 is current density over strip #1; A_21 is potential over
strip #2; W*T give strip cross-section area.


Here go FEMM results:


F L11, nH/m L21, nH/m


0 Hz 560 272 almost nice :-)

1 MHz 561 272 :-)

100 MHz 427 23 :-(

1 GHz 359 0.63 :-((((


Field is noticeably distorted for F>100MHz.


So my question to all people who used FEMM for PCB evaluations (and of course to Dave): what I'm going wrong
and are there any ways to get reasonable results? My experience with FEMM is only week long and I never worked
with magnetic solvers. May another choice of boundary conditions help? Actually, I tried rectangular box but
this circular enclosure seems to work better.


Any help and ideas are greatly appreciated,


Samuel










_________________________________________________________________
Add photos to your e-mail with MSN 8. Get 2 months FREE*. http://join.msn.com/?page=features/featuredemail


[Format] = 3.0
[Frequency] = 1000000000
[Precision] = 1e-008
[LengthUnits] = microns
[ProblemType] = planar
[Coordinates] = cartesian
[Comment] = "Add comments here."
[PointProps] = 0
[BdryProps] = 2
<BeginBdry>
<BdryName> = "Zero"
<BdryType> = 0
<A_0> = 0
<A_1> = 0
<A_2> = 0
<Phi> = 0
<c0> = 0
<c1> = 0
<Mu_ssd> = 0
<Sigma_ssd> = 0
<EndBdry>
<BeginBdry>
<BdryName> = "Open"
<BdryType> = 3
<A_0> = 0
<A_1> = 0
<A_2> = 0
<Phi> = 0
<c0> = 0
<c1> = 0
<Mu_ssd> = 0
<Sigma_ssd> = 0
<EndBdry>
[BlockProps] = 3
<BeginBlock>
<BlockName> = "Gold"
<Mu_x> = 1
<Mu_y> = 1
<H_c> = 0
<H_cAngle> = 0
<J_re> = 0
<J_im> = 0
<Sigma> = 41
<d_lam> = 0
<Phi_h> = 0
<LamType> = 0
<LamFill> = 1
<BHPoints> = 0
<EndBlock>
<BeginBlock>
<BlockName> = "Air"
<Mu_x> = 1
<Mu_y> = 1
<H_c> = 0
<H_cAngle> = 0
<J_re> = 0
<J_im> = 0
<Sigma> = 0
<d_lam> = 0
<Phi_h> = 0
<LamType> = 0
<LamFill> = 1
<BHPoints> = 0
<EndBlock>
<BeginBlock>
<BlockName> = "Silicon"
<Mu_x> = 1
<Mu_y> = 1
<H_c> = 0
<H_cAngle> = 0
<J_re> = 0
<J_im> = 0
<Sigma> = 0.001
<d_lam> = 0
<Phi_h> = 0
<LamType> = 0
<LamFill> = 1
<BHPoints> = 0
<EndBlock>
[CircuitProps] = 1
<BeginCircuit>
<CircuitName> = "+"
<VoltGradient_re> = 0
<VoltGradient_im> = 0
<TotalAmps_re> = 1
<TotalAmps_im> = 0
<CircuitType> = 0
<EndCircuit>
[NumPoints] = 12
-200	0	0	0
400	0	0	0
-200	100	0	0
400	100	0	0
75	100	0	0
125	100	0	0
75	105	0	0
125	105	0	0
135	100	0	0
185	100	0	0
-555	65	0	0
740	65	0	0
[NumSegments] = 11
0	1	-1	1	0	0
2	0	-1	0	0	0
3	1	-1	0	0	0
2	4	-1	0	0	0
4	5	-1	0	0	0
5	8	-1	0	0	0
9	3	-1	0	0	0
6	7	-1	0	0	0
6	4	-1	0	0	0
7	5	-1	0	0	0
8	9	-1	0	0	0
[NumArcSegments] = 2
10	11	180	10	2	0	0
11	10	180	10	2	0	0
[NumHoles] = 0
[NumBlockLabels] = 3
101	103	1	0.5	1	0	0
100	117	2	20	0	0	0
100	81	3	10	0	0	0


[Format] = 3.0
[Frequency] = 1000000000
[Precision] = 1e-008
[LengthUnits] = microns
[ProblemType] = planar
[Coordinates] = cartesian
[Comment] = "Add comments here."
[PointProps] = 0
[BdryProps] = 2
<BeginBdry>
<BdryName> = "Zero"
<BdryType> = 0
<A_0> = 0
<A_1> = 0
<A_2> = 0
<Phi> = 0
<c0> = 0
<c1> = 0
<Mu_ssd> = 0
<Sigma_ssd> = 0
<EndBdry>
<BeginBdry>
<BdryName> = "Open"
<BdryType> = 3
<A_0> = 0
<A_1> = 0
<A_2> = 0
<Phi> = 0
<c0> = 0
<c1> = 0
<Mu_ssd> = 0
<Sigma_ssd> = 0
<EndBdry>
[BlockProps] = 3
<BeginBlock>
<BlockName> = "Gold"
<Mu_x> = 1
<Mu_y> = 1
<H_c> = 0
<H_cAngle> = 0
<J_re> = 0
<J_im> = 0
<Sigma> = 41
<d_lam> = 0
<Phi_h> = 0
<LamType> = 0
<LamFill> = 1
<BHPoints> = 0
<EndBlock>
<BeginBlock>
<BlockName> = "Air"
<Mu_x> = 1
<Mu_y> = 1
<H_c> = 0
<H_cAngle> = 0
<J_re> = 0
<J_im> = 0
<Sigma> = 0
<d_lam> = 0
<Phi_h> = 0
<LamType> = 0
<LamFill> = 1
<BHPoints> = 0
<EndBlock>
<BeginBlock>
<BlockName> = "Silicon"
<Mu_x> = 1
<Mu_y> = 1
<H_c> = 0
<H_cAngle> = 0
<J_re> = 0
<J_im> = 0
<Sigma> = 0.001
<d_lam> = 0
<Phi_h> = 0
<LamType> = 0
<LamFill> = 1
<BHPoints> = 0
<EndBlock>
[CircuitProps] = 2
<BeginCircuit>
<CircuitName> = "+"
<VoltGradient_re> = 0
<VoltGradient_im> = 0
<TotalAmps_re> = 1
<TotalAmps_im> = 0
<CircuitType> = 0
<EndCircuit>
<BeginCircuit>
<CircuitName> = "-"
<VoltGradient_re> = 0
<VoltGradient_im> = 0
<TotalAmps_re> = -1
<TotalAmps_im> = 0
<CircuitType> = 0
<EndCircuit>
[NumPoints] = 18
-200	0	0	0
400	0	0	0
-200	100	0	0
400	100	0	0
75	100	0	0
125	100	0	0
135	100	0	0
185	100	0	0
-555	65	0	0
740	65	0	0
45	100	0	0
45	105	0	0
95	105	0	0
95	100	0	0
105	100	0	0
105	105	0	0
155	100	0	0
155	105	0	0
[NumSegments] = 18
0	1	-1	1	0	0
2	0	-1	0	0	0
3	1	-1	0	0	0
2	10	-1	0	0	0
4	13	-1	0	0	0
7	3	-1	0	0	0
6	16	-1	0	0	0
5	6	-1	0	0	0
10	4	-1	0	0	0
13	14	-1	0	0	0
10	11	-1	0	0	0
12	11	-1	0	0	0
12	13	-1	0	0	0
14	5	-1	0	0	0
16	7	-1	0	0	0
14	15	-1	0	0	0
15	17	-1	0	0	0
17	16	-1	0	0	0
[NumArcSegments] = 2
8	9	180	10	2	0	0
9	8	180	10	2	0	0
[NumHoles] = 0
[NumBlockLabels] = 4
81	103	1	1	0	0	0
100	117	2	20	0	0	0
100	81	3	10	0	0	0
131	103	1	1	1	0	0