You are on page 1of 26

Open

Univerzitet u Beogradu
Elektrotehnički fakultet

OPTIMIZACIJA MIKROSTRIPA

DIPLOMSKI RAD

Kandidat: Mentor:
Aca Mijalković prof. dr. Antonije Đorđević

Beograd, 2000.
Open

Optimizacija dimenzija mikrostripa 1

1. UVOD

Cilj ovog diplomskog rada je dizajn softvera koji će na osnovu željenih električnih
karakteristika mikrostripa pronaći njegove fizičke dimenzije. Mikrostrip je struktura za
vođenje mikrotalasa. Sastoji se od dielektrika, pravougaonog poprečnog preseka, uniformnog
duž x ose, i dva provodnika sa dve strane dielektrika kao na sledećoj slici.

Gornji provodnik predstavlja signalni provodnik a donji, koji je na slici označen crnim
slojem, predstavlja referentni provodnik, odnosno masu. Veličina od interesa je
karakteristična impedansa. Ona zavisi od širine gornjeg provodnika, rastojanja od ivica
provodnika do ivica dielektrika, visine i osobina dielektrika. Ovu strukturu možemo uopštiti
uvođenjem više od jednog signalnog provodnika kao na sledećoj slici.

Ovakva struktrura predstavlja spregnuti mikrostrip. Broj signalnih provodnika je


teoretski neograničen. Spregnuti mikrostrip se opisuje karakterističnom matricom impedansi.
Ona je veličine N x N gde je N broj signalnih provodnika. Elementi ove matrice zavise od
fizičkih dimenzija tj. širina provodnika i procepa između njih, kao i visine i osobina
dielektrika. Inverzijom ove matrice dobija se karakteristična matrica admitansi.
Open

Optimizacija dimenzija mikrostripa 2

Spregnuti mikrostrip ima širok spektar upotrebe. Koristi se u mikrotalasnoj tehnici za


izradu raznih tipova filtara, elemenata kao što su: usmereni sprežnjak, transformator
impedanse, pasivni elementi. Montiranjem diskretnih elemenata na štampanu pločicu
možemo dobiti pojačavač, oscilator, mešač i slično. Ovakva kola se nazivaju mikrotalasna
integrisana kola i hibridnog tipa su jer se štampana ploča radi odvojeno od diskretnih
elemenata. Razvijaju se i monolitna mikrotalasna integrisana kola, a postoji i kvazimonolitna
tehnika gde se pasivni deo kola pravi na podlozi od safira, na kojoj se epitaksijalnim rastom
formira sloj silicijuma, a u njemu se obrazuju aktivni elementi.
Magistrala za prenos podataka u računaru je još jedan primer upotrebe spregnutog
mikrostripa.
Problem koji se postavlja je kako na osnovu poznate karakteristične matrice impedansi
(ili admitansi) odrediti fizičke dimenzije spregnutog mikrostripa.
Analitičko rešenje ovog problema postoji samo za najjednostavnije strukture za
vođenje mikrotalasa, dok za složenije poput spregnutog mikrostripa, rešenje se može dobiti
samo numeričkim putem i to uz veliko angažovanje resursa računara. Izračunavanje
karakteristične matrice impedansi na osnovu fizičkih dimenzija spregnutog mikrostripa je
takođe nerešivo analitički, pa se mora primeniti neki od postupaka optimizacije.
Upravo ove činjenice opravdavaju potrebu za kreiranjem softvera, koji bi preuzeo
numeričko rešavanje ovog problema i time olakšao inženjerski posao dizajniranja spregnutog
mikrostripa.
Osnovni zadatak u kreiranju softvera je što brži dolazak do konačnog rešenja. Za
postupak optimizacije izabran je Nelder-Mid algoritam koji je poznat kao postupak koji
obezbeđuje brzu konvergenciju rešenja i primenjuje se u slučajevima kada se funkcija greške
dugo izračunava. Koristi se modifikovana verzija profesora Paunovića sa Elektrotehničkog
fakulteta u Beogradu. Ovom algoritmu posvećena je druga glava.
Funkciji greške je posvećena treća glava. Za izračunavanje karakteristične matrice
impedansi (admitansi) izabrana je metoda podešavanja u tačkama, kao metoda koja je
relativno jednostavna za realizaciju na računaru. Data je teoretska postavka problema, zatim
je izložen numerički postupak, i na kraju programska realizacija funkcije greške.
U četvrtoj glavi opisana je struktura i korišćenje programa kao i format ulaznog fajla,
a u petoj su dati rezultati testiranja programa.
Open

Optimizacija dimenzija mikrostripa 3

2. NELDER-MID ALGORITAM
2.1. Osnovni pojmovi

U ovom radu korišćena je modifikovana verzija Nelder-Midovog algoritma data u


literaturi 1. Ovaj algoritam predstavlja najjuspešnije poboljšanje "sequential simplex"
optimizacionog postupka. U početnom koraku, za funkciju N promenljivih određuje se
vrednost funkcije u N+1 pravilno raspoređenoj tački. Ove tačke sačinjavaju tzv. simplex. U
narednim koracima vrši se refleksija najgore tačke (one u kojoj je vrednost funkcije
najudaljenija od optimuma) kroz težište preostalih tačaka. Nelder-Mid algoritam je uveo još
tri koraka: ekspanziju simpleksa u usvojenom smeru (ukoliko je u tački refleksije ostvareno
poboljšanje u odnosu na trenutno najbolju tačku), kontrakciju simpleksa u suprotnom smeru
(ukoliko je u tački refleksije ostvareno pogoršanje u odnosu na trenutno najgoru tačku),
proveru vrednosti funkcije u tački težišta i redukciju svih tačaka simpleksa (ukoliko je i u
tački težišta ostvareno pogoršanje u odnosu na trenutno najgoru tačku). Ova tri koraka
ubrzavaju kretanje prema optimalnoj tački pošto se veličina, položaj i kretanje simpleksa
prilagođavaju lokalnoj okolini u toku procesa optimizacije. Modifikovani Nelder-Mid
algoritam vrednost funkcije u tački težišta ne računa na početku svake iteracije, kao osnovna
verzija, već samo ako kontrakcija ne da povoljan rezultat. Ovom modifikacijom je ušteđeno
jedno računjanje funkcije, jer operacije refleksije, ekspanzije i kontrakcije najčešće donose
povoljan rezultat. Nelder-Midov algoritam spada u postupke direktnog pretraživanja i uspešno
je korišćen za optimizaciju funkcija sa više od sto promenljivih.

Primer trodimenzionog simpleksa:

m - najbolja tačka, k - najgora tačka, k 2 - druga najgora tačka, t - težište,


r - tačka refleksije, e - tačka ekspanzije, c - tačka kontrakcije, di - tačke redukcije
Open

Optimizacija dimenzija mikrostripa 4

2.2. Blok šema algoritma


Open

Optimizacija dimenzija mikrostripa 5

Posmatra se funkcija N promenljivih (funkcija greške): y j = ( x1 , x2 , xn ) . Želi se


optimizacija vrednosti argumenata x j , j = 1,2 N , tako da se postigne minimum funkcije. U
toku optimizacionog procesa posmatra se skup N+1 tačaka u kojim je trenutno poznata
vrednost funkcije. U N-dimenzionom prostoru ove tačke obrazuju geometrijsku strukturu koju
nazivamo simpleks. Skup vrednosti funkcije koje odgovaraju tačkama simpleksa formira

vektor Y = ( y1 , y2 , yn , yn +1 ) . U procesu optimizacije definiše se više karakterističnih tačaka:

- najbolja tačka m → ym = min ( y j , j = 1,2 N , N + 1)

- najgora tačka k → y = min ( y j , j = 1,2 N , N + 1)
k

- druga najgora tačka k2 → yk = min ( y j , j = 1,2 N , N + 1, j  k )
2

 1 N +1 
- težište t =  x
N j =1 j
jk
  
- tačka refleksije r = (1 +  )t −  k
  
- tačka ekspanzije e = (1 +  )r −  t
  
- tačka kontrakcije c = (1 −  )t +  k
 1  
- tačke redukcije d j = ( x j + m) j = 1,2, N + 1, j  m
2
,  i  su takozvani koeficijenti refleksije, ekspanzije i kontrakcije. Najčešće su konstantni
sa vrednostima =1, =0.5 i =2.
Na početku optimizacije računa se vektor grešaka. Zatim se ulazi u iterativni postupak
gde se u svakoj iteraciji sortiranjem vektora grešaka u neopadajući vektor nalaze najbolja,
najgora i druga najgora tačka. Takođe se određuje tačka težišta. Zatim se ispituje uslov izlaska
iz petlje optimizacije. Postoje tri uslova za okončanje postupka optimizacije:

1 N +1 2
- Kriterijum konvergencije:  ( y − ym )   , gde  zadaje korisnik u ulaznom
N j =1 j
fajlu. Ovaj kriterijum sprečava nepotrebne iteracije kada se simpleks nađe u okolini gde se
funkcija greške slabo menja.
- Kriterijum minimalne dozvoljene greške. Zadaje se u ulaznom fajlu i prekida optimizaciju
kada se nađe dovoljno dobra tačka.
- Maksimalan broj iteracija. Zadaje se u ulaznom fajlu i prekida optimizaciju posle zadatog
broja iteracija, bez obzira na prethodna dva kriterijuma.

Ako nijedan od ova tri uslova nije ispunjen, ispituju se tačke refleksije, ekspanzije i
kontrakcije. Ako nijedna od ovih tačaka ne ispunjava uslov za ulazak u simpleks, a to je da je
funkcija greške u toj tački manja od vrednosti u najgoroj tački, računa se vrednost funkcije
greške u težištu. Ako ni ona ne zadovoljava uslov za ulazak u simpleks, vrši se redukovanje
simpleksa za polovinu u pravcu najbolje tačke i računaju se vrednosti funkcije greške u novim
tačkama.
Open

Optimizacija dimenzija mikrostripa 6

2.3. Rad sa promenljivom tačnošću

Program ima mogućnost rada sa promenljivom tačnošću izračunavanja funkcije


greške. Ova opcija ne postoji u originalnom niti modifikovanom Nelder-Mid algoritmu.
Međutim kako se može uticati na vreme izračunavanja funkcije greške promenom parametra
tačnosti, on je uključen u optimizacioni algoritam. U tom slučaju tačnost se izračunava kao
funkcija trenutne konvergencije vektora grešaka. Što je konvergencija veća tačnost je manja i
obratno.

acck=(accmax-1)/log(convmax+1)
acc=accmax-acck*log(conv+1)

acc je tačnost, conv je tekuća konvergencija, convmax je najveća konvergencija od početka


optimizacije, accmax je gornje ograničenje tačnosti. U programu je zadato accmax=10.
Takođe, tačnost ne može biti manja od jedan.
Ovim se dobija da se u prvim iteracijama kada je simpleks udaljen od optimalne tačke
funkcija greške brzo izračunava. Kako se simpleks približava optimalnoj tački, konvergencija
raste, pa se povećava i tačnost izračunavanja greške. Ovaj metod može prouzrokovati da se
simpleks "zaglavi" tj. da se ne kreće prema optimalnoj tački jer male tačnosti na početku daju
lažno male greške što pomera simpleks u pogrešnom pravcu. Zato se može raditi i sa
konstantnom tačnošću. Tada se ona učitava iz ulaznog fajla, i ostaje konstantna tokom cele
optimizacije.

2.4. Programska realizacija

Početni simpleks dobijamo iz početne tačke množenjem po jedne njene koordinate


početnim korakom simpleksa. I početna tačka i početni korak simpleksa su uneti u ulaznom
fajlu. Simpleks je programski predstavljen matricom (N + 1)  N , gde elementi svake vrste
predstavljaju koordinate jedne tačke simpleksa. Vrednosti funkcije greške u svakoj tački
simpleksa čuvaju se u vektoru grešaka, a pomoćni vektor indeksa povezuje svaku grešku sa
odgovarajućom vrstom u matrici. Time se izbeglo preuređivanje vrsta matrice simpleksa
prema sortiranju vektora grešaka kada se na početku svake iteracije određuju karakteristične
tačke. Umesto vrsta matrice preuređuje se vektor indeksa.
Ubacivanje tačke u simpleks je realizovano kao posebna funkcija čiji je zadatak da na
osnovu pomoćnog vektora indeksa pronađe vrstu matrice simpleksa koja odgovara najgoroj
tački i da u nju upiše koordinate nove tačke. Takođe treba i u poslednji element vektora
grešaka da upiše novu vrednost, tj. vrednost funkcije greške u tački koja se ubacuje u
simpleks.
Iterativni postupak se sprovodi u brojačkoj petlji, s tim što se maksimalan broj
iteracija unosi iz ulaznog fajla. Ako se u toku optimizacije ne zadovolji uslov konvergencije
ili maksimalno dozvoljene greške, optimizacija će se prekinuti, a koordinate trenutno najbolje
tačke se zapisuju u ulazni fajl. Kako ovo nije prirodan prekid, jer nije dostignuta optimalna
tačka, program dozvoljava da se nastavi sa optimizacijom od poslednjeg stanja simpleksa.
Treba napomenuti da je sada ulazni fajl promenjen jer se u njemu više ne nalazi
početna tačka, već rezultat optimizacije. Ako se ulazni fajl ponovo učita i zada optimizacija,
formiraće se drugačiji početni simpleks, pa će i rezultat optimizacije biti drugačiji.
Open

Optimizacija dimenzija mikrostripa 7

3. MIKROSTRIP

Ova glava se bavi funkcijom greške. U nju je uključen model spregnutog mikrostripa.
Ulazni argumenti ove funkcije su fizičke dimenzije spregnutog mikrostripa i parametar
tačnosti. Ostale veličine potrebne za izračunavanje karakteristične matrice impedansi, koje se
ne menjaju u procesu optimizacije, definisane su kao globalne promenljive. To su visina
dielektrika, relativna permitivnost dielektrika, tangens ugla gubitaka, radna učestanost i
provodnost provodnika.

3.1. Teorijska analiza

Pošto je dielektrik nehomogen, duž spregnutog mikrostripa se prostiru samo hibridni


tipovi talasa, koji imaju longitudinalne komponente. Međutim na nižim frekvencijama,
longitudinalne komponente su znatno manje od transverzalnih tako da struktura polja talasa
liči na TEM talas. Tako dobijamo kvazi-TEM aproksimaciju. Primenom ove aproksimacije
prvo ćemo odrediti kvazi-statičke matrične parametre spregnutog mikrostripa, a zatim
pomoću jednačina telegrafičara i karakterističnu matricu impedansi.
Početni korak u određivanju karakteristične matrice impedansi (matrica admitansi se
jednostavno dobija invertovanjem matrice impedansi) je određivanje primarnih parametara,
matrica [C],[G],[L] i [R]. One se dobijaju odvajanjem analize električnog polja od analize
magnetnog polja.
Provodnici na spregnutom mikrostripu su određene debljine. Međutim da bi se
pojednostavila analiza usvojeno je da su provodnici beskonačno tanki. Na ovaj način smo se
unapred "odrekli" tačnog rešenja. Budući da problem ni ne možemo rešiti egzaktno, analitički,
već samo približno, numerički, ovakva aproksimacija ima smisla. Kada se između provodnika
i mase poveže generator u njima će se pojaviti struje i naelektrisanja. Vremenski promenljive
struje indukuju elektromotornu silu u provodnicima pa se kaže da su provodnici induktivno
spregnuti. Zbog elektrostatičke indukcije provodnici su i kapacitivno spregnuti.
Kapacitivna spregnutost se može opisati sistemom jednačina:
q1 = c11v1 + c12 v2 + ... + c1N vN ,
q2 = c21v1 + c22 v2 + ... + c2 N vN ,

qN = cN 1v1 + cN 2v2 + ... + cNN vN ,

gde su q1 , q2 , ..., qN podužna naelektrisanja provodnika, v1, v2 , ..., vN potencijali provodnika, a


c11, c12 , ..., cNN podužne kapacitivnosti provodnika. Pretpostavimo da je provodnik #1 na
potencijalu v1 a ostali provodnici da su uzemljeni. Tada je, c11 = q1 / v1 , c21 = q2 / v1 , ...,
cN1 = qN / v1 . Ako je v1  0 , tada je q1  0 , i prema tome, c11  0 . Ostala naelektrisanja su
negativna, pa je i cm1  0,m = 2, ..., N . Pretpostavimo dalje da je provodnik #2 na potencijalu
v2 a ostali provodnici da su uzemljeni. Tada je, c12 = q1 / v2 , c22 = q2 / v2 , ..., cN 2 = qN / v2 ,
itd. Nastavljajući ovaj postupak za svaki provodnik ponaosob vidimo da su kapacitivnosti sa
jednakim indeksima ( cmm ,m = 1, ..., N ) pozitivne, a sa različitim negativne. Zbog recipročnosti
važi, cmn = cnm .
Open

Optimizacija dimenzija mikrostripa 8

Prethodni sistem jednačina može se napisati u matričnoj formi :


[Q] = [C][V ] ,

gde je [Q] = [q1 qN ]T vektor kolona podužnih naelektrisanja provodnika,


[V] = [v1 vN ]T vektor kolona potencijala provodnika , i
 c11  c1N 
[C] =     kvadratna matrica podužnih kapacitivnosti.
cN 1  cNN 

Da bi uključili gubitke u dielektriku uvodi se kompleksna permitivnost:


 =  '− j " =   (1 − j tan ) ,
c r 0

Na ovaj način dobijamo kompleksnu matricu kapacitivnosti:

[G ]
[C ] = [C] − j ,
c 
čiji realni deo predstavlja podužne kapacitivnosti a imaginarni deo podužne provodnosti.
 g11  g1N 
[G ] =    
 g N 1  g NN 

Sličan postupak može se sprovesti i da bi se opisala induktivna sprega provodnika,


odnosno odredila [L] matrica. Međutim to se može izbeći ako pretpostavimo da dielektrik
nema magnetskih osobina (tj. da mu je permeabilnost  0 , što je najčešće i slučaj). Tada
matrica [L] ne zavisi od osobina dielektrika, pa ga možemo zameniti vakuumom. Za matricu
kapacitivnosti [C0 ] takve strukture važi:
[L][C0 ] =  0 0
odakle sledi:
1
[L ] = [C0 ]−1 ,
c2
0

gde je c0 = 1 /  0  0 brzina prostiranja talasa u vakuumu.


Ovako izračunata matrica [L] odnosi se na spoljašnje induktivnosti jer uzima u obzir
samo magnetno polje van provodnika. Iz ove analize proizilazi i površinska struja,
J = c0  u ,
s s0 x
gde je u jedinični vektor duž x ose, a  s 0 slobodno naelektrisanje na provodnicima koje
x
smo dobili analizom elektrostatičkog problema. Od površinske struje zavise gubici u
provodnicima. Da bismo opisali te gubitke, odnosno odredili matricu [R], koristi se
perturbaciona tehnika.
Open

Optimizacija dimenzija mikrostripa 9

Pretpostavka je da je debljina provodnika manja od dubine prodiranja


1
 = .
c f

Površinsku struju dobijamo iz strukture bez dielektrika (smatrajući da ne postoje


gubici) i na osnovu nje dobijamo snagu gubitaka kao:
2
P =  R J dl ,
c s s
C
c

f
gde je R = površinska otpornost provodnika, a C označava konturu poprečnog
s  c
preseka svih provodnika. Treba voditi računa da u slučaju beskonačno tankih provodnika, kao
što je ovde slučaj, postoje dve različite struje sa dve strane provodnika. Njih možemo dobiti
primenom graničnih uslova, čime se dobija:

J = c0 0 E10  n ,
s1

J = c0  −  0E10  n ,
s2 s0
gde je E10 električno polje uz prvu stranu provodnika, a n jedinični vektor normalan na
provodnik.
Gubici u provodniku se opisuju matricom:
 r11  r1N 
[R ] =    
rN 1  rNN 

Zbog recipročnosti matrica je simetrična. Elemente matrice određujemo pomoću jednačine:


N N *
P =   rmn I m I n ,
c
m = 1n = 1
gde je I m kompleksni predstavnik struje mtog provodnika. Počinjemo sa slučajem kada je
I1 = 1A , dok su druge struje nula odakle je Pc = r11 I1 , i odakle dobijamo r11 . Da bismo imali
2

struju I1 = 1A , moramo odrediti pobudu odnosno potencijale provodnika koji dovode do


takve raspodele struja:

[V] = [C0 ]−1[Q]

gde [Q] dobijamo iz

I m =  J si li = c0 q0 m
i
Open

Optimizacija dimenzija mikrostripa 10

Ponavljanjem ove procedure za ostale otpornike dobijamo rmm , m = 2, ..., N . Zatim


uzimamo parove struja npr. I1 = I 2 = 1A , a ostale struje su jednake nuli. Sada je
Pc = r11 I1 + 2r12 I1 I 2 + r22 I 2 (jer je r12 = r21 ), odakle nalazimo r12 . Na kraju i ovu
2 2

proceduru ponavljamo za sve parove struja I i I ( m  n ) da bismo dobili preostale


m n
elemente matrice [R ] .
Perturbacionom tehnikom smo dobili i efekte magnetnog polja u provodnicima koje je
predstavljeno matricom unutrašnjih induktivnosti [L ] , za koju važi:
i
 [L ] = [ R ] ,
i
Matricu [L ] treba dodati matrici [L ] da bismo dobili ukupnu induktivnost [L t ] . U oblasti
i
izraženog skin efekta matrica [L ] praktično ne zavisi od učestanosti a matrica [L ] je
i
proporcionalna 1 f .
Polazeći od jednačina telegrafičara možemo iz primarnih parametara izračunati
karakterističnu matricu impedansi koja je naš krajnji cilj. Te jednačine glase:

d[V ( x)]
= −[R ][I( x)] − j[L ][I( x)], 0  x  D,
dx t

d[I( x)]
= −[G ][V ( x)] − j[C][V ( x)], 0  x  D,
dx

gde je [V( x)] vektor kompleksnih potencijala provodnika na mestu x duž provodnika, a
[I ( x)] je vektor kompleksnih struja provodnika. D je ukupna dužina spregnutog mikrostripa.

Sada uvodimo matrice podužnih impedansi i admitansi:

[Z] = [R] + j([L] + [R]) ,

[Y] = [G ] + j[C] ,
pomoću kojih jednačine telegrafičara možemo napisati u formi:
d[V ( x)]
= −[Z][I( x)], 0  x  D,
dx

d[I( x)]
= −[Y][V ( x)], 0  x  D.
dx

Kombinacijom prethodne dve jednačine dobijamo diferencijalnu jednačinu 2. reda po naponu:

d 2[V ( x)]
= [Z][Y][V ( x)], 0  x  D.
dx 2
Open

Optimizacija dimenzija mikrostripa 11

Uz ove jednačine potrebni su i granični uslovi, odnosno veze između [V(0)] i [I (0)] ,
i [V ( D)] i [I( D)] , koje su određene mrežom na koju je povezan spregnuti mikrostrip.
Jednačine rešavamo tako što pretpostavljamo rešenje u obliku:
[V m ( x)] = [V0m ] exp( m x), m = 1, ..., N ,

[I m ( x)] = [I 0m ] exp( m x), m = 1, ..., N ,

gde je  m =  m + j m koeficijent propagacije,  koeficijent slabljenja,  fazni koeficijent,


[V0m ] i [I 0m ] vektori kompleksnih konstanti. Ovako pretpostavljena rešenja se zovu modovi.
Svaki mod ima svoj koeficijent propagacije. Postoji N modova koji se prostiru u smeru
x-ose (čemu odgovara gornji znak u eksponencijalnom faktoru) i N modova u suprotnom
smeru (čemu odgovara donji znak u eksponencijalnom faktoru).
Zamenom pretpostavljenog rešenja u jednačinu po naponu dobijamo:
{ m2 [U] − [Z][Y]}[V0m ] exp( m x) = 0 ,

gde je [U ] jedinična matrica. Netrivijalna rešenja za [V0m ] postoje ako je

det{ m2 [U] − [Z][Y]} = 0 .

Poslednji izraz je poznat kao karakteristična jednačina. Iz nje dobijamo koeficijente


propagacije za svaki mod. Zamenom  m2 u jednačinu po [V0m ] dobijamo modalni vektor
napona. U opštem slučaju svakom koeficijentu propagacije odgovara jedan modalni vektor
napona, ali ako je mikrostrip bez gubitaka i dielektrik homogen modovi mogu degenerisati
tako da imaju identične koeficijente propagacije.

Modalni vektor struja dobijamo kao:

[I 0m ] = [Z]−1[V0m ] m .
Modalne vektore napona i struja možemo složiti u kvadratne matrice:

[SV ] =  [V01 ][V0N ] ,


[S I ] =  [I10 ] [I 0N ] .

Važi:

[S I ] = [Z]−1[SV ][] ,

gde je [] dijagonalna matrica čiji su elementi na glavnoj dijagonali koeficijenti propagacije.
Pomoću modalnih vektora napona i struje lako dobijamo matricu karakterističnih impedansi:

[Z c ] = [SV ][S I ]−1 .


Open

Optimizacija dimenzija mikrostripa 12

Ceo opisani postupak se zasniva na određivanju odziva spregnutog mikrostripa na


zadatu pobudu. Pod pobudom podrazumevamo potencijale provodnika, a pod odzivom
slobodna podužna naelektrisanja na provodnicima. Odziv spregnutog mikrostripa ćemo naći
tako što ćemo uticaj dielektrika zameniti vezanim naelektrisanjima. Sada smo dobili sistem u
kome nema dielektrika ali imamo, umesto samo slobodnih, totalna naelektrisanja. Zatim
ćemo napisati integralne jednačine za naelektrisanja:

1 K
V (r ) =  st (r' )log r − r' dl ,
2 0 C
gde je r vektor položaja tačke u kojoj tražimo potencijal, r' je vektor položaja tačke u kojoj se
nalaze naelektrisanja,
 = +
st s sb
je ukupna gustina naelektrisanja,  je gustina slobodnog naelektrisanja,  je gustina
s sb
vezanog naelektrisanja, dl je element konture (C) koji može ležati na provodniku ili granici
dva dielektrika, V je potencijal provodnika i K proizvoljna konstanta. Ovakvu jednačinu
pišemo za svaki provodnik i za masu.
Takođe mora biti zadovoljeno i

 st (r ' )dl = 0


C

kao i granični uslovi za normalnu komponentu električnog polja na razdvojnim površinama


dva dielektrika:

 2 − 1 sp
E1  n = ,
2 0
gde je E1 električno polje u prvom dielektriku na granici sa drugim, a n jedinični vektor
normalan na razdvojnu površ usmeren od drugog prema prvom dielektriku. Električno polje u
prethodnoj jednačini može se izraziti preko potencijala V kao:

E = −gradV ,

tako da granični uslov postaje:

( r1 −  r2 ) (r − r ' )  n ( +  r2 )
V.P.  (r ' ) dl + r1  (r ) = 0 ,
2 0 C st r − r'
2
2 0 st

gde V.P. označava glavnu vrednost integrala čime izbegavamo singularitet električnog polja u
tački r = r' (njegov uticaj smo uključili kroz član  /( 2 0 ) ).
st
Ovakve jednačine pišemo za svaku razdvojnu površ dva dielektrika.
Open

Optimizacija dimenzija mikrostripa 13

3.2. Metod podešavanja u tačkama

Postavljeni skup jednačina rešavamo numerički, primenom metoda podešavanja u


tačkama. U ovoj metodi provodnike i dielektrike delimo na uske, beskonačno duge trake i
usvajamo da je na njima naelektrisanje konstantno (i nepoznato). Ovo se zove piecewise
konstantna aproksimacija.

1 duž itog segmenta


fi (r ) = 
0 drugde
N
t
 (r )    f (r ) ,
st sti i
i =1
gde su  nepoznata naelektrisanja na segmentima a Nt ukupan broj segmenata. Na sredini
sti
svakog segmenta uzimamo tačku podešavanja u kojoj specificiramo potencijal. Prethodni
skup jednačina postaje:
N 
t sti K
  log dl = V , j = 1, ..., N , Nc je broj segmenata na provodnicima
i =1 2 0 c r − r ' j c
i

N 
t sti (r − r ' )  n ( +  r2 )
( r1 −  r2 )   dl + r1  = 0, j = N + 1, ..., N
i = 1 2 0 c r − r ' 2 0 stj c t
2

i
i j
N
t
 stili = 0
i =1

Konstantu K ne možemo proizvoljno odrediti, jer ne možemo jednoznačno odrediti


potencijale provodnika, već samo napone provodnika prema masi. Zato ćemo umesto
potencijala uvesti napone i to tako što ćemo poslednju jednačinu iz jednačina za
provodnike (tj. onu za koju je j = N ) oduzeti od prethodnih, tako da na desnoj strani znaka
c
jednakosti dobijemo napone provodnika prema masi. Ovako dobijeni sistem linearnih
jednačina rešavamo primenom metode LU dekompozicije, koja je objašnjena u odeljku 3.4.
Iz dobijenog rešenja koje predstavlja ukupna naelektrisanja treba izdvojiti slobodna
naelektrisanja na provodnicima. Za beskonačno tanke provodnike primenjujemo:
2
 =  + E1  n(1 −  2 ) ,
s  0 st
gde je E1 električno polje uz površinu provodnika, koje možemo dobiti kao gradijent
potencijala.
Open

Optimizacija dimenzija mikrostripa 14

N 
t sti (r − r ' )  n 
stj
E1 (r ) =   dl + n
i = 1 2 0 c r − r ' 2 0
2

i
i j
gde j označava segment na kome se nalazi tačka r u kojoj tražimo polje.
Dobijena slobodna naelektrisanja sumiramo po provodnicima da bi dobili ukupna
podužna naelektrisanja na provodnicima, pomoću kojih ćemo odrediti primarne parametre.

qm =   si li
i
gde je li širina itog segmenta na provodniku #m.

3.3. Autosegmentacija

Podela mikrostripa na segmente veoma utiče na tačnost rezultata. Program vrši


segmentaciju prema sledećim pravilima:

- Najkraći segmenti su približno isti na svim površinama strukture.

- Najduži segmenti su približno isti na svim površinama strukture.

- Broj segmenata na svakoj površini je proporcionalan širini te površine i parametru


tačnosti.

- Broj segmenata po površini je ograničen na opseg [1,99] (sem za masu).

Pod površinom se podrazumeva provodnik ili razdvojna površ dielektrik-vazduh.


Samo segmenti na masi su uniformno raspoređeni. Segmenti na provodnicima i dielektriku se
raspoređeni prema kosinusnom zakonu. Broj segmenata na svim površinama sem na masi se
određuje iterativnim algoritmom. U prvom koraku se određuje broj segmenata po površini
proporcionalno odnosu površine i najmanje površine u strukturi. To se zatim množi
parametrom tačnosti. Zatim se ulazi u petlju gde se u svakom prolasku izračunavaju najmanji
i najduži segment na svakoj površini i proverava koliko se razlikuju od srednje vrednosti.
Ukoliko je razlika veća od 10%, dodaje se ili oduzima jedan segment po površini. Zatim se
broj segmenata po površini ograničava na opseg [1,99] i ponovo se sve proverava u novoj
iteraciji. Broj iteracija je ograničen na 100 jer se mogu javiti oscilacije, tj. da se naizmenično
pojavljuje nekoliko različitih raspodela segmenata u kom slučaju bi autosegmentacija trajala
beskonačno dugo. Prilikom razvoja programa pokazalo se da je 100 iteracija sasvim dovoljno
da se dostigne zadovoljavajuće rešenje.
Broj segmenata na masi se uzima kao ukupan broj segmenata na gornjoj površini. Po
završetku autosegmentacije proverava se ukupan broj segmenata. Ukoliko je veći od hiljadu,
paramatar tačnosti se smanjuje za jedan i ponovo vrši autosegmentacija. Ovo ograničenje je
uvedeno da bi se ograničilo vreme potrebno za izračunavanje funkcije greške.
Open

Optimizacija dimenzija mikrostripa 15

Veća tačnost donosi veći broj segmenata po površini čime se dobija bolji model
strukture a time i preciznije rešenje. Na rezultat utiče i veličina šoldera, odnosno razmak
provodnika od leve i desne ivice dielektrika. Program uzima da je šolder jednak pet visina
dielektrika. Na sledećoj slici prikazana je segmentacija mikrostripa sa tri provodnika:

3.4. LU dekompozicija

Treba rešiti sistem linearnih jednačina:

Nt
− 2 V (r ) =   sti B (r ) ,
o i
i =1

gde su r tačke podešavanja a B matrica sistema, čiji su članovi integrali iz prethodno


postavljenog skupa jednačina. Ovakav sistem rešavamo više puta tj. za različite vektore
V (r ) , kao i podsistem koji odgovara strukturi bez dielektrika ( kad određujemo
matrice [L] i [R]). Koristimo metod LU dekompozicije. Kod ovog metoda matricu sistema B
rastavljamo na donje trougaonu matricu L i gornje trougaonu matricu U, tako da je B =
L(U+I), gde je I jedinična matrica, tako da sistem postaje:

− 2 V = L(U + I )  st
o

Ako uvedemo (U + I )  st = y sledi: Ly = V odnosno u razvijenom obliku:

l11 y1 = V1
l21 y1 + l22 y2 = V2

l N 1 y1 + l N 1 y2 + l N y N = VN
t t t Nt t t

 st1 + u12  st 2 +  u1N  stN = y1


t t

 st 2 + u23  st 3 + u2 N t  stN = y2


t


 stN = yN
t
t
Open

Optimizacija dimenzija mikrostripa 16

odakle vidimo da rešenje dobijamo jednostavno povratnom zamenom. Kada promenimo


pobudu tj vektor V, matrice L i U se ne menjaju, već samo vektor y. Matrice L, U i vektor y
računamo na sledeći način (literatura 4):

j −1 i −1 j −1
1 1
lij = bij −  lik ukj uij = (bij −  lik ukj ) yi = (Vi −  lik yk )
k =1 lii k =1 lii k =1

Prvo se fiksira j=1, dok i ide od 1 do Nt dakle, izračunavamo prvu kolonu matrice L. Zatim
fiksiramo i=1, a j ide od 2 do Nt dakle, izračunavamo prvu vrstu matrice U. Postupak
ponavljamo dok ne izračunamo obe matrice i vektor y. Sada sledi povratna zamena:

Nt
 sti = yi − u
k = i +1
ik  sti

Broj operacija je isti kao kod Gausovog metoda.


Matrica sistema koji odgovara strukturi bez dielektrika predstavlja submatricu matrice
B veličine Nc  Nc . Ako je pogodno preuredimo da prvi budu članovi koji odgovaraju
tačkama podešavanja na provodnicima, ta submatrica će se nalaziti u gornjem levom uglu
matrice B pa je ne moramo dodatno rastavljati na L i U matricu. Zadržavamo i vektor y,
odnosno prvih Nc članova tog vektora koji odgovaraju tom podsistemu. Na taj način smo
dobili gotovo simultano rešavanje dva sistema linearnih jednačina.
U programu se ne vrši formiranje posebne L i U matrice, već se transformiše matrica
sistema tako da oblast ispod glavne dijagonale zajedno sa glavnom dijagonalom predstavlja L
matricu, a iznad glavne dijagonale U matricu.
Na sledećoj slici dat je primer raspodele slobodnog naelektrisanja za mikrostrip sa tri
provodnika dužine 2mm i svim procepima i oba šoldera dužine 1mm, visine 1mm.
Naponi su V1=1v,V2=0v,V3=0v.
Open

Optimizacija dimenzija mikrostripa 17

3.5. Optimizacioni funkcional

Opisani postupak doveo je do izračunavanja karakteristične matrice impedansi. Ako


je u ulaznom fajlu uneto da se radi sa admitansama, program će još invertovati tu matricu.
Sada treba odrediti vrednost funkcije greške odnosno optimizacioni funkcional. Usvojeno je
da to bude srednje relativno odstupanje elemenata izračunate karakteristične matrice
impedansi (admitansi) u odnosu na ciljnu matricu.
Međutim, u matrici ima N 2 kompleksnih članova, što znači da optimiziramo 2 N 2
veličina, i to pomoću samo 2N -1 varijabli. Vidimo da imamo "manjak" stepeni slobode. Zbog
toga ćemo prvo izbaciti imaginarne delove iz funkcionala jer su oni i onako uslovljeni
gubicima u dielektriku i provodnicima. Takođe znamo da je matrica simetrična, tako da
možemo odbaciti i elemente ispod ili iznad glavne dijagonale. Sada imamo ( N 2 +N )/2
veličina koje optimiziramo, što je još uvek veće od 2N-1.
Od preostalih elemenata treba izabrati najvažnije. Element (m,n) se odnosi na spregu
provodnika #m i #n. Dakle, elementi na glavnoj dijagonali predstavljaju sopstvene impedanse
(admitanse) provodnika, elementi prve sporedne dijagonale međusobne impedanse susednih
provodnika, elementi druge sporedne dijagonale međusobne impedanse nesusednih
provodnika između kojih se nalazi samo jedan provodnik, itd. Sprega dva provodnika je
utoliko manja ukoliko su oni udaljeniji. Odatle proizilazi da u funkcional treba uključiti samo
realne delove elemenata na glavnoj i prvoj sporednoj dijagonali karakteristične matrice. A
njih ima upravo 2N-1.

3.6. Programska realizacija

Funkcija greške čini najveći deo programskog koda. Sam tok izračunavanja se može
podeliti u nekoliko logičkih celina. To su: autosegmentacija, formiranje matrice sistema,
rešavanje sistema linearnih jednačina i formiranje matrica [C], [G] i [L], perturbacioni metod
odnosno određivanje matrice [R], određivanje karakteristične matrice impedansi na osnovu
primarnih parametara, i na kraju određivanje optimizacionog funkcionala.
Elementi matrice sistema su vrednosti integrala koji su dati u odeljku 3.2. Element sa
indeksima (i,j) se odnosi na j-ti segment i i-tu tačku podešavanja. Segmenti i tačke
podešavanja nisu uzimani u prirodnom redosledu, u smeru kazaljke na satu ili suprotnom
smeru, već su prvo uzimani oni segmenti i tačke podešavanja koji leže na provodnicima, pa
oni koji leže na masi, i zatim oni koji leže na razdvojnoj površi dva dilektrika. Na taj način
smo omogućili lako rešavanje sistema sa i bez dielektrika (simultano), metodom LU
dekompozicije. Ako podelimo poslednjih Nt-Nc jednačina (one koje proizilaze iz graničnih
2 0
uslova) sa ,
 r1 −  r 2
svi integrali će imati realne vrednosti. Uticaj gubitaka u dielektriku, koji se ogleda kroz
kompleksnost matrice sistema, biće lociran u donjih Nt-Nc članova glavne dijagonale matrice
sistema, čiji će imaginarni delovi biti različiti od nule. Ti imaginarni delovi su konstantni i
 +
iznose  r1 r 2 .
 r1 −  r 2
Open

Optimizacija dimenzija mikrostripa 18

Sam integral se računa zamenom gornje i donje granice integrala i oduzimanjem te


dve vrednosti. U slučaju da sledeći element matrice sistema koji se računa, odgovara
segmentu koji leži na istoj površini kao i segment prethodnog elementa, izračunatu vrednost
za gornju granicu čuvamo, jer ona sada odgovara donjoj granici novog integrala (pošto se
tačka podešavanja nije promenila). Time smo donekle ubrzali formiranje matrice (to ubrzanje
nije značajno jer najveći deo vremena funkcija greške troši na LU dekompoziciju).
Broj provodnika je ograničen na osam, zbog statičke alokacije memorije. Ovo
ograničenje je čisto sintaksne prirode jer se u deklaracijama matrica moraju navesti njihove
veličine. Funkcija greške poziva i funkcije: za proizvod dve realne matrice, za proizvod dve
kompleksne matrice, za inverziju realne matrice, za inverziju kompleksne matrice i za
računanje sopstvenih vrednosti kompleksne matrice. Sve ove funkcije su preuzete iz kernela
programa LINPAR.
U slučaju neregularnog poziva funkcije greške ona vraća vrednost 1e20. Pod
neregularnim pozivom smatramo slučaj kada je jedna ili više dimenzija negativna ili nula. Do
ovoga dolazi jer se simpleks kreće u celom N-dimenzionom prostoru i nije ograničen samo na
pozitivne vrednosti. Zbog toga funkcija greške pre bilo kakvog računanja proverava da li su
sve dimenzije pozitivne. Ako nisu automatski se vraća u glavnim program sa navedenom
vrednošću. Na ovaj način smo postigli da simpleks "beži" od oblasti sa negativnim
dimenzijama.
Vrednost 1e20 je moguća i u slučaju singularne matrice sistema. Kada se izvrši LU
dekompozicija proizvod elemenata na glavnoj dijagonali predstavlja determinantu matrice
sistema, tako da se u toku same dekompozicije mogu ispitivati elementi glavne dijagonale i
prekinuti dalje izračunavanje ako je neki od njih jednak nuli. U principu ovo se ne bi trebalo
dešavati, jer svaki sistem predstavlja strukturu koja postoji u prirodi, te mora imati rešenje.
Međutim mi, zbog aproksimacije, rešavamo približni sistem, za koji ne možemo garantovati
da nije singularan pa se moramo obezbediti od toga. U suprotnom može doći do deljenja sa
nulom, što će svakako prekinuti program.
Problem singularnosti se javlja još kod funkcija za inverziju matrice i sopstvene
vrednosti matrice. Ove funkcije su tipa int, vraćaju 0 ako je rezultat ispravan odnosno 1 ako je
neispravan. Program ispituje vrednosti ovih funkcija i u slučaju neispravnosti takođe vraća
1e20.
Open

Optimizacija dimenzija mikrostripa 19

4. OPIS PROGRAMA

4.1. Osnovni dijalog prozor

Program je napisan u jeziku Visual C++. Naziv izvršnog fajla je speedy.exe. Program
bi trebalo da bude izvršiv na svim računarima koji imaju MFC klase. Prilikom kompajliranja
odabrana je opcija 386 kompatibilnosti, čime je obezbeđena izvršivost na najvećem broju
računara. Prilikom startovanja programa otvara se dijalog prozor koji sadrži tri dugmeta:
Učitaj, Optimiziraj, Izlaz i pet ispisa: Iteracija, Greška, Konvergencija, Tačnost, Status.
Klikom na dugme Učitaj pokreće se funkcija koja učitava ulazni fajl, proverava
ispravnost unetih podataka, formira početni simpleks, računa funkciju greške u tačkama
simpleksa i vraća se u osnovni dijalog prozor. Program proverava podatke u ulaznom fajlu i
ako postoji neka greška u polju Status ispisuje "Loš fajl", u suprotnom ispisuje "Spreman".
Klikom na dugme Optimiziraj pokreće se Nelder-Mid algoritam, ako su uneti podaci
validni. U svakoj iteraciji korisnik se preko ispisa obaveštava o trenutnom stanju: tekućoj
iteraciji, grešci u najboljoj tački, konvergenciji vektora grešaka i tekućoj tačnosti sa kojom se
ulazi u funkciju greške. U polju Status je ispisano "Optimizacija". Po završetku optimizacije
optimalna tačka se zapisuje u ulazni fajl na mesto početne tačke a na kraj fajla se dodaje
tačnost sa kojom je izračunata funkcija greške u optimalnoj tački, greška u toj tački kao i
kompletna karakteristična matrica impedansi (admitansi) u toj tački. Zatim se vraćamo u
osnovni dijalog prozor. Korisnik prepoznaje kraj optimizacije jer u polju Status sada stoji
"Spreman". Ako opet kliknemo na dugme Optimiziraj, otpočeće nova optimizacija od
poslednjeg stanja simpleksa. Ako uneti podaci nisu validni, ili uopšte nije ni učitan ulazni fajl
program u polju status ispisuje "Nemam početni simpleks".
Klikom na dugme Izlaz prekida se izvršavanje programa (ali samo ako smo u
osnovnom dijalog prozoru, ako je već zadato učitavanje fajla ili optimizacija mora se sačekati
njihov kraj.)

Izgled osnovnog dijalog prozora

Izgled osnovnog dijalog prozora


Open

Optimizacija dimenzija mikrostripa 20

4.2. Format ulaznog fajla

Razmena podataka između korisnika i programa odvija se putem tekstualnog fajla.


Svaki red u fajlu se sastoji od niza alfanumeričkih karaktera koji označavaju odgovarajuću
veličinu, znaka jednakosti i brojne vrednosti. Program proverava samo brojnu vrednost posle
znaka jednakosti, tako da naziv veličine nije neophodan ali se svakako preporučuje da se ne bi
pomešao redosled vrednosti, što bi izazvalo neregularan rad programa. Sledi primer jednog
ulaznog fajla.

N=2
w1=0.00463403
w2=0.00421053
s1=0.00218694
visina dielektrika=0.002
relativna permitivnost=2.3
tan. ugla gubitaka=0.013
frekvencija=1e+010
provodnost=5.6e+007
impedanse/admitanse=1
real(z(1,1))=59.25
real(z(2,2))=62.59
real(z(1,2))=7.411
pocetni korak simpleksa=1.5
e=0.0001
ec=1e-009
max. broj iteracija=10
tacnost je konstantna/promenljiva=0
**************
tacnost=9.99327
greska=0.00209812
Z(1,1)=58.9861+i0.311115
Z(1,2)=7.40795+i0.0594752
Z(2,1)=7.40728+i0.0594869
Z(2,2)=62.5006+i0.326939

Prvi podatak predstavlja broj provodnika. On određuje sledećih 2N-1 podataka koji
predstavljaju koordinate početne tačke. Wi se odnose na širine provodnika a Si na širine
procepa. Sledećih pet veličina su jasne same po sebi. Zatim ide parametar koji sme da ima
vrednosti 1 ili 0. Ako je 1 računaju se karakteristične matrice impedansi. Ako je 0 računaju se
karakteristične matrice admitansi. Posle toga stoje elementi glavne i sporedne dijagonale
ciljne matrice. Da li je to matrica impedansi ili admitansi, zavisi od prethodnog parametra.
Zatim se unosi početni korak simpleksa koji služi za formiranje početnog simpleksa od
početne tačke. Zatim idu uslovi za kraj optimizacije: maksimalna greška, maksimalna
konvergencija, maksimalan broj iteracija. Na kraju se čita parametar načina rada. Ima dve
moguće vrednosti: 1 za rad sa konstantnom tačnošću i 0 za rad sa promenljivom tačnošću.
Ako je uneto 1 tada se čita i sledeći parametar tačnosti ( niz asteriska se preskače ), ako je
uneto 0 čitanje se završava jer optimizacija počinje sa tačnošču 1.
Preostali podaci se ne čitaju i ne moraju ni biti uneti. Njih u stvari upisuje sam
program kao rezultat optimizacije (to su podaci posle niza asteriska).
Open

Optimizacija dimenzija mikrostripa 21

5. TESTIRANJE

U sledećoj tabeli dati su rezultati testiranja programa za mikrostripove sa različitim


brojem provodnika (N).

N ciljni elementi optimalna tačka greška greška (LINPAR)


1 real(z(1,1))=112.34 w1=0.00132931 5.8813e-005 0.002137
real(z(1,1))=59.25 w1=0.00463403
2 real(z(2,2))=62.59 w2=0.00421053 0.00209812 0.00227
real(z(1,2))=7.411 s1 =0.00218694
real(z(1,1))=75.44 w1=0.00299547
real(z(2,2))=74.43 w2=0.00299875
3 real(z(3,3))=75.22 w3=0.0030041 0.000440178 0.000372263
real(z(1,2))=13.33 s1 =0.00150103
real(z(2,3))=14.63 s2 =0.00129944
real(z(1,1))=74.81 w1=0.00302623
real(z(2,2))=77.87 w2=0.00271303
4 real(z(3,3))=85.96 w3=0.0022042
real(z(4,4))=82.32 w4=0.00250626 0.0009258 0.0009269
real(z(1,2))=16.54 s1 =0.00110893
real(z(2,3))=18.07 s2 =0.00113187
real(z(3,4))=19.88 s3 =0.00104206
real(z(1,1))=91.87 w1=0.00200434
real(z(2,2))=88.32 w2=0.00209886
real(z(3,3))=86.44 w3=0.00220366
real(z(4,4))=92.46 w4=0.00190397
5 real(z(5,5))=92.45 w5=0.00198106 0.000444632 0.000668474
real(z(1,2))=22.52 s1=0.000998378
real(z(2,3))=21.44 s2=0.000997894
real(z(3,4))=22.15 s3=0.000999632
real(z(4,5))=23.38 s4=0.000997791

Ostali podaci su isti za sve primere:


visina dielektrika=0.002
relativna permitivnost=2.3
tan. ugla gubitaka=0.013
frekvencija=1e+010
provodnost=5.6e+007
impedanse/admitanse=1

U prvoj koloni dat je broj provodnika, u drugoj elementi glavne i sporedne dijagonale
karakteristične matrice impedansi koja se traži, u trećoj nađena optimalna tačka, u četvrtoj
greška odnosno odstupanje od ciljne matrice, a u petoj greška u odnosu na vrednost
karakteristične matrice impedansi u optimalnoj tački, koja se dobija primenom programa
LINPAR. Sve optimalne tačke su izračunate sa tačnošću 10, a ta tačnost je korišćena i u
programu LINPAR.
Open

Optimizacija dimenzija mikrostripa 22

6. ZAKLJUČAK
Rezultati testiranja pokazuju da program dobro radi, kako u pogledu tačnosti rešenja,
tako i u pogledu konvergencije optimizacije. Svi rezultati su provereni u programu LINPAR
sa tačnošću 10, koja garantuje grešku manju od 1%. U svih pet testiranih primera program je
našao rešenje u manje od 200 iteracija. Tačan broj iteracija nije zabeležen jer on svakako
zavisi od početne tačke, kao i od načina rada sa tačnošću.
S druge strane, očigledno je da ima puno prostora za poboljšanje ovog programa, kako
u pogledu optimizacionog postupka, tako i u pogledu izračunavanja funkcije greške. Što se
tiče optimizacionog postupka mogli bi se ispitati drugi metodi sa direktnim pretraživanjem i
uporediti njihova brzina u odnosu na Nelder-Mid algoritam. Takođe mogao bi se modifikovati
način na koji se određuje tačnost kada se koristi način rada sa promenljivom tačnošću. Naime
prilikom testiranja tačnost je vrlo brzo dostizala maksimalnu vrednost, u samo nekoliko
iteracija, tako da efekat ubrzanja nije dolazio do punog izražaja. Što se tiče funkcije greške
razvoj programa bi mogao teći u dva pravca. Prvo, izmenom dela programa za formiranje
matrice sistema mogla bi se umesto spregnutog mikrostripa uključiti bilo kakva struktura za
vođenje mikrotalasa. Drugo, vredelo bi pokušati sa približnim, iterativnim metodima za
rešavanje sistema linearnih jednačina umesto LU dekompozicije. Razlog za ovu ideju je da se
tačke u kojima računamo funkciju greške nalaze blizu jedna drugoj, što znači da rešenje u
prethodnoj tački možemo koristiti kao početno rešenje u iterativnom metodu. Realnije bi ipak
bilo prvo proveriti koliko su tačke blizu, pa ako su dovoljno blizu koristiti iterativnu metodu a
u suprotnom LU dekompoziciju.
Ograničenje od maksimalno osam provodnika lako se može prevazići dinamičkom
alokacijom memorije. Time se postiže teoretski neograničen broj provodnika, mada treba
voditi računa da veliki broj provodnika, čak i pri malim tačnostima, znači veliki broj
segmenata, što produžuje vreme izvršavanja funkcije greške.
Takođe, program nije preterano "user-friendly". Bilo bi pogodnije kada bi se neki
podaci umesto preko ulaznog fajla unosili direktno u dijalog prozorima. Na primer, uslovi za
kraj optimizacije. Program se ne može prekinuti ako teče optimizacija ili računanje početnog
simpleksa, već se mora sačekati njihov kraj i povratak u osnovni dijalog prozor. Ovi nedostaci
su posledica nedovoljnog poznavanja Visual C++ jezika.
Open

Optimizacija dimenzija mikrostripa 23

7. LITERATURA

1. Ubrzanje Nelder-Mid optimizacionog postupka pri optimizaciji složenih funkcija


Đorđe S. Paunović
Informatica 78, Bled, oktobar 1978.

2. Linpar for Windows, version 2.0, user's manual


Antonije R. Đorđević, Miodrag B. Baždar, Tapan K. Sarkar, Rodger F. Hurrington
ARTECH house publishers, Boston, London

3. Mikrotalasna tehnika
Antonije R. Đorđević
Elektrotehnički fakultet u Beogradu, 1990.

4. Uvod u numeričku analizu


Dobrilo Tošić
Naučna knjiga, Beograd, 1982.

5. Visual C++ 6 Biblija


Richard C. Linecker, Tom Archer
Mikroknjiga 1999.
Open

SADRŽAJ

1. UVOD ................................................................................................................. 1

2. NELDER-MID ALGORITAM ........................................................................ 3

2.1. Osnovni pojmovi ......................................................................................... 3


2.2. Blok šema algoritma ................................................................................... 4
2.3. Rad sa promenljivom tačnošću ................................................................... 6
2.4. Programska realizacija ................................................................................ 6

3. MIKROSTRIP ................................................................................................... 7

3.1. Teorijska analiza ......................................................................................... 7


3.2. Metod podešavanja u tačkama .................................................................. 13
3.3. Autosegmentacija ...................................................................................... 14
3.4. LU dekompozicija ..................................................................................... 15
3.5. Optimizacioni funkcional .......................................................................... 17
3.6. Programska realizacija .............................................................................. 17

4. OPIS PROGRAMA ......................................................................................... 19

4.1. Osnovni dijalog prozor .............................................................................. 19


4.2. Format ulaznog fajla .................................................................................. 20

5. TESTIRANJE .................................................................................................. 21

6. ZAKLJUČAK .................................................................................................. 22

7. LITERATURA .................................................................................................. 23
Open

You might also like