background image

 

 

Metoda węzłowa w 

SPICE

background image

 

 

Metoda węzłowa

 Pierwsze prawo Kirchhoffa: suma 

prądów w węźle jest równa 0 (suma 
prądów wpływających jest równa 
sumie prądów wypływających)

background image

 

 

Metoda węzłowa

 Równań prądowych jest tyle ile 

węzłów

 Każdy prąd wypływa z jednego 

węzła (ze znakiem ‘-’) i wpływa do 
innego węzła (ze znakiem ‘+’)

background image

 

 

Metoda węzłowa

 Jeśli zsumować wszystkie równania 

prądowe, prądy zsumują się do zera

 Czyli suma wszystkich równań jest zero
 Czyli każde równanie da się wyrazić 

jako suma pozostałych ze znakiem ‘-’

 Czyli dla n węzłów w obwodzie można 

sformułować tylko n-1 niezależnych 
równań

background image

 

 

Metoda węzłowa

 Ten dodatkowy, n-ty węzeł jest 

traktowany jako węzeł odniesienia, 
czyli tzw. masa, oznacza się go 
symbolem ‘0’

background image

 

 

Metoda węzłowa

0

4

0

3

2

2

3

0

2

3

2

3

0

2

1

1

2

0

1

2

1

1

R

V

R

V

V

R

V

V

R

V

R

V

V

R

V

V

I

background image

 

 

Metoda węzłowa

4

1

4

3

1

3

2

1

2

1

1

1

R

G

R

G

R

G

R

G

0

4

0

3

2

2

3

0

2

3

2

3

0

2

1

1

2

0

1

2

1

1

R

V

R

V

V

R

V

V

R

V

R

V

V

R

V

V

I

0

0

1

3

4

3

3

3

3

3

2

3

2

1

1

1

2

1

1

1

I

V

G

G

V

G

V

G

V

G

G

G

V

G

V

G

V

G

background image

 

 

Metoda węzłowa

0

0

1

3

4

3

3

3

3

3

2

3

2

1

1

1

2

1

1

1

I

V

G

G

V

G

V

G

V

G

G

G

V

G

V

G

V

G

0

0

1

3

2

1

4

3

3

0

3

3

2

1

1

0

1

1

I

V

V

V

G

G

G

G

G

G

G

G

G

G

I

GV 

background image

 

 

Metoda węzłowa

 Właściwie wszystkie analizy SPICE 

prowadzą do rozwiązania takiego układu 
równań:

analiza .DC, .OP dla układów liniowych – w 
sposób oczywisty

analiza .DC, .OP dla układów nieliniowych – 
algorytm Newtona-Raphsona w zasadzie składa 
się z kolekcji problemów liniowych

analiza .TRAN – całkowanie numeryczne to 
szereg kroków liniowych

background image

 

 

Konstrukcja układu 

równań z netlist

 Opis topologii (netlist):

background image

 

 

Konstrukcja układu 

równań

 Szablony elementów, np. rezystor:

n

n

n

n

n

n

n

n

V

V

G

G

G

G

n

n

G

V

V

G

V

V

n

G

V

V

n

:

:

:

:

background image

 

 

Konstrukcja układu 

równań

1

1

1

1

N

n

n

V

V

V

V

G

G

G

G

N

n

n

background image

 

 

Konstrukcja układu 

równań

 Np. szablon źródła prądowego:

I

I

V

V

n

n

n

n

:

:

itd...

background image

 

 

Konstrukcja układu 

równań

m

m

V

V

1

1

0

0

0

0

:

1

:

0

1

0

background image

 

 

Konstrukcja układu 

równań

0

1

1

2

.

0

2

.

0

0

2

.

0

2

.

0

0

0

0

0

:

2

:

1

:

0

2

1

0

m

m

V

V

V

m

m

m

m

background image

 

 

Konstrukcja układu 

równań

0

1

1

3

.

0

2

.

0

1

.

0

2

.

0

2

.

0

0

1

.

0

0

1

.

0

:

2

:

1

:

0

2

1

0

m

m

V

V

V

m

m

m

m

m

m

m

background image

 

 

Konstrukcja układu 

równań

0

0

1

1

125

.

0

125

.

0

0

0

125

.

0

425

.

0

2

.

0

1

.

0

0

2

.

0

2

.

0

0

0

1

.

0

0

1

.

0

:

3

:

2

:

1

:

0

3

2

1

0

m

m

V

V

V

V

m

m

m

m

m

m

m

m

m

m

background image

 

 

Konstrukcja układu 

równań

0

0

1

1

625

.

0

125

.

0

0

5

.

0

125

.

0

425

.

0

2

.

0

1

.

0

0

2

.

0

2

.

0

0

5

.

0

1

.

0

0

6

.

0

:

3

:

2

:

1

:

0

3

2

1

0

m

m

V

V

V

V

m

m

m

m

m

m

m

m

m

m

m

m

background image

 

 

Konstrukcja układu 

równań

0

0

1

1

625

.

0

125

.

0

0

5

.

0

125

.

0

425

.

0

2

.

0

1

.

0

0

2

.

0

2

.

0

0

5

.

0

1

.

0

0

6

.

0

:

3

:

2

:

1

:

0

3

2

1

0

m

m

V

V

V

V

m

m

m

m

m

m

m

m

m

m

m

m

V0 z 

założeni

a równe 

0

Jedno równanie 

jest liniowo 

zależne od 

pozostałych

background image

 

 

Konstrukcja układu 

równań



0

0

1

625

.

0

125

.

0

0

125

.

0

425

.

0

2

.

0

0

2

.

0

2

.

0

:

3

:

2

:

1

3

2

1

m

V

V

V

m

m

m

m

m

m

m

Ten układ równań można już rozwiązać za pomocą np. 
eliminacji Gaussa

background image

 

 

Inna metoda 

rozwiązywania

 Rozkład LU:

LU

1

0

0

1

0

1

0

0

0

2

1

12

2

1

22

12

11

2

1

2

22

21

1

12

11

n

n

nn

n

n

nn

n

n

n

n

u

u

u

l

l

l

l

l

l

g

g

g

g

g

g

g

g

g

background image

 

 

Rozkład LU

Algorytm wyznaczania LU jest modyfikacją 

algorytmu Gaussa 

D

UV

UV

D

I

LD

I

LUV

I

GV

,

background image

 

 

Rozkład LU

 „podstawianie do przodu”:

n

n

nn

n

n

I

I

I

d

d

d

l

l

l

l

l

l

2

1

2

1

2

1

22

12

11

0

0

0

I

LD

background image

 

 

Rozkład LU

n

n

n

n

d

d

d

V

V

V

u

u

u

2

1

2

1

2

1

12

1

0

0

1

0

1

D

UV

 „podstawianie wstecz”:

background image

 

 

Rozkład LU

 Podstawowa zaleta:

Pracochłonny rozkład LU jest wykonywany 

tylko raz, natomiast wielokrotne 
obliczenia potencjałów węzłowych dla 
zmieniających się pobudzeń (a nie 
zmieniającej się topologii układu) 
obejmują tanie obliczeniowo operacje 
podstawiania do przodu i wstecz

background image

 

 

Problemy nieliniowe

 Rozwiązywanie równań 

nieliniowych o postaci:

gdzie f(x) jest funkcją nieliniową

 Obejmuje to oczywiście przypadek 

każdego równania:

 

0

x

f

 

 

0

0

)

(

x

g

b

x

f

b

x

f

background image

 

 

Problemy nieliniowe

 Szczególnym przypadkiem są wszelkiego 

rodzaju problemy optymalizacyjne – 
poszukiwanie ekstremum (maksimum 
albo minimum) funkcji kosztu lub zysku:

gdzie f’(x) to pierwsza pochodna funkcji f(x)

 

0

'

x

f

background image

 

 

Rozwinięcie w szereg 

Taylora

 Jeżeli znamy wartość funkcji i 

wszystkich jej pochodnych w 
pewnym punkcie, można wyznaczyć 
na tej podstawie wartość w innym 
punkcie:

 

 

 

 

 

k

k

x

x

f

k

x

x

f

x

x

f

x

f

x

x

f

!

1

''

2

1

'

2

background image

 

 

Rozwinięcie w szereg 

Taylora

 Przy obcięciu do wyrazu rzędu 

reszta rozwinięcia może być 
oszacowana jako składnik rzędu       
       (O - funkcja Landaua):

 

 

 

 

 

1

2

!

1

''

2

1

'

k

k

k

x

O

x

x

f

k

x

x

f

x

x

f

x

f

x

x

f

1

k

x

O

background image

 

 

Rozwinięcie w szereg 

Taylora

 Często jest stosowane nawet rozwinięcie 

obcięte pierwszego rzędu:

 Jest to tym lepsze przybliżenie prawdziwej 

wartości, im mniejsza jest wartość Δx

 Do takiego przybliżenia nawiązuje 

algorytm Newtona-Raphsona

 

 

x

x

f

x

f

x

x

f

'

background image

 

 

Algorytm Newtona-

Raphsona

Isaac Newton (1643-1727)

Joseph Raphson (1648-1715)

background image

 

 

Algorytm Newtona-

Raphsona

)

(x

f

)

f(x

 - 

 = x

x

i

i

i

i

1

 

  f ( x )  

  f ( x

i

)  

  f ( x

i - 1

)  

x

i + 2

 

x

i + 1

 

x

i

 

  X  

     

 

 

 

i

i

x

f

x

,

 

 

 

background image

 

 

Algorytm Newtona-

Raphsona

 Algorytm zaczyna z pewnego punkty 

x

0

, będącego pierwszym 

oszacowaniem prawdziwego 
rozwiązania x

*

 W punkcie x

0

 na podstawie 

znajomości pochodnej funkcji f(x

0

rozwiązywane jest równanie liniowe:

 

 

0

'

0

0

0

0

0

x

x

f

x

f

x

x

f

background image

 

 

Algorytm Newtona-

Raphsona

 Rozwiązanie tego równania:

wyznacza kolejne oszacowanie 

rozwiązania x

*

:

 

 

0

0

0

x

f

x

f

x

 

 

0

0

0

0

0

1

x

f

x

f

x

x

x

x

background image

 

 

Algorytm Newtona-

Raphsona

 Ten sam sposób postępowania jest 

stosowany w kolejnych iteracjach:

 Kolejne wartości x

są coraz lepszymi 

oszacowaniami x

*

 

 

i

i

i

i

x

f

x

f

x

x

'

1

background image

 

 

Przykład

background image

 

 

Algorytm Newtona-

Raphsona

 Zamiast wyprowadzenia bazującego na 

rozwinięciu Taylora można zastosować intuicję 
geometryczną:

 

 f(x) 

 f(x

i

x

i+1

 

x

i

 

 X 

 B 

 C 

 A 



)

(

'

)

(

1

i

i

i

i

x

f

x

f

x

x

1

)

(

)

(

'

i

i

i

i

x

x

x

f

x

f

AC

AB

tan(

background image

 

 

Algorytm Newtona-

Raphsona

 Problem nieliniowy jest zastąpiony 

serią problemów liniowych

 Każdy problem liniowy jest 

lokalnym przybliżeniem Taylora 
pierwszego rzędu dla problemu 
nieliniowego

background image

 

 

Algorytm Newtona-

Raphsona

 W każdej iteracji jest wyznaczane kolejne 

przybliżenie rozwiązania

 Proces iteracyjny jest kończony kiedy 

względny błąd procentowy:

spadnie poniżej ustalonej wartości 

(dokładności algorytmu)

0%

10

1

1

 

 

x

- x

x

 = 

i

i

i

a

background image

 

 

Algorytm Newtona-

Raphsona

System rozwiązujący równanie:

zgodnie z algorytmem Newtona-Raphsona nie zna 

„globalnie” funkcji f(x), natomiast musi mieć możliwość 

zapytać o wartość f(x)f’(x) w arbitralnym punkcie x

Kolejne pytania o wartość funkcji zwiększają wiedzę 

systemu rozwiązującego o funkcji. 

Początkowa hipoteza dotycząca rozwiązania x

0

 z każdą 

iteracją ulega zmianie, dzięki uwzględnieniu nowych 

informacji o funkcji f(x)

 

0

x

f

background image

 

 

Pułapki – wybór punktu 

startowego

background image

 

 

Pułapki – wybór punktu 

startowego

background image

 

 

Pułapki – oscylacje 

dookoła ekstremum

background image

 

 

Ekstrema – dzielenie 

przez zero

-1.00E-05

-7.50E-06

-5.00E-06

-2.50E-06

0.00E+00

2.50E-06

5.00E-06

7.50E-06

1.00E-05

-0.03

-0.02

-0.01

0

0.01

0.02

0.03

0.04

x

f(x)

0.02

background image

 

 

Pułapki – jedno z wielu 

rozwiązań

-1.5

-1

-0.5

0

0.5

1

1.5

-2

0

2

4

6

8

10

x

f(x)

 -0.0630690.54990

4.462

 7.53982


Document Outline