You are on page 1of 24

1

Design of Planar Rectangular Microelectronic Inductors

Based on:
H.M. GREENHOUS, Senior Member, IEEE, "Design of Planar Rectangular Microelectronic
Inductors, IEEE Transactions on parts, Hybrids, and packaging, vol. PHP-10, no. 2,
June 1974.

Report: 1-08-10-04
Date: August 10, 2004
Wriiten by: Z. Gutman, M. Zontak, D. Razansky and Y. Nemirovsky

Table of contents
I. Introduction

II. Simulation results

12

III. The Quality Factor

16

IV.

17

Appendix A - ADS Results

V. Appendix B - Matlab Code

20

I. Introduction
Under the assumption that the differential form of Maxwell's equations hold and that material
properties are uniform, then,
r
r
B = A
r r

H = J (1)
r
r B
H=

r
r
where A is the magnetic vector potential and B is the magnetic flux density.

r r
A = J (2)

Using the identify,

r
r
A = 2 A + ( A ) (3)
123
=0

and combining the eq. (2) and (3) well obtain,


r
r
2 A = J (4),
r
where J is the current density.
The solution of eq. (4) is:

r r

A(r ) =
4

r r
J ( r ') dV '
rr rr ' (5)

Integral form of Faraday's law is:

E dl = dt

where

r r
B ds (6),

r r
E
dl sums the tangential component of the electric field around a closed path given

by contour C, and

r r
B ds sums the normal component of the magnetic flux density

through the area enclosed by C.


Substituting (1) into (6) and applying Stokes' theorem (Appendix A),
r r
r r
A ds = A dl (7)
S

r
true for any vector field A , yields
r

E dl

d
dt

A dl (8)

r
Under quasi-static conditions, substituting (5) to eliminate A gives
r r
r r

J ( r ') dV ' r
d
C E dl = dt C 4 V rr rr ' dl (9)

For a circuit consisting of thin wire and small components, the current density vanishes for
points of the contour C, and it travels in a direction tangential to the contour. Executing the
volume integral yields the simplified form:

r r
d
C E dl = dt


C 4

C'

r
i ( r ') r r
r r dl ' dl (10)
r r '

I is the current on the thin wire.


According to the quasi-static assumption, the current is constant on the contour, and (10) can
be rearranged into time-constant and time varying parts as

r r

E dl =
C
C 4

C'

r r di
1
(11)
r r dl ' dl
r r '
dt

The complexity of Maxwell's equations is then captured in a time-constant, geometricallydependent factor called inductance, define by

L=
4

r r
dl ' dl
C ' rr rr ' (12)

and this formulation of L is called Neumann's inductance formula.


Definition of Mutual inductance
System will typically consist of several interacting circuits, so it is necessary to investigate
the voltages including on one circuit by the time-varying magnetic flux densities produced by
another. The derivation and concepts developed for inductance are extended to investigate
mutual inductance.
So we get the mutual inductance between contours C1 and C2 , Neumann's formula for the
mutual inductance:

M ij =
4


Ci

C'j

r r
dl ' dl
r r (14)
r r '

5
Partial mutual inductance between Two Parallel Wires
Partial inductances are convenient when the geometry of the closed contour can be
segmented into pieces for which formulas are already available. Using the thin-wire
approximation and Neumann's formula, formulas for many useful structures can be derived.
For two parallel straight wire, the setup for the partial mutual inductance calculation is shown
in figure 1. For use in eq. (14), the various vectors are:
r
r = xx
r
r ' = x ' x + ay
r r
2
r ' r = ( x ' x ) + a 2
r
dl = dxx
r
dl ' = dx ' x
Y
dx
'

r
0 r

Wire 1

r dx
r'

Wire 2
b

Figure 1. Setup for partial mutual inductance calculation for two parallel thin wires.

Then the partial mutual inductance is


Mp =

b b

0 0

( x ' x )

b b
b
a a
ln
+ 1 + 1 + + (15)
2 a
a
b b

dxdx '

+ a2

Where the subscript p is used to emphasize that this is a partial mutual inductance.
Two integral formulas useful in this solution are:

ln ( u +

du
u +a
2

= ln u + u 2 + a 2 (16)

u 2 + a 2 du = u ln u + u 2 + a 2 u 2 + a 2 (17)

6
Prove of (16):

( (

d
ln u + u 2 + a 2
du
1

u + u2 + a2

)) = u +

1 2 u
1 +
=
u +a
2 u2 + a2
1

u2 + a2 + u
u +a
2

u + a2
2

Prove of (17):

1 ln ( u +

u 2 + a2

v '=1

=
{

u = ln u + u 2 + a 2

u ln u + u 2 + a 2 2u

1
2 u + a2
2

= u ln u + u 2 + a 2 u 2 + a 2
Now, let's prove equation (15):

y = x ' x 4

Mp =
{

dy = dx '

b
ln y + y 2 + u 2

2
2

4
y + a (16)
0
dxdy

0 0 x


ln b x +
4 0
b

b b x

=
{

(b x )

) (

+ a 2 ln x +

(x)

)
2

y =b x
y=x

(18)

+ a 2 dx

where,

ln ( b x + ( b x )
b

= b ln b + b + a
2

+ a 2 dx =
{ ( b x ) ln b x +
(17)

(b x )

+ a2

b
0

(b x )

+ a2

b
0

=
(19)

b +a +a
2

and,

ln ( x + ( x )
b

(b)

+ a 2 dx = b ln b +

+ a 2 + b 2 + a 2 a (20)

When combing Eq. (19) and (20) into Eq. (18) well obtain,
Mp =


b ln b + b 2 + a 2 b ln b + b 2 + a 2 b 2 + a 2 b 2 + a 2 + a + a

b + b2 + a 2
b ln
Mp =
b + b 2 + a 2
4

b + b2 + a2
ln
2
2

b + b + a

2 b 2 + a 2 + 2a

b + b 2 + a 2
= ln
2
2

b+ b +a

(21)

b + b2 + a2
b 2 + b 2 + a 2
=
2
ln
= ln

a
2
2
b+ b +a

(22)

7
2
2

b b
b
a a
2
(23)
Mp =
+ 1+ 1 + +
ln
2 a
a
b b

For narrowly spaced wires with b

a x=

a
b

1 we can make approximation with

Teilor's series:
Let's use: 1 + x 2 1 +

x2
, so in our case we get:
2

1
1
2
1

ln + 1 + 2 = ln 1 + x 2 + 1 = ln ln 2 + ln 1 + x 2 + 1 (24)
x
x
x

x
let's look on:

x2
ln 1 + x 2 + 1 = ln 2 + = ln ( 4 + x 2 ) ln 2 (25)
2

1
1
2
ln + 1 + 2 = ln + ln ( 4 + x 2 ) ln 4 (26)
x
x
x
ln ( x )
{ ln 4 +

we know that:

x0 = 4

1
( x 4)
4

ln ( 4 + x 2 ) = ln 4 +

ln 1 + x 2 + 1

1 2
( x 4)
4

2
x2
2
2 x
ln ln 4 + ln 4 +
= ln +
4
x
x 4

b 2b a 2
1 a a
ln + 2 1 +
2 b b
a 2
a 4b
x=
2

Mp =
{

b 2b
a 1a
Mp =

ln
1

+ ....
2 a
b 4b

(27)

Now let's discuss other cases of mutual inductance which more complicated.
In calculating the mutual inductance of two conductances whose cross sectional dimension
are small compared with their distance apart, it suffices to assume that the mutual inductance
is sensibly the same as the mutual inductance of the filaments along their axes and to use the
equation (27) for filaments to calculate the mutual inductance.

8
For conductors whose cross section is too large to justify this simplifying assumption it is
necessary to average the mutual inductances of all the filaments of which the conductors may
be supposed to consist. That is, the equation (27) for mutual inductance is to be integrated
over the cross sections of the conductors.
Since the self-inductance of a conductor is equal to the sum of the mutual inductances of all
the pairs of filaments of which it is composed, the self- inductance of a straight conductor is
calculated by integration of all the mutual inductances of all the pairs over the cross section
of the inductor, using the equation (27).
Let's take a look on the case of a circular straight wire with radius a and length l (the first
example in the article).

B
B

r
rB

rA
rA

We should integrate the equation (27) over the circular cross section. First, we take one
filament and calculate its mutual inductance with all the other possible filaments, than we
average the result over all the possible filaments. In the circular coordinates we get:
r r
2 a 2 a
2l
rA rB
1 l
L=
ln r r 1 +
rA rB drA drB d A dB (28)
A 2 0 0 0 0 rA rB
l

'A' is defined to be the sum of all the pairs of filaments (the number of all the distances we
take in account):
2 a 2 a

A=

r r dr dr d d
A B

(29)

0 0 0 0

The distance between two arbitrary filaments is:


r r
rA rB = (rA cos A rB cos B ) 2 + (rA sin A rB sin B ) 2
(30)
r r
rA rB = rA2 + rB 2 rA rB cos( A B )

9
Thus, we obtain the self-inductance of the circular wire:

l 1 2 a 2 a 2l
ln r r
L=
2 A 0 0 0 0 rA rB

2 a 2 a

rArB

0 0 0 0

1
+
rA rB
A 3 l
1424

2 a 2 a

0 0 0 0

=1

r r
rA rB rA rB

(31)
A

The second part of (30) is 1 by definition.


2 a 2 a

The third part of (30) consists of

r
rB rA rB drA drB d A dB . This expression is a sum

0 0 0 0

of the distances between all the possible filaments, so when we divide it by A we get the
arithmetical mean distance of the circular cross section
2 a 2 a

r
1

r
rB rA rB drA drB d A dB

0 0 0 0

1
l

(32)

1 is the arithmetical distance.


The first part becomes:
2l
1
ln r r

A
rA rB

rA rB drA drB d A dB =

r r dr dr d d

1
r r
= ln 2l
ln ( rA rB ) rA rB drA drB d A dB
A
1444424444
3 A
A B

(33)

=1

r r
Now we have to solve ln ( rA rB ) rA rB drA drB d A dB . By doing so we will obtain :
r

ln ( r

r
rB ) rA rB drA drB d A dB = A ln R (34)

The distance R is called the geometric mean distance (G.M.D).


Let us recall the difference between (33) and (34)
The arithmetical mean distance of the section is found by taking 1/n of the sum of the n
distances between the n pairs of points of the section. To obtain the geometric mean distance
we have to find 1/n of the sum of the n values of the logarithm of the distances between the n
pairs of points.

10
The calculation of R demands performing the integration of (33), which is not a very easy
task Using the previous knowledge, that was developed by Maxwell (see 'A Treatise on
Electricity and Magnetism' 690-693), we obtain that for circular area of radius a :
log R = log a

1
4
(35)

or
R = ae

1
4

= 0.7788a

All the above calculations could be performed on any arbitrary cross section, when the values
of 1 and R are properly calculated for the chosen form.
Finally in general
L=

l
2

1
2l
ln R 1 + l (36)

l is the length of the wire.

The last term is usually negligible, so for a round wire of radius a we get:

L=

l
2

2l

l 2l 3
ln 0.7788a 1 = 2 ln a 4 (37)

For = 4 107 H we get


= 2 107 H .
m
m
2
If the length l is given in the centimeters (like in the article), we must multiply the (37) with
factor 1/100, thus the final result is:
2l 3
L = 0.002l ln
a 4

H (38)
cm

If however the material of the wire is magnetic, and has permeability , the formula (38)
becomes:

2l
L = 0.002l ln 1 + (39)
4
a
Of course the previous statement demands deeper examination and explanation. Meanwhile
let's assume that it's right, then if we don't neglect the third term of (36) and set it to its value
for circular cross section 1 =a, we get:
a
2l
L = 0.002l ln 1 + + (40)
l 4
a

11
Thus we achieved the third formula of the article. We must to emphasize that the more
general formula that is given as the first formula in the article is only an attempt to generalize
the formula (40), for all kind of cross sections and frequencies. We didn't find any support
for this generalization in other sources. So meanwhile we should not try to generalize the
formula (40).

12

II. Simulation results:

We performed Matlab simulation as explained in GREENHOUSE article for computer


calculation of total inductance.
All straight segments of the induction coil are assigned serial numbers from 1 to Z, Z being
the total number of segments. Numbering proceeds from outside to inside. Since Z need not
be a multiple of 4, inductance can be calculated for coils with a resolution of a quarter turn.
For a coil with four turns, Z equals 16; for a coil with 2 3

turns, Z equals 11.

The data required for each calculation are the number of segments Z, the length of the first
segment l1 , the length of the second segment l2 , the width of the conductor w, the thickness
of the conductor t, the edge-to-edge distance between conductors s, and the number of
complete turns n.
Matlab cod is attached (see Appendix B).

Parameters:

s = w = 0.005 inch (0.0127 cm).

t = 0.00076 [cm]

13

Total Inductance Lt [nanohenries]

The figure for square-planer-coil inductance as a function of number of coil segments:

0.8

10

10
l=0.127cm

l=508cm

l=0.254]cm
1

10

0.5

10

5
10
Number of Segments

10

20

20

40

10

l=1.016cm

10

l=2.032cm

10

20

40

60

10

20

40

60

To check the correctness of the suggested method we performed ADS simulation for
coils with: l1=l2=1270 [um] (arbitrary chose for easier ADS implementation), using

various Z numbers (Z=5,6,7,8,9).

The simulation layouts are attached (Appendix A).

The simulation coil differs from the ideal coil, because it has ground reference which causes
parasitic capacities existence. However it is complicate to take those capacities in
consideration. That's why we assume that a simplified ADS model of the inductor is the
below lumped circuit. This model suggests simplified representation of the inductance, using
the simulation results (see derivation below).

14

So, now we can calculate the inductance in approximation form:

Vout
100
= S12 =
100 + jwL
V 'in

100 + jwL =

100
S12

100

100

S12

L=
jw
We attach the simulation results at the end of the report (Appendix A).

15
Next table presents the summary of ADS simulations for coils with different Z (number of
segments) value in comparison to GH values:
Num. of seg.\Frequency

5GHz

7.5GHz

10GHz

GH values

4.13

4.25

4.45

3.95

4.36

4.46

4.59

4.75

4.57

4.61

4.66

5.51

5.28

5.82

6.68

5.67

5.57

5.98

6.71

6.15

We present the values at comparative high frequencies because at the low frequencies

1) jw 0
w 0

2) S12 1
w 0

L is not defined.
As we see from the table, the presented model is not accurate, and we can think about some
reasons for:
1. We neglected all the parasitic capacities.
2. The presentation of inductors at ADS isn't exactly the same as ideal inductor.
The main conclusion is that in range of 15% mistake, the results are close.

16

III.

The Quality Factor

Now, when we can assume that the high frequency doesn't influence too much on the
inductance, we can calculate the Quality Factor of the inductors:

Q=
Where:

R=

w L
R

(41)

l []

(42)

[ m]
f

(43)

= 4 107 H m

(44)

The following graph presents the Quality Factor for coils with different lengths of segments.
The optimization argument is the number of segments that build the coil.
The frequency is 1 [Ghz].
Quality Factor Optimization
110
l=0.254cm

l=0.127cm

100
Q

65
60

80

50

70

10

140
120
100

11
Z

Z
350
300

600

l=1.016cm

500

250

20

19
Z

40

l=2.032cm

400

200

300

150
100

l=0.508cm

160

90

55

180

70

200
20

43
Z

60

20

40

60

We can see from the graph above, that the optimization of the Quality Factor could be
made using the appropriate number of segments per each length.

17

Appendix A - ADS Results:


For S11 we get:
Z=5
S11

S11
100

80
Phase [deg]

Mag. [dB]

-20
-40
-60

60
40
20
0
-20

-80
0

10

12

14

16

10

12

14

16

12

14

16

12

14

16

Frequency

Frequency

Z=6
S11

S11
100

80
Phase [deg]

Mag. [dB]

-20
-40
-60

60
40
20
0
-20

-80
0

10

12

14

16

10

Frequency

Frequency

Z=7
S11

S11
100

80
Phase [deg]

Mag. [dB]

-20
-40
-60

60
40
20
0
-20

-80
0

10

Frequency

12

14

16

10

Frequency

18
Z=8
S11

S11
100

80
Phase [deg]

Mag. [dB]

-20
-40
-60

60
40
20
0
-20

-80
0

10

12

14

16

10

12

14

16

12

14

16

Frequency

Frequency

Z=9
S11

S11
100

80
Phase [deg]

Mag. [dB]

-20
-40
-60

60
40
20
0
-20

-80
0

10

12

14

16

10

Frequency

Frequency

And for S12 we get:


Z=5
S12

S12

0
Phase [deg]

Mag. [dB]

-20

-5

-10

-40
-60
-80
-100
0

-15
0

10

Frequency

12

14

16

10

Frequency

12

14

16

19
Z=6
S12

S12

Phase [deg]

Mag. [dB]

-20

-5

-10

-40
-60
-80
-100
-120

-15
0

10

12

14

16

10

12

14

16

12

14

16

Frequency

Frequency

Z=7
S12

S12
0

Phase [deg]

Mag. [dB]

-20

-5

-10

-40
-60
-80
-100

-15
0

10

12

14

16

10

Frequency

Frequency

Z=8
S12

S11
0

-20
Phase [deg]

Mag. [dB]

-20
-40
-60

-40
-60
-80
-100
-120

-80

10

12

14

16

10

12

14

16

12

14

16

Frequency

Frequency

Z=9
S12

S12
0

-20
Phase [deg]

Mag. [dB]

-5
-10
-15

-40
-60
-80
-100

-20

-120

-25

10

Frequency

S-parameters file are attached apart.

12

14

16

10

Frequency

20

Appendix B - Matlab Code:


main:

clear all
close all
NumSeg= [10, 21 ,41, 64,64]
len=[0.05,0.1,0.2,0.4,0.8]
for j=1:length(len)
Z=[4:NumSeg(j)];
inch2cm=2.54;
l1=len(j)*inch2cm;
l2=l1;
w=0.005*inch2cm;
s=0.005*inch2cm;
t=7.6000e-004;%0.0003*inch2cm;
for i=1:length(Z)
n=floor(Z(i)/4);
L(i)=CalcInd(n,Z(i),l1,l2,s,w,t);
R(i)=CalcRes(n,Z(i),l1,l2,1*10^(9),w,1.67*10^(-6));%f=1*10^(9) [Hz]
Q(i)=CalcQFactor(1,L(i),R(i));
end
figure(1);grid on;
subplot(2,3,j)
semilogy(Z,L);
axis([min(Z) max(Z) min(L) max(L)]);
figure(2);
subplot(2,3,j)
plot(Z,Q);
[m,ind_m]=max(Q);
hold on;
plot(Z(ind_m),m,'r*');
axis([min(Z) max(Z) min(Q) max(Q)*1.2]);
grid on;
hold off;
end
figure(1);
title('Inductance vs. Number of Segments');
figure(2);
title('Quality Factor Optimization');

21
Additional functions:

function L=CalcInd(n,Z,l1,l2,s,w,t,method);
%Input:
%n-the number of coil's full turns
%Z-the total number of segments
%l - vector of all the segments' lengths [cm]
%w - the segmemt's width [cm]
%t - the segment's thickness [cm]
%method- there are two options for this field: 'Grover'(default), 'Bryan'
%Output:
%L - inductance [nanaohenries]
if nargin<5
method='Grover';
end
l=calc_l(l1,l2,w,s,Z);
d=findDist(l(1),l(2),s,w,Z);
Lo=sum(CalcSelfInd(w,t,l));
M_minus=0;
for y=1:Z-2
for nn=1:n
if (y+4*nn-2) >Z
continue;
end
M(y,y+4*nn-2)=CalcM(l(y),l(y+4*nn-2),d(y,y+4*nn-2),w);
M_minus=M_minus+M(y,y+4*nn-2);
end
end
clear M;
M_minus=M_minus*2;
M_plus=0;
for y=1:Z-4
for nn=1:n
if (y+4*nn) >Z
continue;
end
M(y,y+4*nn)=CalcM(l(y),l(y+4*nn),d(y,y+4*nn),w);
M_plus=M_plus+M(y,y+4*nn);
end
end
M_plus=M_plus*2;
L=Lo+M_plus-M_minus;

22
function r= CalcRes(n,z,l1,l2,f,w,ro)
%Input:
%%%% n- number of curves
%%%% z-number of segments
%%%% l1,l2- the length of the coils sides [cm]
%%%% f-frequency [Hz]
%%%% w-the width of the inductor [cm]
%%%% ro- resistivity [Ohm-cm]
%Output:
%%%%% r- resistance [Ohm]
res=CalcResist (f,w,ro);
switch mod(z,4)
case 0
temp=0;
case 1
temp=l1;
case 2
temp=l1+l2;
case 3
temp=2*l1+l2;
end
r=res*(2*floor(z/4)*(l1+l2)+temp);

function res=CalcResist (f,w,ro)


% this function calculates the resistance per unit length, considering
%Input:
%%%% f- frequency [Hz]
%%%% w- width [cm]
%%%% ro- metal resistivity [Ohm-cm]
% Output:
%%%% res- resistivity [Ohm-cm]
myu=4*pi*10^(-7)/10^2;
delta= sqrt(ro/pi/myu/f);
res=ro/delta/w;

function Q= CalcQFactor(f,L,R)
%this function calculates the quality factor
%Input
%%%% f- frequency [GHz]
%%%% L-inductance [nanohenry]
%%%% R- resistance [Ohm]
%Output:
%%%%%Q-Quality Factor
Q=2*pi*f*L/R;

23

function Lo=CalcSelfInd(a,b,l);
%This function calculates the Self Inductance of the Rectangular Wire
% Assumptions:1) near-direct-current case
%%%%%%%%%%%%% 2) magnetic permeability = 1
%Input: a,b-cross section dimensions of the wire (one side has to be much greater than the
other)
%%%%%%% l-the length of the wire
%Output: Lo- self inductance of the wire
%Authors: Zivit Gutman & Maria Zontak
x=l/(a+b);
Lo=2*l.*(log(2*x)+0.50049+1./(3*x));

function M = CalcM(j,m,d,w);
p=abs(j-m)/2;
if p>0
M=CalcMutualInd(d,w,min(m,j)+p)-CalcMutualInd(d,w,p);
else
M=CalcMutualInd(d,w,m);
end

function M=CalcMutualInd(d,w,l);
%This function calculates the Mutual Inductance between two parallel conductors
%Input:
%d-the distance between track centers.
%w-the track width
%l-the length of the conductors
%Output:
%M-mutual inductance
GMD=CalcGMD(d,w);
M=2*l*Que(l/GMD);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function GMD=CalcGMD(d,w);
%Input:
%d-the distance between track centers.
%w-the track width
%Output:
%GMD- the geometric mean distance between two conductors.
temp=log(d)-(1/12/(d/w)^2+1/60/(d/w)^4+1/168/(d/w)^6+1/360/(d/w)^8+1/660/(d/w)^10);
GMD=exp(temp);

24
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function Q=Que(x)
%Input:
%x- the ratio between the length of the wire and wire's GMD
%Output:
%Q - the mutual-inductance parameter.
Q=log(x+sqrt(1+x^2))-sqrt(1+1/x^2)+1/x;

You might also like