Univerza v Ljubljani Fakulteta za elektrotehniko Borut Wagner Izracˇun stacionarnega stanja elektricˇnih vezij in njegova uporaba pri optimizacijskih postopkih DOKTORSKA DISERTACIJA Ljubljana, 2008 Univerza v Ljubljani Fakulteta za elektrotehniko Borut Wagner Izracˇun stacionarnega stanja elektricˇnih vezij in njegova uporaba pri optimizacijskih postopkih DOKTORSKA DISERTACIJA Mentor: prof. dr. Tadej Tuma Ljubljana, 2008 Zahvala Zahvaljujem se mentorju prof. dr. Tadeju Tumi, ki me je vodil skozi podiplomski študij, katerega rezultat je ta doktorska disertacija. Sodelavcem iz Laboratorija za racˇunalniške metode v elektroniki, še posebej Árpádu Bu˝r-menu, Janezu Puhanu in Branku Ždralu, se zahvaljujem za vse nasvete, namige in pripombe, ki so pripomogli k izdelavi in dosegu ciljev doktorske disertacije. Zahvala tudi vsem domacˇim, ki so mi omogocˇili študij in me pri tem tudi moralno podpirali in vzpodbujali. Zahvaljujem se tudi Ministrstvu za visoko šolstvo, znanost in tehnologijo, Javni agenciji za raziskovalno dejavnost RS za sofinanciranje podiplomskega študija in Fakulteti za elektrotehniko, kjer sem bil v cˇasu podiplomskega študija zaposlen kot mladi raziskovalec. Povzetek Doktorska disertacija obravnava izracˇun stacionarnega stanja elektricˇnih vezij z uporabo programskega paketa SPICE, ki ga uporabljamo kot orodje pri nacˇrtovanju integriranih vezij. Prikazana je uporaba paketa SPICE pri optimizaciji elektricˇnih vezij, s poudarkom na problemih, ki izvirajo iz izracˇuna stacionarnega stanja. Stacionarno stanje vezja je stanje, ko vsi prehodni pojavi izzvenijo in je vezje v dinamicˇnem ravnovesju. S pojmom stacionarno stanje je mišljeno stanje vezja, katerega spremenljivke (frekvenca, amplituda, faza) se v cˇasovnem prostoru ne spreminjanjo, in ne stanje, ko se trenutne vrednosti posameznih signalov ne spreminjajo v odvisnosti od cˇasa. Pojem stacionarno stanje se v doktorski disertaciji torej nanaša na periodicˇno stacionarno stanje elektricˇnega vezja. Pri izracˇunu stacionarnega stanja elektricˇnih vezij se pri dolocˇenih vezjih hitro srecˇamo s problemom dolgotrajnega izracˇuna, ki lahko traja vecˇ minut ali celo ur. Delo obravnava metode, s pomocˇjo katerih stacionarno stanje izracˇunamo hitreje kot z uporabo obicˇajne tranzientne analize, ki se mora izvajati tako dolgo, da vsi prehodni pojavi izzvenijo. Z uporabo teh postopkov se izracˇun stacionarnega stanja mocˇno pospeši. Pospešitev je odvisna od vrste vezja, ki ga analiziramo. Tako je v doglednem cˇasu mogocˇe vezje tudi optimizirati, pri cˇemer je potreben izracˇun vecˇ 1.000 ali 10.000 analiz stacionarnega stanja. Zacˇetno poglavje obravnava matematicˇen opis elektricˇnih vezij in nacˇin izvajanja analiz. Naštete so vrste analiz, ki jih lahko izvajamo s pomocˇjo programskega paketa SPICE. Poudarek je na tranzientni analizi, ki je osnova za izracˇun stacionarnega stanja. Tranzientna analiza je od vseh analiz racˇunsko najbolj zahtevna. Zaradi tega je za mnoga vezja izracˇun stacionarnega stanja zelo dolgotrajen proces. Prikazani so problemi, ki se lahko pojavijo pri izracˇunu stacionarnega stanja. Podani so primeri vezij, pri katerih se lahko ti problemi pojavijo. Na koncu poglavja je opisana optimizacija elektricˇnih vezij, kjer želimo s spreminjanjem lastnosti vezja dosecˇi, da bi vezje kar najbolje izpolnjevalo postavljene zahteve. Znotraj optimizacijske zanke se lahko izvajajo razlicˇne analize, med drugim tudi izracˇun stacionarnega stanja. Nakazana in ocenjena je dolgotrajnost optimizacije, kadar je že sam izracˇun stacionarnega stanja dolgotrajen. Tretje poglavje opisuje metode, s pomocˇjo katerih lahko na hitrejši nacˇin izracˇunamo staci- 6 onarno stanje. Med njimi so najpomembnejše metoda harmonicˇnega ravnovesja in razne eks-trapolacijske metode. Pri prvi metodi vezje, za katerega išcˇemo stacionarno stanje, razdelimo na linearni in nelinearni del. Na vozlišcˇih, kjer se dela stikata, moramo uskladiti napetosti in tokove, da sta izpolnjena Kirchhoffova zakona. S pomocˇjo ekstrapolacijskih postopkov izracˇu-nano stacionarno stanje tako, da najprej vezje analiziramo nekaj period osnovnega signala. Na podlagi dobljenega odziva sklepamo na stacionarno stanje oz. postavimo zacˇetno stanje vezja za novo iteracijo analize. Prikazana je posplošitev metode za vezja, ki niso vzbujana (npr. oscilatorji). V naslednjem poglavju je utemeljena izbira metode za izracˇun stacionarnega stanja. Metode za izracˇun stacionarnega stanja so bile najprej simulirane v programskem jeziku NUTMEG paketa SPICE in s pomocˇjo klicev obicˇajne tranzientne analize iz zunanjega programa. Za izbor metode, ki je bila vgrajena v programski paket SPICE, so bili izbrani trije kriteriji. Na petih testnih vezjih so bile iz rezultatov simulacije metod dolocˇene vrednosti treh kriterijev. Na podlagi teh vrednosti se je kot najboljši izkazal algoritem epsilon. Algoritem je bil nato implementiran v programski paket SPICE OPUS. Peto poglavje je namenjeno testiranju metode za izracˇun stacionarnega stanja na vecˇ realnih primerih elektricˇnih vezij. Rezultati analize stacionarnega stanja so primerjani z rezultati, ki jih dobimo, cˇe vezje analiziramo z uporabo obicˇajne tranzientne analize, s cˇimer je potrjena tudi tocˇnost izracˇuna. Primerjan je cˇas, potreben za izracˇun stacionarnega stanja po obeh postopkih. Metoda je bila testirana tudi na primeru optimizacije vezja. Zadnje poglavje povzema namene in cilje doktorske disertacije, nacˇin izpolnitve le-teh in rezultate. Našteti so izvirni prispevki k znanosti, cˇlanek, s katerim je bila pridobljena pravica za neposredni prehod na doktorski študij, in cˇlanek, objavljen v reviji s faktorjem vpliva po SCI, ki vsebuje del rezultatov raziskav, ki so obravnavani v tej doktorski disertaciji. Abstract Computing Steady State of Electrical Circuits and its Application to Optimization Algorithms The thesis focuses on the computation of the steady state of electrical circuits by means of the SPICE circuit simulator and its application to optimization of electrical circuits with emphasis on problems that require the computation of the steady state. The steady state of electrical circuits is reached when ali the transients fade out. The term steady state is used for the state of a circuit where the variables (frequency, amplitude and phase) do not change in the tirne domain, and not for the state where the response of the circuit is constant with respect to tirne. In this thesis the term steady state is used for the periodic steady state of the electrical circuit. For certain nonlinear electrical circits the steady state is difficult to evaluate. The computation can take minutes or even hours before accurate results are obtained. With special methods the steady state can be obtained faster than by means of direct transient analysis. Depending on the type of the circuit the computation can be accelerated many times. The purpose of the thesis is also to speed-up the optimization of electrical circuits for which steady state has to be computed. Typically, more than 1,000 or 10,000 iterations are needed in the optimization procedure so that fast steady-state analysis can also speed-up the optimization. The thesis starts with the mathematical background of electrical circuits and analyses. The circuit simulator SPICE and ali main analyses are considered. Extra attention is paid to transient analysis which is required for steady state computation through the direct approach. The transient analysis is computationally very demanding, so the steady state computation of certain circuits takes a considerable amount of tirne. The problems in the steady-state response evalua-tion of electrical circuits are exposed. Cases of electrical circuits where problems manifest are given. Finally the optimization of electrical circuits is described. The main goal of the optimi- 8 zation is to find the best circuit that satisfies ali the design requirements. The optimization is performed by changing the circuit parameters. Different circuit analyses are performed within the optimization process. We demonstrate that if the steady-state response analysis is difficult to compute, the optimization takes a very long tirne. With methods described in Chapter 3 the steady-state response can be computed faster than by using the direct transient analysis. Most notable are the harmonic balance method and vari-ous extrapolation methods. In the harmonic balance method the circuit is divided into a linear and a nonlinear subcircuit. The voltage and the current Kirchhoff laws have to be satisfied at the nodes common to both subcircuits. When the steady state is computed using extrapolation methods the circuit is analyzed for several periods of signals that are present in the circuits. From the obtained response a new initial condition is set for the next iteration of the extrapolation algorithm. The algorithm is generalized for autonomous circuits (i.e. oscillators). In the next chapter the choice of the steady-state response method is explained. Ali candi-date methods were first simulated using the SPICE NUTMEG programming language and an external program. The choice of the method that was later implemented in SPICE was deter-mined using three criteria. The criteria were evaluated for five test circuits. The best choice for the implementation was the epsilon algorithm. Chapter 5 is devoted to the testing of the steady-state evaluation method on several real-world cases of electrical circuits. Steady-state responses are compared to the results obtained by direct transient analysis. Comparisons confirm that the results are virtually identical. The tirne needed for computing the steady state by both methods was compared. The method was also tested on the optimization of a test circuit. Chapter 6 summerizes the purpose and the goals of the thesis. The results of the thesis are given and the original scientific contributions are presented. Kazalo Zahvala 3 Povzetek 5 Abstract 7 1 Uvod 19 2 Analiza električnih vezij in izračun stacionarnega stanja 23 2.1 Matematična obravnava in opis električnih vezij................. 23 2.2 Vrste analiz električnih vezij........................... 24 2.2.1 Tranzientna analiza............................ 24 2.3 Stacionarno stanje z uporabo tranzientne analize................. 25 2.3.1 Analiza zahtevnosti in problemi pri izračunu stacionarnega stanja ... 27 2.4 Optimizacijski postopki pri električnih vezjih.................. 28 3 Stacionarno stanje električnih vezij 33 3.1 Metoda harmoničnega ravnovesja ........................ 34 3.1.1 Modifikacija metode harmoničnega ravnovesja............. 39 3.2 Pospeševanje izračuna stacionarnega stanja z ekstrapolacijskimi metodami ... 41 3.2.1 Analiza vezja............................... 42 3.2.2 Vzorčenje odziva............................. 43 3.2.3 Uporaba ekstrapolacijskih metod..................... 44 3.2.4 Iteracijski postopek............................ 50 3.2.5 Vrstni red izračuna členov ekstrapolacijske sheme ........... 52 3.3 Stacionarno stanje nevzbujanih vezij....................... 53 3.3.1 Fourierjeva transformacija........................ 54 3.3.2 Detekcija prehoda skozi nivo....................... 55 10 KAZALO 3.3.3 Detekcija kota krivulje .......................... 61 3.4 Ekstrapolacijske metode in vezja s signali s širokega frekvencˇnega podrocˇja . . 63 4 Izracˇun stacionarnega stanjasprogramskim paketom SPICE 65 4.1 Merila za izbor metode za implementacijo v programski paket SPICE ..... 65 4.2 Simulacija metod za izracˇun stacionarnega stanja elektricˇnih vezij ....... 66 4.2.1 Simulacija metode harmonicˇnega ravnovesja .............. 67 4.2.2 Simulacija ekstrapolacijskih metod za izracˇun stacionarnega stanja . . . 70 4.3 Izbor najustreznejše metode ........................... 74 4.4 Implementacija metode v programski paket SPICE ............... 78 5 Testiranje metodenarealnih primerih vezij 83 5.1 Testna vezja .................................... 83 5.1.1 Vezje 1: Frekvencˇni množilnik ...................... 83 5.1.2 Vezje 2: Nelinearno usmerniško vezje RC ................ 84 5.1.3 Vezje 3: Napetostni množilnik ...................... 85 5.1.4 Vezje 4: Ozkopasovni filter ........................ 85 5.1.5 Vezje 5: Superozkopasovni filter s kvarcom ............... 85 5.1.6 Vezje 6: Preklopni napajalnik ...................... 86 5.1.7 Vezje 7: Greinacherjev usmernik ..................... 87 5.1.8 Vezje 8: Oscilator ............................. 88 5.1.9 Vezje 9: Nizkošumni ojacˇevalnik ..................... 89 5.1.10 Vezje 10: Mešalnik ............................ 90 5.2 Izracˇun stacionarnega stanja ........................... 91 5.3 Primerjava racˇunske zahtevnosti ......................... 108 5.4 Tocˇnost izracˇuna ................................. 110 5.5 Optimizacija .................................... 111 6 Zakljucˇek 115 6.1 Izvirni prispevki k znanosti ............................ 117 7 Priloge 119 ˇ 7.1 Clanek ERK 2004 ................................. 121 7.2 Cˇlanek ERK 2005 ................................. 125 ˇ 7.3 Clanek EV 2005 .................................. 129 ˇ 7.4 Clanek Midem 2006 ............................... 135 KAZALO 11 7.5 Cˇ lanek ERK 2006 ................................. 151 Literatura 155 Izjava 163 12 KAZALO Slike 2.1 Odvisnost vrednosti merilke q v odvisnosti od meritve m, ........... 29 3.1 Razdelitev vezja na nelinearni in linearni del................... 34 3.2 Primer eksplicitne omejitve za k\ in &2 {k\min = &2min = —5, fcimaa; = 3.3 Primer implicitne omejitve za k\ in fc2 {k\ + fc^ — 25 < 0) ........... 37 3.4 Priključitev napetostnih virov za iskanje stacionarnega stanja vezja pri metodi harmoničnega ravnovesja............................. 38 3.5 Priključitev napetostnih virov za iskanje stacionarnega stanja vezja po modificirani metodi harmoničnega ravnovesja ..................... 41 3.6 Napetost v enem od vozlišč kot tipični odziv vezja pri iskanju stacionarnega stanja 43 3.7 Prikaz treh iteracij ekstrapolacijskega algoritma................. 46 3.8 Dvodimenzionalno polje za izračun algoritma epsilon.............. 47 3.9 Dvodimenzionalno polje za izračun algoritma rho................ 48 3.10 Dvodimenzionalno polje za izračun algoritma theta............... 49 3.11 Dvodimenzionalno polje za izračun algoritma epsilon (m,fc = 4) ........ 52 3.12 Signal x{t) v (3.59) za vrednosti N = 2, uq = 0, u\ = 2n ¦ 4 kHz, U2 = 2n ¦ 80 kHz, Aq = 2, A\ = 4, A2 =0,2 , Bq = B\ = B2 = 0 . . 57 3.13 Signal x(t), nivo L = 3 in presečišča tPi..................... 57 3.14 Signal x(t), nivo L = 6 in presečišča xPi..................... 58 3.15 Signal x{t) in nivo L = 3. Za določitev osnovne frekvence moramo uporabiti metodo, opisano v Poglavju 3.3.1......................... 60 3.16 Primer signala x(t), za katerega želimo izračunati osnovno periodo z detekcijo 3.17 Odvod signala x(t) s Slike 3.16.......................... 63 14 SLIKE 4.1 Diagram poteka programa za simulacijo izracˇuna stacionarnega stanja s pomo-cˇjo ekstrapolacijskih metod ............................ 71 5.1 Frekvencˇni množilnik ............................... 84 5.2 Nelinearno usmerniško vezje RC ......................... 84 5.3 Napetostni množilnik ............................... 85 5.4 Ozkopasovni filter ................................. 85 5.5 Superozkopasovni filter .............................. 86 5.6 Modeliranje kristala X1 na Sliki 5.5 ........................ 86 5.7 Preklopni napajalnik ............................... 87 5.8 Ena stopnja Greinacherjevega usmernika ..................... 87 5.9 Modeliranje diode s tranzistorjem ........................ 88 5.10 Testno vezje: dvostopenjski Greinacherjev usmernik .............. 88 5.11 Oscilator ...................................... 89 5.12 Nizkošumni ojacˇevalnik .............................. 89 5.13 Mešalnik ..................................... 90 5.14 Odziv frekvencˇnega množilnika pri cˇasu 5? ................... 92 5.15 Odziv frekvencˇnega množilnika z uporabo ekstrapolacijskega algoritma . . . . 93 5.16 Odziv nelinearnega usmerniškega vezja RC pri cˇasu 5? ............. 94 5.17 Odziv nelinearnega usmerniškega vezja RC z uporabo ekstrapolacijskega algoritma ........................................ 95 5.18 Odziv napetostnega množilnika pri cˇasu 5? ................... 96 5.19 Odziv napetostnega množilnika z uporabo ekstrapolacijskega algoritma . . . . 96 5.20 Odziv ozkopasovnega filtra pri cˇasu 5? ...................... 97 5.21 Odziv ozkopasovnega filtra z uporabo ekstrapolacijskega algoritma ....... 98 5.22 Odziv superozkopasovnega filtra pri cˇasu 0,5? .................. 99 5.23 Odziv superozkopasovnega filtra z uporabo ekstrapolacijskega algoritma . . . . 100 5.24 Odziv preklopnega napajalnika pri cˇasu 9? .................... 101 5.25 Odziv preklopnega napajalnika z uporabo ekstrapolacijskega algoritma ..... 101 5.26 Odziv Greinacherjevega usmernika pri cˇasu 5? ................. 102 5.27 Odziv Greinacherjevega usmernika z uporabo ekstrapolacijskega algoritma . . 103 5.28 Odziv oscilatorja pri cˇasu 3? ........................... 104 5.29 Odziv oscilatorja z uporabo ekstrapolacijskega algoritma ............ 105 5.30 Odziv nizkošumnega ojacˇevalnika pri cˇasu 6? .................. 106 5.31 Odziv nizkošumnega ojacˇevalnika z uporabo ekstrapolacijskega algoritma . . . 106 SLIKE 15 5.32 Odziv mešalnika pri cˇasu 3? ........................... 107 5.33 Odziv mešalnika z uporabo ekstrapolacijskega algoritma ............ 108 16 SLIKE Tabele 4.1 Število period in cˇas izracˇuna metod hitrega izracˇuna stacionarnega stanja v primerjavi s tranzientno analizo .......................... 76 4.2 Vrednosi treh kriterijev za pet izbranih testnih vezij in vrednosti celotnega sestavljenega kriterija posamezne metode po enacˇbi (4.5). Pri kriteriju 2 in 3 so v oklepaju navedeni podatki, iz katerih so bile dolocˇene vrednosti posameznega kriterija ....................................... 77 5.1 Primerjava racˇunske zahtevnosti za testna vezja ................. 109 5.2 Primerjava tocˇnosti izracˇuna stacionarnega stanja za testna vezja ........ 111 5.3 Optimizacijski parametri za testno vezje 7 (dvostopenjski Greinacherjev usmernik) ........................................ 112 5.4 Eksplicitne omejitve optimizacijskih parametrov (zacˇetne, minimalne, maksimalne vrednosti in korak) ............................. 112 5.5 Meritve, ki so bile izvedene na testnemu vezju .................. 113 5.6 Vrednosti meritev pred in po optimizaciji .................... 113 5.7 Vrednosti parametrov po optimizaciji ...................... 114 18 TABELE 1 Uvod Pogosto nas pri analizi električnega vezja zanima stanje vezja po dovolj dolgem času, ko se vsi prehodni pojavi iznihajo. Tedaj v vezju ostanejo signali, katerih vrednosti (amplituda, frekvenca, faza) se v frekvenčnem prostoru ne spreminjajo. To stanje v splošnem imenujemo stacionarno stanje električnega vezja. V nadaljevanju bo s pojmom stacionarno stanje mišljeno stacionarno stanje glede na frekvenčni prostor oz. periodično stacionarno stanje (pri katerem imajo signali v vezju vsaj eno frekvenčno komponento), ne pa stanje vezja, kjer se s časom ne spreminjajo tudi trenutne vrednosti signalov (stacionarno stanje glede na časovni prostor) -signali v vezju imajo samo enosmerno komponento. Vezje, ki ga analiziramo, je lahko vzbujano (npr. filtri, ojačevalniki) ali nevzbujano (npr. oscilatorji). Pri obeh tipih vezij imajo lahko napetosti, tokovi in druge količine v vezju enosmerno komponento, največkrat pa še eno ali več izmeničnih komponent. Za vezja, ki so vzbujana ali v katerih predpostavljamo t.i. majhne signale, lahko najprej izračunamo delovno točko, vezje okoli te točke lineariziramo in s pomočjo malosignalne izmenične analize poiščemo odziv vezja oz. izmenično prenosno karakteristiko vezja. S pomočjo te karakteristike lahko na podlagi določenega vzbujanja vezja določimo stacionarno stanje vezja, če vhodni signal vsebuje samo eno frekvenčno komponento. Opisan postopek velja samo za majhne signale. Amplituda majhnih signalov je odvisna od natančnosti, ki jo želimo kot rezultat analize. Če je nelinear-nost vezja okoli delovne točke vezja velika, mora biti amplituda signalov ustrezno majhna, da dosežemo ustrezno natančnost izračuna. Če vnaprej ne poznamo lastnosti vezja, ki ga analiziramo, če želimo večjo natančnost analize ali če v vezju nastopajo relativno veliki signali, je potrebno stacionarno stanje električnega vezja izračunati s pomočjo tranzientne analize. S tranzientno analizo moramo vezje analizirati tako dolgo, da vsi prehodni pojavi izzvenijo. Za končanje tranzientne analize je potrebno 20 1. UVOD upoštevati dolocˇen ustavitveni kriterij s podano toleranco. Ustavitveni kriterij preverja stanje vezja zadnjih nekaj period signalov v vezju oz. zadnjih nekaj cˇasovnih enot. Ko rezultat analize doseže ustavitveni kriterij, je vezje (z dolocˇeno toleranco) v stacionarnem stanju. Izracˇun stacionarnega stanja vezja, ki ima glede na periode signalov v vezju dolge cˇasovne konstante, je zelo dolgotrajen. Zaradi relativno majhne periode in relativno velike cˇasovne konstante je potrebno izracˇunati dovolj cˇasovnih tocˇk na periodo in vezje analizirati preko veliko period. Tipicˇno je za taka vezja potrebno izracˇunati vecˇ milijonov ali celo deset milijonov cˇasovnih tocˇk, da vezje doseže stacionarno stanje. Odvisno od vrste in obsežnosti vezja lahko tak izracˇun traja od nekaj minut do nekaj ur. Pri vezjih, ki so vzbujana z vecˇ vhodnimi signali (npr. mešalniki), se situacija še poslabša, ˇ ker je osnovna frekvenca tako enaka razliki vhodnih frekvenc. Ce je vezje vzbujano z dvema signaloma, katerih frekvenci sta zelo blizu, je osnovna frekvenca zelo majhna v primerjavi s frekvencama vzbujajocˇih signalov. V vezju imamo prisotne tako signale nizkih kot tudi visokih ˇ frekvenc. Casovni korak tranzientne analize moramo izbrati glede na signal z najvišjo frekvenco (vsak nekaj tocˇk na periodo signala z najvišjo frekvenco), osnovna perioda pa je dolocˇena z najnižjo frekvenco signala. Zgoraj opisani problemi pri analizi tocˇno dolocˇenega vezja še ne predstavljajo tako velike ovire. Poženemo tranzientno analizo in pocˇakamo, da racˇunalnik izracˇuna stacionarno stanje. Problem nastopi pri racˇunalniškem nacˇrtovanju vezij, kjer želimo s spreminjanjem lastnosti vezja (topologija vezja, vrednosti elementov) dosecˇi, da vezje izpolni dolocˇene zahteve (op-timizacijski postopek). V tem primeru je treba velikokrat izracˇunati stacionarno stanje vezja, vselej z drugacˇnimi lastnostmi vezja. V vsaki iteraciji tega optimizacijskega postopka je potrebno oceniti, kako dobro vezje izpolnjuje zahteve. Postopek moramo ponavljati, dokler vezje ne izpolni vseh zahtev. Tipicˇno tak optimizacijski postopek zahteva nekaj tisocˇ ali deset tisocˇ iteracij, dokler ne najdemo vezja, ki izpolnjuje vse zahteve. Za vezja, ki potrebujejo za posamezen izracˇun staconarnega stanja nekaj deset minut, lahko tako poišcˇemo optimalno vezje v nekaj deset dneh ali vecˇ. Zaradi potrebe po cˇimvecˇji konku-rencˇnosti in cˇim hitrejšem razvoju integriranih vezij nas ta cˇas ne zadovolji. Pri tem je treba še poudariti, da vecˇina danajšnjih orodij za optimizacijo izvaja t.i. parametrsko optimizacijo, t.j. spreminja samo parametre elementov, ne pa tudi topologije. V primeru, da s tako optimizacijo ne dosežemo vseh zahtev, moramo spremeniti še topologijo vezja in ponovno pognati para-metrsko optimizacijo. Celotnen postopek iskanja ustreznega vezja (parametrska optimizacija s pomocˇjo racˇunalnika in rocˇno spreminjanje topologije) lahko tako traja vecˇ mesecev. Postopek optimizacije se da skrajšati na vecˇ nacˇinov. Prvi nacˇin je uporaba zmogljivejših 21 računalnikov, večprocesorskih računalnikov in/ali uporaba paralelnega procesiranja. Ta način v vsakem primeru zahteva več vložene procesorske moči za izračun določenega problema. Pri tem produkt procesorske moči in časa izračuna ne spreminja veliko. Drugi način pa je uporaba algoritmov, ki pri isti procesorski moči izračunajo stacionarno stanje hitreje kot z uporabo običajne tranzientne analize. Doktorska disertacija je namenjena slednjemu načinu. S pomočjo posebnih postopkov je mogoče določiti stacionarno stanje vezja, ne da bi morali vezje analizirati z uporabo direktne tranzientne analize, kot je bilo opisano v prejšnjih odstavkih. Doktorska disertacija najprej obravnava analizo električnih vezij. Predstavljene so vrste analiz, ki jih lahko izvajamo s programskim paketom SPICE [1, 2, 3] za načrtovanje integriranih vezij. Poudarek je na tranzientni analizi, s katero na običajen način določimo odziv vezja v stacionarnem stanju. Prikazan je problem dolgotrajnega izračuna stacionarnega stanja. Sledi opis metod za hitrejši izračun stacionarnega stanja, utemeljitev izbire določene metode, ki je bila implementirana v programski paket SPICE OPUS. Metoda je bila testirana na več realnih električnih vezjih. Prikazana je računska zahtevnost in točnost izračuna stacionarnega stanja in optimizacije vezja. 22 1. UVOD 2 Analiza električnih vezij in izračun stacionarnega stanja 2.1 Matematična obravnava in opis električnih vezij Doktorska disertacija temelji na enem izmed najuspešnejših programov za analizo (integriranih) električnih vezij - SPICE3 [2], ki je bil razvit na Univerzi Berkelev, oz. na njegovi različici SPICE OPUS [1, 3]. Vezje, ki ga želimo analizirati, opišemo z vhodno datoteko, ki jo lahko napišemo s katerim koli urejevalnikom besedil ali pa ustvarimo s programom za shematski vnos vezij. Vhodna datoteka vsebuje modele elementov, elemente in njihove medsebojne povezave. Elementi vezja (tranzistorji, diode, induktivnosti, kapacitivnosti, upori, napetostni in tokovni viri...) so opisani z diferencialnimi enačbami. Vezje lahko analiziramo v časovnem ali frekvenčnem prostoru. V časovnem prostoru je sistem nelinearnih diferencialnih enačb rešen numerično z upoštevanjem začetnega stanja vezja. V frekvenčnem prostoru vezje linearziramo v delovni točki. Rezultat tovrstne analize je frekvenčna karakteristika vezja pri vzbujanju z majhnimi signali. Osnova za izračun stacionarnega stanja električnih vezij je tranzientna oz. časovna analiza. Pri tem postopku rešujemo sistem navadnih diferencialnih enačb x(i) = f(x(i),i), (2.1) ki jih dobimo po obdelavi vhodne datoteke analiziranega vezja [4, 5]. Pri reševanju teh enačb upoštevamo začetno stanje xo(0). Vektor x(t) predstavlja vozliščne napetosti in vejne tokove vezja. Enačbe rešujemo numerično z uporabo Newton-Raphsonove iteracijske metode in integracijskih algoritmov [2, 6]. Rešitev predstavlja vektor x(t) za čase t > 0. Podaja časovni potek 24 2. ANALIZA ELEKTRIČNIH VEZIJ IN IZRAČUN STACIONARNEGA STANJA stanja vezja oz. vozlišcˇne napetosti in vejne tokove kot funkcijo cˇasa. Ta odziv predstavlja tudi osnovo za dolocˇitev stacionarnega stanja vezja. V nadaljevanju bodo predstavljene analize vezja, ki jih lahko izvajamo s programskim paketom SPICE OPUS. Med njimi je racˇunsko najbolj zahtevna tranzientna (cˇasovna) analiza. 2.2 Vrste analiz elektricˇnih vezij S programskim paketom SPICE lahko izvajamo razlicˇne analize vezja (analiza enosmerne delovne tocˇke, izracˇun enosmerne prenosne funkcije, izracˇun diferencialne enosmerne prenosne funkcije, izmenicˇna analiza, šumna analiza, analiza polov in nicˇel). Glavna analiza, na kateri temelji doktorska disertacija, je tranzientna analiza, in bo predstavljena v nadaljevanju. Podrobnejši opis ostalih analiz pa lahko najdemo v [7] in [8]. 2.2.1 Tranzientna analiza Cˇ asovna ali tranzientna analiza deluje v cˇasovnem prostoru. Zacˇetne pogoje ob cˇasu t = 0 podamo s stavkom ic. Cˇ e le-teh ne podamo, se avtomaticˇno izracˇunajo z analizo enosmerne delovne tocˇke. Reaktancˇni elementi se nato nadomestijo z diskretnimi modeli, tako da nastane nelinearno rezistivno vezje, katerega rešitev predstavlja odziv vezja po nekem kratkem cˇasov-nem intervalu. Za dolocˇitev diskretnih modelov se uporabi integracijski algoritem. Po vsakem cˇasovnem koraku se le-ta ustrezno popravi in prilagodi dinamiki vezja. Osnova tranzientne analize je stavek tran tran t? tk [ tz [ tm ]] [UIC] , ki dolocˇa cˇasovni potek. Analiza traja od cˇasa t = 0 do t = tk. Izpisni korak je dolocˇen s t? in sicer od tz do tk. Vgrajena vrednost za tz je 0. Racˇunski korak (ki ni enak izpisnemu koraku) ni konstanten, saj se avtomatsko prilagaja odzivu vezja, uporabnik pa lahko dolocˇa le njegovo zgornjo mejo tm. Cˇ e zgornja meja racˇunskega koraka ni podana, potem velja tm = min(t?, (tk - tz)/50). Rezervirana beseda UIC (Use Initial Conditions) se uporablja v povezavi s stavkom ic ter s ˇ parametri ic elementov vezja. Ce uporabimo rezervirano besedo UIC, se slednji upoštevajo kot zacˇetno stanje vezja. Problem tranzientne analize je dejstvo, da vsak nadaljnji cˇasovni korak izhaja iz rezultatov prejšnjega. To pomeni, da se napake akumulirajo. SPICE3 ima vgrajena dva mehanizma, ki se 2.3. STACIONARNO STANJE Z UPORABO TRANZIENTNE ANALIZE 25 vsak na svoj način borita proti nabiranju numeričnih napak. Prvi mehanizem se imenuje avtomatično nastavljanje računskega časovnega koraka. Če SPICE3 zazna, daje odziv vezja preživahen, skrajša časovni korak. Tako na eni strani natančneje sledi spremembam spremenljivk v vezju, na drugi strani se pa lahko zato poveča trajanje analize in seveda obremenitev računalnika. Uporabnik nima neposrednega vpliva na mehanizem avtomatskega nastavlj anj a časovnega koraka. Drugi mehanizem, ki ga SPICE3 ponuja, je možnost izbire integracijskega algoritma. Osnovi trapezoidni algoritem se naslanja na predhodno rešitev vezja in na osnovi tega določi naslednjo. V stavku options lahko preklopimo s parametrom method na Gearov integracijski algoritem. V tem primeru SPICE3 določi nadomestno vezje na osnovi rezultatov iz zadnjih nekaj časovnih točk. To omogoča dalj ši časovni korak in večj o natančnost, vendar pa Gearov algoritem višjega reda zelo občutljivo reagira na časovne nezveznosti, saj sega globlje v zgodovino signala kot trapezoidni algoritem. Izbira Gearovega integracijskega algoritma je zelo zahtevna tudi zaradi začetnih vrednosti in je priporočljiva le v posebnih primerih. 2.3 Stacionarno stanje z uporabo tranzientne analize Najprej definirajmoperiodično stacionarno stanje vezja. Vezje vsebuje signale x(t) = [xi(t) x2(t) ¦¦¦ xn(t)f. (2.2) Vezje je po dovolj dolgem času t > tss vperiodičem stacionarnem stanju, če obstaja osnovna perioda signalov T in če velja Xi{t)=Xi{t + T), t>tss, i=l,2,...,n. (2.3) Poseben primer periodičnega stacionarnega stanja je enosmerno stacionarno stanje, za katerega velj a llmxi(t) = Xi(t + T), t>tss, i = l,2,...,n. (2.4) Posledica definicije je, da signali vezja Xi(t) vsebujejo je enosmerne komponente. Kot je bilo poudarjeno že v Uvodu, v doktorski disertaciji takih primerov stacionarnih stanj ne bomo obravnavali, ampak le primere periodičnih stacionarnih stanj. V nadaljevanju bo torej s pojmom stacionarno stanje mišljeno periodično stacionarno stanje. 26 2. ANALIZA ELEKTRIČNIH VEZIJ IN IZRAČUN STACIONARNEGA STANJA Stacionarno stanje s programskim paketom SPICE določimo s pomočjo tranzientne analize. Vezje analiziramo dovolj dolgo, da prehodni pojavi izzvenijo. Za vezje, ki vsebuje signale s periodo T, bi morali izvesti tranzientno analizo s časovnim korakom t a za zelo velik čas t tran tA t t - 2T. (2.5) Rezultat te tranzientne analize je vektor spremenljivk vezja x(t) = [xi(t) x2(t) ¦¦¦ xn(t)f, 0 0 konstanta, ki določa toleranco oz. natančnost izračunanega stacionarnega stanj a vezj a. Algoritem 2.1 predstavlja izračun stacionarnega stanja s pomočjo tranzientne analize. izberi 8 > 0 izvedi tranzientno analizo za čas T tss ¦= T do podalj šaj tranzientno analizo za dodaten čas T tss := tss + T while \xi{t) - Xi{t + T) | > 8 za vsaj en i = 1, 2... n, tss - 2T < t < tss - T Algoritem 2.1. Določitev stacionarnega stanja 2.3. STACIONARNO STANJE Z UPORABO TRANZIENTNE ANALIZE 27 2.3.1 Analiza zahtevnosti in problemi pri izračunu stacionarnega stanja Enačba (2.8) in Algoritem 2.1 določajo, da moramo vezje analizirati do časa tss, da dobimo stacionarno stanje v okviru natančnosti 6. Čas tss]e odvisen od vrste vezja, za katerega računamo stacionarno stanje. Za dosego zadovoljive numerične natančnosti moramo izračunati nekaj deset do nekaj sto časovnih točk na periodo T signalov v vezju. Če je časovna konstanta približevanja stacionarnemu stanju r mnogo večja v primerjavi s periodo T, je treba izračunati več 100.000 časovnih točk, da dosežemo stacionarno stanje. Predpostavimo, da lahko ovojnico x{t) signala v vezju opišemo z enačbo x(t) = x0 + (xoo-x0)(l-e-t/T), (2.9) če ovojnica signala narašča proti vrednosti a^, oz. x(t) = Xoo + (x0 - x00)e-t/T, (2.10) če ovojnica signala pada proti vrednosti a^. Pogoja, ki določata, da je ovojnica signala z relativno natančnostjo 5r oddaljena od stacionarnega stanja a^oo, sta podana z enačbama za prvi primer Xoo-X(t) . ------------- < or (2.11) Xoo -X0 in za drugi primer x{t)-Xoo . ------------- < or. (2.12) X0 -OToo V obeh primerih je potrebno za zahtevano relativno natančnost 5r vezje analizirati t/r > —ln8r (2.13) časovnih konstant. Za relativno natančnost npr. 10-4 je tako število časovnih konstant enako 9,2. Pri vezjih, kjer je časovna konstanta primerljiva z osnovno periodo signalov v vezju, je izračun stacionarnega stanja relativno hiter. Problem pa nastopi, če je časovna konstanta mnogo večja v primerjavi z osnovno periodo. V Poglavju 5.2 so predstavljeni primeri vezij, kjer je časovna konstanta tudi več tisočkrat večja od periode signalov. 28 2. ANALIZA ELEKTRIČNIH VEZIJ IN IZRAČUN STACIONARNEGA STANJA Primer Izračunati želimo sto časovnih točk na periodo, časovna konstanta je tisočkrat večja od periode signalov, želimo relativno natančnost izračuna 10-4. Potrebujemo izračun 100 • 1000 • 9,2 = 920.000 časovnih točk. V Poglavju 5.2 so podani tudi časi, ki so bili na povprečnem osebnem računalniku potrebni za izračun stacionarnega stanja s podano natančnostjo. Ti časi imajo velikostni razred deset sekund oz. minute. V Poglavju 2.4 so predstavljeni optimizacijski postopki, kjer se za dosego zahtevanih lastnosti vezja v optimizacij ski zanki izvajajo analize vezja. Če moramo v zanki izračunavati stacionarno stanje vezja, ki traja nekaj minut, je taka optimizacija zelo dolgotrajna. Z metodami, ki so predstavljene v Poglavju 3, lahko stacionarno stanje izračunamo mnogo hitreje. 2.4 Optimizacijski postopki pri električnih vezjih V tem poglavju bomo na kratko opisali optimizacijske postopke in njihovo uporabo pri električnih vezjih. Optimizacij ski postopki so podrobneje opisani v [9] v Poglavju 2, [10] in tudi v [11]—[21]. Optimizacij ski postopek pri električnih vezjih je iskanje vezja, ki najbolje izpolnjuje določene zahteve in ima zahtevane lastnosti [22]. Postopek se običajno izvede z iskanjem minimuma kriterij ske funkcij e / f:V^-R, DCRn na območju V. n-terico realnih števil, ki določajo točko iz območja V, imenujemo optimizacij ski parametri. Pri analizi električnih vezij so lahko optimizacij ski parametri vrednosti posameznih elementov vezja. Običajno kriterijska funkcija ni analitično izražena z optimizacijskimi parametri. V praksi se vrednost kriterij ske funkcije izračuna iz rezultatov analize vezja. Glede na to, katere informacije o kriterij ski funkciji imamo na voljo, lahko optimizacij ske postopke razdelimo na dve veliki družini: na gradientne postopke in direktne postopke. Gradientni postopki zahtevajo poleg same vrednosti kriterij ske funkcije tudi enega ali več odvodov kriterij ske funkcij e po vseh optimizacij skih parametrih. Ker v praksi dobimo vrednost kriterij ske funkcij e na podlagi analiz vezja, lahko vrednosti odvodov izračunamo numerično na osnovi diferenc, 2.4. OPTIMIZACIJSKI POSTOPKI PRI ELEKTRIČNIH VEZJIH 29 kar pa s sabo prinaša veliko numericˇno napako. Obicˇajno nam ostanejo samo direktne metode, ki potrebujejo informacijo samo o vrednosti kriterijske funkcije v dolocˇeni tocˇki, ne pa tudi odvodov. Kriterijska funkcija f je definirana kot vsota merilk ci / = ^ ci(mi(x(p))). (2.14) Merilke ci so funkcije vrednosti meritev mi. Meritve mi dolocˇimo na podlagi analiz vezja x pri dolocˇenih vrednostih parametrov p. Kriterijska funkcija f oz. merilke ci so zapisane z uporabo kazenskih (penalty) in kompromisnih (trade-off) podrocˇij. Za vsako meritev mi je podana nacˇrtovalska zahteva mG,i (design goal) in podatek, ali naj bo meritev mi manjša ali vecˇja od nacˇrtovalske zahteve mG,i. Izberimo si primer, ko želimo, da je meritev manjša od nacˇrtovalske zahteve (minimizacija nacˇrtovalskih zahtev). Tedaj je merilka ci je definirana kot Ciirrii) -kt,i ¦ (mG,i - mi); nii < mG>i kp,t ¦ (mt - mG)i); m, > mG)t . (2.15) Del merilke, kjer velja rtii < me,i, imenujemo kompromisno področje (meritev leži v območju načrtovalske zahteve), drugi del (rrii > mc,i) pa imenujemo kazensko področje (meritev leži zunaj načrtovalske zahteve). Slika 2.1 prikazuje odvisnost vrednosti merilke q od meritve mi. Ci(mi) kompromisno podrocje kazensko podrocje -ky mo,i mi Slika 2.1. Odvisnost vrednosti merilke ci v odvisnosti od meritve mi Naklon kompromisnega obmocˇja kt,i mora biti veliko manjši od naklona kazenskega po-drocˇja kp,i, kar pomeni, da v kriterijski funkciji prevladujejo doprinosi merilk v kazenskih _ 30 2. ANALIZA ELEKTRIČNIH VEZIJ IN IZRAČUN STACIONARNEGA STANJA podrocˇjih. To je tudi razumljivo, saj je naloga kazenske funkcije ustvariti zadovoljivo vezje, kompromisna funkcija pa le iz nabora zadovoljivih vezij izbere najboljšega. Naklon kompromisnega podrocˇja je tako velikokrat postavljen kar na 0 – zadovoljimo se že s prvim vezjem, ki izpolnjuje nacˇrtovalske zahteve. S tako definirano kriterijsko funkcijo f in na podlagi že izracˇunanih vrednosti kriterijske funkcije optimizacijski postopek išcˇe nove tocˇke prostora D, ki imajo manjše vrednosti kriterij-ske funkcije. Iteracijski postopek se izvaja tako dolgo, dokler ne najdemo minimuma kriterijske funkcije. Minimum je lahko lokalen ali globalen, kar je odvisno od izbranega optimizacijskega postopka. V vsaki iteraciji optimizacijskega postopka je potrebno za izracˇun vrednosti kriterijske funkcije f izracˇunati analize vezja x in na njih opraviti meritve mi. Vecˇino procesorske mocˇi se porabi prav za analiziranje vezja, sama strategija optimizacijskega postopka potrebuje malo cˇasa. Za skrajšanje optimizacijskega postopka moramo skrajšati cˇase, ki so potrebni, da vezje analiziramo in na rezultatih izvedemo dolocˇene meritve, ki so osnova za dolocˇitev kriterijske funkcije. V Poglavju 2.3.1 je bilo pokazano, da lahko traja dolocˇitev stacionarnega stanja vezja tudi do nekaj minut. Odvisno od števila optimizacijskih parametrov in izbranega optimizacijskega postopka potrebujemo tipicˇno nekaj tisocˇ do nekaj deset tisocˇ iteracij optimizacijskega postopka. Zaradi dolgotrajnega izracˇuna stacionarnega stanja bo tako optimizacijski postopek trajal vecˇ deset dni. S pomocˇjo optimizacijskih postopkov pri elektricˇnih vezjih dosežemo, da vezje izpolnjuje dolocˇene zahteve. Zgoraj opisanim optimizacijskim postopkom recˇemo tudi parametrska optimizacija, saj spreminjamo samo parametre vezja, ne pa tudi njegove topologije. Cˇ e upoštevamo še dejstvo, da nam vcˇasih pri dolocˇeni topologiji vezja optimizacijski postopek ne da zadovoljivih rezultatov, moramo spremeniti topologijo vezja (dodati, odvzeti kakšen element, spremeniti medsebojne povezave ...) in ponovno pognati parametrsko optimizacijo. Spreminjanje topologije vezja poteka zaenkrat še rocˇno, opravlja ga nacˇrtovalec na podlagi znanja teorije vezij in prejšnjih izkušenj. Celotni postopek, s katerim tako pridobimo delujocˇe vezje z željenimi lastnostmi, se zato podaljša še za faktor števila sprememb topologije vezja in se tako meri v mesecih. Za prakticˇno uporabo je to predolgo, saj nas konkurenca sili k cˇim hitrejšem nacˇrtovanju vezij. V Poglavju 3 so opisani algoritmi, ki pospešijo optimizacijske postopke s tem, da pospešijo analizo vezja, ki je racˇunsko najbolj zahtevna. S tem postane optimizacijski postopek prakticˇno uporaben. Doktorska disertacija je specializirana za primere nacˇrtovanja elektricˇnih vezij, kjer so izpolnjeni naslednji pogoji: 2.4. OPTIMIZACIJSKI POSTOPKI PRI ELEKTRIČNIH VEZJIH 31 1. potrebna je optimizacija vezja, 2. kriterijska funkcija vsebuje meritve, ki slonijo na izracˇunu stacionarnega stanja, 3. vezje je neugodno - izracˇun stacionarnega stanja je dolgotrajen. 32 2. ANALIZA ELEKTRIČNIH VEZIJ IN IZRAČUN STACIONARNEGA STANJA 3 Stacionarno stanje električnih vezij V tem poglavju bodo opisani postopki za hiter izračun stacionarnega stanja. Kot je bilo poudarjeno že v uvodu, se pojem stacionarno stanje nanaša glede na frekvenčni prostor. Uporaba postopkov za izračun stacionarnega stanje je zelo dobrodošla, če se vezje odziva zelo počasi glede na periodo vzbujanja in bi določitev stacionarnega stanja trajala zelo dolgo. Še posebno so ti postopki uporabni pri optimizaciji električnih vezij, kjer je znotraj optimizacijske zanke potreben izračun stacionarnega stanja takega vezja. V optimizacijskem postopku je potreben izračun več tisoč analiz stacionarnega stanja. Zato lahko sama optimizacija traja več tednov, kar nas pri načrtovanju električnih vezij zelo ovira. Na nek način moramo skrajšati celoten postopek optimizacije. To lahko storimo na več načinov. Uporabimo lahko hitrejše računalnike, večprocesorske računalnike ali vzporedno računanje z več računalniki hkrati [23]. V tem poglavju se bomo posvetili drugačnemu načinu pospešitve optimizacijskega postopka, tj. uporabi postopkov, ki izračun staconarnega stanja pospešijo pri isti računski moči računalnika. Vezje, ki vsebuje t.i. majhne signale, lahko analiziramo z malosignalno izmenično analizo. Rezultat je izmenična prenosna karakteristika. Iz vzbujanja vezja in karakteristike lahko določimo odziv vezja in s tem tudi stacionarno stanje vezja. Vezje lahko vzbujamo samo s signalom, ki ima eno frekvenčno komponento. Problem pri tem pristopu je, da se natančnost izračuna odziva manjša z amplitudo vzbujanega signala, saj je vezje linearizirano okrog delovne točke. Če so amplitude signalov v vezju velike, je ta linearizacija neprimerna oz. je tak izračun nenanan-čen. Tudi v primeru, če vezje vzbujamo s signalom, ki vsebuje več frekvenčnih komponent (npr. pravokotni signal), si z malosignalno izmenično analizo ne moremo pomagati, saj je vezje v splošnem nelinearno in zato ne moremo uporabiti superpozicije. V teh primerih je za izračun stacionarnega stanja potrebno vezje analizirati s tranzientno analizo, ki pa je časovno in računsko zelo zahtevna. 34 3. STACIONARNO STANJE ELEKTRIČNIH VEZIJ V naslednjih poglavjih bomo predstavili, kako se pri izračunu stacionarnega stanja lahko izognemo uporabi računsko zahtevne direktne tranzientne analize, kljub temu pa ohranimo natančnost izračuna, ki j o ta analiza prinaša. 3.1 Metoda harmoničnega ravnovesja Metoda harmoničnega ravnovesja (Harmonic Balance) [24]-[42] zahteva razdelitev vezja na del, v katerem so vsi nelinearni elementi, in del, ki vsebuje vse linearne elemente. Dela imenujemo nelinearno in linearno podvezje. Razdelitev prikazuje Slika 3.1. NELINEARNO PODVEZJE Ml N,2 N,n Ml < M2 < Mn < Ll L,2 L,2 Ll 1,2 L,n LINEARNO PODVEZJE Hh Slika 3.1. Razdelitev vezja na nelinearni in linearni del Vezje zaradi delitve navzven izkazuje n vozlišč. Število teh vozlišč je odvisno od števila elementov v vezju in medsebojnih povezav med elementi. Vezje v splošnem analiziramo z izbrano analizo. Na vozliščih nelinearnega dela so prisotni signali napetosti Vnj in tokov Inj, j = 1, 2, 3 ... n. Podobno je na vozliščih linearnega dela vezja, kjer so prisotne napetosti V^j in tokovi Ilj, j = 1, 2, 3 ... n. Zaradi kasnejše uporabe pri obravnavi metode harmoničnega ravnovesja so na Sliki 3.1 izbrane oznake, ki se uporabljajo v frekvenčnem prostoru (velike črke). Analogno bi lahko zamenjali oznake na Sliki 3.1 z oznakami v časovnem prostoru (npr. Vžv,i ~^ vN,i(t)), če bi vezje analizirali z uporabo tranzientne analize. Signale v vezju splošno označimo z x{t) in jih predstavimo v obliki Fourierjeve vrste 3.1. METODA HARMONIČNEGA RAVNOVESJA 35 x{t) = J2 Akcos{ukt) + Bksin(ukt), (3.1) pri čemer so koeficienti Ak in Bk Fourierjevi koeficienti, ki pripadajo frekvencam uk. Q je množica frekvenc, ki so vsebovane v signalih vezja. Vezje lahko v splošnem vzbujamo s signalom, ki vsebuje več frekvenc oz. z več signali. n frekvenc, ki so zastopane v vhodnih signalih, označimo z ul, u2... un. Predpostavimo, daje vezje, ki ga analiziramo, nelinearno. Zato množica Q vsebuje tudi linearne kombinacije frekvenc u1, u2... un Q={u, uj = huj1 + k2uj2 + ... + knun, kjEZ, j = l,2...n}. (3.2) Pri metodi harmoničnega ravnovesja moramo množico Q omejiti, tako da vsebuje končno število elementov. Tako vsak ki v (3.2) leži znotraj intervala kjmin < k j < kjmax, j = 1, 2 ... n (3.3) (eksplicitne omejitve) ali pa so izbrani ki... kj povezani z m implicitnimi omejitvami fm(kj ...kt) = 0, kj...kteKmCZ oz. (34) fm{kj...h)<0, kj...kieKmc Z. Primer omejitve množice Q v dveh dimenzijah (koeficienta k\ in k-i) prikazujeta Sliki 3.2 (eksplicitne omejitve) in 3.3 (implicitne omejitve). Pike na Slikah 3.2 in 3.3 prikazujejo pare koeficientov k\ in k2, s katerimi je določena množica Q v enačbi (3.2). V [26] je še več primerov, kako omejiti množico Q, tako da bo vsebovala končno število elementov oz. frekvenc. Signal, opisan z (3.1), je skoraj periodičen, če ga lahko predstavimo z vsoto števno mnogo frekvenčnih komponent in velj a y (A2, + L>l) < oo. (3-5) Pri metodi harmoničnega ravnovesja bomo na enačbi (3.1) oz. na signalih vezja izvajali Fouri-erj evo transformacij o X{u) = Jr{x{t)}, ujEVI, (3.6) saj večina postopka izračuna stacionarnega stanja z metodo harmoničnega ravnovesja poteka v frekvenčnem prostoru. Na vozliščih stičišča nelinearnega in linearnega podvezja mora veljati napetostni 36 3. STACIONARNO STANJE ELEKTRICNIH VEZIJ /N + + + + o 12345/ Slika 3.2. Primer eksplicitne omejitve za k1 in k2 (k1m = k*o = -5, klmax = k2max = 5) VNtj = VLtj, j = l,2...n in tokovni In>j = -Il,j, j = l,2...n (3.7) (3.8) Kirchhoffov zakon. Metoda harmonicˇnega ravnovesja je iteracijski postopek. Predpostavimo napetostni Kirchffov zakon in nato z iteracijskim postopkom izpolnimo še tokovni Kirchhoffov zakon oz. dosežemo, da je vrednost napake Ej enaka 0 Ej = INJ + ILJ = 0, j = l,2...n (3.9) Linearno in nelinearno podvezje analiziramo locˇeno. Na vozlišcˇa obeh podvezij prikljucˇimo neodvisne napetostne vire Vj = VL,j = VN,j, j = 1, 2 . . . n. Linearno podvezje analiziramo v frekvencˇnem prostoru z malosignalno izmenicˇno analizo. Ker je podvezje linearno, pri tem zaradi morebitne prisotnosti velikih signalov ne naredimo napake. Zaradi linearnosti lahko uporabimo tudi princip superpozicije. Rezultat analize so tokovi IL,j, j = 1, 2 . . . n, ki tecˇejo iz napetostnih virov v linearno podvezje (Slika 3.4). k 2 5 4 3 2 0 3.1. METODA HARMONICNEGA RAVNOVESJA 37 /N / 3 4 5 Slika 3.3. Primer implicitne omejitve za k1 in k2 (k12 + k22 - 25 ? 0) Nelinearno podvezje moramo zaradi velikih signalov v vezju analizirati v cˇasovnem prostoru. Vrednosti napetostnih virov so enake kot pri linearnem podvezju, Vj = Vlj = Vn,j,j = 1, 2 ... n. Cas tranzientne analize je odvisen od izbire množice Q v (3.2) oz. omejitev, podanih z (3.3) in/ali (3.4) in je sorazmeren obratni vrednosti najmanjšega skupnega delitelja elementov Q. Ta zahteva je pogojena s kasnejšo uporabo Fourierjeve transformacije, ki zato poteka vedno preko celega števila period frekvenc v Q. Kot rezultat tranzientne analize dobimo cˇasovni potek tokov i j (t), j = 1, 2 ... n. Izvedemo Fourierjevo transformacijo (3.6) in dobimo vrednost tokov In,j, j = 1) 2 ... n v frekvencˇnem prostoru, ki tecˇejo iz neodvisnih napetostnih virov Vlj,j = 1, 2 ... n v nelinearno podvezje. Celoten zgoraj opisani postopek analize linearnega in nelinearnega podvezja lahko predstavimo s funkcij o F, za katero želimo, da ima vrednost 0 E = F(V) 0. (3.10) V (3.10) smo uporabili oznake vektorjev E = IN + IL = [INA + ILtl... IN,n + IL,n]T V = VL = VN = [VL>1... VL,nf in (3.11) F=[/1(V).../ra(V)]T. Metoda harmonicˇnega ravnovesja se tako prevede v iskanje vektorja V, tako da bo izpol- k 0 2 k _ 38 3. STACIONARNO STANJE ELEKTRIČNIH VEZIJ N,l V L,1 L,1 Slika 3.4. Priključitev napetostnih virov za iskanje stacionarnega stanja vezja pri metodi harmoničnega ravnovesja njena enačba (3.10). Z vektorjem V so določeni tudi tokovi v linearno in nelinearno podvezje II in In in ostale količine v linearnem in nelinearnem podvezju (napetosti vozlišč, tokovi vej). Rešitve enačbe (3.10) dobimo s pomočjo Nevvton-Raphsonovega iteracijskega postopka. Enačbo (3.10) najprej množimo s K(V) ^ 0, na obeh straneh prištejemo V in zamenjamo slevo in desno stran. Tako dobimo V = V + K(V)F(V). Osnovna iteracij ska enačba je podana z (3.12) V (*+D = V«+K(V«)F(V«), (3.13) (metoda fiksne točke), pri čemer zgornja indeksa (i) in (i + 1) pomenita številko iteracije. Iz enačbe (3.13) lahko izpeljemo Nevvton-Raphsonov postopek, če nadomestimo K(V^) z —J_1(V^). J(V^) predstavlja Jacobijevo matriko [43, 44], kije splošno definirana kot J(V) <9F dV a/i (v) dV-i a/„(v) dV-i a/i (v) a/„(v) (3.14) Jacobijeva matrika mora biti nesingularna (obstajati mora J-1(V)). _ _ 3.1. METODA HARMONIČNEGA RAVNOVESJA 39 Newton-Raphsonov postopek je tako določen z V(m)=vw_j-1(VW)F(VW)_ (315) Postopek (3.15) ponavljamo, dokler napaka E^, ki je enaka F(V^), ni manjša od vnaprej izbrane natančnosti izračuna 8 E = IlE^II = ||F(V^)|| < 8. (3-16) Velikost napake E je odvisna od izbire frekvenčnih komponent, ki so prisotne v vezju, oz. od elementov v Q. Če izberemo prestroge omejitve (3.3) in (3.4) in premajhen 8, se lahko zgodi, da pogoj (3.16) tudi za poljubno velik i ne bo nikoli izpolnjen. V tem primeru moramo popustiti pri omejitvah in s tem povečati število elementov v Q in/ali povečati 8. Celotni algoritem iskanja stacionarnega stanja električnega vezja z metodo harmoničnega ravnovesj a j e prikazan v Algoritmu 3.1. 3.1.1 Modifikacija metode harmoničnega ravnovesja Večina elementov vezja je v praksi, sploh pri analizi integriranih vezjih, nelinearnih. Zato lahko metodo harmoničnega ravnovesja modificiramo tako, da bo prilagojena temu dejstvu. Celotno vezje, za katerega računamo stacionarno stanje, proglasimo za nelinearni del. Nato v vsako od n vozlišč vezja priključimo dodaten neodvisni napetostni vir VnBi, i = 1,2 .. .n, vezan preko serijskega upora RuBt > i = 1,2 .. .n. Situacijo prikazuje Slika 3.5. Stacionarno stanje vezja bo doseženo, ko bodo vsi tokovi I3¦ = 0, j = 1, 2 ... n. Vektor napake E j e sedaj definiran kot E = F(VHB) = I= [h,h...In]T ¦ (3.17) Newton-Raphsonov postopek za modificirano metodo harmoničnega ravnovesja je podoben kot pri (3.15), in sicer \tfB = WjjB — J_1(V^B)F(V^B). (3-18) Upornosti Hhb morajo biti v vezju prisotne, da lahko z modificirano metodo harmoničnega ravnovesja na enak način analiziramo vsa vozlišča v vezju, tudi tista, kamor so priključeni neodvisni viri. Če uporov Hhb ne bi uporabili, bi s priključitvijo dodatnih vezij povzročili kratek stik med virom, ki je prisoten v vezju, in med dodatnim virom, ki ga priključimo za 40 3. STACIONARNO STANJE ELEKTRIČNIH VEZIJ 1: Razdeli vezje na del, ki vsebuje vse nelinearne elemente, in na del, ki vsebuje vse linearne elemente (Slika 3.1). 2: Izberi natančnost izračuna 8 G K in maksimalno število iteracij imax G N+. 3: Izberi množico Q (enačba (3.2)), ki predstavlja frekvenčne komponente signalov, ki nastopajo v vezju. 4: Nastavi i = 0 in V(°) = 0. 5: Na vozlišča nelinearnega podvezja in na vozlišča linearnega podvezja priključi neodvisne napetostne vire V^ (Slika 3.4). 6: Linearno podvezj e analiziraj v frekvenčnem prostoru. Rezultat analize j e 1^ . 7: Nelinearno podvezj e analiziraj v časovnem prostoru in uporabi Fourierjevo transformacijo. Rezultat analize je I]y = T < i% (t) >. 8: Izračunaj E« = if +1# = F(V«). 9: Izračunaj J(V«) = ^?. 10: Uporabi Newton-Raphsonovo iteracijsko formulo V(^)=V«-J-1(V«)F(V«). 11: Povečaj i. 12: Če je i > imax, nadaljuj pri koraku 2 s spremenjenimi vrednostmi 6, imax in/ali Q. 13: Če je E^ > 8, nadaljuj pri koraku 5. 14: Stacionarno stanje je doseženo z natančnostjo 8. Iz V^ in I^ določi še ostale količine v nelinearnem in linearnem podvezju. Algoritem 3.1. Izračun stacionarnega stanja električnega vezja z metodo harmoničnega ravnovesja potrebe metode. S tem bi povzročili, da ne bi našli rešitve oz. ne bi mogli analizirati vezja niti za prvo iteracij o Newton-Raphsonovega postopka. Začetne upornosti RHB nastavimo na nekaj ali nekaj deset ohmov, odvisno od vezja, ki ga analiziramo. Nato z vsako iteracij o Newton-Raphsnovega postopka te upornosti manjšamo R^ = XR(§B, i = 0,1, 2... 0 < A < 1. (3.19) Z Newton-Raphsonovim postopkom (3.18) dosežemo, da bodo tokovi I, ki tečejo iz dodanih neodvisnih virov v vozlišča analiziranega vezja, enaki 0 oz. dovolj majhni v okviru izbrane natančnosti izračuna 8, ||I|| < 8. Hkrati z manjšanjem upornosti Hhb (enačba (3.19)) poskrbimo, da bodo napetosti v vozliščih vezja V enake napetostim neodvisnih generatorjev V^: ˇ 3.2. POSPEŠEVANJE IZRACUNA STACIONARNEGA STANJA Z EKSTRAPOLACIJSKIMI METODAMI 41 HB 1 V Slika 3.5. Prikljucˇitev napetostnih virov za iskanje stacionarnega stanja vezja po modificirani metodi harmonicˇnega ravnovesja V = VHBt - RHB ¦ IHB, Rhb^O && W^0 V -+ VW 1,2. ..n 1,2...n. (3.20) Opisani postopek modificirane metode harmonicˇnega ravnovesja je opisan tudi v [45], kjer je prikazana uporaba te metode na enostavnem primeru vezja (usmerniško vezje). Podana je primerjava odzivov, dobljenih z uporabo obicˇajne tranzientne analize in z metodo harmonicˇnega ravnvesja. 3.2 Pospeševanje izracˇuna stacionarnega stanja z ekstrapo-lacijskimi metodami Drug nacˇin izracˇuna stacionarnega stanja je uporaba ekstrapolacijskih metod [46]–[61]. Osnova metod je t.i. strelska metoda (angl. shooting method). Cilj metode je poiskati zacˇetno stanje vezja (napetosti vozlišcˇ, tokovi vej), ki bo enako stanju vezja po preteku analize ene periode vezja. Metoda je primerna tudi za zelo nelinearna vezja, manj primerna je pa za vezja, ki vsebujejo signale iz zelo širokega frekvencˇnega podrocˇja [62, 63]. Metodo lahko v kratkem povzamemo v treh korakih: _ _ 42 3. STACIONARNO STANJE ELEKTRIČNIH VEZIJ 1. analiza vezja v določenem časovnem intervalu, 2. vzorčenje časovnega odziva vezja oz. izbor točk, ki jih uporabimo v ekstrapolacijskem algoritmu, 3. določitev novega začetnega stanja z uporabo izbranega ekstrapolacijskega algoritma. Postopek ponavljamo, dokler stanje vezja na začetku in na koncu osnovne periode signalov v vezju ni enako oz. ni v okviru zahtevanih toleranc. 3.2.1 Analiza vezja V prvem koraku postopka za izračun stacionarnega stanja s pomočjo ekstrapolacijskih metod moramo vezje najprej analizirati z običajno tranzientno analizo preko časovnega intervala, ki je odvisen od zahtevnosti vezja, ki ga analiziramo, izbranega ekstrapolacij skega algoritma in natančnosti, ki jo zahtevamo pri končnem rezultatu, tj. pri stacionarnem stanju. Pri osnovni različici izračuna stacionarnega stanja, ki je primerna za vzbujana vezja, poznamo osnovno periodo T vzbujevalnega signala. Izvesti moramo tranzientno analizo dolžine mT + tdei, pri čemer odziva do začetnega časa tdei pri nadaljni obravnavi ne potrebujemo in ga zato ne vključimo v rezultate analize: tran tA mT + tdel tdel . Rezultat zgornje tranzientne analize je vektor x(t) = [Xi(t) X2(t) ••• Xn(t)f , t E [tdel, tdel + mT]. (3.21) Pri tem je potrebno poudariti, da lahko točke oz. časi t, izbrani iz intervala [tdel, tdel + mT], zavzemajo le diskretne vrednosti, saj je rezultat tranzientne analize (3.21) izračunan numerično. Da dosežemo zadovoljivo natančnost pri izračunu stacionarnega stanja z uporabo ekstrapolacij skih metod, moramo interval ene periode razdeliti na vsaj nekaj sto (pripročljivo vsaj petsto) do tisoč točk in v teh točkah izračunati stanje vezja. Zato moramo pri tranzientni analizi vezja podati še četrti parameter tmax, ki podaja zgornjo mejo računskega koraka. Vrednost parametra tmax je lahko naprimer T tmax < ----• (3.22) Ukaz za zagon tranzientne analize je tako ˇ 3.2. POSPEŠEVANJE IZRACUNA STACIONARNEGA STANJA Z EKSTRAPOLACIJSKIMI METODAMI 43 tran tA mT + tdel tdel tmax . Celoten postopek izračuna stacionarnega stanja z uporabo ekstrapolacijskih metod temelji na postavitvi takih začetnih pogojev vezja, ki bodo dali po preteku analize ene periode isto stanje kot je bilo postavljeno na začetku. Zato je potrebno pri tranzientni analizi simulatorju vezij povedati, da upošteva nastavljeno začetno stanje, in sicer z besedo uic (Use Initial Conditions): tran tA mT + tdel tdel tmax me . Zgornja sintaksa uporabe tranzientne analize se uporablja pri vseh ekstrapolacij skih algoritmih, ki so obravnavani v tej doktorski disertaciji. 3.2.2 Vzorčenje odziva Za potrebe ekstrapolacijskega algoritma moramo iz rezultata tranzientne analize (3.21) izbrati vrednosti vektorja x(t) pri določenih časih t. Tipični odziv vezja (napetost v enem od vozlišč) prikazuje Slika 3.6. v[V] L \ 6e-00 . , \ \ / \ \ / , ; \ / t / ' \ / ^ ' \ , , / \ J \ / V \ / ' 1 \ , 1 / i l > ' \ / , / / 4e-00 / \ ' 1 / y ' / / \ / / \ , / ' 1 / \ ! \ / / \ / \ ' / / \ / \ i ' / \ 1 ' \ , L / 1 / \ \ 1 / \ 1 / \ / > / 2e-00 / \ ' / / \ 1 , ' . / 1 v / 1 \ ' 1 \ / ^ _ 1 3-U' u l 3-U' u 6 3-U' U 4 3-U' U b 3-U' U b 3-U' u / 3-U' u 8 3-U' U 9 3-U' U t[s] Slika 3.6. Napetost v enem od vozlišč kot tipični odziv vezja pri iskanju stacionarnega stanja Signal na Sliki 3.6 ima osnovno frekvenco 4,8 GHz oz. osnovno periodo T=2,083 -10-10«. Izbrati j e potrebno točke, ki so medsebojno oddaljene za eno osnovno periodo, za zgornji primer je to 2,083 -10-10«. Prvo točko izberemo ob času tdei- Označimo izbrane točke z Xq ,i = 0,1,2 .. .m: 44 3. STACIONARNO STANJE ELEKTRIČNIH VEZIJ (i) xi(tdel + iT) X2{tdel + iT) i 0,1,2. ..m (3.23) Xn(tdel + iT) Iz vektorjev (3.23) sestavimo matriko xt (tdd) xx (tdd + T) Xl (tdei + 2T) X2(tdel) x2(tdd + T) X2(tdei + 2T) X0 x2{tdel + mT) (3.24) xn{tdel) xn(tdd + T) xn(tdel + 2T) ••• xn(tdd + mT) ki predstavlja vzorčene vrednosti signalov v vezju pri določenih časovnih točkah. Indeksa 0 v (3.23) in (3.24) določata, da gre za začetno oz. prvo analizo vezja, brez podanih začetnih pogojev. V Poglavju 3.2.3 bomo s pomočjo matrike (3.24) izračunali novo začetno stanje vezja, na podlagi katerega bomo kasneje ponovno analizirali vezje. 3.2.3 Uporaba ekstrapolacijskih metod Ekstrapolacijske metode se v splošnem uporabljajo za pospeševanje konvergence zaporedij, lahko pa jih uporabimo tudi pri analizi vezij oz. pri dolocˇevanju stacionarnega stanja vezij [47, 48]. Zaporedje, ki ga želimo ekstrapolirati, je generirano na podlagi zacˇetnega vektorja x0 (najvecˇkrat ima vrednost 0) in z uporabo t.i. generatorja zaporedja (o) Ai+l) (i) F(xH, i = 0,l,2...m0 1. (3.25) Generator zaporedja F je lahko podan na različne načine, analitično ali pa numerično, kot je to v primeru analize električnih vezij (enačba (3.23)). Na ta način dobljeno zaporedje označimo z ^^j , i = 0,l,2...m0 . Če je zaporedje (3.26) konvergentno, označimo njegovo limito z (3.26) x= lim x (wio) (3.27) Z ekstrapolacijskim algoritmom E iz zaporedja (3.26) izračunamo nov začetni vektor x^ (o) _ _ _ mn —> oo (3.28) ˇ 3.2. POSPEŠEVANJE IZRACUNA STACIONARNEGA STANJA Z EKSTRAPOLACIJSKIMI METODAMI 45 (°) Začetni vektor x^ je izhodišče za izračun novega zaporedja, katerega členi so izračunani z uporabo istega generatorja zaporedja kot v (3.25): Ai+l) F(x«), 0,1, 2... mi 1. (3.29) Postopek, podan z (3.28) in (3.29), ponavljamo za k = 1, 2, 3 . . . (°) Nfc+1 (o) m (2) ("ifc^ (3.30) kar nam generira novo zaporedje KI k 1,2,3 (3.31) Ekstrapolacijski algoritmi predpostavljajo lastnosti zaporedja, ki ga ekstrapolirajo. Zato je hitrost konvegence novega zaporedja (3.31) odvisna od izbire ekstrapolacijskega algoritma. Cˇ e izberemo zaporedju primeren ekstrapolacijski algoritem, lahko trdimo, da novo zaporedje kon-vergira k isti limiti x kot osnovno zaporedje (3.25) [48, 54, 55, 58, 61]: (o) x = lim xk k›? Celoten ekstrapolacijski algoritem je prikazan v Algoritmu 3.2. (3.32) 1: Nastavi začetni vektor x (o) 2: Nastavi k 3: Izberi mk 0 (i) 4: Izračunaj člene x^, i = 0,1, 2 ... mk (o) 5: Izračunaj x^._j_1 = E(x^, , x (0) (1) k (mfc) ) 6: Povečaj k zal 7: Pojdi na korak 3, če limita (3.32) še ni dosežena. Algoritem 3.2. Ekstrapolacijski algoritem Z ekstrapolacijskim postopkom, opisanim z enačbami (3.25), (3.28) in (3.29) (oz. z Algoritmom 3.2), smo hitreje določili limito zaporedja x, kot če bi limito računali direktno, po enačbi (3.27). V vsaki iteraciji ekstrapolacijskega postopka (koraki 3, 4, 5 in 6 Algoritma 3.2) se izognemo izračunu nekaj členov v zaporedju (3.29). Slika 3.7 prikazuje tri iteracije ekstrapolacij skega algoritma, pri čemer je prikazan princip pospeševanja izračunavanja členov zaporedja. i _ _ _ _ 0 _ _ 46 3. STACIONARNO STANJE ELEKTRIČNIH VEZIJ k=0 k=l K=2 -T ^ Legenda: Prvi člen zaporedja Izračunani členi zaporedja Ekstrapoliran člen zaporedja Členi, ki jih ni bilo potrebno izračunati Člen, ki ustreza ekstrapoliranemu členu Slika 3.7. Prikaz treh iteracij ekstrapolacijskega algoritma Najprej si izberemo vrednost vektorja za prvi člen (zelena barva) zaporedja prve iteracije ekstrapolacij skega algoritma (k = 0). Nato z uporabo enačbe (3.25) določimo rrio — 1 naslednjih členov zaporedja (modra barva pri k = 0). Z ekstrapolacijskim algoritmom (3.28) izračunamo začetni vektor x\ za naslednjo iteracijo ekstrapolacij skega algoritma (rumena barva pri k = 1). Novi začetni vektor v drugem koraku ustreza členu, označenem s črno barvo pri k = 0. V prvem koraku smo se tako izognili izračunu členov, označenih z rdečo barvo pri k = 0. Opisani postopek ponavljamo (k = 2, k = 3 ...), pri čemer je lahko število členov, ki jih pri vsakem k izračunamo z enačbo (3.25), različno (rrik — 1), kar je na Sliki 3.7 označeno z različno dolžino modrega področj a. V naslednjih razdelkih bo predstavljenih nekaj ekstrapolacijskih algoritmov, epsilon, theta, rho in topološki algoritem epsilon. Algoritmi se razlikujejo v definiciji funkcije E (enačba (3.28)). Algoritem epsilon Ekstrapolacijski algoritem (3.28) je pri algoritmu epsilon [47, 48, 52] definiran z rekurzivnim izračunom elementov v dvodimenzionalnem polju na Sliki 3.8. Elemente s spodnjim indeksom —1 (e_{, e_[ ... e_^ ) postavimo na vrednost 0, elementom s spodnjim indeksom 0 pa priredimo vrednosti vhodnih podatkov v (3.30): (j) (j) c0 ^k i j = 0,1,2...mk (3.33) Ostale elemente na Sliki 3.8 izračunamo na naslednji način. Za vsak stoplec (i 0,1, 2 ... rrik — 1) izračunamo njegove elemente z enačbami M f ¦ —— ^+1 (i+i) 4-1 +(4 (i-i) n ^ ^+) Pa vmesno ekstrapolirano zaporedje, ki je inverzno glede na originalno zaporedje. Zaradi tega je končna vrednost ekstrapolacijskega algoritma (3.30) definirana z xfc+1 = emk i (3.36) pri čemer mora biti vrednost nik soda (nik = 2 ¦ n, n G N+). Algoritem rho Podobno kot pri algoritmu epsilon tudi pri algoritmu rho [53] zgradimo dvodimenzionalno polje, kije prikazano na Sliki 3.9. Izhodiščni elementi so določeni z P-\ = 0, j = 1,2,3... mk en en (3.37) p^ -xjf;, j = 0,l,2...mk. Ostale elemente na Sliki 3.9 izračunamo tako, da posebej izračunamo elemente vsakega stolpca (i = 0,1, 2 ... nik — 1) s formulami 48 3. STACIONARNO STANJE ELEKTRICNIH VEZIJ Po P-1 fti1 o{0) P\ A0) (2) P-i P\ . . . fi] A1' (0) P«ifc o{3) P-\ Am.k-1) Po (2) P\ n(mk-2) .•• n(mk) P-\ n(mk) Po n(mk~l) P\ Slika 3.9. Dvodimenzionalno polje za izracˇun algoritma rho p\% = pS:) + (j +1) p?_1) - P? j = 0,1,2...mk-l-i. (3.38) (i—l) d) Inverzno vrednost vektorja p) Pi izracˇunamo enako kot pri algoritmu epsilon (enacˇba (3.35)). Rezultat ekstrapolacij skega algoritma je za sode vrednosti mk definiran z (o) (o) fc+1 I rrik (3.39) Algoritem theta Pri algoritmu theta [53] se izracˇun elementov na Sliki 3.10 razlikuje za lihe in za sode stolpce oz. spodnje indekse. Izhajamo iz vrednosti prvih dveh stolpcev, ki jih dolocˇimo z izrazi ^'i = 0, j = 1,2,3...mk 4i) = x^), j = 0,1,2...mk. Ostale vrednosti izracˇunamo za vsak 2 = 0,1,2...^- — Is formulami (3.40) (j) (iH ^2i+l = ^2i \] + |a# j = 0,l,2...mk-l-2i za lihe spodnje indekse elementov in 4^ = ^+1) + (a^+1) , a^;?) • [a2^;> (3.41) j = 0,l,2...mk-2-2i (3.42) ˇ 3.2. POSPEŠEVANJE IZRACUNA STACIONARNEGA STANJA Z EKSTRAPOLACIJSKIMI METODAMI 49 (0) o (!) (°) 7Ql ^0 t/g ^2 ' ' ' Pmk ^(mfc-!) ^(mfc-2) («ifc) ("ifc-1) ^ #v iT («ifc) o Slika 3.10. Dvodimenzionalno polje za izračun algoritma theta za sode spodnje indekse elementov na Sliki 3.10. V (3.41) in (3.42) so uporabljene naslednje oznake za operator A : MU) = tfU+i) _ #U) ) Vi, Vj „ (4\ co_i_n e (3.43) A243' = A$\3 > - A^j) , Vi, V j . V enačbi (3.42) je uporabljen tudi skalami produkt (• , •) med vektorjema A$^ in A^i+i • Rezultat algoritma theta j e definiran za sode nik z izrazom (o) "®m- (3.44) Topološki algoritem epsilon Topološki algoritem epsilon [46] poteka na podoben način kot algoritem epsilon, pri čemer upoštevamo drugačno definicijo inverzne vrednosti vektorja v formulah algoritma epsilon (3.34). Inverzna vrednost vektorja (3.35) je tako definirana z x_1 =------, (3-45) kar imenujemo inverz vektorja x glede na vektor y. Pri topološkem algoritmu epsilon izračunamo elemente v (3.34) s sodim in lihim spodnjim indeksom glede na različen vektor y v (3.45). Topološki algoritem epsilon je tako definiran s postavitvijo začetnih vrednosti elementov e^] = 0, j = 1,2,3... m*. a\ a\ (3.46) 4-"=xJT, j = 0,1,2...mk in za vsak z = 0,1,2...^ — Iz enačbami (i) o'+!) y 4i+i = 4i-i +Jjh> j = 0,l,2...mk-l-2i (3.47) 50 3. STACIONARNO STANJE ELEKTRIČNIH VEZIJ A U) 4L = 4^+1) +-----,: 2i , ¦¦,, 7 = 0,l,2...mfc-2-2i (3.48) Pri elementih z lihim spodnjim indeksom (3.47) je inverz vektorja izračunan glede na vektor y, pri elementih s sodim spodnjim indeksom (3.48) pa glede na vektor Aej^ . Izbira vektorja y je poljubna, vendar mora biti taka, da za vse j = 0,1, 2 ... rrik — 1 — 2« obstaja ej^+i- Končna vrednost ekstrapolacijskega algoritma z uporabo topološkega algoritma epsilon je podana za sode vrednosti nik z izrazom xL+i = em ¦ (3.49) 3.2.4 Iteracijski postopek Za izračun stacionarnega stanja električnega vezja uporabimo eno od zgoraj predstavljenih ekstrapolacij skih metod. Rezultat ekstrapolacij ske metode uporabimo za nastavitev začetnega stanja vezja za naslednjo iteracij o analize vezja. Nato preverimo, če je vezje že doseglo stacionarno stanje, oz. če seje le-temu približalo dovolj, tj. znotraj izbranih meja. Če vezje še ni doseglo stacionarnega stanja, opisani postopek ponavljamo, dokler vezje ne doseže stacionarnega stanja ali dokler ne izvedemo izbranega maksimalnega števila iteracij [47]. Za preverjanje, ali je vezje doseglo stacionarno stanje, si izberemo določeno odstopanje od stacionarnega stanja, ki ga ima lahko odziv vezja. V ta namen določimo števili 5a > 0 in 5r > 0, ki predstavljata stopnjo absolutnega in relativnega odstopanja od stacionarnega stanja odziva vezja. V odzivu vezja (3.21) moramo preveriti, če za vse 0 < t < T velja enačba x(t) = x(t + T). (3.50) Rezultat analize vezja (3.21) je pridobljen numerično z računalniškim programom za analizo vezij, zato zaradi numeričnih napak enačba (3.50) ne more biti natančno izpolnjena. Za ustavitev iteracij skega postopka oz. za preverjanje, če je odziv vezja v stacionarnem stanju, uporabimo naslednjo neenačbo \xi{t) - Xi{t + T)\<5a + max [\xt(t)\ , \xt(t + T)\\ 8r, (3.51) ki mora veljati za vse točke znotraj ene periode (za vse 0 < t < T) in za vse komponente vektorja x, tj. za i = 1, 2, 3 ... n. Če je pogoj v zgornji neenačbi izpolnjen, trdimo, daje vezje doseglo stacionarno stanje v okviru izbrane absolutne in relativne natančnosti 5a in 5r. V praksi je zadovoljiva izbira vrednosti 5a in 5r od 10-5 do 10-3, odvisno od natančnosti, ki jo želimo pri izračunu stacionarnega stanja in analize vezja nasploh. Teh dveh vrednosti ne smemo poljubno ˇ 3.2. POSPEŠEVANJE IZRACUNA STACIONARNEGA STANJA Z EKSTRAPOLACIJSKIMI METODAMI 51 zmanjšati, saj lahko dosežemo relativno natancˇnost števil, ki je uporabljena pri izracˇunavanju odziva vezja v programu za analizo vezij. V primeru orodja SPICE OPUS so to števila z dvojno natancˇnostjo (standard za števila s plavajocˇo vejico IEEE 754, 64 bit double precision), ki imajo relativno natancˇnost približno 10-14 ter absolutno natancˇnost približno 10-320. Vrednosti ?a in ?r ni smiselno zmanjševati tudi zaradi modeliranja elementov vezja, ki ga analiziramo. Elementi vezja so namrecˇ opisani s posameznimi modeli. Glede na realne elemente so ti modeli opisani z dolocˇeno natancˇnostjo. Cˇ e bi vrednosti parametrov ?a in ?r zmanjšali pod mejo natancˇnosti modelov elementov, bi sicer dobili stacionarno stanje, ki pa zaradi omejene natancˇnosti modelov ne bi bilo nicˇ boljše (glede na realne elemente), kot cˇe bi izbrali vecˇje vrednosti parametrov ?a in ?r. Iteracijski postopek lahko ponazorimo z Algoritmom 3.3. 1: Izbira absolutne in relativne natančnosti 5a in 6r. 2: Izbira maksimalnega števila iteracij kmax . 3: Izbira ekstrapolacijskega algoritma (epsilon, rho, theta, topološki algoritem epsilon). 4: Nastavitev začetnega stanja vezja na 0. 5: Nastavitev k = 0. 6: Izbira števila period mk. 7: Analiza vezja za čas števila period nik- 8: Izračun ekstrapolacijskega algoritma (enačba (3.30)). 9: Zacˇetno stanje vezja ‹ rezultat ekstrapolacijskega algoritma. 10: Preveri pogoj (3.51). Pogoj izpolnjen ? stacionarno stanje je doseženo. Nadaljuj na 14. 11: Preveri pogoj k > kmax. Pogoj izpolnjen ? stacionarno stanje ni doseženo. Nadaljuj na 14. 12 : Povečaj k. 13: Nadaljuj na 6. 14: Konec. Algoritem 3.3. Iteracijski postopek za izračun stacionarnega stanja električnega vezja z ekstrapolacijskimi metodami 52 3. STACIONARNO STANJE ELEKTRIČNIH VEZIJ v v 3.2.5 Vrstni red izračuna členov ekstrapolacijske sheme Pri velikih vezjih, če je dimenzija vektorjev x^ , j = 0,1,2... rrik v ekstrapolacijskem algoritmu (3.30) velika, lahko z določenim vrstnim redom izračunavanja členov v ekstrapolacijskih shemah (algoritem epsilon, rho, theta, topološki algoritem epsilon) prihranimo precej pomnilni škega prostora [47]. Ponazorimo vrstni red izračuna členov pri algoritmu epsilon, pri čemer si izberimo vrednost parametra nik = 4. Za ostale opisane ekstrapolacij ske algoritme je postopek določitve vrstnega reda izračuna členov podoben. Za izbrano vrednost parametra nik sestavimo dvodimenzionalno shemo, ki je prikazana na Sliki 3.11 (primerjaj s splošno shemo na Sliki 3.8). e(0) e(1) e(0) e-1 e1 e(1) e(0) fc0 fc2 (2) (1) (0) t-1 t1 t3 (2) (1) (0) t0 t2 t4 (3) (2) ( 1) t-1 t1 t3 (3) (2) fc0 fc2 e(4) e(3) fc-1 fc1 e0 Slika 3.11. Dvodimenzionalno polje za izračun algoritma epsilon (m^ = 4) Za izračun končnega rezultata algoritma epsilon (e4 ) ni potrebno imeti shranjenih vseh vrednosti elementov na Sliki 3.11, ampak lahko člene izračunavamo postopno, z vsakim no-vim členom e0 , j = 0,1, 2, 3, 4, ki vstopi v algoritem epsilon. Člene, ki jih po izračunu ne potrebujemo več, lahko odstranimo in pri tem sprostimo nekaj pomnilnika. (i) Združimo elemente e\ iz Slike 3.11, za katere velja i + j = N v verigo N. Na ta način dobimo 5 verig, verigo 0, verigo 1, verigo 2, verigo 3 in verigo 4. Elementi verige 0 so že znani (e-1 1) = 0, L0 x( L )• ^ verigi 1 je potrebno z uporabo (3.34) izračunati samo element t(10 , ostala dva elementa sta vhodna podatka (e-2 1) = 0, e0 = xk ). Po izračunu elementa v verigi 1 elementov v verigi 0 ne potrebujemo več in zato lahko sprostimo pomnilnik, ki so ga ti elementi zasedali. Podoben postopek ponovimo še za verigo 2, verigo 3 in verigo 4. Pomemben je tudi vrstni red izračuna elementov znotraj posamezne verige, saj so elementi z večjim spodnjim indeksom izračunani iz elementov z manjšim spodnjim indeksom. Splošno moramo elemente v verigi N 3.3. STACIONARNO STANJE NEVZBUJANIH VEZIJ 53 izracˇunati po naslednjem vrstnem redu: ?(1N-1), ?(2N-2), ?(3N-3) . . . ?(N0 ). 3.3 Stacionarno stanje nevzbujanih vezij V Poglavju 3.1 smo v (3.1) predpostavili poznavanje frekvencˇnih komponent ? signalov v vezju, ki ga analiziramo oz. ki mu dolocˇamo odziv v stacionarnem stanju. Te frekvencˇne komponente smo izracˇunali na podlagi znanih frekvenc vzbujanja vezja oz. njihovih period. Prav tako smo v Poglavju 3.2 v (3.21) predpostavili osnovno periodo signalov T, ki so prisotni v vezju. Na podlagi znane periode smo vezje analizirali za cˇas, ki je enak mnogokratniku te periode. Iz zgoraj napisanega sledi, da sta osnovni varianti metod za dolocˇanje stacionarnega stanja (metoda harmonicˇnega ravnovesja in ekstrapolacijske metode) primerni samo za vezja, ki so vzbujana, oz. neavtonomna vezja. Vezjem, ki niso vzbujana (avtonomna vezja), lahko dolocˇimo odziv v stacionarnem stanju z uporabo metode harmonicˇnega ravnovesja in ekstrapolacijskih metod, cˇe poznamo osnovno periodo oz. frekvencˇne komponente signalov odziva vezja. Cˇ e torej na nek nacˇin dolocˇimo frekvence signalov v odzivu vezja, lahko uporabimo postopke, ki so bili opisani v Poglavjih 3.1 in 3.2. Eden od nacˇinov dolocˇitve frekvencˇnih komponent signalov odziva vezja je uporaba Fourierjeve transformacije. Drugi nacˇin je detekcija prehoda signala preko dolocˇenega nivoja oz. preverjanje, ali signal izpolnjuje dolocˇen pogoj. Razlika cˇasov, pri katerih je ta pogoj izpolnjen, je povezana s frekvencˇnimi komponentami opazovanega signala. V naslednjih dveh podpoglavjih sta podrobneje opisana dva nacˇina za dolocˇanje frekvencˇnih komponent odziva vezja. Pri racˇunanju stacionarnega stanja vezij s pomocˇjo ekstrapolacijskih metod je pomembno, da se frekvenca signalov ne spreminja, sploh med posameznimi iteracijami ekstrapolacijskega postopka. Cˇ e je npr. frekvenca signalov v vezju odvisna od dolocˇenega signala v vezju, ima lahko ta metoda težave. Primer takega vezja je npr. fazno sklenjena zanka, ki jo tipicˇno sestavlja napetostno krmiljeni oscilator. Frekvenca oscilatorja je odvisna od napetosti, ki je v razmerju s signalom napake. Preden tako vezje doseže stacionarno stanje, se lahko frekvenca izhodnega signala spreminja na širokem frekvencˇnem pasu, kar pa za uporabo ekstrapolacijskih metod ni primerno. Ta problem bomo natancˇnejše opisali v Poglavju 3.4. Fazno sklenjeno zanko bi sicer lahko obravnavali kot vzbujano vezje (obicˇajno ima na vhodu signal z tocˇno dolocˇeno frekvenco), a dokler vezje ni v zaklenjenem stanju, se mu frekvence in faze signalov spreminjajo in ga moramo obravnavati kot nevzbujano vezje (podobno kot npr. pri oscilatorjih). 54 3. STACIONARNO STANJE ELEKTRIČNIH VEZIJ Pri analizah tako nevzbujanih kot vzbujanih vezij se izkaže, da odstopanje od končne frekvence odziva (v stacionarnem stanju) pri določanju stacionarnega stanja s postopki, ki so bili opisani v Poglavju 3.2, ne vpliva na učinkovitost oz. uspešnost postopkov. V kakšnih mejah se lahko frekvenca spreminja med postopkom izračuna stacionarnega stanja, je težko vnaprej določiti ali napovedati. Meja je zelo odvisna od samega vezja, njegovih lastnosti in tudi od izbire ekstrapolacij skega algoritma. 3.3.1 Fourierjeva transformacija Frekvenčni spekter signala lahko določimo s Fourierjevo transformacijo [64]. Če je funkcija x(t) G C integrabilna, lahko izračunamo Fourierjevo transformiranko X(u) X(uj) = -1= [ x(t)e-luJt dt, (3.52) 1 ---== ki je definirana za u G R. Funkcija x(t) je podana na celotni realni osi, frekvenčni spekter oz. X(u) je zvezen. Ker je v primeru analize vezij funkcija x(t) izračunana numerično, za diskretne čase t in na omejenem časovnem intervalu, za določitev frekvenčnega spektra tega signala ne moremo uporabiti Fourierjeve transformacije, ampak diskretno Fourierjevo transformacijo. Diskretna Fourierjeva transformacija Množica {xn, n = 0,1,2 ... N - 1} naj predstavlja podmnožico vzorčenega signala x(t). V splošnem so elementi te množice kompleksna števila. Diskretna Fourierjeva transformacija je definirana kot N-l ra=0 Xk= xne~—kn k = 0,1,2... N-1. (3.53) Xk predstavlja frekvenčni spekter vzorčenega signala x(t) pri normalizirani krožni frekvenci ^k = ^ff- Če je signal x(t) ekvidistantno vzorčen z vzorčno frekvenco fs, lahko normalizirano krožno frekvenco zapišemo še kot uju = f, iz česar sledi izraz za običajno frekvenco fk = jjfs- Če to izpeljavo vstavimo v (3.53), dobimo izraz za odvisnost frekvenčnega spektra vzorčenega signala x(t) od frekvence fk'. N-l X(fk) = J2Xne~^fkn k = 0,1,2...N-1. (3.54) ra=0 3.3. STACIONARNO STANJE NEVZBUJANIH VEZIJ 55 Frekvenčni spekter (3.54) je diskreten. Frekvenčne komponente, ki so v tem spektru zastopane, so podmnožica frekvenc zveznega spektra (3.52) Fourierjeve transformiranke signala x(t), saj je bil signal x{t) vzorčen, in sicer na omejenem časovnem intervalu (oknenje). Zaradi končne računske zmogljivosti, natančnosti in s tem omejitev pri izbiri računskega koraka, signal, opisan z (3.54), ni popolna predstavitev originalnega signala x(t), še manj pa signala, ki bi ga imelo realno vezje, ki smo ga analizirali s programom za analizo vezij. Zaradi tega je uspešnost oz. učinkovitost metod, opisanih v Poglavjih 3.1 in 3.2, odvisna od izbire frekvence vzorčenja fs in števila točk N v (3.54), sploh pri vezjih, katerih frekvence signalov ne poznamo (avtonomna vezja) in jo moramo poiskati npr. z diskretno Fourierjevo transformacijo. V praksi učinkovito in hitro izračunamo diskretno Fourierjevo transformacijo s pomočjo hitre Fourierjeve transformacije (FFT - Fast Fourier Transform). Na ta način zmanjšamo število matematičnih operacij iz velikostnega razreda N2 na N logN. Algoritmi za izračun hitre Fourierjeve transformacije so opisani v [64]. 3.3.2 Detekcija prehoda skozi nivo Enostavnejša oblika določanja osnovne frekvence signala odziva vezja je detekcija prehoda signala skozi nivo. Predpostavimo, da lahko signal vezja x(t), ki se približuje stacionarnemu stanju in ki mu želimo določiti osnovno periodo, zapišemo v obliki N x(t) = Y, fn(t)(Ancosunt + Bnsinunt). (3.55) ra=0 Množica Q = {un, n = 0,1,2 ... N} predstavlja frekvenčne komponente signala x{t). Če za frekvenco u^ izberemo vrednost 0, predstavlja vrednost A0 enosmerno komponento odziva vezja v stacionarnem stanju. Prva frekvenca u\ v množici fž, ki je različna od 0, naj bo manjša od ostalih elementov te množice ux a/ A\ + B\ > A2n + BI, n = 2,3,4... N. (3.58) Signal x{t) je odziv vezja, ki ima zelo dolge prehodne pojave, oz. vse časovne konstante rn v predstavitvi signala x{t) (3.55) so mnogo večje od iskane osnovne periode signala T . Zaradi tega lahko signal x{t) zapišemo kot približek signala N x ra=0 (t) = / (Ancosu)nt + Bnsinujnt). (3-59) Vzemimo za primer signal x{t) z naslednjimi vrednostmi parametrov: N = 2, u^ = 0, uji = 2vr AkHz, uj2 = 2vr-80 kHz, A0 = 2, Ax = 4, A2 =0,2 , B0 = B1 = B2 = 0. Tak signal prikazuje Slika 3.12. Za določitev osnovne periode s pomočjo detekcije prehoda skozi nivo si najprej izberemo določen nivo signala x{t) in ga označimo z L. Vrednost nivoja mora biti med minimalno in maksimalno vrednostjo signala x{t) na intervalu, na katerem želimo določiti osnovno periodo. Poleg tega moramo poznati še približno vrednost periode signala x{t). Nato na intervalu, ki ima dolžino nekaj predpostavljenih osnovnih period, analiziramo vezje (tranzientna analiza). Tako bo interval signala x{t) vseboval vsaj eno osnovno periodo. Postopek določevanja osnovne periode signala ponazorimo na Sliki 3.13. Predpostavljena je bila približna perioda signala T = 100 /is. Za analizo signala smo vzeli interval petkratne dolžine približne periode, tj. 500 /is. Signal x{t) na tem intervalu vsebuje dve periodi, kar je več kot zahtevana ena perioda signala. Nato si izberimo vrednost nivoja npr. L = 3 in poiščimo presečišča signala x{t) skozi nivo L = 3. Presečišča označimo z tPl,tP2 ... Tako velja, daje x{tPi) = L, Vi Izberemo samo presečišča tPi, za katera velja, da sta za vsak t iz neke okolice točke tPi izpolnj eni neenačbi 3.3. STACIONARNO STANJE NEVZBUJANIH VEZIJ 57 x(t) 6 4 2^ 0 -2 V W vi ir W (1'i t[us] Slika 3.12. Signal a;(t) v (3.59) za vrednosti N = 2, wo = 0, Wi = 2-7T • 4 fc_ffz, W2 = 2-7T • 80 fcflz, Aq = 2, Ai = 4, A2 =0,2 , Bq = B\ = B2 = 0 x(t)L, t>tPi, V«. Ta presečišča imenuj mo presečišča s pozitivnim naklonom signala x(t). Signal x(t), nivo L = 3 in presečišča s pozitivnim naklonom tPi prikazuje Slika 3.13. Presečišči z nivojem L = 3 sta pri x(t) 6 4 .j ,J / f ' 2- 0 -2 v v 50 100 150 200 250 300 350 400 450 t[us] Slika 3.13. Signal x(t), nivo L = 3 in presečišča tPi 58 3. STACIONARNO STANJE ELEKTRIČNIH VEZIJ vrednostih tPl = 11,5 /is in pri tP2 = 261,5 /is. Osnovna perioda signala x(t) je enaka razliki zaporednih časov, pri katerih signal x(t) seka nivo L: T = tPi — tPi_1, i = 2, 3, 4 ... (3-61) Za primer s Slike 3.13 dobimo za i = 2 vrednost osnovne periode T = 261,5 /is—11,5 /is = 250 //s. Osnovna frekvenca signala x(t) je tako v = 1/T = 1/250 /is = 4 fci/z, kar ustreza izbiri parametrov signala (3.59) na Sliki 3.12. Dopolnimo opisano metodo tako, da bo primerna tudi za poljubno izbiro nivoja L med maksimalno in minimalno vrednostjo signala x(t) na izbranem intervalu. V primeru, če za nivo L izberemo vrednost L = 6, bi dobili več vrednosti presečišč s tem nivojem, tpi = 51,5 /is, tP2 = 62,5 /is, tPi = 301,5 /is in tP4 = 312,5 /is. Ta presečišča signala x(t) prikazuje Slika 3.14. x(t) 6 V \ \ \ 4 2 0 -2 0 50 100 150 200 250 300 350 400 450 t[us] Slika 3.14. Signal x(t), nivo L = 6 in presečišča xPi Dopolnitev metode izvedemo na tak način, da za čas ocenjene periode T po prvem presečišču vsa morebitna dodatna presečišča ignoriramo. Za zgornji primer je prvo presečišče tPl =51,5 /is, ocenjena perioda je 100 /is. Vsa presečišča na intervalu 51,5 /is < tPi < 151,5 /is, tj. presečišče tP2, zanemarimo oz. ga ne upoštevamo v izračunu osnovne periode (3.61). Celotni postopek iskanja osnovne periode T lahko povzamemo v naslednjih korakih: 1. Iskanje presečišč tPi s pozitivnim naklonom signala x(t) skozi nivo L: Določi vrednosti tPi, za katere velja: 3.3. STACIONARNO STANJE NEVZBUJANIH VEZIJ 59 x(tp.) = L in obstaja okolica O točke tPi, da za vsak t L O velja: x{t) L, t>tPi, Vi. 2. Izbiranje ustreznih presečišč: Izmed presečišč tPi , določenih pri 1. točki, glede na ocenjeno periodo T izberimo tista presečišča tp,, za katera velja: tPi < tp, -f, itp.+f, i < i' kar pomeni, da morajo biti od izbranega presečišča tp, vsa predhodna presečišča (tPi, i < i) oddaljena več kot je ocenjena perioda T. 3. Izračun osnovne periode T : Osnovna perioda T je definirana kot razlika zaporednih presešišč tp/, določenih v 2. točki. Opisana metoda je uporabna, ker ne zahteva velike računske moči. Slabost metode pa je omejenost na določene tipe signalov, kjer je osnovna frekvenčna komponenta mnogo manjša v primerjavi z naslednjo frekvenčno komponento (4 kHz v primerjavi z 80 kHz na Sliki 3.12) in amplituda prve frekvenčne komponente mnogo večja od amplitud naslednjih frekvenčnih komponent (4 v primerjavi z 0,2 na Sliki 3.12). Na Sliki 3.15 je prikazan primer, kjer z opisano metodo ne moremo pravilno določiti osnovne frekvence, ampak moramo uporabiti metodo, opisano v Poglavju 3.3.1, ki pa je računsko bolj zahtevna. Z metodo detekcije prehoda skozi nivo bi tako za signal x{t) in izbiro nivoja L = 3 dobili vrednost osnovne frekvence T od 30 /is do 50 /is, odvisno od tega, katere točke presečišča z nivojem L bi upoštevali pri izračunu. Z opisano metodo bi lahko določili osnovno periodo, če bi izbrali vrednost nivoja L = 10. Izbira nivoja igra pri tej metodi pomembno vlogo. Od nje je odvisna uspešnost in točnost izračuna osnovne periode. Metodo lahko posplošimo tako, da spreminjamo vrednost nivoja, dokler ne dobimo zadostnega števila presešišč. Ena možnost spreminjanja nivoja je izbira neke velike vrednosti za nivo L. Za primer s Slike 3.15 lahko za nivo L izberemo vrednost 20, saj je signal x{t) na opazovanem intervalu [0, 500 /is] povsod pod tem nivojem. Nato postopoma znižujemo vrednost nivoja, 60 3. STACIONARNO STANJE ELEKTRIČNIH VEZIJ x(t) 10 -5 t[us] Slika 3.15. Signal x(t) in nivo L = 3. Za določitev osnovne frekvence moramo uporabiti metodo, opisano v Poglavju 3.3.1 dokler ne najdemo prvih presečišč signala x(t) z nivojem L. Za zgornji primer se to zgodi pri vrednosti L =10,71. Pri tej vrednosti nivoja dobimo vrednosti presečičš 77,5 /is in 327,5 /is. Ker ima signal x(t) pri teh dveh presečiščih maksimum, je položaj presečišč zelo odvisen od numeričnih napak pri izračunu signala x(t). Zato je priporočljivo, da nivo L še zmanjšamo do take mere, da dobimo enako število presešišč, vendar je odvod signala x(t) v presečiščih večji. V primeru s Slike 3.15 bi bil tako določen nivo L =8,7 in vrednosti presečišč 68,276 /is in 318,276 /is. Izbira nivoja pri metodi detekcije prehoda skozi nivo Največji problem pri določevanju osnovne frekvence z metodo prehoda skozi nivoje odstopanje točk presečišč od pravilnih vrednosti. To odstopanje je posledica numeričnih napak pri izračunu oz. analizi vezja. Če ima npr. signal osnovno periodo 250 /is in se pojavi prvo presečišče pri npr. 100 /is, mora biti naslednje presečišče točno pri 350 /is. Zaradi numeričnih napak se lahko drugo presečišče pojavi npr. na intervalu med 249,9 /is in 250,1 /is. Temu se lahko izognemo tako, da poiščemo več presečišč z izbranim nivojem L in iz njih izračunamo povprečno osnovno periodo preko daljšega časvnega intervala. Potem izračunamo, koliko posamezno presečišče odstopa od pričakovane vrednosti oz. od položaja presečišča, kije določen s povprečno osnovno periodo preko daljšega časovnega intervala. 3.3. STACIONARNO STANJE NEVZBUJANIH VEZIJ 61 Če je osnovna perioda enaka T in želimo določiti periodo preko n osnovnih period, bi brez numeričnih napak dobili vrednosti presečišč tpo, tpi, tP2 .. .tPn. Zaradi numeričnih napak dobimo vrednosti presečišč pri časih tp ,, tp ,, tp , ... tp ,. Celotno povprečno absolutno odstopanj e j e definirano kot 1 n (3.62) celotno povprečno relativno odstopanje pa kot ?tPrel =^= (3.63) S spreminjanjem nivoja L lahko vplivamo na ?tPab3 in s tem tudi na ?tPrel. Izogibati se je potrebno takim nivojem, kjer je odvod signala x(t) majhen ali enak 0. V teh primerih se zaradi majhnega spreminjanja signala x(t) ustrezno poveča računski korak metode, s katero je t* - v v (3.62) tudi izračunan x(t). Zaradi velikega računskega koraka so lahko razlike velike, s čimer se zmanjša natančnost izračuna osnovne periode in posledično tudi metode za izračun stacionarnega stanja. 3.3.3 Detekcija kota krivulje Naslednja možnost določitve periode signala je določitev točk, kjer krivulja oz. signal x(t) z abscisno (časovno) osjo oklepa izbran kot [56]. Razlika časov med temi točkami določa osnovno periodo signala x(t). Primer določevanja osnovne periode z detekcijo kota prikazuje Slika 3.16. Za ta primer bi s prej opisanima metodama prehoda skozi nivo in postopnega zniževanja nivoja težko določili osnovno periodo oz. bi bila na ta način določena osnovna perioda nenatančna. Metoda temelji na iskanju točk, kjer krivulja oklepa z abscisno osjo določen kot. Zaradi tega moramo najprej poiskati odvod krivulje, ki predstavlja tangens kota med krivuljo in abscisno osjo. Za primer signala s Slike 3.16 je odvod prikazan na Sliki 3.17. Enak naklon signala x(t) z abscisno osjo pomeni enako vrednost odvoda, zato lahko z metodo prehoda skozi nivo in postopnega zniževanja nivoja, ki sta bili opisani v prej šnih podpoglavjih, določimo točke, kjer signal x(t) z abscisno osjo oklepa enake kote. Z metodo postopnega zniževanja nivoja tako za primer s Slike 3.17 dobimo vrednost nivoja L = 140.000 in s tem vrednost odvodov dx(t)/dt =140.000 pri t\ =99,6 /is in ti =199,6 /is. Razlika časov t\ in L2 predstavlja osnovno periodo signala x(t) na Sliki 3.16 T = t2 -ti, (3.64) 62 3. STACIONARNO STANJE ELEKTRIČNIH VEZIJ x(t) sv r1 \- \ S\ , \ i \ \ -M t V / % J ri v " v ' X<- X -i \ -, x , Y J \ r1 «« f \ 1 Vv V V. 2 t C T j 5.T Ar r r1 V ^ V- H \ r r xm *,S C ~^r <- J \r H C t S 1^ ¦j X^ z t[us] Slika 3.16. Primer signala x(t), za katerega želimo izračunati osnovno periodo z detekcijo kota krivulje kije enaka 100 /is. V splošnem lahko metodo določanja osnovne periode signala z iskanjem točk enakega naklona povzamemo v naslednjih korakih: 1. Določi signal x(t) (analiza električnega vezja). 2. Izračunaj odvod signala x(L). 3. Izberi neko vrednost odvoda. To vrednost označimo z x0. Običajno izberemo največjo vrednost odvoda dx(t)/dt oz. dovolj veliko vrednost, da dobimo zadostno število presečišč odvoda dx(t)/dt z izbrano vrednostjo x0. 4. Poišči točke, za katere velja dx(t)/dt = x0 in jih označi s t\, L2, L3 • • • • 5. Izračunaj osnovno periodo signala x(t) kot razliko zaporednih časov, pri katerih signal x(t) z abscisno osjo oklepa enak kot: T = U+i-U, i = 1,2... . Če se vrnemo na izračun stacionarnega stanja nevzbujanih vezij, lahko s pomočjo opisanih metod določimo osnovno frekvenco odziva vezja. S tem je znana tudi perioda signala. Problem izračuna stacionarnega stanja nevzbujanih vezij smo torej razdelili na dva dela: določanje periode odziva vezja in izračun stacionarnega stanja po eni od metod, opisanih v Poglavju 3.1 ali 3.2. 3.4. EKSTRAPOLACIJSKE METODE IN VEZJA S SIGNALI S ŠIROKEGA FREKVENČNEGA PODROČJA 63 dx(t)/dt 150 1 M------ j \ 1 1 i 100 1 ii ¦ , [llllli 1 500 IIIII iijiii |||J||I lini 1 lili ittf iti J h l iini l||IIV V1 UIIIIII IIIUUIIIII 1U lili lili umi lil i III|| M l||| lil UI llllli um v v um lllll u 0 i u i Ull 1 llllli lini ii m -4-1J I 1 i 11 1 lili I lili 1 llllli umi u U 1 tli * i umi i v 1 ¦ mi i h i 1 1 lllllllll umnim - 50 ' 1 III IIlil niiiv viiiiiiiii u ii ii i y m i u u i 1IIII1 Ui U 11 II u i i ii ii v i i U U i ' II v v * * 0 100 200 300 400 500 600 700 t[us] Slika 3.17. Odvod signala x(t) s Slike 3.16 3.4 Ekstrapolacijske metode in vezja s signali s širokega frekvenčnega področja V Poglavjih 3.2 in 3.3 je bilo že poudarjeno, daje metoda izračuna stacionarnega stanja z uporabo ekstrapolacijskih algoritmov manj primerna za vezja, ki vsebujejo signale iz zelo širokega frekvenčnega področja. Primer takega vezja je npr. mešalnik, ki ima na vhoda priključena signala frekvenc, ki sta si relativno blizu, npr. 900,0 MHz in 900,1 MHz. Na izhodu mešalnika so signali frekvenc, ki so enaki večkratnikom razlike in večkratnikom vsote vhodnih signalov. Za zgornji primer bi bila najnižja izhodna frekvenca enaka razliki vhodnih frekvenc, tj. 100 kHz. Razpon frekvenčnih komponent tega vezj a j e od 100 kHz do velikostnega razreda nekaj GHz, oz. več 10.000-krat več kot najnižja frekvenca 100 kHz. Zaradi prisotnosti frekvenčnih komponent moramo pri izračunu signalov v vezju nastaviti ustrezno majhen računski korak, da zajamemo tudi signale z najvišjo frekvenco (nekaj GHz). Ker je osnovna frekvenca 100 kHz, moramo za določitev poteka signala ene same periode izračunati več deset ali sto tisoč časovnih točk. V prejšnjih poglavjih je bilo pokazano, da potrebujemo za izračun stacionarnega stanja z ekstrapolacijskimi metodami v vsaki iteraciji izračun nekaj osnovnih period, postopek pa moramo ponavljati toliko iteracij, da dosežemo stacionarno stanje. Zaradi tega ekstrapo-lacijske metode za tovrstna vezja niso primerne oz. z njimi ne pridobimo na hitrosti izračuna stacionarnega stanja. Problem je prisoten tudi pri vezjih, pri katerih se v prehodnem pojavu, ko vezje še ni v stacionarnem stanju, spreminja frekvenca in/ali razmerje med trajanjem visokega in nizkega 64 3. STACIONARNO STANJE ELEKTRICNIH VEZIJ nivoja (duty cycle). Primer takih vezij so fazno sklenjene zanke (PLL - Phase Locked Loop) in preklopni napajalniki. V prehodnem pojavu je težko dolocˇiti frekvenco signalov, ker le-ta še ni ustaljena. Zaradi tega uspešnost ekstrapolacijskih metod, ki zahtevajo poznavanje osnovne frekvence signalov v stacionarnem stanju, ni zagotovljena. Fazno sklenjene zanke in preklopne napaj alnike lahko tudi uvrstimo v skupino vezij s signali iz širokega frekvencˇnega podrocˇj a. Za vezja, opisana v tem podpoglavju, je primernejša izbira metode harmonicˇnega ravnovesja, ki temelji na predstavitvi signalov z vsoto frekvencˇnih komponent. Pri tem ni pomembna širina frekvencˇnega podrocˇja, ampak število frekvencˇnih komponent. Izbira metode je torej odvisna ne samo od vrste vezja, ampak tudi od signalov, ki so v tem vezju prisotni. Racˇunsko manj zahtevne so vsekakor ekstrapolacijske metode, enostavnejša je tudi sama izvedba, vendar so v dolocˇenih primerih neuspešne. Tedaj je potrebno uporabiti druge metode za izracˇun stacionarnega stanja, npr. metodo harmonicˇnega ravnovesja, ki je bila opisana v Poglavju 3.1. 4 Izracˇun stacionarnega stanja s programskim paketom SPICE V tem poglavju bo utemeljen izbor metode za izracˇun stacionarnega stanja, ki je bil implementiran v programski paket SPICE. Metoda je bila izbrana glede na hitrost in tocˇnost izra-cˇuna stacionarnega stanja, zahtevnost implementacije in same specifike programskega paketa SPICE. V nadaljevanju je predstavljena simulacija izbranih metod, preden bi bile le-te vgrajene v programski paket. Metode, ki so se uvrstile v ožji izbor, so bile simulirane kot skripta v programskem jeziku paketa SPICE NUTMEG (metoda harmonicˇnega ravnovesja) in kot samostojni program v programskem jeziku C, ki je obdeloval rezultate analize vezja in na podlagi le-teh ustrezno spreminjal parametre za nove analize vezja (racˇunanje stacionarnega stanja z ek-strapolacijskimi metodami). Na podlagi treh kriterijev je bil kot najustreznejši izbran algoritem epsilon. Na koncu poglavja je opisana sama implementacija tega algoritma v programski paket SPICE. 4.1 Merila za izbor metode za implementacijo v programski paket SPICE Pri izbiri primerne metode je bil glavni kriterij specifika programskega paketa SPICE, kamor je bila metoda za izracˇun stacionarnega stanja vgrajena. Upoštevane so bile zahteve za implementacijo posameznih metod, zahtevnost sprememb programskega paketa SPICE, enostavnost uporabe in potreba po ohranitni kompatibilnosti simulatorja za nazaj. Prva metoda, predstavljena v Poglavju 3.1, je metoda harmonicˇnega ravnovesja. Pri iz-racˇunu je potrebno izracˇunati Jacobijevo matriko (enacˇba (3.14)), za kar potrebujemo izracˇun ˇ 66 4. IZRACUN STACIONARNEGA STANJA S PROGRAMSKIM PAKETOM SPICE parcialnih odvodov po vozliščnih napetostih Vi. Za izračun le-teh je potrebna korenita sprememba jedra simulatorja oz. dopolnitev modelov elementov električnih vezij, na podlagi katerih bi lahko izračunali vrednosti parcialnih odvodov, ki nastopajo v Jacobijevi matriki. Drugi, enostavnejši, a žal manj natančen in numerično manj primeren način je numerični izračun parcialnih odvodov. Izračunamo ga z diferencami glede na vrednost vozliščnih napetosti v prejšnji iteraciji Nevvton-Raphsonovega postopka (3.15). Omenjena možnost izračuna Jacobijeve matrike je bila uporabljena pri simulaciji primernosti metode v [45], kar bo opisano tudi v Poglavju 4.2. Ekstrapolacijske metode, ki so bile predstavljene v Poglavju 3.2, so enostavnejše za vgradnjo v obstječi programski paket, saj ne posegajo v samo jedro simulatorja. Za izračun stacionarnega stanja z ekstrapolacijskimi metodami je potrebno poznavanje odziva vezja v nekaj periodah vezja. Zato je izračun po tej metodi v bistvu nadgradnja obstoječe tranzientne analize. Izračun stacionarnega stanja z uporabo ekstrapolacijskih metod lahko izvedemo kot novo analizo, znotraj katere se v okviru iteracijskega postopka izvaja več tranzientnih analiz. Drugi kriterij, ki je bil upoštevan pri izboru metode za izračun stacionarnega stanja, je točnost izračuna oz. razlika odzivov med metodo hitrega izračuna stacionarnega stanja in tranzi-entno analizo, ki naj bo manjša od 1 %. Razlike, ki bi bile manjše od 0,1 %, sicer kažejo na natančen izračun stacionarnega stanja, vendar moramo upoštevati še dejstvo, da so tudi modeli električnih elementov aproksimacija realnih elementov. Zaradi tega ne pričakujemo natačnosti, ki bi bila boljša od 0,1 %. Pospešitev izračuna stacionarnega stanja v primerjavi z direktno tranzientno analizo je tretji kriterij za izbor najustreznejše metode. Glavni cilj doktorske disertacije je optimizacija vezja v doglednem času (nekaj ur, največ nekaj dni). Zato je ob časih izračuna stacionarnega stanja tipičnih vezij (nekaj minut ali nekaj ur) in ob tipično nekaj tisoč iteracijah optimizacij ske zanke potrebno pospešiti izračun stacionarnega stanja za vsaj desetkrat. V 4.2 Simulacija metod za izračun stacionarnega stanja električnih vezij Pred samo implementacijo metode za izračun stacionarnega stanja sta bili metodi za izračun stacionarnega stanja simulirani oz. preizkušeni, tako da smo dodatno preverili njuno ustreznost. Metoda harmoničnega ravnovesja je bila simulirana v skriptnemjezikuNUTMEG, kije del programskega paketa SPICE in omogoča programiranje in izvajanje ukazov, ki jih omogoča programsko orodje SPICE. Vse različice ekstrapolacij skih metod za izračun stacionarnega stanja, 4.2. SIMULACIJA METOD ZA IZRACUN STACIONARNEGA STANJA ELEKTRICNIH VEZIJ 67 ki so bile opisane v Poglavju 3.2 (algoritem epsilon, rho, theta in topološki algoritem epsilon), so bile zaradi obsežnejšega algoritma izvedene v samostojnem programu v programskem jeziku C, znotraj katerega so se izvajali klici programskega paketa SPICE, kije izvajal zahtevane analize vezj a. 4.2.1 Simulacija metode harmoničnega ravnovesja Metoda harmonicˇnega ravnovesja je opisana v [45]. Temelji na razdelitvi elektricˇnega vezja na nelinearni in linearni del, za katera locˇeno dolocˇimo stanje vezja in nato z iteracijskim postopkom ta dva dela vezja med seboj uskladimo, tako da celotno vezje izpolnjuje Kirchhoffova zakona. Za iteracijski postopek je potrebno izracˇunati Jacobijevo matriko (3.14). Izracˇun parcialnih odvodov v Jacobijevi matriki je bil izveden na osnovi diferenc med zaporednima iteraci-jama (k) Newton-Raphsonovega postopka d h /f+1) -/f (41) Izracˇun parcialnih odvodov je potrebno izracˇunati na zgoraj opisan nacˇin, ker sam simulator ne ponuja direktne informacije o odvodu vozlišcˇnih napetosti in vozlišcˇnih tokov glede na spremembe le-teh v prejšnji iteraciji. Zaradi tega je bilo potrebno izracˇunati parcialne odvode numericˇno, kar v rezultate vnaša dodatne numericˇne napake in s tem tudi zmanjšuje natancˇnost samega izracˇuna stacionarnega stanja vezja, ki ga analiziramo. Postopek simulacije metode je potekal v naslednjih korakih: 1. Razdelitev vezja na nelinearni in linearni del. Vsak od obeh delov vezja je bil združen v podvezje, katerim lahko kot vhodni podatek (parameter) nastavljamo lastnosti. 2. Analiza nelinearnega dela vezja v cˇasovnem prostoru (tranzientna analiza). 3. Analiza linearnega dela vezja v frekvencˇnem prostoru. Izvesti je bilo potrebno malosi-gnalno frekvencˇno analizo, za kar v splošnem uporabimo ukaz ac. Ker smo uporabili modificirano metodo harmonicˇnega ravnovesja (Poglavje 3.1.1), zaradi enostavnosti linearnega dela vezja le-tega ni bilo treba posebej analizirati, ampak lahko njegovo karakteristiko dolocˇimo analiticˇno, saj vsebuje samo napetostne vire (Vhbi) in upore (Rebi), i= 1,2...n. 4. Fourierjeva transformacija rezultatov analize nelinearnega dela vezja. ˇ 68 4. IZRACUN STACIONARNEGA STANJA S PROGRAMSKIM PAKETOM SPICE 5. Newton-Raphsonov iteracijski postopek (3.15) in sprememba vrednosti parametrov linearnega dela vezja (VHBi in RHBi, i = 1, 2 . . . n, Slika 3.5). ˇ 6. Preverjanje izpolnjevanja zahteve (3.16). Ce je zahteva izpolnjena, je postopek izracˇuna stacionarnega stanja z metodo harmonicˇnega ravnovesja uspešno zakljucˇen. Razdelitev vezja Po modificirani metodi harmonicˇnega ravnovesja (Poglavje 3.1.1) je bilo celotno vezje, ki ga analiziramo, oznacˇeno kot nelinearno podvezje. Nato v vsako vozlišcˇe celotnega vezja (kar ustreza tudi nelinearnemu delu vezja) dodamo linearni del vezja. Ta je sestavljen iz zaporedno vezanega upora RHBi in napetostnega vira VHBi. Ta metoda je bila izbrana zato, ker je za splošno vezje težje izvesti algoritem, ki bo avtomatsko razdelil vezje na nelinearni in linearni del. Metoda je zaradi tega pocˇasnejša, ker analiziramo vse elemente vezja v cˇasovnem prostoru, tudi linearne elemente. Pridobimo pa na splošnosti, saj je postopek "delitve vezja" uporaben na kakršnem koli vezju. Druga utemeljitev takšnega nacˇina delitve vezja pa je dejstvo, da je vecˇina elementov v vezjih, sploh v integriranih vezjih, nelinearnih (tranzistorji, diode ...), zelo malo elementov pa je res linearnih (linearni upori, kondenzatorji ...). V integriranih vezjih upore in kondenzatorje realiziramo na nacˇin, ki ne zagotavlja linearnosti njihovih karakteristik na širšem obmocˇju vhodnih parametrov, zato so ti elementi v splošnem tudi nelinearni in je nacˇin delitve vezja, ki je bil uporabljen, še bolj upravicˇen. Analiza nelinearnega dela vezja Nelinearno podvezje (v je v našem primeru delitve vezja kar celotno vezje) analiziramo v cˇasov-nem prostoru s tranzientno analizo (analiza tran programskega paketa SPICE). S parametroma t? in tm (Poglavje 2.2.1) moramo zagotoviti, da je racˇunski korak tranzientne analize ustrezno majhen, da lahko kasneje pri racˇunanju Fourierjeve transformacije glede na natancˇnost izracˇuna dolocˇimo zahtevano število frekvencˇnih komponent (enacˇba (3.2)). Analiza linearnega dela vezja Linearni del vezja vsebuje upore RHBi in napetostne vire VHBi, i = 1, 2, 3 . . . n (Slika 3.5). Zato lahko ta del analiziramo analiticˇno. Za vsak par RHBi in VHBi na Sliki 3.5 upoštevamo napetostni in tokovni Kirchhoffov zakon v frekvencˇnem prostoru in dobimo enakost 4.2. SIMULACIJA METOD ZA IZRAČUN STACIONARNEGA STANJA ELEKTRIČNIH VEZIJ 69 -Vi(ju)-RHB.Ii(juj) + VHB.(juj) = 0, i = 1,2,3...n. (4.2) Odvisnosti tokov Ii(joj) od napetosti neodvisnih virov VuBi (j^), ki jih izpeljemo iz (4.2) VHBi(juj) - Vt(juj) h(ju) Rhb i 1,2,3...ra, (4.3) predstavljajo tok IL (enacˇba (3.11)) linearnega dela vezja Il(M A(M A(M A(M (4.4) A(M Z vsako iteracijo se spreminjajo upornosti RuBt (enačba (3.19)), zato se spreminja tudi odvisnost (4.2) in posledično (4.3). Fourierjeva transformacija Rezultati analize nelinearnega dela vezja, ki so izračunani v časovnem prostoru, so s Fourierjevo transformacijo prenešeni v frekvenčni prostor. Preden transformacijo izvedemo, je potrebno rezultate tranzientne analize linearizirati, t. j. interpolirati, da so njihove vrednosti porazdeljene ekvidistantno v času. Že pri izvajanju tranzientne analize moramo paziti, daje časovni korak dovolj majhen, da rezultat vsebuje dovolj frekvenčnih komponent za zahtevano natančnost izračuna stacionarnega stanja. Pred klicem ukaza speč, ki izvede Fourierjevo transformacijo, je treba določiti še vrsto okenske funkcije. Uporabljeno je bilo Hannovo okno (Hanning window). Newton-Raphsonov postopek Newton-Raphsonov postopek (3.15) poteka v frekvenčnem prostoru. Za simulacijo izračuna stacionarnega stanja z metodo harmoničnega ravnovesja je bila upoštevana osnovna in osem višjeharmonskih komponent frekvence vhodnega signala. Začetne vrednosti upornosti RnBi so bile enake 1 k?, parameter A v (3.19) pa 0,5. Izpolnjevanje ustavitvenega kriterija Za koncˇanje Newton-Raphsonovega postopka mora biti doseženo maksimalnego število iteracij (izracˇun stacionarnega stanja je neuspešen) ali pa dosežen pogoj v (3.16) (uspešen izracˇun stacionarnega stanja). Maksimalno število iteracij iteracijskega postopka je bilo nastavljeno na 50, _ ˇ 70 4. IZRACUN STACIONARNEGA STANJA S PROGRAMSKIM PAKETOM SPICE parameter ? v (3.16), ki dolocˇa natancˇnost izracˇuna, pa je imel vrednosti med 10-7 in 5 · 10-4 (odvisno od vrste vezja). 4.2.2 Simulacija ekstrapolacijskih metod za izracˇun stacionarnega stanja Simulacija izracˇuna stacionarnega stanja z uporabo ekstrapolacijskih metod je bila izvedena s pomocˇjo posebnega programa v programskem jeziku C. S programom najprej izberemo vezje, ki mu želimo izracˇunati stacionarno stanje, vrsto ekstrapolacijskega algoritma (epsilon, rho, theta ali topološki algoritem epsilon) in nastavimo parametre algoritma. Nato se v zanki izvajajo klici programskega paketa SPICE OPUS, ki izvaja tranzientno analizo vezja. Rezultati se shranjujejo v binarno datoteko. Rezultate analize iz datoteke program obdela, oz. glede na izbran ekstrapolacijski algoritem nastavi zacˇetno stanje vezja za novo tranzientno analizo. Na koncu zanke preveri, cˇe je izpolnjen ustavitveni kriterij (cˇe je bilo izracˇunano stacionarno stanje ali cˇe je bilo doseženo maksimalno število iteracij). Cˇ e ustavitveni kriterij ni izpolnjen, program ponovi vse korake v zanki. Po izhodu iz zanke program izriše rezultate analize (stacionarno stanje vezje), izpiše število iteracij, ki so bile potrebne za izracˇun in vse rezultate shrani v datoteko za morebitno nadaljnjo uporabo. Diagram poteka programa za simulacijo izracˇuna stacionarnega stanja s pomocˇjo ekstrapo-lacijskih metod prikazuje Slika 4.1. Izbira vezja Vezja, ki jih želimo analizirati, je potrebno prej pripraviti, da jih lahko analiziramo z uporabo ekstrapolacijskih metod. Poskrbeti je potrebno, da se pri tranzientni analizi izracˇunajo vozlišcˇne napetosti in vejni tokovi tocˇno v cˇasovnih tocˇkah, ki jih potrebujemo pri ektrapolacijskem algoritmu (enacˇba (3.23)). V ta namen v vezje dodamo vzporedno vezana upor in neodvisen tokovni vir pravokotnega signala. Ob cˇasih, kjer želimo izracˇun stanja vezja, ima tokovni vir ostro spremembo izhodnega toka, s cˇimer prisilimo simulator vezja, da se v teh cˇasovnih tocˇkah stanje ˇ vezja res izracˇuna. Ce izracˇuna vezja v zahtevanih cˇasovnih tocˇkah ne bi imeli, bi te vrednosti sicer lahko izracˇunali naknadno z interpolacijo, a zaradi numericˇnih napak in zaradi dejstva, da vezje ni v resnici izracˇunano v teh tocˇkah, pri ekstrapolacijskem algoritmu ne bi dobili pravilnih rezultatov. 4.2. SIMULACIJA METOD ZA IZRAČUN STACIONARNEGA STANJA ELEKTRIČNIH VEZIJ 71 ZAČETEK \l/ Izbira vezja \l/ Izbira ekstrapolacijskega algoritma M/ Nastavitev parametrov \/ Izvajanje tranzientne analize M/ Obdelava rezultatov in ekstrapolacijski algoritem /\ Doseženo maksimalno število iteracij? Slika 4.1. Diagram poteka programa za simulacijo izračuna stacionarnega stanja s pomočjo ekstrapolacijskih metod ˇ 72 4. IZRACUN STACIONARNEGA STANJA S PROGRAMSKIM PAKETOM SPICE Izbira ekstrapolacijskega algoritma Izbiramo lahko med ekstrapolacijskimi algoritmi, opisanimi v Poglavju 3.2: algoritmi epsilon, rho, theta in topološkim algoritmom epsilon. Glede na izbrani algoritem je potrebno nastaviti tudi ustrezne parametre tega algoritma. Nastavitev parametrov Pred izvajanjem tranzientne analizeje potrebno glede na izbran ekstrapolacijski algoritem, vezje in zahtevano natančnost nastaviti parametre ekstrapolacijskega algoritma. Ti parametri so: frequency je frekvenca vzbujanja vezja. Če vezje ni vzbujano, je potrebno ustrezno nastaviti parameter DetFreq. DetFreq določa, ali program iz odziva vezja določi frekvenco ali ne. Če je vezje vzbujano, frekvence ne določamo in nastavimo vrednost parametra na 0; če je vezje avtonomno, moramo vezju določiti frekvenco. V tem primeru nastavimo vrednost parametra na 1. tdel in tdelSec predstavljata začetna časa, pri katerem vzamemo prvi vzorec odziva vezja in ustreza vrednosti tdei v (3.23), pri čemer se tdel nanaša na tdei za prvo iteracijo ekstrapolacijskega algoritma, tdelSec pa na tdei za vse naslednje iteracije. Parametri NumPointsMin, NumPointsMax in PointsStep. Ti parametri določajo število period in s tem čas analize vezja oz. vrednost m v (3.24). Začetno število period m je enako parametru NumPointsMin. Z vsako naslednjo iteracijo ekstrapolacijskega algoritma se število period poveča za PointsStep, dokler število period ne doseže vrednosti NumPointsMax. Število period ostane nato nespremenj eno do konca ekstrapolacij skega algoritma. PeriodsPerPoint določa število period med dvema zaporednima vzorcema oz. točkama, ki jih potrebujemo pri ekstrapolacijskem algoritmu. Vrednost tega parametra je naravno število in ima običajno vrednost 1, kar pomeni, daje signal vzorčen vsako osnovno periodo. Povečanje parametra PeriodsPerPoint efektivno pomeni zmanjšanje osnovne frekvence za faktor PeriodsPerPoint. Spreminjanje tega parametra pride do izraza pri vezjih, pri katerih je sprememba odziva vezja v eni periodi zelo majhna, v npr. štirih periodah pa je sprememba že dovolj velika, da lahko z ekstrapolacijskim algoritmom izračunamo novo začetno stanje vezja za naslednjo analizo. Parameter FreqMax določa maksimalno frekvenčno komponento v odzivu vezja. Vrednosti parametrov t a in tm pri tranzientni analizi (glej Poglavje 2.2.1) sta podana z vrednostjo parametra FreqMax, in sicer: t& = tm= 2-Frl Max ¦ Vrednosti parametrov 5a in 5r v (3.51) sta enaki parametroma EpsStopAbsTol in EpsStop-RelTol in podajata ustavitveni kriterij ekstrapolacijskega algoritma oz. natančnost izračuna sta- 4.2. SIMULACIJA METOD ZA IZRAČUN STACIONARNEGA STANJA ELEKTRIČNIH VEZIJ 73 cionarnega stanja. S parametrom MaxIters nastavimo maksimalno število iteracij ekstrapolacij skega algoritma. Če stacionarno stanje ni doseženo v številu iteracij, podanim s tem parametrom, se ekstrapola-cijski algoritem zaključi (glej Sliko 4.1 - "Doseženo maksimalno število iteracij?"). Izvajanje tranzientne analize Na začetku izvajanja paketne datoteke, ki izvede tranzientno analizo, vključimo datoteko set-tings.dat, ki vsebuje vrednosti zgoraj opisanih parametrov. Nato naložimo (ukaz load) datoteko initial.raw, kjer je podano začetno stanje vezja za trenutno iteracij o ekstrapolacij skega algoritma. S stavkom ic (Initial Conditions) določimo vektor začetnega stanja, ki ga bo upoštevala tranzientna analiza. Na koncu glede na vrednosti parametrov poženemo ustrezno nastavljeno tranzientno analizo. Rezultate analize v binarni obliki shranimo (ukaz write) v datoteko re-sult.rccw. Ekstrapolacij ski algoritem Na rezultatih tranzientne analize, ki so shranjeni v datoteki result.raw, glede na vrednosti izbranih parametrov izvedemo vzorčenje (3.23). Uporabimo izbrani ekstrapolacij ski algoritem. Nastavimo novo začetno stanje vezja in ga shranimo v datoteko initial.mw za naslednjo tranzientno analizo vezj a. Preverjanje zaustavitvenega kriterija Preverimo, ali odziv vezja izpolnjuje zaustavitvene kriterije (3.51). Če je ta pogoj izpolnjen, smo izračunali stacionarno stanje vezja, v nasprotmem primeru pa izvedemo naslednjo iteracij o ekstrapolacij skega algoritma. Del zaustavitvenega kriterija je tudi preverjanje, če smo dosegli maksimalno število iteracij ekstrapolacij skega algoritma (parameter Maxlters). Izpis in shranjevanje rezultatov V primeru uspešnega izračuna stacionarnega stanja vezja se izpišejo podatki o številu iteracij ekstrapolacij skega algoritma in skupnem številu period, ki so bile potrebne za izračun stacionarnega stanja vezja. S temi podatki lahko primerjamo stopnjo pospešitve izračuna stacionarnega stanja v primerjavi z običajno tranzientno analizo. Izrišejo se še izbrani signali vezja, ki nas zanimajo (npr. izhodna napetost, napajalni tok). Vse napetosti in tokovi, ki so rezultat zadnje ˇ 74 4. IZRACUN STACIONARNEGA STANJA S PROGRAMSKIM PAKETOM SPICE tranzientne analize, se shranijo v koncˇno datoteko result.rcm, ki jo lahko uporabljamo za nadaljnjo uporabo (izris ostalih signalov vezja, primerjava z obicˇajno tranzientno analizo...). V tem podpoglavju smo predstavili simulacijo metod za izracˇun stacionarnega stanja elektricˇnih vezij. S primerjavo rezultatov simulacije na nekaj primerih vezij iz Poglavja 5 in na podlagi meril za izbor, podanih v Poglavju 4.1, bomo v naslednjem poglavju utemeljili izbor metode izracˇuna stacionarnega stanja, ki smo jo vgradili v programski paket SPICE OPUS. 4.3 Izbor najustreznejše metode Izbor najustreznej še metode, ki j e bila vgraj ena v programski paket SPICE OPUS, j e bil dolocˇen na podlagi treh kriterijev. Vsakemu od teh treh kriterijev smo dolocˇili utež, ki podaja vlogo kriterija pri celotnem izboru metode. 1. kriterij: Specifika programskega paketa SPICE (utež w\ = 10 - najpomembnejše) (zahtevnost sprememb programskega paketa SPICE pri vgradnji izbrane metode) Ocenjena je zahtevnost pri implementaciji metode v programski paket SPICE OPUS. Vrednosti tega kriterija so lahko med 1 in 5, in sicer: k\ = 1 - zelo nezahtevna implementacija, zelo malo sprememb in dodatkov programske kode (do 10 ur 1), k\ = 2 - nezahtevna implementacija (10 do 30 ur), k\ = 3 - srednje zahtevna implementacija (30 do 100 ur), k\ = 4 - zahtevna implementacija (100 do 500 ur), k\ = 5 - zelo zahtevna implementacija, potreben temeljit poseg v jedro simulatorja, popravljanje oz. dodajanje funkcionalnosti modelov elektricˇnih elementov (vecˇ kot 500 ur). 2. kriterij: Točnost izračuna (utež u>2 = 5 - srednj a pomembnost) Primerjana je absolutna vrednost relativne razlike zgornje vrednosti ovojnice izhodnega signala pri izracˇunu z uporabo direktne tranzientne analize v primerjavi z metodo za hiter izracˇun stacionarnega stanja. Kriterij ima lahko vrednosti med 1 in 5, in sicer: &2 = 1 - popolnoma identicˇen rezultat - absolutna vrednost relativne razlike je enaka 0,00 %, &2 = 2 - absolutna vrednost relativne razlike je med vkljucˇno 0,01 % in vkljucˇno 0,20 %, 1 Ocenjen cˇas za programiranje in testiranje metode 4.3. IZBOR NAJUSTREZNEJŠE METODE 75 &2 = 3 - absolutna vrednost relativne razlike je med vključno 0,21 % in vključno 0,50 %, &2 = 4 - absolutna vrednost relativne razlike je med vključno 0,51 % in vključno 1,00 %, &2 = 5 - absolutna vrednost relativne razlike je večja kot 1,00 %. 3. kriterij: Hitrost izračuna (utež w3 = 1 - manj ša pomembnost) Pri enaki zahtevani natančnosti izračuna je bil primerjan čas izračuna stacionarnega stanja pri direktni tranzientni analizi in z uporabo metode za hiter izračun stacionarnega stanja. Pri ekstra-polacijskih metodah je bilo merilo hitrosti izračuna je razmerje števila osnovnih period signalov, pri metodi harmoničnega ravnovesja pa razmeje med časom izračuna stacionarnega stanja. Vrednosti kriterija so med 1 on 5, in sicer: ks = 1 - več kot 20-kratna pospešitev izračuna stacionarnega stanja, ks = 2 - pospešitev izračuna za faktor med vključno 20 in 5, k;i = 3 - pospešitev izračuna za faktor med vključno 5 in 2, k;i = 4 - pospešitev izračuna za faktor med vključno 2 in 1, ks = 5 - upočasnitev izračuna stacionarnega stanja (faktor manjši ali enak 1). Celotno vrednost kriterija (4.5) za določeno metodo sestavimo tako, da pomnožimo vrednost posameznega kriterija z njegovo utežjo. Prvi člen (1. kriterij) moramo še normirati (oz. pomnožiti s številom vezij n), da s številom testnih vezij ne pada vpliv 1. kriterija. Nato seštejemo tako dobljene produkte preko vseh treh kriterijev in vseh testnih vezij, ki jih uporabimo za izbor metode. Vrednost kriterija posamezne metode izračunamo z enačbo n n Kmetode = h ¦ Wi ¦ n + ^ k2,i ¦ w2 + ^ k3>i ¦ w3, (4.5) i=\ i=\ pri čemer predstavljajo indeksi i vezja, na katerih preizkušamo ustreznost metode. Metodo preizkušamo na n vezjih. Kriteriji so zastavljeni tako, da manjša vrednost posameznega kriterija predstavlja boljšo vrednost. Prav tako manjša vrednost celotnega kriterija metode Kmetode predstavlja boljšo vrednost za izbor metode. V nadaljevanju bomo podali rezultate oz. vrednosti posameznih kriterijev za obravnavane metode hitrega izračuna stacionarnega stanja za več testnih vezij iz Poglavja 5. Izbranih je bilo pet (n = 5) testnih vezij (Vezje 3, 4, 5, 6 in 7). V spodnji tabeli so najprej za izbrana testna vezja za ekstrapolacijske algoritme podana števila period v primerjavi s tranzientno analizo, za metodo harmoničnega ravnovesja pa časi analiz v primerjavi s časi tranzientnih analiz. ˇ 76 4. IZRACUN STACIONARNEGA STANJA S PROGRAMSKIM PAKETOM SPICE rel. nat. Sr Število period Cˇas izracˇuna tran-zientna analiza algoritem epsilon algoritem rho algoritem theta topološki algoritem epsilon tran-zientna analiza ravot. harm. analiza Vezje 3: Napetostni množilnik 5-10-6 90 30,1 30,1 78,1 30,1 150 s 38 s Vezje 4: Ozkopasovni filter 10-5 496 24 94 182,25 24 48 s 10 s Vezje 5:Super-ozkopasovni filt. s kvarcom 5-10-4 48.332 54 87 144 54 1.110 s 4,9 s Vezje 6: Preklopni napajalnik 10-7 15.300 30 30 72 30 152 s 3,8 s Vezje 7: Greinacherjev usmernik 10-6 73.800 312 220 594 1.644 460 s 25 s Tabela 4.1. Število period in cˇas izracˇuna metod hitrega izracˇuna stacionarnega stanja v primerjavi s tranzientno analizo Tabela 4.2 pa za vse algoritme prikazuje vrednosti treh kriterijev, na podlagi katerih smo dolocˇili najustreznejši algoritem. V oklepajih so navedene še vrednosti, iz katerih smo posameznemu kriteriju dolocˇili eno od vrednosti kriterija (1, 2, 3, 4 ali 5). 4.3. IZBOR NAJUSTREZNEJŠE METODE 77 algoritem epsilon algoritem rho algoritem theta topološki alg. eps. ravn. harm. analiza Kriterij 1 (k1; w1 = 10) 3 3 3 3 5 Kriterij 2 (k2; w2 = 5) Vezje 3 4 (0,96 %) 3 (0,46 %) 4 (0,52 %) 4 (0,68 %) 3 (0,31 %) Vezje 4 3 (0,22 %) 3 (0,25 %) 2 (0,19%) 4 (0,57 %) 3 (0,37 %) Vezje 5 3 (0,26 %) 3 (0,38 %) 3 (0,30 %) 3 (0,38 %) 3 (0,29 %) Vezje 6 1 (0,00 %) 2 (0,12 %) 3 (0,23 %) 2 (0,09 %) 2 (0,18 %) Vezje 7 1 (0,00 %) 2 (0,08 %) 2 (0,11 %) 1 (0,00 %) 2 (0,14 %) Kriterij 3 (k3; w3 = 1) Vezje 3 3 (2,99) 3 (2,99) 4 (1,15) 3 (2,99) 3 (3,95) Vezje 4 1 (20,7) 2 (5,28) 3 (2,72) 1 (20,7) 3 (4,80) Vezje 5 1 (895) 1 (556) 1 (336) 1 (895) 1 (227) Vezje 6 1 (510) 1 (510) 1 (213) 1 (510) 1 (40,0) Vezje 7 1 (237) 1 (335) 1 (124) 1 (44,9) 2 (18,4) Kmetode 217 223 230 227 325 Tabela 4.2. Vrednosi treh kriterijev za pet izbranih testnih vezij in vrednosti celotnega sestavljenega kriterija posamezne metode po enacˇbi (4.5). Pri kriteriju 2 in 3 so v oklepaju navedeni podatki, iz katerih so bile dolocˇene vrednosti posameznega kriterija. 78 4. IZRAČUN STACIONARNEGA STANJA S PROGRAMSKIM PAKETOM SPICE Ekstrapolacijske metode so se glede kriterija, sestavljenega na podlagi zahtevnosti implementacije, natančnosti in hitrosti izračuna stacionarnega stanja (enačba (4.5)), izkazale za najustreznejše za uporabo in vgradnjo v programski paket SPICE OPUS. Pri vseh ekstrapolacijskih metodah je vrednost kriterija Kmetode manjša kot pri ravnotežni harmonski analizi. Izmed ekstrapolacij skih metod j e bil pa naj primernej ši algoritem epsilon (vrednost kriterij a Kmetode = 217 je najmanjša). Na podlagi opisanih meril za izbor najustreznejše metode se je za najboljšega izkazal torej algoritem epsilon. Izbrani algoritem je bil zato vgrajen v programski paket SPICE. V naslednjem podpoglavju bo opisana implementacija te metode v programski paket SPICE in njena uporaba pri analizi vezij. 4.4 Implementacija metode v programski paket SPICE V programski paket SPICE OPUS smo vgradili analizo za izračun stacionarnega stanja električnih vezij ssse (Steady-State Shooting by Extrapolation). Vgrajena je ekstrapolacij ska metoda z uporabo algoritma epsilon, ki uspešno določi stacionarno stanje vezij, opisanih v Poglavju 5. Za določevanje frekvence avtonomnih vezij je uporabljena metoda detekcije prehoda skozi nivo, s katero lahko določimo tudi frekvenco neavtonomnih vezij. Sintaksa analize ssse je podana z ssse v([,]) [ [ [ []]]] [historv] Prvi obvezni parameter v() oz. v([,]) definira signal x(t) v Poglavju 3.3.2. Signal x(t) je definiran kot napetost vozlišča x(t) = v(< posnode >) oz. kot razlika med vozliščema in x(t) = v(< posnode >) - v(< negnode >). Če je vezje vzbujano (ni avtonomno), za signal x(t) definiramo signal vzbujanja, katerega frekvenco poznamo. Pri avtonomnih vezjih kot x(t) ponavadi podamo izhodni signal vezja oz. tisti signal, ki nas zanima kot rezultat analize ssse. Na podlagi tega signala namreč analiza ssse določi osnovno frekvenco, ki j o potrebuj emo pri ekstrapolacij skem postopku za vzorčenj e signala. Ostali parametri analize ssse so neobvezni. Parameter podaja nivo signala x(t), pri katerem metoda nivo išče presečišča, s pomočjo katerih se določi frekvenca signala (Poglavje 3.3.2). Če ta vrednost ni podana, je privzeta vrednost enaka = 0. S parametrom določimo časovni korak pri izračunu odziva vezja. Parameter ustreza prvemu parametru t a tranzientne analize tran. Privzeta vrednost parametra je = 1. 4.4. IMPLEMENTACIJA METODE V PROGRAMSKI PAKET SPICE 79 Začetni čas tdei v (3.23) je enak parametru . Če paramatra ne podamo, je začetni čas enak = 0 oz. tdei = 0. Parameter določa število period za analizo vezja oz. vrednost m v (3.23). Če parameter ni podan, je njegova vrednost enaka najmanjši vrednosti, ki je potrebna za pravilno delovanje ekstrapolacijskega algoritma, tj. m = 2. Če na koncu stravka analize ssse dodamo besedo history, dobimo kot rezultat analize časovne poteke signalov v vezju v vseh iteracijah ekstrapolacij skega algoritma. Maksimalno število iteracij ekstrapolacij skega postopka kmax v Algoritmu (3.3) določimo s postavitvijo vrednosti itl2 v okolju SPICE OPUS z ukazom .options. Absolutna 8a in relativna 8r natančnost (enačba (3.51)) izračuna stacionarnega stanja vezja z ekstrapolacij sko metodo sta podani z vrednostmi sssetol, abstol in reltol, in sicer: 8a = sssetol * abstol in 8r = sssetol * reltol . Vrednosti sssetol, abstol in reltol nastavimo s stavkom . options. Pred izvajanjem analize ssse je priporočljivo izklopiti funkcijo programskega paketa SPICE OPUS za detekcijo numeričnih oscilacij, kar storimo s stavkom setxmumult=l . Spodnji primer kaže nastavitve parametrov in analizo ssse za testno vzbujano vezje. Vhodni signal je priključen med vozliščema inp in inn. Začetni časovni korak je enak t a = 2 ps, začetni čas tdei = 0, število period pa je m = 6. Zahtevamo shranjevanje vseh iteracij ekstrapolacij skega algoritma. Maksimalno število iteracij je kmax = 1000. Absolutna in relativna natančnost izračuna sta enaki 8a = 10-6 in 8r = 10-6. Izklopljena je detekcija numeričnih oscilacij. Spodaj je izpis datoteke TestnoVezje, ki najprej vsebuje opis vezja, nastavitev parametrov, nato pa v bloku .control zagon analize ssse. 80 ˇ 4. IZRACUN STACIONARNEGA STANJA S PROGRAMSKIM PAKETOM SPICE Testno vezje .lib ’ts0ul8/kay/top.kay’ tvpical .subckt recti coml com2 inl in2 outl out2 bulk param: wl=100u w2=100u cap=100p mn_dll inl inl 1 bulk nch w=wl 1=0.5u m=l mn_dl2 2 2 in2 bulk nch w=wl 1=0.5u m=l mn_d21 1 1 outl bulk nch w=w2 1=0.5u m=l mn_d22 out2 out2 2 bulk nch w=w2 1=0.5u m=l cll coml 1 cap c12 coml 2 cap c21 com2 outl cap c22 com2 out2 cap . ends .subckt 2_recti 2 5 6 bulk param: wl=100u w2=100u w3=100u w4=100u cap=100p xl 2 0 0 0 3 4 bulk recti param: wl=wl w2=w2 cap=cap x2 2 0 3 4 5 6 bulk recti param: wl=w3 w2=w4 cap=cap . ends vs inp inn de 0 ac 1 sin 0 1.0 2.4g rinp inp 2 r=2 5 rinn inn 5 r=25 xnrecti 2 5 6 6 2_recti param: wl=10u w2=10u w3=8u w4=8u cap=100p iload 5 6 dc=10u Nastavitev parametrov: .options itl2=1000 .options sssetol=le-2 .options abstol=le-4 .options reltol=le-4 Analiza ssse: .control set xmumult=l ssse v(inp,inn) 0 2p 0 6 historv . endc . end 4.4. IMPLEMENTACIJA METODE V PROGRAMSKI PAKET SPICE 81 Datoteko poženemo v okolju NUTMEG programskega paketa SPICE OPUS, tako da vpišemo ime datoteke TestnoVezje. Izpis programa je prikazan spodaj: Welcome to Program: SpiceOpus (c), version: 2.24 Professional Revision: 30 Date built: Nov 2 2006 Copyright (C) 1996-2006 SpiceOpus (c) 1 -> TestnoVezje SpiceOpus (c) 2 -> setplot new New plot Current ssse5 Testno vezje (Steady State Analysis) ssse4 Testno vezje (Steady State Analysis) ssse3 Testno vezje (Steady State Analysis) ssse2 Testno vezje (Steady State Analysis) sssel Testno vezje (Steady State Analysis) const Constant values (constants) SpiceOpus (c) 3 -> V Poglavju 5 bo uporabljena analiza ssse, kjer bo na realnih primerih vezij opisano testiranje metode za izracˇun stacionarnega stanja. Predstavljenih bo vecˇ tipov vezij, pri katerih so se pokazale prednosti metode v primerjavi z izracˇunom stacionarnega stanja z uporabo obicˇajne tranzientne analize. ˇ 82 4. IZRACUN STACIONARNEGA STANJA S PROGRAMSKIM PAKETOM SPICE 5 Testiranje metode na realnih primerih vezij V tem poglavju bomo pokazali uspešnost metode za izracˇun stacionarnega stanja na realnih primerih vezij. Uspešnost se kaže v hitrejšem izracˇunu stacionarnega stanja v primerjavi z obicˇajno tranzientno analizo, pri cˇemer ohranimo tocˇnost izracˇuna in dosežemo enake rezultate oz. enak odziv kot pri direktni tranzientni analizi. Najprej bodo predstavljena testna vezja, ki bodo uporabljena za prikaz uspešnosti analize za izracˇun stacionarnega stanja. Za ta vezja bo opravljena primerjava racˇunske zahtevnosti iz-racˇuna stacionarenga stanja s tranzientno analizo in z analizo za izracˇun stacionarnega stanja. Primerjali bomo odziv vezja, dobljenega z tranzientno analizo in z analizo za izracˇun stacionarnega stanja, iz cˇesar bo razvidna tocˇnost izracˇuna analize stacionarnega stanja. Zadnje podpoglavje bo pokazalo uporabnost analize za izracˇun stacionarnega stanja pri optimizaciji elektricˇnih vezij. Pri tem postopku je potrebno velikokrat ponoviti analize vezja. Cˇ e je potreben izracˇun stacionarnega stanja vezja, lahko z uporabo analize, opisane v doktorski disertaciji, zelo pospešimo optimizacijo elektricˇnega vezja. 5.1 Testna vezja 5.1.1 Vezje 1: Frekvencˇni množilnik Vezje na Sliki 5.1 predstavlja frekvencˇni množilnik ([65], stran 124, slika 2.76). Na vhod vezja v vozlišcˇe 8 je prikljucˇen sinusni signalni generator frekvence 14,4 MHz in amplitude 1,4 V . Izhod frekvencˇnega množilnika je v vozlišcˇu 5 in vsebuje frekvencˇne komponente štirikratnika vhodnega signala, torej frekvence 57,6 MHz. Vhodno impedanco vezja 84 5. TESTIRANJE METODE NA REALNIH PRIMERIH VEZIJ Rili 300 >7L4V/14.4MHz ¦iuv r R2 C5 IlOk 4 5 1 ? 2f a_ L ^7 4.8p \Q1 \2N2222 6.2u 27p R1 S ------C4 Rload 300 C1 56p ^C3 4.8p 470 20p Slika 5.1. Frekvenčni množilnik določa upor Rin. Na izhod vezja je priključeno breme oz. upor Rioad z upornostjo 300 Q. Tuljava L2 določa lastnosti frekvenčnega množilnika. Njena vrednost je nastavljena na vrednost 247 nH, ki je izbrana tako, da skupaj z ostalim delom vezja ne duši četrte harmonske komponente vhodnega signala (57,6 MHz), ostale harmonske komponente pa izloči oz. reflektira nazaj v vezj e frekvenčnega množilnika. 5.1.2 Vezje 2: Nelinearno usmerniško vezje RC Slika 5.2 prikazuje usmerniško vezje ([66], slika 1). C2 2___________________4 Vin 20V/500H R2 lOOk Slika 5.2. Nelinearno usmerniško vezje RC Kondenzator C2 se polni preko obeh uporov R1 in R2 s cˇasovno konstanto 20 ms. Prazni se preko diode D1 in upora R2 s cˇasovno konstanto 10 ms. Posledica tega je, da ob vkljucˇitvi signala Vin celotno vezje potrebuje od 100 do 200 ms, da prehodni pojavi izzvenijo in da dobimo periodicˇen odziv. 7 lk L2 7n >OUT 5.1. TESTNA VEZJA 85 5.1.3 Vezje 3: Napetostni množilnik Naslednje testno vezje je prikazano na Sliki 5.3 ([67], stran 9, slika 4) in predstavlja kaskadni napetostni množilnik. r lohm Rl vin v; 311V/50Ftf luF Dl D2 HK luF D3 D4 Hh luF D5 D6 Hh Hh RL lOk Slika 5.3. Napetostni množilnik Napetostni sinusni vir Vin v pozitivnih polperiodah preko diod D1, D3, D5 in D7 polni kondenzatorje C1, C3, C5 in C7, v negativnih polperiodah pa preko diod D2, D4 in D6 kondenzatorje C2, C4 in C6. Zato na izhodu vezja v vozlišcˇu 1 dobimo enosmerno napetost, ki je odvisna od števila kondenzatorjev v verigi kaskade in od amplitude vhodnega sinusnega vira Vin. 5.1.4 Vezje 4: Ozkopasovni filter Vezje na Sliki 5.4 je ozkopasovni filter ([68], stran 16-30, slika 16-33) topologije Sallen-Key [69]. Vin 1mV/1MHz lOOpF C1 R5 lOOpF 2*1.59k El ideal Slika 5.4. Ozkopasovni filter Vrednosti elementov so izbrane tako, daje srednja frekvenca oz. frekvenca, ki jo filter prepušcˇa, enaka 1 MHz, kvaliteta filtra pa Q = 100. 5.1.5 Vezje 5: Superozkopasovni filter s kvarcom Superozkopasovni filter ([70], stran N79, slika 6) je prikazan na Sliki 5.5. C2 C6 R2 8 6 4 2 U7 y ohm C 10 7 5 3 lllF lllF lllF lllF R3 1.59k C2 R4 2 5 1.59k R2 4 1.999k 86 5. TESTIRANJE METODE NA REALNIH PRIMERIH VEZIJ Vin 1V/32.767,41Hz 9 -20V 9 -20V Slika 5.5. Superozkopasovni filter Filter je realiziran s pomocˇjo kvarcˇnega kristala Xi, ki filtru dolocˇa veliko kvaliteto (približno 10.000). Na Sliki 5.6 je prikazano vezje, s katerim modeliramo kristal X\. 1.5pF dh Ls__________Cs XI Slika 5.6. Modeliranje kristala X1 na Sliki 5.5. 5.1.6 Vezje 6: Preklopni napajalnik Na Sliki 5.7 je prikazan poenostavljen model preklopnega napajalnika (t. i. "Buck switching regulator", [71], stran 9). Enosmerni napetostni vir je prikljucˇen preko tranzistorja Mi, ki ga krmili pulzni vir Vpuise. Ko je tranzistor odprt, se preko tuljave L\ polni kondenzator C\, na katerega je prikljucˇen bremenski upor Rioad = 1 k?. Ko tranzistor Mi ne prevaja, se tok skozi tuljavo L\ zakljucˇuje preko diode D\. Izhodna enosmerna napetost na bremenu je odvisna od razmerja med trajanjem R2 C 2.3129F 0200H 30k Rs 32,768kHz 5.1. TESTNA VEZJA 87 + YVdc -J 20 V Ll 10 uH Vpuise Z. V^-i/pulse 0 20 0 10nl0n 80nlu Cl lOuF Rload lk Slika 5.7. Preklopni napajalnik visokega in nizkega nivoja (duty cycle) pulznega vira Vpuise. Vezje je poenostavljen model preklopnega napajalnika. V praksi tak preklopni napajalnik potrebuje še povratno vezavo, ki spreminja vrednost duty cycle-a pulznega vira Vpuise v odvisnosti od razlike izhodne napetosti in zahtevane izhodne napetosti. 5.1.7 Vezje 7: Greinacherjev usmernik Naslednje testno vezje je usmerniško vezje, ki se med drugim uporablja za napajanje sistemov za radijsko identifikacijo (RFID - Radio Frequency Identification Systems). Na Sliki 5.8 je prikazana ena stopnja Greinacherjevega usmerniškega vezja [72]. COM2 f-i--------» COM2 Slika 5.8. Ena stopnja Greinacherjevega usmernika Vse diode so realizirane z uporabo n-kanalnih MOS tranzistorjev, kar prikazuje Slika 5.9. Uporabljena je bila 0,18 /im tehnologija TSMC. Dolžina vseh tranzistorjev obeh stopenj, s katerimi modeliramo diode, so enake 0,5 /im, širine tranzistorjev prve stopnje so enake 10 /im in druge stopnje 8 /im. Za testno vezje smo uporabili dvostopenjsko Greinacherjevo usmerniško vezje. Slika 5.10 prikazuje medsebojno vezavo dveh stopenj, vhodni signalni vir Vs frekvence 2,4 GHz in am-plitude 1 V, ki skupaj z uporom Rant predstavlja anteno. Izhod vezja je obremenjen v tokovnim virom Iload = 10 fiA. Ml 3 4 2 Dl OUT1 INa INb UUT2 88 5. TESTIRANJE METODE NA REALNIH PRIMERIH VEZIJ L Slika 5.9. Modeliranje diode s tranzistorjem OUTl|------- Rant 50E Vs sin/lV/2.4GHz JNa p-Ja i mb [Nb INI IN2 INI OUT1 stagel <--------1 COM2- OUT2 stage2 COM2 Iload lOuA IN2 OUT2- Slika 5.10. Testno vezje: dvostopenjski Greinacherjev usmernik 5.1.8 Vezje 8: Oscilator Slika 5.11 predstavlja enostavno oscilatorsko vezje. Vezje je avtonomno, osnove frekvence signalov vezja v stacionarnem stanju ne poznamo vnaprej in je zato primerno pa prikaz delovanja metode za dolocˇevanje frekvence s pomocˇjo prehoda skozi nivo (Poglavje 3.3.2). Glavni aktivni element v oscilatorju je tranzistor Qi, ki je vezan kot ojacˇevalnik s skupno bazo. Izhodna sponka je kolektor, ki je prikljucˇen na nihajni krog. Ta je sestavljen iz tuljave L\ in kondenzatorja C\. Kondenzator C^ skupaj s C\ tvori kapacitivni delilnik, ki vodi signal na emitor tranzistorja Q\. Delilnik ima veliko razmerje zato, da je izkrmiljenje tranzistorja majhno. S tem dosežemo majhno harmonicˇno popacˇenje izhodnega signala. Amplitudo izhodne napetosti spreminjamo z enosmernim emitorskim tokom oz. s spreminjanjem upornosti Rb. 5.1. TESTNA VEZJA 89 Rl 853k C1 2,2n 470n Rvoc 250 L1 (XL1) l,6m BC182 Cvoc lOOn Rx lmOhm 1 -5V Slika 5.11. Oscilator 5.1.9 Vezje 9: Nizkošumni ojačevalnik Na Sliki 5.12 je shema nizkošumnega ojačevalnika ([76], stran 290 in 80). [? M3 |50um S7 1.5V -J- J7m_L 13.6nH lOpF sm/lGHz/10mV \7 )XL1 )7nH M2 500um s Ml 500um 5 o 1 )XL3 J1.4nH CL lOpF \7 S7 +25V vcc u 2 VEE 2 3 > OUT Cl R3 5 6 7 50 Vin si Slika 5.12. Nizkošumni ojačevalnik 90 5. TESTIRANJE METODE NA REALNIH PRIMERIH VEZIJ Kaskodni tranzistor M2 preprecˇuje medsebojno vplivanje vhoda in izhoda in zmanjšuje ucˇinke kapacitivnosti Cgd tranzistorja M\. Skupna kapacitivnost vozlišcˇa ponora tranzistorja M2 je v resonanci s tuljavo XL\. S tem povecˇamo ojacˇenje pri centralni frekvenci. Vhod in izhod nihata pri isti resonancˇni frekvenci, cˇe pa želimo širši frekvencˇni odziv, ti dve resonancˇni frekvenci razmaknemo. Tranzistor M3 predstavlja tokovno zrcalo s tranzistorjem M\. Tok skozi tranzistor M3 je odvisen od napajalne napetosti, upornosti R\ in od Vgs tranzistorja M3. Vrednost upora R2 mora biti dovolj velika, daje njegov ekvivalenten šumni tok dovolj majhen, da ga lahko zanemarimo. Kondenzator C\ blokira enosmerno napetost. Njegova vrednosti mora biti taka, daje reaktanca pri frekvenci signala v vezju zanemarljiva. Vrednosti elementov na Sliki 5.12 so izbrane tako, daje vhodna upornost enaka 50 ?, mirovni tok je enak 5 mA. Uporabljena je 0,5 /im tehnologija. 5.1.10 Vezje 10: Mešalnik Vezje na Sliki 5.13 predstavlja mešalnik. /5 V JLdc JlOuH nR Li lk Q58a NPN lower H< Q58b NPN lowe r \V dc_rf ^44 A3V K50 E 30 _ rv-yv-> 31 470 nH Cm 4,7 pF 6 J/Q56 Q57 , \V dc_lo ^3,37 V R46 60 E h 5 ^1 IX) 3 nH C2 0,6 pF Wif yov Ll 3 nH C1 0,6 pF ,Vlo -71 GHz / 316,2 mV ,Vrf -7920 MHz / 10 mV Ciž Rji 32 50 E LOnF Clo Crf R45 Krt y Ll 12 30 E 50 E OnF Slika 5.13. Mešalnik 5.2. IZRAČUN STACIONARNEGA STANJA 91 Vhodni signal oz. napetostni vir Vrf je preko vhodnega upora Rrf in vhodnega filtra priključen na tokovni vir, ki ga sestavljata tranzistorja Q^sa m Q58b, vir V^c rf in upor i?44. Z opisano vezavo dosežemo modulacijo vrednosti tokovnega vira v odvisnosti od vhodnega signala Vrf. Podobna vezava je pri signalu lokalnega oscilatorja Vi0, le daje signal priključen na bazo tranzistorja Q^. Izhodni medfrekvenčni signal iz vozlišča 2 vodimo preko izhodnega filtra, kjer ga na njegovem izhodu v vozlišču 31 obremenimo z bremenom Rif. 5.2 Izračun stacionarnega stanja Stacionarno stanje je bilo za vsa vezja iz Poglavja 5.1 najprej izračunano z direktno tranzientno analizo (neprekinjena tranzientna analiza, dokler prehodni pojavi ne izzvenijo), nato pa še z uporabo ekstrapolacij ske metode (algoritem epsilon), s katero pospešimo tranzientno analizo (Poglavje 3.2). Pri izračunu stacionarnega stanja z direktno tranzientno analizo smo za testna vezja iz začetnega odziva (časi od t = 0 naprej) najprej ocenili časovne konstante vezij r. Časovno konstanto smo določili na enega od dveh načinov. Po prvem načinu je časovna konstanta določena kot presečišče med tangento na krivuljo odziva pri času t = 0 in končno vrednostjo odziva pri dovolj velikem času. Pri drugem načinu je pa časovna konstanta enaka času, pri katerem odziv doseže 63,2 % (1 — e_1) končnega odziva; oz. polovica časa, pri katerem odziv doseže 86,4 % (1 — e-2) končnega odziva, itd. Nato smo na podlagi časovnih konstant in želenih relativnih natančnosti 5r z uporabo enačbe (2.13) določili minimalni čas t direktnih tranzientnih analiz, ki so potrebne za dosego zahtevanih natančnosti stacionarnih odzivov. Kot primer natančnosti naj navedemo natančnost 5r = 10~4. Za ta primer moramo po (2.13) vezje analizirati 9,2 časovni konstanti vezja. Za izračun stacionarnega stanja z uporabo ekstrapolacij ske metode je bila izbrana enaka natančnost kot pri direktni tranzientni analizi. S tem dosežemo primerljivost časov, ki so potrebni, da dosežemo stacionarno stanje pri obeh metodah. V naslednjem poglavju je tako prikazana primerjava računske zahtevnosti za izbrana testna vezja pri obeh metodah. Stacionarno stanje, ki je bilo izračunano z direktno tranzientno analizo, je bilo izvedeno na računalniku AMD Athlon XP 2500+ (1,83 GHz) s 512 MB pomnilnika. Pri vsakem testnem vezju je naveden čas izračuna stacionarnega stanja. 92 5. TESTIRANJE METODE NA REALNIH PRIMERIH VEZIJ Frekvenčni množilnik Opazovani izhodni signal: v(5) Osnovna frekvenca: 14,4 MHz Izbrana natančnost: Sr = 5 • 10"3, Sa = 5 • 10"5 Tranzientna analiza v(5) A /\ \ i\ 1 0.4 I i i i \ \ / /' \ i / 0.2 _l s \ \ \ \ / \ 1 / | s L. / I ' i __. ni i 1 \ -oi ,__ _|_ 1 / 1 r / \ 1 / , / / \ / \ i 1 / M \l \ V I \ / \ / -t1 1 / \ \ 1.42 1.44 1.46 1.4 -1 1 h 1.52 I.b4 1.56 1.58 t[us] Slika 5.14. Odziv frekvenčnega množilnika pri času 5r Stacionarni odziv dosežen pri: t > 10 /is Zgornja vrednost ovojnice signala pri t = 10 /is je 0,4962 V. Določitev časovne konstante na podlagi amplitude pri 5r: 0,4962 V -(1 — e-5) =0,4929 V Amplituda 0,4929 V je dosežena pri t= 1,53 /is (Slika 5.14) 5r =1,53 /is t =0,306 /is 5r = 5- lO"3 Čas simulacije za zahtevano relativno natančnost: t >1,621 /is Število period: 1,621 /is- 14,4 MHz f« 23 period Čas izračuna stacionarnega stanja: 0,2 s. Ekstrapolacijski algoritem 5.2. IZRAČUN STACIONARNEGA STANJA 93 Vrednosti parametrov: tdeh =3/14,4 MHz (3 periode za 1. iteracijo ekstrapolacij skega algoritma) tdei2 =0 (za vse naslednje iteracije ekstrapolacij skega algoritma) nii =4 (vrednost parametra m za 1. iteracijo ekstrapolacij skega algoritma) m2 =6 (vrednost parametra m za 2. iteracijo ekstrapolacij skega algoritma) v(5) Slika 5.15. Odziv frekvencˇnega množilnika z uporabo ekstrapolacijskega algoritma Število iteracij ekstrapolacij skega algoritma: 2 Skupaj period pri izračunu stacionarnega stanja z ekstrapolacijsko metodo: 13 period Nelinearno usmerniško vezje RC Opazovani izhodni signal: v (A) Osnovna frekvenca: 500 H z Izbrana natančnost: 6r = 5 • 10"4, 6a = 5 • 10"6 Tranzientna analiza Stacionarni odziv dosežen pri: t > 1 s Zgornja vrednost ovojnice signala pri t = 1 s je 6,537 V. Določitev časovne konstante na podlagi amplitude pri 5r: 6,537 V ¦ (1 — e-5) =6,493 F Amplituda 6,493 V je dosežena pri t=52,5 ms (Slika 5.16) 5r =52,5 ms 94 5. TESTIRANJE METODE NA REALNIH PRIMERIH VEZIJ v(4) j"E~'--. J "'"""* *, J"""""x J."^^x t 1 t t l_ \ i \ 1 \ 1 \ 1 1 1 JI i J J J T v T X It It f T f \ f\ [T ' ' 1 1 J I J , J 1 7 r 1 t jf It t X IX T T f T j r i tj r 1 „ i i i i i i r j ti ti II t / X t II it i/ 1 r i r i r j [ -i -j -j ri r i r i [j XI ll XI XI i f i f i f j f i i i j i j i j X i XI X 1 X i i r ' ' i f i f tj tj tj tj J L J L J L J L ^> v> ^> w 47 " 48 49 " 50 51 " 52 53 " 54 t[ms] Slika 5.16. Odziv nelinearnega usmerniškega vezja RC pri času 5r r =10,5 ms 5r = 5- 10-4 Čas simulacije za zahtevano relativno natančnost: t >79,81 ms Število period: 79,81 ms- 500 H z ~ 40 period Čas izračuna stacionarnega stanja: 0,1 s. Ekstrapolacij ski algoritem Vrednosti parametrov: tdeh =0,1/500 H z (0,1 periode za 1. iteracijo ekstrapolacij skega algoritma) tdei2 =0 (za vse naslednje iteracije ekstrapolacij skega algoritma) m =4 (vrednost parametra m za vse iteracije ekstrapolacij skega algoritma) Število iteracij ekstrapolacij skega algoritma: 4 Skupaj period pri izračunu stacionarnega stanja z ekstrapolacijsko metodo: 16,1 periode 5.2. IZRAČUN STACIONARNEGA STANJA 95 v(4) t[ms] Slika 5.17. Odziv nelinearnega usmerniškega vezja RC z uporabo ekstrapolacijskega algoritma Napetostni množilnik Opazovani izhodni signal: v(l) Osnovna frekvenca: 50 H z Izbrana natančnost: Sr = 5 • 10"6, Sa = 5 • 10"5 Tranzientna analiza Stacionarni odziv dosežen pri: t > 10 s Zgornja vrednost ovojnice signala pri t = 10 s je 1256 V. Določitev časovne konstante na podlagi amplitude pri 5r: 1256 V ¦ (1 — e-5) =1248 V Amplituda 1248 V je dosežena pri t=734 ms (Slika 5.18) 5r =734 ms t =146,8 ms 5r = 5- lO"6 Čas simulacije za zahtevano relativno natančnost: t >1,792 s Število period: 1,792 s- 50 Hz ~ 90 period Čas izračuna stacionarnega stanja: 150 s. Ekstrapolacij ski algoritem 96 5. TESTIRANJE METODE NA REALNIH PRIMERIH VEZIJ v(1) i i2gfc \ \ f I / 1^50 / / \ \ Tnoo / / \ T \ \ I / 1050 / | j I i 1000 / / ( 950 ^ t[ms] Slika 5.18. Odziv napetostnega množilnika pri cˇasu 5? Vrednosti parametrov: tdel1 =0,1/50 Hz (0,1 periode za 1. iteracijo ekstrapolacijskega algoritma) tdel2 =0 (za vse naslednje iteracije ekstrapolacijskega algoritma) m =6 (vrednost parametra m za vse iteracije ekstrapolacijskega algoritma) v(1) \ i L V i > / \ / / \ / / \ / \ / \ p \ / , \ / \ / \ I / \ / \ / \ / \ / \ f_ \ / \ , \ j \ i \ / \ \ / \ / / / ' j \ / \ / \ ; \ / \ i / | / t / i l / It / \ / \ / n ' \ f \ ' \ ~7 V / \ / ^ / / \ / ' ' i 1 \ 1 \ V / . \ 1 \ / ;> i i l. ''t) 7(> 30 i!) 41 4: ,r ) ,r;> t[ms] Slika 5.19. Odziv napetostnega množilnika z uporabo ekstrapolacijskega algoritma Število iteracij ekstrapolacijskega algoritma: 5 5.2. IZRAČUN STACIONARNEGA STANJA 97 Skupaj period pri izračunu stacionarnega stanja z ekstrapolacijsko metodo: 30,1 periode Ozkopasovni filter Opazovani izhodni signal: v(5) Osnovna frekvenca: 1 MHz Izbrana natančnost: 6r = 10"5, 6a = 10"5 Tranzientna analiza v(5) ,_ _ ' / \ 7 \ v ' \ ; \ \ \ L \ \ / \ \ \ z \ 1 1 \ / \ \ / / \ I / / \ / \ ; \ 1 \ / \ T \ 1 / _] T / / l 1 \ f \ \ / \ I \ / \ 7 \ \ \ / / \ \ ' ( I / , \ / \ I \ / \ / \ / L_ / . / \ / \ / \ \ / \ / 3 / \ \ / / v j V / \ / \ 213 2' 3. b "— / 4 2' 4.b ^^ 2 b 21 D.b ^ -* t[us] Slika 5.20. Odziv ozkopasovnega filtra pri času 5r Stacionarni odziv dosežen pri: t >10 [is Zgornja vrednost ovojnice signala pri t =10 /is je 1,344 V. Določitev časovne konstante na podlagi amplirude pri 5r: 1,344 V ¦ (1 — e-5) =1,335 F Amplituda 1,335 V je dosežena pri t =215,2 //s (Slika 5.20) 5r =215,2 //s r =43,04 /is Sr = 10"5 Čas simulacije za zahtevano relativno natančnost: t >496 //s Število period: 496 /is- 1 MHz ~ 496 period Čas izračuna stacionarnega stanja: 48 s. 98 5. TESTIRANJE METODE NA REALNIH PRIMERIH VEZIJ Ekstrapolacij ski algoritem Vrednosti parametrov: tdei =0 (za vse iteracije ekstrapolacij skega algoritma) m =6 (vrednost parametra m za vse iteracije ekstrapolacij skega algoritma) v(5) - - - \ 7 \ 7 \ 7 \ V i V i V j I 4 t A t A t A t- L \ L L \ A t A t A t A L h L r L C H t H t H \ t___i.........3.........i.........i.........i.........i......... 4 t A t A t -H t \ -t -,- -t t -T t -, C _1 1 1 1 _I 3 f- -i i- H- f H- I1I JI J J A i A * t t L L \ 1 \ l \ l O.fff 1 1.fff 2 2.5i 3 t[us] Slika 5.21. Odziv ozkopasovnega filtra z uporabo ekstrapolacijskega algoritma Število iteracij ekstrapolacij skega algoritma: 4 Skupaj period pri izračunu stacionarnega stanja z ekstrapolacijsko metodo: 24 period Superozkopasovni filter s kvarcom Opazovani izhodni signal: v (A) Osnovna frekvenca: 32,76741 kHz Izbrana natančnost: 6r = 5 • 10"4, 6a = 5 • 10"4 Tranzientna analiza Stacionarni odziv dosežen pri: t > 2 s Zgornja vrednost ovojnice signala pri t =2 s je 3,78 V. Določitev časovne konstante na podlagi amplitude pri 0,5r: 3,78 V ¦ (1 — e-0'5) =1,49 V Amplituda 1,49 V je dosežena pri t =96,8 ms (Slika 5.22) 0,5r =96,8 ms r =194 ms 5.2. IZRAČUN STACIONARNEGA STANJA 99 v(4) S l v ^ \ ti ' Ji \ 7 i ^ l v -j J i v \ /i i 1 r \ i L 1 J ti , i / r i j t [ -i 7 i \ 7 i r \ 1 f \ 4 1 ' \ j 1 / t , \ 7 i T 7 X j t XI \ 7 ' tj r \ j ^ t l Z V j i L V j \ ^ y , r -1.5 9^4 96.73 96.74 96^75 96.76 96.77 9&T8 — 96.79------96.8 t[ms] Slika 5.22. Odziv superozkopasovnega filtra pri času 0,5r Sr = 5 • 10-4 Čas simulacije za zahtevano relativno natančnost: t >1475 ms Število period: 1475 ms- 32,76741 kHz ~ 48.332 period Čas izračuna stacionarnega stanja: 1110 s. Ekstrapolacijski algoritem Vrednosti parametrov: tdel =10/32,76741 kHz (10 period za vse iteracije ekstrapolacijskega algoritma) m1 =4 (vrednost parametramza1. iteracijo ekstrapolacijskega algoritma) m2 =8 (vrednost parametramza2. iteracijo ekstrapolacijskega algoritma) m3 =12 (vrednost parametra m za naslednje iteracije ekstrapolacijskega algoritma) Število iteracij ekstrapolacijskega algoritma: 3 Skupaj period pri izracˇunu stacionarnega stanja z ekstrapolacijsko metodo: 54 period 100 5. TESTIRANJE METODE NA REALNIH PRIMERIH VEZIJ v(4) L*\ -"¦. ^"\ i \ > 5 ' * 7 5 L. ~) \ 7 \ T j \ r j r [i j r / \ i Z 5 ' 7 \ ' 1 } j \ . / \ i f ' / \ / \ i t \ \ 7 \ 7 \ L L ' f t \ \ 7 T J J t t ~\ _, \ 7 \ 7 \ t t ' j f f 7 X L J / T ' .7 [t i t t \ . / 4 J i / J i / \ , 7 i ' j \ r J , L 7 j T X / 7 \ / \ ' 1. i / "1 j L / T L 7 4 / \ f~ 2 \ "^ T K t * i C * i r * ' i S \. ^ \ ' t[us] Slika 5.23. Odziv superozkopasovnega filtra z uporabo ekstrapolacijskega algoritma Preklopni napajalnik Opazovani izhodni signal: v (A) Osnovna frekvenca: 1 MHz Izbrana natančnost: 5r = 10~7, 5a 10~6 Tranzientna analiza Stacionarni odziv dosežen pri: t >100 ms Zgornja vrednost ovojnice signala pri t =100 ms je 6,7848 V Določitev časovne konstante na podlagi amplitude pri 9r: 6,7848 V ¦ (1 — e-9) =6,7840 V Amplituda 6,7840 V je dosežena pri t =8,53 ms (Slika 5.24) 9r =8,53 ms t =0,948 ms Sr = 10"7 Čas simulacije za zahtevano relativno natančnost: t > 15,3 ms Število period: 15,3 ms- 1 MHz ~ 15.300 period Čas izračuna stacionarnega stanja: 152 s. Ekstrapolacijski algoritem _ 5.2. IZRAČUN STACIONARNEGA STANJA 101 v(4) \ /1 M M / / / / / / / / / / ' 1 ' ' 6.7831; ; / / / ^ yB.783f 1 i t 1 6.78 1 t 6.78 6.7835 o.j^. ) •S O/M i! r O/1 / S (V ,r f Vit> ri S ,Vi f C.OZM 3 OZMC '3.oo i oou" t .OO 1 t[ms] Slika 5.24. Odziv preklopnega napajalnika pri cˇasu 9? Vrednosti parametrov: tdel =0 (za vse iteracije ekstrapolacijskega algoritma) m =6 (vrednost parametra m za vse iteracije ekstrapolacijskega algoritma) v(4) ------ —J_ , —j- rje —1 zt 4t 4t 4t /1 / 3C it /1 / Lt Lt / t rt p- / 'T t± ti , i i -i 5 t -/t 4 1 4 : 13 ZZ t - i L ti t / t i t t . 3 4 _i: 4 -J 4 4 4 -i - 4_ 4 4 4 4 4 t t t- 4 L4 L4 L. L 4 L 4 L 4 L - l i / -1 -H -1 4 j j rj 4 4 444 / / 3 44 f f L 4 L L 1 / / L V- 4 f E r J t t q t t t rj 4 4 4 3 4 4 4 4 i i t t t / L L L p L p j j 1 4 4 4 i i 4 4 4 L c L L p- L t L p- L r ' h r r f- L _i t -1 L -, t 4 t j i: t 4 4 t 4 J t 3 t 4 ti i t i t z :t f- t L t L t L t t L _t t L t L t L t t t t^ t^ t t t t4 t4 :rj n ±3 6_-7Y?o!5i it: 15 2 5n:; .5 3:it:3.54 :\L: 4.5 5 it: 5.56 t[us] Slika 5.25. Odziv preklopnega napajalnika z uporabo ekstrapolacijskega algoritma Število iteracij ekstrapolacijskega algoritma: 5 Skupaj period pri izracˇunu stacionarnega stanja z ekstrapolacijsko metodo: 30 period 102 5. TESTIRANJE METODE NA REALNIH PRIMERIH VEZIJ Greinacherjev usmernik Opazovani izhodni signal: v(outl, out2) Osnovna frekvenca: 2,4 GHz Izbrana natančnost: Sr = 10"6, Sa = 10"6 Tranzientna analiza v(out1,out2) r r ," J\ /\ J\ t\ ti _/____ _[_]__ __[_!__ _j__I_ J__i_ ./_.i. _L_L __:__!_ J_j__ __[__]_ _,___i_ _j__t_ _______ _,___]__ J__1_ _7__I_ .[___L _.____L _J_ _L J- —i— J j j__ _i _t- -/- -i- —t- -\- /_ _!_ _f_ _[_ _]__ .. _]._ -J. 11 t \ r i . f-1 r"1 t / L L 1 1 t j \ 1 ~ t i r _._ _[_ ____ _,__ _]__ _j_ _L J_ _[_ .... _r_ .i _h_ _/_ .:.. _t_ _L J_ _\_ _/_ _L -i- —L- —,— _l__-__ _._/_ ___/_ - ---- = -!-- t / ' L' L' t7 t[us] Slika 5.26. Odziv Greinacherjevega usmernika pri času 5r Stacionarni odziv dosežen pri: t >100 /is Zgornja vrednost ovojnice signala pri t =100 /is je 1,6248 F. Določitev časovne konstante na podlagi amplitude pri 5r: 1,6248 V • (1 — e-5) =1,6139 F Amplituda 1,6139 F je dosežena pri t =11,13 /is (Slika 5.26) 5r =11,13 /is t =2,226 /is Sr = 10"6 Čas simulacije za zahtevano relativno natančnost: t >30,75 //s Število period: 30,75 /is- 2,4 Gi7z ~ 73.800 period Čas izračuna stacionarnega stanja: 460 s. Ekstrapolacijski algoritem 5.2. IZRAČUN STACIONARNEGA STANJA 103 Vrednosti parametrov: tdei =0 (za vse iteracije ekstrapolacij skega algoritma) m =6 (vrednost parametra m za vse iteracije ekstrapolacij skega algoritma) v(out1,out2) \ 1.6248 \ / / I / \ / \ \ \ I ' 1.62' / ( / ' 1.62' 1.62' i i \ \ 1 1.6244 1.62ta «-*___| T t[ns] Slika 5.27. Odziv Greinacherjevega usmernika z uporabo ekstrapolacijskega algoritma Število iteracij ekstrapolacijskega algoritma: 52 Skupaj period pri izracˇunu stacionarnega stanja z ekstrapolacijsko metodo: 312 period Oscilator Opazovani izhodni signal: v(l) Osnovna frekvenca: 84,5 kHz (končna frekvenca pri času 2 ms) Izbrana natančnost: 6r = 10"4, 6a = 10"4 Tranzientna analiza Stacionarni odziv dosežen pri: t >2 ms Zgornja vrednost ovojnice signala pri t =2 ms je 55,4 V. Določitev časovne konstante na podlagi amplitude pri 3r: 55,4 V ¦ (1 — e-3) =52,6 V Amplituda 52,6 V je dosežena pri t =130,5 /is (Slika 5.28) 3r =130,5 /is t =43,5 /is Sr = 10"4 104 5. TESTIRANJE METODE NA REALNIH PRIMERIH VEZIJ v(1) t L 1 X i 4 i t- r r / \ i K Ari \ 'V- i \ / i t r f 7 j r , T j_ j A i ti i / J 'Lil _, \ 7 ] r 7 j ' i 7 \ / j \ / ' \ i \ i- J i t J r 7 i f 7 4 L i_ i X ' \ t i X f~ 4 X t- 'J ti J J L t \ X \ 0110= = = -' 115 120 -t^26 " 130 136- = = *" t[us] Slika 5.28. Odziv oscilatorja pri času 3r Čas simulacije za zahtevano relativno natančnost: t >400 /is Število period: 400 /is- 84,5 fci/z f« 34 period Čas izračuna stacionarnega stanja: 1,6 s. Ekstrapolacij ski algoritem Vrednosti parametrov: tdei =0 (za vse iteracije ekstrapolacij skega algoritma) m =4 (vrednost parametra m za vse iteracije ekstrapolacij skega algoritma) L =25 V (vrednost nivoja pri metodi določevanja frekvence) Število iteracij ekstrapolacij skega algoritma: 4 Skupaj period pri izračunu stacionarnega stanja z ekstrapolacijsko metodo: 16 period 5.2. IZRAČUN STACIONARNEGA STANJA 105 v(1) ^Nj .-~v /~\ 'V i- -J / \ j \ i \ i \ l J T i \ 7 i 1 Z J L A f r r _. < nl jI it / i X t X L t 3 f" f i j \ Jl 7 C / 1 L J / t j r 7 r t i t j t i ' 4 J 11 t Z 1 7 1 L 1 , f ' ' i j t- 4 ' 4 L J J J 4 / CZ U ' J \ J i. ^ 0 g-------i---^ 15 ""^26-= = ^" 25 30 *--------y 35 t[us] Slika 5.29. Odziv oscilatorja z uporabo ekstrapolacijskega algoritma Nizkošumni ojačevalnik Opazovani izhodni signal: i>(3) Osnovna frekvenca: 1 GHz Izbrana natančnost: 5r = 10~4, 5a 10~4 Tranzientna analiza Stacionarni odziv dosežen pri: t >100 ns Zgornja vrednost ovojnice signala pri t =100 ns je 1,569 V Določitev časovne konstante na podlagi amplitude pri 6r: 1,569 V ¦ (1 — e-6) =1,565 V Amplituda 1,565 V je dosežena pri t =20,1 ns (Slika 5.30) 6r =20,1 ns t =3,35 ns Sr = 10"4 Čas simulacije za zahtevano relativno natančnost: t >30,9 ns Število period: 30,9 ns- 1 GHz «31 period Čas izračuna stacionarnega stanja: 0,4 s. _ Ekstrapolacijski algoritem 106 5. TESTIRANJE METODE NA REALNIH PRIMERIH VEZIJ v(3) /"* ^ 1 ^ Z L. _7__$_ -Z-L _,L_L <__\_ / * * /i ./_]_ _[_!_ _,: _L _;____L .: -i— —/-:_ -i____:_ .1____'- l_ 4- -t -L- -Z- -L- .L -L- 4_ _r_ _i_ _L _v_ _: 4- :. .: ]_ j. t -j- 4- 4_ _j_ _h _! :_ _i_ :_ 4_ _/_ 4_ _/_ 4_ _L -u- i 4_ 4 _t_ _L _(_ __ _[_ 4_ _]_ 4_ _/_ _l_ _[_ _, t t _r _i_ _r 4_ _: 4_ i :. _[ }_ h— 4- —i- 4- —i- 4_ _j_ _^ _i ]_ _]_ ]_ _t 4_ _!_ 4_ _/_ _. _/_ _h _/_ ! _[ _\_ _L _[_ _: 4- _: _h__,_ ]___j. -t -j- 4___j. 4-J- _l__i_ :___/_ ]___/_ \ / \ / l / L / ^^ V/1 \ / K j 18 18.5 19 19.5 20 20.V 21 21.V t[ns] Slika 5.30. Odziv nizkošumnega ojacˇevalnika pri cˇasu 6? Vrednosti parametrov: tdel =0 (za vse iteracije ekstrapolacijskega algoritma) m =2 (vrednost parametra m za vse iteracije ekstrapolacijskega algoritma) v(3) r^ yN, /'^ •"n, 7\_ ti t v t v A -i A -i A -t \ / / / 4 -j 3 H 3 H4 r- 14- 1 \ 1. r t t rc t c 4 ^ A hI ^ I ! j1 Jl j 1 r- J r- 7 4- 4 r r t r cr t I r V t i t I L I L I L I t tr t it A -! A -. A -, i 1 1 1 ^ 1 L. I L I L I t t t t A f A -T A A -, ^ i 1 1 i/ r / r; \ i \ \ i 7 'i 7 r / c / ^~ / 0.5N^/ 1 1.5^/ 2 2.5^/ 3 t[ns] Slika 5.31. Odziv nizkošumnega ojacˇevalnika z uporabo ekstrapolacijskega algoritma Število iteracij ekstrapolacijskega algoritma: 14 Skupaj period pri izracˇunu stacionarnega stanja z ekstrapolacijsko metodo: 28 period 5.2. IZRAČUN STACIONARNEGA STANJA 107 Mešalnik Opazovani izhodni signal: f(31) Osnovna frekvenca: 80 MHz Izbrana natančnost: 5r = 10~6, 5a =2,1 -10-6 Tranzientna analiza v(31)[mV] B ju ji B i t A c P d t n f P P itti P t 0 t t p ' t p p j L * L j P * M A i IN i A , i i -A PP C t * t t t lD ii / ' L l I t. D E tt v v »i tt s a t Ji . t J B lt . rh * * t # D A t- ' pr fl ' A s 1 PP t vi -- ' 1 ¦« Pfl t * t " ¦» ¦ ph ^ y i ft ti- t1 ¦ K________t___________L..1______L.P__________CC________t___________t-. D L , A ti- t" lu L j L - s PB PP t t i PP PP- PP Al t * t PP -A hR- PP A ' i A t P" ID Ph * ' i ld , i. , r ». A t PR M A t Al t M - f f- H t t « f U i A fl A « \ ht A E tP ^ ^ rr ' -2 P' - P' t p t I lil t t t I 1 ^ V' hD , i ' P P i L , Vi t P P ' Vi P t D t t P t t D L t i U G t t B tu l U • JL 6.67 6 675» 6.68 6 685 "" 6.69 6 695 6.7"» t[us] Slika 5.32. Odziv mešalnika pri času 3r Stacionarni odziv dosežen pri: t >20 /is Zgornja vrednost ovojnice signala pri t =20 /is je 3,58 mV. Določitev časovne konstante na podlagi amplirude pri 3r: 3,58 mV ¦ (1 — e-3) =3,40 mV Amplituda 3,40 mV je dosežena pri t =6,695 /is (Slika 5.32) 3r =6,695 /is t =2,232 /is Sr = 10"6 Čas simulacije za zahtevano relativno natančnost: t >30,84 /is Število period: 30,84 /is- 80 MHz ~ 2.467 period Čas izračuna stacionarnega stanja: 500 s. Ekstrapolacijski algoritem 108 5. TESTIRANJE METODE NA REALNIH PRIMERIH VEZIJ Vrednosti parametrov: tdel =0 (za vse iteracije ekstrapolacijskega algoritma) m =14 (vrednost parametra m za vse iteracije ekstrapolacijskega algoritma) v(31)[mV] — fl-fl— -t-l-t— —fl-fl- -<--»— —P-f— / fl ...f.p... fl A Al 1 A (i f ' 1 M A _____ ____________ ,1 ,____________ ' ____________, [ , i i HA i fl 'i A N i i i iL____ Ji . _________ ______________« . _________ 1 i A i L ' l A iii , l « vi J i,. U L « h • .[_.!..!.[ . A _:._!__?_[_ A L. _[__ v Li _[._ _[__ y L ..,-tfc- —t-— .L."___I-IU— -,-[]- _[_._ _[_____!_[ . _[__«_ .L. _:! _[_.«_ .L. * —I--B- .[.. • J__n_ -tC— t___l___ —:..Q.........tO.........t........ .t..........D.........tD.........t-. 0 rp ji f "i t: p ji r .__[, _[__!_ .J.J — -tt — _____ .L.I. 1 _._ch_ _[__,_ _[__ __p_ _j_tp_ ____.. .L. :_. M A t u i A P v i i , .L... .[..L M , h A , i A 1 . Al A 1 i A A V i i A M fl A V Ni "Mi M J" ' ' T- V i » _______ 1 1 M _________ t- — ' 1 1 —t-- ' I , , 1 i 1 i i v .izt.c.t. .t.p.r.i. I i i J L , M i i I 1 - -t-8- t[ns] Slika 5.33. Odziv mešalnika z uporabo ekstrapolacijskega algoritma Število iteracij ekstrapolacijskega algoritma: 20 Skupaj period pri izracˇunu stacionarnega stanja z ekstrapolacijsko metodo: 280 period 5.3 Primerjava računske zahtevnosti Primerjava računske zahtevnosti za izračun stacionarnega stanja z direktno tranzientno analizo in z uporabo ekstrapolacij skega algoritma je bila podana že v prejšnih poglavjih (Poglavje 5.2). Na tem mestu bomo zbrali podatke o številu period, ki jih je treba simulirati, da vezje doseže stacionarno stanje. Pri obeh postopkih je bila uporabljana ista natančnost izračuna (6r), da lahko rezultate med seboj primerjamo. Poudariti je treba, da v tej primerjavi računske zahtevnosti ni upoštevan čas izračuna samega ekstrapolacij skega algoritma, temveč samo čas izračuna tranzientne analize oz. števila period. Čas izračuna ekstrapolacij skega algoritmaje zanemarljiv v primerjavi s časom, kije potreben za izračun tranzientne analize. Zaradi tega so faktorji, ki predstavljajo pospešitev direktne tranzientne analize, nekoliko večji od dejanskih, kjer bi upoštevali še čas izračuna ekstrapolacij skega algoritma. 5.3. PRIMERJAVA RACUNSKE ZAHTEVNOSTI 109 V Tabeli 5.1 so zbrani podatki o številu period za deset testnih vezij. Prikazana je primerjava med direktno tranzientno analizo in metodo izracˇuna stacionarnega stanja z uporabo ekstrapolacijskega algoritma. Razmerje števila period je enako faktorju pospešitve. Vezje 6r Število period faktor pospešitve tranzientna analiza ekstrapolacijski algoritem Vezj e 1: Frekvencˇni množilnik 5 • 10-3 23 13 1,77 Vezje 2: Nelinearno usmerniško vezje RC 5 • 10-4 40 16,1 2,48 Vezje 3: Napetostni množilnik 5•10-6 90 30,1 2,99 Vezje 4: Ozkopasovni filter 10-5 496 24 20,7 Vezje 5: Superozkopasovni filter s kvarcom 5 • 10-4 48.332 54 895 Vezje 6: Preklopni napajalnik 10-7 15.300 30 510 Vezje 7: Greinacherjev usmernik 10-6 73.800 312 237 Vezje 8: Oscilator 10-4 34 16 2,13 Vezje 9: Nizkošumni ojacˇevalnik 10-4 31 28 1,11 Vezje 10: Mešalnik 10-6 2.467 280 8,81 Tabela 5.1. Primerjava racˇunske zahtevnosti za testna vezja Iz Tabele 5.1 je razvidno, da je število period, ki jih vezja potrebujejo za dosego stacionarnega stanja pri direktni tranzientni analizi, razporejeno v vecˇ velikostnih razredih (od 23 do 73.800 period). Število period pri ekstrapolacijskem algoritmu je razporejeno v obmocˇju nekaj 10 do nekaj 100 period. Posledica tega je, da je ekstrapolacijski algoritem najbolj ucˇin-kovit za vezja, pri katerih je število period pri direktni tranzientni analizi veliko (vezje 7) in najmanj ucˇinkovito pri vezjih, pri katerih izracˇun stacionarnega stanja s tranzientno analizo ne traja dolgo (vezje 9 in vezje 1). Pri vseh testnih vezjih je z uporabo ekstrapolacijske metode dosežena pospešitev izracˇuna stacionarnega stanja vezja, pri nekaterih vezjih celo vecˇkratna. Ti rezultati potrjujejo upravi-cˇenost izbire ekstrapolacijske metode pri izracˇunu stacionarnega stanja kot tudi njeno implementacijo s programski paket SPICE OPUS. Metoda se je izkazala za uspešno pri vseh testnih vezjih, zato z veliko verjetnostjo pricˇakujemo uporabnost metode tudi na mnogih drugih vezjih, pri katerih izracˇun stacionarnega stanja traja dolgo. Iz opisanih rezultatov je razvidno, da ni dosežena samo pospešitev izracˇuna stacionarnega 110 5. TESTIRANJE METODE NA REALNIH PRIMERIH VEZIJ stanja električnih vezij, temveč je dosežen tudi glavni namen doktorske disertacije - pospešitev postopka optimizacije električnih vezij, kjer je potreben izračun stacionarnega stanja. Če je znotraj optimizacijskega postopka zahtevan izračun samo stacionarnega stanja, smo z uporabo ekstrapolacijskega postopka pri izračunu stacionarnega stanja pospešili izračun optimizacije za isti faktor kot je pospešen sam izračun stacionarnega stanja. Primer optimizacije testnega vezja bo opisan na Poglavju 5.5. 5.4 Tocnost izracˇuna Iz Slik 5.14 do 5.33 in iz podatkov o stacionarnem stanju pri dovolj velikih časih, kjer vsi prehodni pojavi izzvenijo, je razvidno, da sta izračuna stacionarnega stanja po obeh metodah (direktna tranzientna analiza in izračun stacionarnega stanj a z uporabo ekstrapolacij ske metode) enaka v okviru natančnosti simulatorja oz. modelov elementov. Razlike se gibljejo v območju nekaj desetink ali stotink odstotka, kar je že v mejah natančnosti simulatorja. Zato bi bilo pri obeh metodah nesmiselno pričakovati popolnoma enake rezultate. Same razlike v rezultatih izvirajo tudi iz narave izračuna stacionarnega stanja vezja pri ekstrapolacij ski metodi. V primerjavi z direktno tranzientno analizo, kjer izračun poteka tako kot zagon vezja v realnosti, pa pri ekstrapolacij ski metodi vezje analiziramo samo delček časa, nato pa ustrezno nastavimo začetno stanje vezja in ponovno poženemo tranzientno analizo. Pri tem postopku, kjer vezje postavimo v neko nenaravno stanje, lahko vnesemo določene spremembe oz. napake, ki pa se skozi ekstapolacijski postopek ohranijo oz. akumulirajo in iz katerih tudi izvirajo odstopanja v primerjavi z direktno tranzientno analizo. V Tabeli 5.2 so zbrani podatki iz Poglavja 5.2. Podatki prikazujejo primerjavo zgornje vrednosti ovojnice opazovanega signala za testna vezja pri izračunu stacionarnega stanja z direktno tranzientno analizo in pri uporabi ekstapolacij skega algoritma. Izračunana je tudi relativna razlika med tema dvema vrednostima, ki je izražena v odstotkih. Točnost izračuna stacionarnega stanja z ekstrapolacijskim algoritmom v primerjavi z direktno tranzientno analizo, oz. relativna razlika se za izbrana testna vezja giblje od 0 % (izračun z uporabo ekstrapolacij skega algoritma je enak izračunu z direktno tranzientno analizo) do 0,97 %. Razlike so tako pozitivne kot negativne, povprečna relativna razlika preko vseh vezij paje 0,17 %. 5.5. OPTIMIZACIJA 111 Vezje Zgornja vrednost ovojnice opazovanega signala relativna razlika tranzientna analiza ekstrapolacijski algoritem Vezj e 1: Frekvencˇni množilnik 0,4962 V (@t = 10 /is) 0,501 V +0,97 % Vezje 2: Nelinearno usmerniško vezje RC 6,537 V (@t = 1 s) 6,528 V -0,14 % Vezje 3: Napetostni množilnik 1256 V (@t = 10 s) 1268 V +0,96 % Vezje 4: Ozkopasovni filter 1,344 V (@t = 10 /is) 1,341 V -0,22 % Vezje 5: Superozkopasovni filter s kvarcom 3,78 V (@t = 2s) 3,79 V +0,26 % Vezje 6: Preklopni napajalnik 6,7848 V (@t = 100 ms) 6,7848 V 0,00 % Vezje 7: Greinacherjev usmernik 1,6248 V (@t = 100 /is) 1,6248 V 0,00 % Vezje 8: Oscilator 55,4 V (@t = 2 ms) 55,5 V +0,18 % Vezje 9: Nizkošumni ojacˇevalnik 1,569 V (@t = 100 ns) 1,568 V -0,06 % Vezje 10: Mešalnik 3,58 mV (@t = 20 /is) 3,57 mV -0,28 % Tabela 5.2. Primerjava tocˇnosti izracˇuna stacionarnega stanja za testna vezja 5.5 Optimizacija Za dodatno potrditev uporabnosti metode izracˇuna stacionarnega stanja z ekstrapolacijskim postopkom smo izvedli optimizacijo testnega vezja 7 (dvostopenjski Greinacherjev usmernik [72], ki se uporablja pri sistemih za prenos energije z mikrovalovi [73, 74, 75]) na Sliki 5.10. Razlog za izbiro tega vezja je bil, da vezje potrebuje najvecˇje število period za izracˇun stacionarnega stanja z direktno tranzientno analizo (73.800 period). Ocenjen cˇas optimizacije za nekaj ti-socˇ iteracij optimizacijskega postopka z direktno tranzientno analizo se giblje (za povprecˇno zmogljiv racˇunalnik) med nekaj deset in nekaj sto dnevi, kar je za sorazmerno enostavno vezje nesprejemljivo dolgo. Vezje je sestavljeno iz diod, ki so modelirane z MOS tranzistorji. Pri optimizaciji izbranega testnega vezja bomo spreminjali dimenzije integriranih MOS tranzistorjev in kapacitivnosti kondenzatorjev. Optimizacijski parametri so podani v Tabeli 5.3 Optimizacijski parametri so omejeni z eksplicitnimi omejitvami, ki so podane v Tabeli 5.4. Zacˇetne vrednosti parametrov so dolocˇene glede na tehnolgijo, ki jo uporabljamo (0,18 µm TSMC) in glede na zahteve, ki jih mora imeti vezje (velika enosmerna komponenta, majhna valovitost izhodnega signala). S temi vrednostmi, ki so rezultat rocˇne optimizacije nacˇrtovalca, 112 5. TESTIRANJE METODE NA REALNIH PRIMERIH VEZIJ Parameter 0 (p0) Širina tranzistorjev, modeliranih z diodama D11 in D12 (stopnja 1) Parameter 1 (pi) Širina tranzistorjev, modeliranih z diodama D21 in D22 (stopnja 1) Parameter 2 (p2) Širina tranzistorjev, modeliranih z diodama D11 in D12 (stopnja 2) Parameter 3 (p3) Širina tranzistorjev, modeliranih z diodama D21 in D22 (stopnja 2) Parameter 4 (J94) Kapacitivnosti vseh kondenzatorjev (stopnja 1 in 2) Tabela 5.3. Optimizacijski parametri za testno vezje 7 (dvostopenjski Greinacherjev usmernik) vezje karseda najbolje izpolnjuje zgoraj omenjene zahteve. Optimizacijski parameter Zacˇetna vrednost Minimalna vrednost Maksimalna vrednost korak parametra Po 10 /im 0,22 /xm 100 /xm 0,18 /xm Pi 10 /im 0,22 /im 100 /im 0,18 /im P2 8 /xm 0,22 /xm 100 /xm 0,18 //m P3 8 /xm 0,22 /xm 100 /xm 0,18 /im P4 100 pF 10 pF 300 pF 10 pF Tabela 5.4. Eksplicitne omejitve optimizacijskih parametrov (zacˇetne, minimalne, maksimalne vrednosti in korak) Avtomatska optimizacija je potekala na podlagi optimizacij skih zahtev, ki so bile definirane preko meritev vezja [77, 78, 79, 80]. Zahtevana je bila dolocˇena enosmerna izhodna napetost in omejenost valovitosti pri bremenu na izhodu in brez njega. Na osnovi meritev vezja, zahtev za posamezno meritev, uteži in norme meritve je bila na podlagi enacˇb (2.14) in (2.15) tvorjena kriterijska funkcija, za katero postopek optimizacije poišcˇe minimalno vrednost na dolocˇenem obmocˇju. Naklon kompromisnega podrocˇja kt,i je bil enak 0 za vse meritve (i = 1, 2, 3, 4). Naklon kazenskega obmocˇja kPti je pa dolocˇen kot razmerje med utežjo in normo posamezne meritve. V Tabeli 5.5 so zbrane meritve vezja, zahteve, uteži, norme za meritve in nakloni kazenskih podrocˇij. Meritvi 1 in 2 sta bili izvedeni pri bremenu (kot je prikazano na Sliki 5.10). Pri meritvah 3 in 4 je bilo breme (tokovni vir Iioad) odstranjeno (Iioad = 0). Meritve so definirane z enacˇbami (5.1)-(5.4). VDC_load =\k f (V0UT2(t) ~ V0UTl(t))dt\ (5.1) 5.5. OPTIMIZACIJA 113 Številka meritve (i) meritev (mi) zahteva utež norma naklon kazenskega podrocˇja (kPyi) 1 Vdc_oad > 2 V 3 1 V 3 V~l 2 Vnpple_oad < 250 /iV 1 100 /iV 10-4y-l 3 Vdc_noload > 3 V 1 1 V 1 F"1 4 Vnpple_noload < 140 /iV 1 100 //V 10-4y-l Tabela 5.5. Meritve, ki so bile izvedene na testnemu vezju max [(UouT2(t) - vOUTi(t))]iload=w»A - min [(t;OUT2(t) - vOUTi(t))]iload=w»A T Vdc_noload T [4 [ (vOUT2(t) - V0UTl(t))dt\ (5.2) (5.3) KipP*e_noW = max [(t;ot/T2(i) - vOuTi(t))]iload=0 - min [(^^(t) - vOuTi(t))]iload=0 (5.4) T T V meritvah uporabljeni integrali, maksimalne vrednosti in minimalne vrednosti so izracˇunane na intervalu dolžine T = 417 ps, kolikor znaša perioda vhodnega signala oz. napetostnega vira Vs. Z opisano postavitvijo optimizacije smo v 2964 iteracijah optimizacijske zanke dosegli povprecˇno 16% izboljšanje meritev glede na zacˇetne vrednosti. Tabela 5.6 prikazuje vrednosti meritev pred in po optimizaciji, Tabela 5.7 pa vrednosti parametrov po optimizaciji. Meritev pred optimizacijo po optimizaciji izboljšanje nii 1,624 V 1,794 V 10,5 % 777-2 326,0 /iV 249,9 /iV 23,3 % 777-3 2,670 V 2,911 V 9,0 % 7774 176,5 V 138,8 /iV 21,3 % Tabela 5.6. Vrednosti meritev pred in po optimizaciji Iz Tabel 5.5 in 5.6 je razvidno, da zahtevi za meritvi 1 in 3 sicer nista bili izpolnjeni, kljub temu pa sta se vrednosti teh dveh meritev izboljšali za 10,5 % in 9,0 %. Zaradi tega vrednost _ _ _ 114 5. TESTIRANJE METODENAREALNIH PRIMERIH VEZIJ kriterijske funkcije na koncu ni bila 0 (to bi se zgodilo v primeru, cˇe bi bile izpolnjene zahteve vseh meritev), ampak je imela vrednost 0,6792. Parameter vrednost Po 16,60 /im Pl 21,10 /im P2 27,76 /im Ps 26,68 /xm Pa 300 pF Tabela 5.7. Vrednosti parametrov po optimizaciji Opisana optimizacija je na racˇunalniku AMD Athlon XP 2500+ (1,83 GHz) s 512 MB RAM-a trajala 3 ure in 10 minut. V Poglavju 5.3 je bilo pokazano, da smo z uporabo ekstrapola-cijskega algoritma za izbrano testno vezje dosegli 237-kratno pospešitev izracˇuna stacionarnega stanja. Iz teh podatkov in podatkov o cˇasu optimizacije sledi, da bi optimizacija, kjer bi izvajali direktno tranzientno analizo, trajala približno 31 dni oz. 1 mesec, kar je nesprejemljivo dolgo. Z uporabo hitrejšega racˇnalnika oz. vecˇ racˇunalnikov hkrati bi sicer lahko ta cˇas skrajšali, vendar lahko izracˇun stacionarnega stanja in s tem tudi optimizacijskega postopka pospešimo že z uporabo ekstrapolacijskih metod, ki so bile predstavljene v prejšnjih poglavjih. 6 Zakljucˇek V doktorski disertaciji smo obravnavali izračun stacionarnega stanja električnih vezij z uporabo programskega paketa SPICE OPUS. Predstavljena je bila direktna metoda izračuna stacionarnega stanja, kjer izvajamo običajno tranzientno analizo toliko časa, dokler vsi prehodni pojavi ne izzvenijo. Prikazani so bili problemi, ki pri takem izračunu določenih vezij nastanejo in zaradi katerih izračun stacionarnega stanja traja nesprejemljivo dolgo. V nadaljevanju so bile opisane metode, s pomočjo katerih lahko izračunamo stacionarno stanje električnih vezij veliko hitreje, ne da bi bilo potrebno vezje analizirati preko celotnega časovnega intervala. Izmed možnih rešitev je bila izbrana metoda, ki uporablja ekstrapolacij ske postopke. Za potrditev primernosti smo metodo najprej simulirali s pomočjo klicev programskega orodja SPICE OPUS iz zunanjega programa in obdelave tako dobljenih rezultatov. Kot najbolj primeren seje izkazal algoritem epsilon, ki je bil nato implementiran v programski paket SPICE OPUS kot nova analiza, imenovana ssse (Steady-State Shooting by Extrapo-lation). Učinkovitost analize izračuna stacionarnega stanja je bila potrjena na desetih realnih primerih vezij. Pri vseh testnih vezjih seje izračun stacionarnega stanja pospešil, pri nekaterih tudi do več stokrat. Rezultati, ki so bili dobljeni po obeh postopkih (algoritem epsilon in tranzientna analiza), so v okviru natančnosti modelov elementov ekvivalentno enaki. Dodatno smo učinkovitost metode pokazali še pri optimizaciji testnega vezja, ki bi z uporabo direktne tranzientne analize trajala en mesec, z uporabo analize ssse pa dobimo rezultat optimizacije v nekaj več kot treh urah, kar predstavlja 237-kratno pospešitev. Dodatna prednost analize ssse pred izračunom stacionarnega stanja z direktno tranzientno analizo je tudi v tem, da pri slednji vnaprej ne vemo, kdaj naj zaključimo izračun oz. kako dolg naj bo časovni interval, preko katerega naj tranzientna analiza poteka. Pri izračunu si želimo le določene absolutne in relativne natančnosti. Če smo ti dve natančnosti dosegli, moramo 116 6. ZAKLJUČEK preveriti po zakljucˇku izvajanja tranzientne analize in v nasprotnem primeru podaljšati cˇas tran-zientne analize. Prednost analite ssse pa je v tem, da vnaprej nastavimo željeno relativno in absolutno natancˇnost izracˇuna stacionarnega stanja, nakar sam algoritem analize poskrbi, da se ustavi, ko je zahtevana natancˇnost dosežena. 6.1. IZVIRNI PRISPEVKI K ZNANOSTI 117 6.1 Izvirni prispevki k znanosti Doktorska disertacija vsebuje naslednje samostojne in izvirne prispevke k znanosti: 1. Analiza zahtevnosti izracˇuna stacionarnega stanja elektricˇnih vezij z obstojecˇim programskim paketom SPICE. 2. Izbor primernih metod za hiter izracˇun stacionarnega stanja elektricˇnih vezij in simulacija njihove primernosti za optimizacijske algoritme. 3. Implementacija ustreznega algoritma za izracˇun stacionarnega stanja elektricˇnega vezja v obstojecˇ programski paket SPICE in potrditev ucˇinkovitosti na realnih primerih. V Poglavju 2.3 je predstavljena zahtevnost izracˇuna stacionarnega stanja elektricˇnih vezij z uporabo direktne tranzientne analize programskega paketa SPICE. Predstavljeni so tudi primeri, pri katerih je izracˇun stacionarnega stanja dolgotrajen. Poglavje 4.3 opisuje metode, s pomocˇjo katerih lahko stacionarno stanje izracˇunamo mnogo hitreje kot z direktno tranzientno analizo. Izbrane metode so v Poglavju 4.2 simulirane, s cˇemer potrdimo njihovo primernost za uporabo pri optimizacijskih algoritmih. V Poglavju 4.3 je na podlagi treh kriterijev izbrana najprimernejša metoda, ki je bila implementirana v programski paket SPICE (Poglavje 4.4). Ucˇinkovitost implementirane metode je v Poglavju 5 potrjena na vecˇ realnih primerih vezij. Spodaj je navedeno objavljeno delo, s katerim sem si pridobil pravico za neposredni prehod na doktorski študij: WAGNER Borut, BÜRMEN Arpad, PUHAN Janez, FAJFAR Iztok, TUMA Tadej, Computing the steady-state response of nonlinear circuits by means of the ?-algorithm, Elek-troteh. vestn., 2005, letn. 72, št. 5, str. 297-302, [COBISS.SI-ID 5120596] Spodnji cˇlanek je bil objavljen v reviji s faktorjem vpliva po SCI in vsebuje del rezultatov raziskav, ki so obravnavane v tej doktorski disertaciji. WAGNER Borut, BÜRMEN Arpad, PUHAN Janez, Tomažicˇ Sašo, TUMA, Tadej, Application of extrapolation algorithms in nonlinear circuit simulation and optimization 118 6. ZAKLJUČEK with SPICE OPUS, Informacije MIDEM, 2006, letn. 36, št. 3, str. 140-147, [COBISS.SI-ID 5674580] 7 Priloge Članek ERK 2004: [45] B. Wagner, J. Puhan, Á. Burmen, I. Fajfar, T. Tuma, Simulacija in optimizacija analognih električnih vezij s pomočjo ravnotežne hormonske analize, Zbornik trinajste mednarodne Elektrotehniške in racˇunalniške konference ERK 2004, 27. - 29. september 2004, Portorož, Slovenija. Ljubljana, zv. A, str. 29-32. Članek ERK 2005: [81] B. Wagner, Á. Burmen, J. Puhan, I. Fajfar, T. Tuma, Uporaba ekstrapolacijskih metod pri računanju stacionarnega stanja električnih vezij, Zbornik štirinajste mednarodne Elektrotehniške in racˇunalniške konference ERK 2005, 26. - 28. september 2005, Portorož, Slovenija. Ljubljana, zv. A, str. 82-85. Članek EV 2005: [82] B. Wagner, Á. Burmen, J. Puhan, I. Fajfar, T. Tuma, Computing the steady-state response of nonlinear circuits by means ofthe e-algorithm, Elektroteh. vestn., 2005, vol. 72, no. 5, str. 297-302. Članek Midem 2006: [83] B. Wagner, Á. Burmen, J. Puhan, S. Tomažicˇ, T. Tuma, Application of extrapolation algorithms in nonlinear circuit simulation and optimization with SPICE OPUS, Informacije MIDEM, 2006, letn. 36, št. 3, str. 140-147. Članek ERK 2006: [84] B. Wagner, Á. Burmen, J. Puhan, S. Tomažicˇ, T. Tuma, Optimizacija dvostopenjskega 120 7. PRILOGE Greinacherjevega polnovalnega usmernika, Zbornik petnajste mednarodne Elektrotehniške in racˇunalniške konference ERK 2006, 25. – 27. september 2006, Portorož, Slovenija. Ljubljana, zv. A, str. 96–99. 7.1. ČLANEK ERK 2004 121 7.1 Članek ERK 2004 Simulacija in optimizacija analognih električnih vezij s pomočjo ravnotežne harmonske analize Borut Wagner, Janez Puhan, Arpad Biirmen, Iztok Fajfar in Tadej Turna Fakulteta za elektrotehniko Univerza v Ljubljani Tržaška 25, 1000 Ljubljana, Slovenija borut. wagner@fe. uni-lj. si Simulation and Optimization of Analog Circuits Using Harmonic Balance Analvsis This paper presents Harmonic Balance analvsis simulation technique of nonlinear analog circuits [1, 2, 3]. It is used for circuits where steadv-state response is required. The method nas many advantages for circuits which require considerable time to reach the steadv-state (resonant circuits, oscillators...). Algorithm is coded in Nutmeg (interpreter designed as a user interface for SPICE [4], but it has ali properties of a programming language). Transient analvsis is performed in SPICE OPUS [5], nonlinear analog circuit simulator. Harmonic balance analvsis is demonstrated on a simple circuit. Results are compared with transient analvsis. This method can be used for optimization of nonlinear analog circuits [6, 7]. 1. Uvod Simulacija analognih elektronskih vezij je računsko dokaj zahteven postopek. Pri določenih vezjih nas pogosto zanima, kakšen je odziv vezja v stacionarnem stanju, ko prehodni pojavi izzvenijo. Zato moramo simulirati delovanje vezja včasih tudi preko nekaj 100 ali celo 1000 period, da prehodni pojav popolnoma izzveni, če želimo tako vezje optimizirati, t.j. poiskati vrednosti določenih parametrov tako, da bo najbolje izpolnjevalo načrtovalske zahteve, moramo vezje simulirati velikokrat z različnimi vrednostmi optimizacijskih parametrov, kar občutno upočasni celoten računski postopek. Da dobimo rezultate v doglednem času, bi morali uporabiti zmogljiv računalnik ali uporabiti paralelno procesiranje [8]. Za nelinearna elektronska vezja, za katera nas ne zanima prehodni pojav, ki jih vzbujamo s periodičnim signalom in od katerih pričakujemo periodični odziv, lahko za izračun odziva v stacionarnem stanju uporabimo metodo ravnotežne harmonske analize [1]. Metoda izkazuje prednosti pred tranzientno analizo predvsem za vezja, ki imajo veliko kvaliteto Q. Da bi izračunali stacionarni odziv teh vezij, bi morali simulirati vezje preko 100 ali celo nekaj 1000 period, da bi prehodni pojav izzvenel, za kar bi porabili dosti časa. Pri ravnotežni harmonski analizi dobimo odziv vezja v stacionarnem stanju dosti prej, kar pomeni, da bo tudi morebitni postopek optimizacije, ki ga bomo izvajali na tem vezju, precej hitrejši. Pri metodi ravnotežne harmonske analize vezje razdelimo na nelinearen in linearen del. Linearni del vezja rešujemo v frekvenčnem prostoru, nelinearni pa v časovnem, tako da simuliramo nekaj osnovnih period signala odziva. S pomočjo Fourierjeve transformacije dobimo frekvenčne komponente napetosti in tokov na vozliščih med nelinearnim in linearnim delom vezja. Na teh vozliščih uporabimo napetostni in tokovni Kirchhoffov zakon in s pomočjo iteracijske metode dosežemo, da so tokovi posameznih frekvenčnih komponent iz enega dela vezja v drug del enaki (od tod ime ravnotežna harmonska analiza). 2. Ravnotežna harmonska analiza Pogosto nas za določena vezja zanima stacionarni odziv, ko prehodni pojavi popolnoma izzvenijo. Za vezja, ki jih vzbujamo s harmoničnimi signali, lahko s pomočjo ravnotežne harmonske analize do tega rezultata pridemo hitreje, kot če bi vezje simulirali s tranzientno analizo. Da bi prehodni pojav izzvenel, bi morali vezje simulirati preko nekaj 100 ali 1000 period, za kar bi porabili precej časa. Nelinearno analogno vezje razdelimo na nelinearno in linearno podvezje, ki sta med seboj spojeni v n vozliščih (slika 1). NELINEARNO PODVEZJE V\„ '*' 1:-' V-, < •----5»—- LINEARNO PODVEZJE Slika 1: Razdelitev vezja na nelinearni in linearni del. Signale, ki so prisotni v vezju, predstavimo v obliki Fourierjeve vrste (1) x(t)= ^ Al; cos(cokt) + Bk sin( cokt), (D pri čemer so koeficienti Ak in Bk Fourierjevi koeficienti, ki pripadajo frekvencam Uk. L2 je množica frekvenc, ki jih vsebujejo signali v vezju. 122 7. PRILOGE Vezje vzbujamo s harmoničnimi viri. Zaradi nelinearnosti je odziv vezja v splošnem linearna kombinacija vseh večkratnikov vseh harmoničnih nihanj, s katerimi vezje vzbujamo. Tako dobimo množico frekvenc Q, ki nastopajo v odzivu vezja. Pri določanju odziva na podlagi ravnotežne harmonske analize je v množici Q končno število frekvenc. Ker bi morala ta množica vsebovati neskončno mnogo frekvenc, naredimo pri izračunu napako, kar pomeni, da enačba (5) v nadaljevanju ni popolnoma izpolnjena. Za izbiro množice Q na podlagi signala vzbujanja lahko uporabimo različne načine izbire frekvenc, ki jih upoštevamo pri določevanju odziva vezja [1]. Linearni del vezja analiziramo v frekvenčnem prostoru. Iz vozliščnih napetosti VL (slika 1) s pomočjo topologije vezja in lastnosti elementov izračunamo tokove IL, ki tečejo v linearni del vezja [9]. Napetosti na vozliščih nelinearnega podvezja VN najprej s pomočjo inverzne Fourierjeve transformacije pretvorimo v časovni prostor yN(t)=F->{VN} (2) Potem s tranzientno analizo na podlagi vzbujanja vN(t) izračunamo tokove v nelinearni del vezja iN(t), ki jih potem s Fourierjevo transformacijo pretvorimo nazaj v frekvenčni prostor I„ =F{iN(t)} Na vozliščih med nelinearnim in linearnim delom uporabimo napetostni Kirchhoffov zakon (3) najprej V =v (4) Cilj metode harmoničnega ravnovesja je poiskati napetosti med nelinearnim in linearnim delom vezja, pri katerih bodo tokovi, ki tečejo in enega dela v drug del vezja, enaki (5) (tokovni Kirchhoffov zakon). Glej sliko 1. h=-lN pri čemer predstavlja indeks / zaporedno iteracijo. Matrika J je Jacobijeva matrika J = oE/oU. 3. Testno vezje Za demonstracijo delovanja ravnotežne harmonske analize smo izbrali enostavno vezje (slika 2). i 6VI iCl 100 nF Rl 1 k (5) Slika 2: Testno vezje. Vezje smo simulirali v časovnem prostoru s programskim orodjem za simulacijo analognih elektronskih vezij SPICE OPUS [5]. Metodo harmoničnega ravnovesja smo implementirali v programskem jeziku Nutmeg, ki je del programa SPICE OPUS. Na sliki 6 je prikazan odziv vezja na podlagi tranzientne analize in s pomočjo ravnotežne harmonske analize. Vezje na sliki 2 vzbujamo v vozlišču 1 z napetostnim virom V,(0 = lV + lVsin(27l-lMHz-1). Za vezje želimo izračunati odziv v vozlišču 2, torej V2(t) . Odločimo se, da bomo opazovali enosmerno komponento, osnovno frekvenčno komponento in osem višje harmonskih komponent, torej bo množica Q v enačbi (1) podana v obliki Ker smo vzeli končno število frekvenčnih komponent, funkcija napake E (6) nikoli ne more biti enaka 0. Zato smo z iteracijo (7) končali, ko je bila izpolnjena neenačba E < 10 . Definirajmo funkcijo napake, ki je enaka vsoti tokov, ki za posamezno vozlišče tečejo v nelinearni in linearni del vezja: V = 1L+1N (6) Funkcijo napake E je treba z iteracijskim algoritmom minimizirati, tj. doseči, da bo E=0. Tedaj bo zaradi (5) izpolnjen še tokovni Kirchhoffov zakon in vezje bo v ravnovesju. Funkcijo napake lahko minimiziramo z Newtonovo iteracijsko metodo V{' = v (O [j"t (7) V večini vezij, ki jih simuliramo, so skoraj vsi elementi nelinearni. Zato smo tudi za to testno vezje modificirali metodo ravnotežne harmonske analize. Celotno vezje, ki ga simuliramo (slika 2), smo proglasili za nelinearno podvezje, v vozlišče 2, v katerem želimo izračunati odziv, pa dodamo linearno podvezje, ki je prikazano na sliki 3. Če bi imelo vezje na sliki 2 več vozlišč, v katerih bi želeli izračunati odziv, bi morali v vsako vozlišče dodati tako linearno vezje. 7.1. ČLANEK ERK 2004 123 124 7. PRILOGE delovanja metode ravnotežne harmonske analize, saj dobimo stacionarni odziv že po nekaj 10 periodah. vezju, primerjali odziv s tranzientno analizo in preučili možnost uporabe te metode pri optimizaciji. Vo^ 2 46-006 2.66-006 2 36-006 36-006 Slika 7: Razlika odzivov vezja, dobljenih z ravnotežno hormonsko analizo in s tranzientno analizo. 4. Optimizacija analognih elektronskih vezij Opisano metodo lahko uporabimo pri optimizaciji analognih elektronskih vezij [7, 8], kjer moramo vezje, ki ga želimo optimizirati, velikokrat simulirati. Tako lahko celoten postopek optimizacije traja tudi več dni. V vsaki simulaciji spreminjamo določene parametre vezja (vrednosti elementov vezja...), dokler vezje ne izpolnjuje zahtev načrtovalca. Z uporabo metode ravnotežne harmonske analize se lahko optimizacija vezja občutno skrajša. 5. Izbira inačice ravnotežne harmonske analize Zaradi enostavne implementacije v Nutmegu je bila uporabljena osnovna metoda ravnotežne harmonske analize [1, 2, 3, 11]. Iteracijski postopek (7) je bil izveden s pomočjo blokovne Newtonove metode [12] (iteracija za vsako frekvenčno komponento posebej). Druge različice metode ravnotežne harmonske analize se razlikujejo po tem, na kakšen način izvedemo pretvorbo iz časovnega v frekvenčni prostor [13, 14], na kakšen način predstavimo nelinearnost nelinearnih elementov [15, 16]. Izbira ustrezne različice je odvisna od tega, ali želimo metodo ravnotežne harmonske analize vgraditi v obstoječi simulator. Pri tem moramo upoštevati njegove lastnosti in način delovanja, saj vse različice niso enako ugodne za implementacijo. Drugače je, če načrtujemo nov simulator vezij, v katerega bomo vgradili metodo ravnotežne harmonske analize. V tem primeru bomo simulator v osnovi načrtovali tako, da bomo lahko implementirali različico, kije najbolj učinkovita. Za implementacijo v SPICE OPUS je ugodna tudi uporaba ti. shooting metode v kombinaciji ekstrapolacijsko metodo [1, 10]. 6. Zaključek V članku smo predstavili ravnotežno harmonsko analizo, ki smo jo uporabili kot metodo za analizo analognih električnih vezij. Metoda je uporabna, če nas zanima odziv vezja v stacionarnem stanju. Ravnotežna harmonska analiza ima prednosti pred tranzientno analizo za vezja, katera bi morali simulirati dolgo časa, da bi prišla v stacionarno stanje (resonančna vezja, oscilatorji...). Prikazali smo delovanje metode na enostavnem 7. Viri [I] Kenneth S. Kundert. Jacob K. White and Alberto Sangiovanni-Vincentelli, Steadv-state methods for simulating analog and micvowave circuits, Kluwer Academic Publishers, 1990 [2] Michael S. Nakhla and .liri Vlach, A Piecewise Harmonic Bcdunce Teehniaue for Determinution of Periodic Response of Nonlineav Svstems, IEEE Transactions on Circuit and Systems, Vol. CAS-23, No. 2, February 1976, pp. 85-91 [3] Vittorio Rizzoli and Andrea Neri, State of the Art aru/ Preselit Treruls in Nonlineav Micvowave CAD Technicjues, 1EE Transactions on Micimvave Theory and Techniques, Vol. 36, No. 2, February 1988, pp. 343-365 [4] T. Quarles, A. R. Newton, D. O. Pederson, A. Sangiovanni- Vincentelli, SP/CE3 Version 3)4 User's Manual, University of California, Berkeley, California, 1989 [5] http://www.te.uni-li.si/spice/ [6] J. Puhan. T. Turna. Optimization of analog circuits with SPICE 3)4, ProceedingsoffheECCTD'97,vol. l.pp. 177-180. 1997 [7] J. Puhan. T.Turna. 1. Fajtar, Optimisation Methods in SPICE, a Cornparison, Proceedings of the ECCTD'99. vol. 1. pp. 1279- 1282. 1999 [8] Arpad Burmen, Iztok Fajtar, Janez Puhan. Andrej Nussdorfer, Tadej Turna. Optimizacija elektronskih vezij z vzporednim omejenim simpleksnim postopkom. Elektrotehniški vestnik 69(1); 7-12. Ljubljana. 2002 [9] T. Turna and F. Bratkovič. A General Approach to Circuit Eijuations, The International Journal of Circuit Theory and Applications. Vol. 22. pp. 43 1^145. 1994 [10] Stig Skelboe, Computation o) the Periodic Steadv-State Response of Nonlineav Nehvovk bv Extrapolation Methods, IEEE Transactions on Circuits and Systems, Vol. CAS-27, No. 3, March 1980, pp. 161-175 [II] Vittorio Rizzoli, Claudio Cechetti, Alessandro Lipparini and Franco Mastri, General-Purpose Harmonic Balance Analvsis of Nonlineav Microwave Circuits Uruler Multitone Excitation, IEEE Transactions on Micimvave Theory and Techniques, Vol. 36, No. 12, December 1988, pp. 1650-1660 [12] Chao-Ren Chang, Patrick L. Heron and Michael B. Steer, Harmonic Balance and Fvecjuencv-Domain Simulation of Nonlineav Microwave Circuits Using the Block Newton Method, IEEE Transactions on Microwave Theory and Techniques, Vol. 38. No. 4. April 1990. pp. 43 1-434 [13] Patrick L. Heron and Michael B. Steer. Jacobian Calculation Using the Multidimensional Fast Fourier Tvansjovmation in the Harmonic Balance Analvsis of Nonlineav Civcuits, IEEE Transcations on Microwave Theory and Techniques. Vol. 38. No. 4. April 1990. pp. 429-431 [14] Akio Ushida and Leon O. Chua. Fvequency-Domain Analvsis on Nonlineav Civcuits Dviven by Multi-Tone Signals, IEEE Transactions on Circuits and Svstems, Vol. CAS-31. No. 9. September 1984 [15] George W. Rhyne. Michael B. Steer and Bevan D. Bates. Fvequency-Domain Nonlineav Civcuit Analvsis Using Genevalized Powev Sevies, IEEE Transactions on Micimvave Theory and Techniques, Vol. 36, No. 2, Februarv 1988, pp. 379-387 [16] Janne Roos, Fvequency-domain analvsis of nonlineav civcuits using Chebvshev polvnomials, Master's Thesis, Helsinki Universitvof Technologv, Februarv 22, 1994 8. Zahvala Raziskave je sofinanciralo Ministrstvo za šolstvo znanost in šport (MŠZŠ) Republike Slovenije v okviru programa P2-0246 -Algoritmi in optimizacij ski postopki v telekomunikacijah. 7.2. ČLANEK ERK 2005 125 7.2 Članek ERK 2005 Uporaba ekstrapolacijskih metod pri računanju stacionarnega stanja električnih vezij Borut Wagner, Arpad Biirmen, Janez Puhan, Iztok Fajfar in Tadej Turna Fakulteta za elektrotehniko Univerza v Ljubljani Tržaška cesta 25, SI-1000 Ljubljana, Slovenija borut.wagner@fe.uni-lj.si Abstract Application of extrapolation methods for steady-state computation of electrical circuits The paper presents four eztrapolation methods: ep-silon, rho, theta and topological epsilon algorithm. The methods are used for accelerated computation of the steady-state response of circuits that rnust be si-mulated for hundreds or even thousands of periods before they reach the steady-state. A brief description ofthe methods is given upon mhich implementation details are discussed. The algorithms are tested on two circuits. The computation tirne re-auired by the direct approach is compared to the tirne required by the extrapolation methods. The results show that the eztrapolation methods are appropriate for the rapid evaluation of the steady-state response of circuits excited by a single periodic signal. 1 Uvod Računanje stacionarnega stanja električnih vezij je lahko v določenih primerih zelo dolgotrajno, npr. pri oscilatorjih, ozkopasovnih sitih in ojačevalnikih, preklopnih napajalnikih itd. Električno vezje je treba simulirati tudi več 1000 period, da se prehodni pojavi iznihajo in da vezje doseže stacionarno stanje. Za pospešitev izračuna stacionarnega stanja vezja v časovnem prostoru so na voljo različne ekstrapola-cijske metode [1, 2, 3, 4], s katerimi lahko tudi do nekajkrat pospešimo izračun. V članku predstavljamo štiri ekstrapolacijske metode, ki so primerne za uporabo skupaj s simulatorjem električnih vezij SPICE OPUS [5, 6, 7]. Metode smo preizkusili na dveh vzorčnih vezjih. Prikazana je primerjava števila period za izračun stacionarnega stanja pri direktni metodi (običajna tranzientna analiza) in pri uporabi ekstrapolacijskih metod. 2 Ekstrapolacijske metode Za pospešitev izračuna stacionarnega stanja vezja lahko uporabimo različne ekstrapolacijske metode. V članku smo uporabili štiri metode: epsilon algoritem [2], rho algoritem [4], theta algoritem [4] in topološki epsilon algoritem [3]. Pri izračunu stacionarnega stanja vezij s pomočjo teh metod vezje simuliramo prek manjšega števila period. Iz stanja vezja (vozliščne napetosti, vejski tokovi) nato izračunamo začetno stanje za novo simulacijo. Na kakšen način se izračuna novo začetno stanje, je odvisno od izbrane ekstrapolacijske metode. Nelinearno električno vezje opišemo s sistemom navadnih diferencialnih enačb i(t)=f(x(t),t). (1) Pri reševanju upoštevamo začetno stanje x0(0). Vektor x(L) predstavlja vozliščne napetosti in vejske tokove vezja. Rezultat simulacije vezja je x(L), t > 0. Iz odziva vezja x(t) izberemo tiste x(t), ki ustrezajo x(n'> =x(tdei + nT), 0,1,2,3,.. (2) pri čemer je T osnovna perioda signalov v vezju, tdel pa zakasnitev za določitev X(°). Z uporabo ekstrapolacijskih metod iz x) fc-i («) 4*-i + y/(y>A4*)) = o, n e N ne N0 n, fc e N0 » (n) (n) 4k+2 = €2k + Ae2k /(Ae2k > Ae2*+l) ", fc G N0 (8) Pri sodih indeksih fc računamo inverz vektorja glede na Ae^\ pri lihih pa glede na y, ki je za vse n pri določenem k enak in je lahko poljuben z omejitvijo, da vsi 4;+! obstajajo. Uporaba metod s paketom SPICE programskim Opisane ekstrapolacij ske metode smo preizkusili s simulatorjem električnih vezij SPICE OPUS [5, 6, 7]. Program najprej požene nekaj period simulacije vezja brez začetnega stanja oz. z x0 = 0. Nato določi vrednosti x<") (en. (2)) in iz njih z uporabo ekstrapola-cijskega algoritma izračuna novo začetno stanje x0 za naslednjo iteracijo oz. za naslednjo simulacijo vezja. Postopek je zaključen, ko je izpolnjen absolutni in relativni konvergenčni pogoj \xi(tsim) - Xi(tsim - T)\ < <5a + max [\xi(tsim)\ , \x,(t.„m - T)\] 5r (9) za vse komponente x% vektorja x. Pri tem je tslm čas simulacije vezja, 5a in 5r pa absolutna in relativna natančnost, ki ju želimo pri izračunu stacionarnega stanja. Iteracijski postopek je prikazan na sliki 1. 4 Primerjava metod Opisane ekstrapolacijske algoritme smo preizkusili na dveh vzorčnih vezjih: ozkopasovnem situ in preklopnem napajalniku. Električni shemi vezij vidimo na slikah 2 in 4. Kvaliteta ozkopasovnega filtra je Q = 100, reso-nančna frekvenca pa 1MHz. Vhod v vezje je v vozlišču 1, izhod v vozlišču 5. Na vhodu v vezje je sinusni generator s frekvenco 1MHz in amplitudo ImV. Odziv vezja v stacionarnem stanju je prikazan na sliki 3. Na vhod v vozlišče 1 preklopnega napajalnika je priključen enosmerni napetostni vir z napetostjo 20F. Na vrata tranzistorja Ml je priključen generator pravokotnih napetostnih pulzov z enosmerno komponento WV in amplitudo WV. Izhod vezja je v vozlišču 4, kamor je priključeno še breme z upornostjo x 3 7.2. ČLANEK ERK 2005 127 Stacionarno stanje doseženo Slika 1: Iteracijski postopek za izraˇcun stacionarnega stanja elektriˇcnega vezja z ekstrapolacijskimi metodami Vin 1mV/1MHz lOOpF El ideal C1 R5 Rl lOOpF 2*1 59k lk Slika 2: Ozkopasovno sito lfcn. Odziv preklopnega napajalnika v stacionarnem stanju je prikazan na sliki 5. Vezji smo najprej simulirali z običajno tranzientno analizo. Za dosego stacionarnega stanja je bilo potrebno simulirati Ntran period vhodnega signala. Nato smo izračunali stacionarno stanje obeli vezij še z epsilon, rho, tlieta in topološkim epsilon algoritmom. Skupno število period, potrebnih za dosego stacionarnega stanja, je označeno z Ne, Np, N# in Ntea- Pri ozkopasovnem situ sta bili izbrani vrednosti parametrov 5a = 1(T7 in 5r = lC-6, pri preklopnem napajalniku pa 5a = 1C-6 in 5r = 1(T7. Rezultati so prikazani v tabeli 1. Pri vseh opisanih ekstrapolacijskih algoritmih je treba nastaviti še določene parametre, od katerih je odvisna hitrost konvergence in s tem število period simulacije vezja. Njihov opis in pomen je opisan v [8]. Vrednosti parametrov so podane v tabeli 2. 0.5 0 / -0.5 \ - Slika 3: Stacionarni odziv ozkopasovnega sita (vozlišče v5{t)) Ll 10 uH Rload lk ^ + \Vdc K-JlOV Slika 4: Preklopni napajalnik Iz rezultatov v tabeli 1 je razvidno, da je za izračun stacionarnega stanja potrebno mnogo manj period simulacije vezja, če uporabljamo ekstrapola-cijske metode, kot če vezje simuliramo z običajno tranzientno analizo toliko časa, da dosežemo stacionarno stanje. Faktor pohitritve izračuna stacionarnega stanja, ki je določen kot razmerje med številom period pri tranzientni analizi in pri ekstrapo-lacijski metodi, je za obe vezji in vse opisane ekstra-polacijske metode večji od 50, kar je zelo uporabno pri računalniškem načrtovanju vezij in pri optimizaciji [9], kjer je treba vezje velikokrat simulirati. Od preizkušenih ekstrapolacijskih metod sta za uporabljeni vzorčni vezji najhitrejša epsilon in Slika 5: Stacionarni odziv preklopnega napajalnika (vozlišče v4(t)) R3 59k C2 R4 : 3 5 59k R2 4 1 999k 128 7. PRILOGE Ozkopasovno sito Preklopni napajalnik Ntran 10.000 10.000 N, 12 24 Np 94 30 N# 182,25 75,7 Ntea 12 24 Tabela 1: Primerjava števila period, ki jih potrebujemo, da dosežemo stacionarno stanje za obe vzorčni vezji pri običajni tranzientni analizi in pri uporabi ekstrapolacijskih metod (epsilon, rho, theta algoritem in topološki epsilon algotitem-TEA) Ozkopasovni filter Preklopni napajalnik Algoritem e/p/tf/TEA e/p/tf/TEA tdel 1/1/0,25/1 per. 0/0/0,4/0 per. tdelSec 1/1/10/1 per. 0/0/0,3/0 per. NumPointMin 4/4/6/4 6/6/6/6 NumPointMax 16/16/6/16 6/6/6/6 PointStep 2/2/3/2 2/2/3/2 PeriodsPerPoint 1/1/1/1 1/1/1/1 MaxFreq FGHz 500 MHz Frequency 1 MHz 1 MHz Tabela 2: Vrednosti parametrov ekstrapolacijskih algoritmov, glej [8] topoloˇski epsilon algoritem. Hitrost konvergence posameznega algoritma je zelo odvisna od tipa vezja in hitrosti konvergence njegovega odziva. Vsak eks-trapolacijski algoritem je prilagojen za nek tip konvergence. 5 Zaključek Računanje stacionarnega odziva električnega vezja lahko pospešimo z uporabo ekstrapolacijskih metod, ki na podlagi nekaj period odziva vezja določijo začetno stanje vezja za naslednjo simulacijo. Postopek ponavljamo, dokler vezje ne doseže stacionarnega stanja. V članku so bile predstavljene štiri ekstrapolacijske metode: epsilon, rho, theta in topološki epsilon algoritem. Algoritmi so bili preizkušeni na dveh vzorčnih vezjih. Z uporabo ekstrapolacijskih algoritmov se je izračun stacionarnega stanja skrajšal za več desetkrat v primerjavi z običajno tranzientno analizo. 6 Zahvala Raziskave je sofinancirala Agencija za raziskovalno dejavnost v okviru programa P2-0246 - Algoritmi in optimizacijski postopki v telekomunikacijah. Literatura [1] K. S. Kundert, J. K. White, A. Sangiovanni-Vincentelli, “Stead-g-state rnethods for simulation analog and microuiave circuits”, Kluwer Academic Publishers, 1990. [2] S. Skelboe, “Computation of the Periodic Steadv-State Response of Nonlinear Networks by Extra-polation Methods”, IEEE Transactions on Circuits and Systems, vol. CAS-27, no. 3, pp. 161-175, Marec 1980. [3] A. Sidi, W. F. Ford, D. A. Smith, “Acceleration of Convergence of Vector Sequences”, SIAM Journal on Numencal Anahjsis, vol. 23, no. 1, pp. 178-196, Februar 1986. [4] E. J. Weniger, “Nonlinear Sequence Transforma-tions: Computational Tools for the Acceleration of Convergenc and the Summantion of Divergent Se-ries”, URL: http://arxiv.org/pdf/math.CA/0107080 [5] T. Quarles, A. R. Newton, D. O. Pederson, A. Sangiovanni-Vincentelli, “SPICE3 Version 3f4 User’s Manual” , University of California, Berke-ley, California, 1989. [6] SPICE OPUS circuit simulator homepage: URL: http://www.fe.uni-lj.si/spice/ Faculty of Electrical Engineering, Electronic Design Automation Laboratory: URL: http://www.fe.uni-lj.si/edalab/ [7] J. Puhan, T. Turna, I. Fajfar, “SPICE for Win-dows 95/98/NT”, Electrotechnical Review, vol. 65, no. 5, pp. 267-271, Ljubljana, Slovenija, 1998. [8] B. Wagner, A. Biirmen, J. Puhan, I. Fajfar, T. Turna, “Computing the steady-state response of nonlinear circuits by means of e-algorithm” Elektrotehniški vestnik, vol. 72 (2):??-??, Ljubljana, Slovenija, 2005. [9] J. Puhan, T. Turna, “Optimization of analog circuits with SPICE 3f4”, Proceedmgs of the ECCTD ’97, vol. 1, pp. 177-180, 1997. 7.3. ČLANEK EV 2005 129 7.3 Članek EV 2005 Elektrotehniški vestnih XX(Y): 1-6, YEAR Electrotechmcal Revieiu, Ljubljana, Slovenija Computing the steady-state response of nonlinear circuits by means of the e-algorithm Borut Wagner, Arpad Biirmen, Janez Puhan, Iztok Fajfar and Tadej Turna University of Ljubljana, Faculty of Electrical Engineering, Tržaška cesta 25, SI-1000 Ljubljana, Slovenia E-mail: borut.wagner@fe.uni-lj.si Abstract. The paper presents the problem of computing the steady-state response of electronic circuits. The direct approach to obtaining the steady-state response (transient analysis) necessitates a considerable amount of tirne. The process of obtaining the steady-state response through transient analysis can be accelerated by using extrapolation methods. The e-algorithm is the most appropriate extrapolation algorithm for implementation in the SPICE OPUS circuit simulator developed at the Faculty of Electrical Engineering of the University of Ljubljana. A short description of the algorithm is given upon which implementation details are discussed. The algorithm is tested on two circuits. The computation tirne needed by the direct approach is compared to the tirne needed by the e-algorithm. The results show that the e-algorithm is appropriate for the rapid evaluation of the steady-state response of circuits excited by a single periodic signal. Finaly, directions for future research are given. Key words: steady-state response, nonlinear circuits, epsilon algorithm, circuit simulation, SPICE Računanje stacionarnega odziva nelinearnih vezij z e-algoritmom Povzetek. V članku je predstavljen problem računanja stacionarnega odziva nelinearnih elektronskih vezij s pomočjo časovne (tranzientne) analize, ki lahko za določena vezja traja zelo dolgo. Tranzientno analizo se da pospešiti s pomočjo ekstrapolacijskih metod. e-algoritem je najprimernejši za vgradnjo v simulator vezij SPICE OPUS, ki ga razvijamo na Fakulteti za elektrotehniko v Ljubljani. Opisana sta princip delovanja e-algoritma in izvedba analize za določanje stacionarnega stanja na podlagi analize v časovnem prostoru (tranzientne analize). Algoritem je bil testiran na dveh testnih vezjih. Vezji sta bili simulirani s tranzientno analizo in s pospešeno tranzientno anlizo. Primerjava časov, ki so bili potrebni za izračun stacionarnega odziva, kaže, da je e-algoritem zelo primeren za vezja, ki so vzbujana z enim signalnim virom. Na koncu članka so podane smernice za nadaljnje raziskave na tem področju. Ključne besede: stacionarni odziv, nelinearna vezja, algoritem epsilon, simulacija vezij, SPICE 1 Introduction Computing the steady-state response of a nonlinear electrical circuit is usually much tirne and computer Received 2. February, 2005 Accepted 20. October, 2005 power consuming, especialb/ for circuits with tirne constants much larger than the period of the steady-state response. A direct approach to computing the steady-state response necessitates running a transient analysis until ali initial transients die off. A problem occurs when the period of the steady-state response is much smaller than the largest tirne constant of the circuit. Such circuits must be si-mulated for hundreds or even thousands of periods before they reach the steady-state. To obtain suffi-cient accuracy, a hundred or more tirne points must be evaluated per period of the response. Therefore, the simulation often takes several milijon tirne points before steady-state is reached. Several techniques exist that speed up the computation of the steady-state response [1, 2, 3, 4, 5]. The main difference between them is the domain in which the analysis is performed (frequency domain, tirne domain, mixed tirne-frequency domain). Due to its simplicity and the fact that it doesn’t require any major changes in the simulator, the most appropriate algorithm for implementation in SPICE OPUS [6, 7, 8] is the 6-algorithm [3, 9, 10, 11]. Origi-nally the e-algorithm was developed for accelerating the convergence of series. In the sections that follow, a quick overwiev of 130 7. PRILOGE IVagner, Burmen, Puhan, Fajfar and Turna the problem of obtaining the steady-state response is given followed by an introduction to the 6-algorithm. The implementation details of the 6-algorithm are discussed with emphasis on the parameters that de-termine its performance. The algorithm is tested on two circuits and its performance is compared to the performance of the direct approach. In the end, con-clusions are given and directions for the future re-search are discussed. 2 Circuit simulation with SPICE Nonlinear dynamical electrical circuits can be de-scribed by a system of ordinary differential equations i(i)=/(x(t),() (!) where x(t) represents branch voltages, node voltages and branch currents. In transient analysis, Eq. (1) is solved starting from the initial value x0(t0). Result-ing waveforms are represented by x(t) for t0 oo) and s T for ali 0 < t the period of the steady-state response is T. A circuit is simulated for a finite number of periods T, so Eq. (3) is not exactly satisfied. We can assume that the steady state has been reached when relative and absoulte tolerance criteria \xi(tn) - xi(tn-1)\ < 5a+max[\xi(tn)\ ,\xi(tn-1)\]5r (4) for ali i = 1,2,...,rn, and n large enough are satisfied. In practice, it is sufficient if 5r and 5a are less than l(rB and l(r4, respectively, but greater than preci-sion of data representation (e.g. relative and absolute precision of double is l(r14 and 10-320, respectively). Relative and absolute criteria (Eq. (4)) can also be used when the steady-state response of a circuit is sought by means of the 6-algorithm. The steady-state response is important in the analysis of power conversion circuits and in evalu-ation of nonlinear properties of narrow-band circuits excited by a single frequency. 4 e-algorithm Suppose that the circuit has a steady-state response with period T. So the sequence x« =x(t0+t + iT), 1 0,1, (5) converges for ali 0 < t < T. Now form a two-dimensional array depicted in Fig. 1 where the following equations represent the re-lationships of individual array entries for some value of t fc-l (*) f A = = 0, x(») 4+i = ^j-^ + (4*+1) 3 I j = 1,2,3,.. i = 0,1, 2,.. i = 0,1, 2,.. j = 0,1,2,... (6) 2 7.3. ČLANEK EV 2005 131 Computing the steady-state response of nonlinear circuits by means of the e-algorithm A1) A2) (3) M) A°'> A1) J2) (3) M) A°) Ar> A2) A3) t = 0,so t0 is always 0. The algorithm is depicted in Fig. 2. (°) Ar> A2) A°'> A1) A°'> Figure 1. Twodimension array for the e-algorithm The procedure described by Eq. (6), is the so-called 6-algorithm [3, 9, 10, 11]. If the inverse of the vector in Eq. (6) is taken component-wise v-^K-1,^1,...,«-1), (7) the scalar 6-algorithm is obtained. If however v-^v/llvll^, (8) (6) represents the vector 6-algorithm. Here only the vector 6-algorithm will be discussed. By means of the 6-algorithm the convergence of the sequence in Eq. (5) can be accelerated [3, 9, 10, 11]. Consecutive sequences {ef}™0, j = 2,4,6,... converge faster than the original sequence {e^}Ll0. The greater the value of j the faster the sequence converges. In one iteration of the 6-algorithm a circuit is si-mulated for i = 2fe periods. Then e^ is obtained using Eq. (6) and represents the initial condition for the next iteration of the 6-algorithm. 5 SPICE OPUS and the e-algorithm The 6-algorithm was tested in combination with the SPICE OPUS circuit simulator [7]. The circuit is first simulated for several periods. Results of the simulation are then interpreted by an external program which extracts the state of the circuit x«(^) at U = to+t + iT, i = 0,1, 2,..., n for selected t. These values represent {fi^ILo- Next i^}?^, j = 2,4,6,... using Eq. (6) is obainted. The last cal- culated e-value el0) represents new initial conditions x0(t0) for simulating the circuit in the next iteration of the 6-algorithm. The simulation is started at tirne Figure 2. e-algorithm for determing the steady-state response The speed of convergence depends on the following parameters. Parameter freguencv The parameter frequency represents the base fre-quency of the response of the circuit (T = l/frequency). The frequency depends on the fre-quency of the input signal. In čase of autonomous circuits (e.g. oscillators), the frequency should be determined from the response of the circuit. If the circuit is not in its steady state yet, the frequency can change in every iteration of the 6-algorithm. Parameters tdel and tdelSec Parameters tdel and tdelSec represent t, t > 0. t = tdel in the first iteration of the 6-algorithm and t = tdelSec for the remaining iterations. Normally, tdel (and tdelSec) should be 0. For cases, where the response of the circuit includes some initial rapidly decreasing transients, tdel (or/and tdelSec) can be set to a non zero value to speed up the convergence. Parameters NurnPmntsMin, NumPointsMax and PointsStev Values of x« are extracted from the response of the circuit. The number of x« (i = 0,1, 2,..., imax) that enter into the 6-algorithm can be set with parameters NumPointsMin and NumPointsMax. For the first iteration of the 6-algorithm, imax = NumPointsMin is used. In next iterations, imax is increased by PointsStep until imax = NumPointsMax is reached. Parameter PeriodsPerPoint 3 132 7. PRILOGE Wagner, Burmen, Puhan, Fajfar and Turna If differences between x« and x(i+1) are very small, performing the 6-algorithm with Eq. (6) could re-sult in a large numerical error. In such cases, the tirne between x« and x(i+1) can be multiplied by PeriodsPerPoint = 1, 2, 3,4,... . With this multi-plication we practically increased the period T in Eq. (5) so the differences between x« and x(i+1) become larger. Parameter FreciMax When a circuit is simulated with SPICE OPUS, an appropriate initial tirne step tA has to be chosen to get sufficiently accurate results for the 6-algorithm. At least 100 points must be evaluated within one period T, so tA < T/100. tA is calculated from FreqMax: tA = 1/(2 • FreqMax). Parameters EvsStovAbsTol and EvsStovRelTol Iterations of 6-algorithm are stopped when the stopping criterion (Eq. (4)) is satisfied (6a = EpsStopAbsTol and 6r = EpsStopRelTol). Parameter Maxlters If the stopping criterion (Eq. (4)) can’t be satisfied (bad choice of parameters), the 6-algorithm is stopped when the number of iterations exceeds Maxlters. Determing the above described parameters is very important for fast obtaining the steady-state re-sponse. If the choice of parameters is inappropriate, the steady state can’t be reached by the algorithm and one ends up with wrong results. In practice, parameters should be modified until the steady-state response is reached in a few iterations of the 6-algorithm. If the circuit is being opti-mized, parameters need to be determined only once and can remain unchanged for the rest of the opti-mization. The optimal parameter values are similar for similar circuits. Therefore, the parameter values can be set depending on the type of the circuit and its characteristics. r Vin \y/ 311V/50HF C I 10 ^r Figure 3. Test circuit 1 (voltage multiplier) at node 1. If the circuit is simulated for a sufficient amount of time, the response in Fig. 4 is obtained. 99.96 99.965 99.97 99.975 99.98 99.985 99.99 99.995 100 Figure 4. Steady-state response (v1(t)) of the voltage multiplier Narrow-band filter Circuit in Fig. 5 is a narrow-band filter with quality Q = 100 and resonant frequency 1 MHz. 1.59k Vin 1mV/1MHz lOOpF E" ideal R2 C1 R5 R lOOpF 2*1.59k Ik 6 Test circuits Efficiency of the 6-algorithm was tested with two test circuits. For both circuits, the tirne required for calculating the steady-state response by means of 6-algorithm is substantiality smaller than the tirne required by the direct approach. Voltage multiplier The first circuit is a voltage multiplier, Fig. 3. At the input of the circuit (between nodes 9 and 10), a sine voltage source with amplitude 311 V and fre-quency 50 Hz is connected. Output of the circuit is Figure 5. Test circuit 2 (narrow-band filter) The input of the circuit is at node 1 and the output at node 5. If a sine voltage source with the amplitude 1 mV and frequency 1 MHz is connected to the input, the steady-state response in Fig. 6 is obtained. 7 Comparison of the e-algorithm with the direct approach In this section, computation times needed for obtaining the steady-state response for the direct approach 4 Cl 21 C6 Y* onir 31 D2 D3 D4 ul-35 D6 lOk ohir C2 C5 Zi uF uF uF uF ^3 32 ^4 2 3 5 .59k 4 .999k 7.3. ČLANEK EV 2005 133 of nonlinear circuits by rneans of the e-algorithm 5 Gomputing the steady-state response 0.5 \ 1 1 0 / / /0.5 1 - Figure 6. Steady-state response (v5(t)) of the nar-row-band filter and the 6-algorithm are compared. Results are shown in Table 1. Transient analvsis (direct approach) The circuits were simulated from tirne t = 0 to t = tSS with initial tirne step t?. The number of periods simulated was NTRAN. e-algorithm (accelerated transient analvsis) Values for the parameters are listed in Table 1. Us-ing these parameter values, the steady-state response was reached after IITER iterations of the e-algorithm. The total number of periods simulated in the e-algorithm was NEPS. Parameter value Voltage multiplier Narrow-band filter t? 10 fj,s 0.5 ns tss 10 s 10 ms Ntran 5,000 10,000 tdel/tdelSec 2 ms j 0 ms 1 /iS / 1 /iS MaxFreq 50 kHz 1 GHz NumPointMin 4 4 NumPointMax 4 16 PointStep 2 2 PeriodsPerPoint 1 1 EpsStopAbsTol 5•10-5 10-7 EpsStopRelTol 5-10-6 10-7 Iiter 9 2 Neps 36.1 12 Cacc 139 833 Table 1. Comparison of the ?-algorithm and the direct approach By computing the steady-state response, the direct approach (transient analysis) was accelerated by factor Cacc = NTRAN/NEPS. The computation tirne required by the e-algorithm itself was not taken into consideration for being neglectable. 8 Application of the e-algorithm The e-algorithm can be used for RF circuits when the steady-state response is needed. If the circuit is being optimized (many simulations of the same circuit in an optimization loop), the faster computation of the steady-state response considerably shortens the optimization process. The 6-algorithm can also be applied to other areas of electrical engineering, e.g. telecommunications [14]. 9 Conclusion The 6-algorithm described in this paper proved successful in the computing of the steady-state response of electronic circuits. For the two test circuits, the steadv-state response was obtained in more than 100 times shorter tirne than with the direct approach. This achievement is very important when a circuit has to be simulated many times, e.g. in parametric optimization of a circuit. The main disadvantage of using the 6-algorithm is that some properties of the circuit must be known in advance in order to set the parameters of the 6-algorithm. When the parameters are set, they can remain unchanged for the remaining steadv-state simulations of the circuit. 10 Future work Future research will focus on testing the 6-algorithm with more circuits. Automatic parameter tuning in the 6-algorithm would help the user when characteristics of a circuit are unknown. Automatic parameter tuning will help determining parameters through several runs of the 6-algorithm with different values of parameters. The 6-algorithm will be implemented into the SPICE OPUS circuit simulator [7] as a new analysis for computing the steadv-state response of circuits. Other steadv-state evaluation techniques are also being considered [1, 2, 4, 5]. Currently, they are not quite appropriate for implementation in SPICE OPUS since some radical changes and additions are needed. Once different methods for computing the steadv-state response are implementated, a global steadv-state analysis will be included in SPICE OPUS that will switch between them automatically. 134 7. PRILOGE 11 References [1] K. S. Kundert, J. K. White, A. Sangiovanni-Vincentelli “Steady-state methods for simulation analog and microwave circuits”, Kluwer Academic Publishers, 1990. [2] K. S. Kundert, G. B. Sorkin, A. Sangiovanni- Vin-centelli, “Applying Harmonic Balance to Almost-Periodic Circuits”, IEEE Transactios on Microwave Theory and Techniques, vol. 36, no. 2, pp. 366-378, February 1988. [3] S. Skelboe, “Computation of the Periodic Steadv-State Response of Nonlinear Networks by Extra-polation Methods”, IEEE Transactions on Circuits and Systems, vol. CAS-27, no. 3, pp. 161-175, March 1980. [4] N. Soveiko, M. S. Nakhla, “Steady-State Analysis of Multitone Nonlinear Circuits in Wavelet Domain”, “IEEE Transactios on Micromave Theory and Tech-niques”, vol. 52, no. 3, pp. 785-797, March 2004. [5] Janne Roos, “Frequency-domain analgsis of nonlinear circuits using Chebyshev polynomials”, Mas-ter’s Thesis, Helsinki University of Technology, Feb-ruary 22, 1994. [6] T. Gjuarles, A. R. Newton, D. O. Pederson, A. Sangiovanni-Vincentelli, “SPICES Version Sf4 User’s Manual”, University of California, Berkeley, California, 1989. [7] SPICE OPUS circuit simulator homepage: URL: http://www.fe.uni-lj.si/spice/ Faculty of Electrical Engineering, Electronic Design Automation Laboratory: URL: http://www.fe.uni-lj.si/edalab/ . [8] J. Puhan, T. Turna, I. Fajfar, “SPICE for Windows 95/98/NT”, Electrotechnical Review, vol. 65, no. 5, pp. 267-271, Ljubljana, Slovenia, 1998. [9] J. A. Steele, A. T. Dolovich, “Toward the kernel of the vector epsilon algorithm”, International Journal for Numerical Methods in Engineering, vol. 48, no. 5, pp. 721-730, June 2000. [10] X. Gourdon, P. Sebah, Convergence acceleration of series, January 10, 2002, URL: http://numbers.computation.free.fr/ Constants/Miscellaneous/seriesacceleration.html . [11] A. Sidi, W. F. Ford, D. A. Smith, “Acceleration of Convergence of Vector Sequences”, SIAM Journal on Numerical Analgsis vol. 23, no. 1, pp. 178-196, February 1986. [12] G.AKorn, T. M.Korn, “Mathematical handbook for scientists and engineers”, McGraw-Hill Book Com-pany, 1961. [13] J. Puhan, T. Turna, “Optimization of analog circuits with SPICE 3f4”, Proceedings of the ECCTD’97, vol. 1, pp. 177-180, 1997. [14] S. Tomažič, “On optimality of quadrature ampli-tude modulation”, Proceedings of the International Conference on Advances in the Internet, Processing, Sgstems, and Interdisciplinarg Research, Sveti Štefan, Montenegro, IPSI, 2004, October 2-9, 2004. Borut Wagner received his B. Se. degree in Electrical Engineering in 2003 from the Faculty of Electrical Engineering of the University of Ljubljana, Slovenia, where he is employed as a member of the national young researcher scheme. He is currently working towards a Ph. D. degree at the Electronic Design Automation Laboratory at the same facultv. His research interests include steady-state analyses of nonlinear electrical circuits, circuit simulation and circuit optimization. Arpad Burmen received his B. Se. and Ph. D. de- grees in electrical engineering from the Faculty of Electrical Engineering, University of Ljubljana, Slovenia, in 1999 and 2003, respeetivelv. From 1999-2002 he worked as a junior researcher at the Faculty of Electrical Engineering. Since 2002 he has been a Teaching Assistant at the same facultv. His research interests include analog and mixed-mode simulation of circuits and systems, au-tomated design of analog circuits, optimization methods and their convergence and applications, and parallel dis-tributed algorithms. Janez Puhan received his B. Se, M. Se. and Ph. D. degrees in electrical engineering from the Faculty of Electrical Engineering, University of Ljubljana, Slovenia, in 1993, 1998 and 2000, respeetivelv. Since 1996 he has been with the same faculty where he is an Assistant Professor. His research interests include computer-aided design of analog circuits, optimisation methods, and computer-aided circuit analysis. Iztok Fajfar received his B. Se, M. Se. and Ph. D. degrees in electrical engineering from the Faculty of Electrical Engineering, University of Ljubljana, in 1991, 1994 and 1997, respeetivelv. Since 1992 he has been with the same faculty where he is currently an Associate Professor. He teaches several introductory and advanced courses in computer programming. His research interests include design and optimisation of electronic circuits. Tadej Turna received his B. Se, M. Se. and Ph. D. degrees from University of Ljubljana, Faculty of Electrical Engineering, in 1988, 1991, and 1995, respeetivelv. He is an Associate Professor at the same faculty where he teaches four undergraduate and three postgraduate courses. His research interests are mainly in the field of computer-aided circuit analysis and design. 12 Acknowledgment The research has been supported by the Ministry of Higher Education, Science and Technology of Repub-lic of the Slovenia within programme P2-0246 - Algorithms and optimization methods in telecommuni-cations. 7.4. ČLANEK MIDEM 2006 135 7.4 Članek Midem 2006 Application of extrapolation algorithms in nonlinear circuit simulation and optimization with SPICE OPUS Borut VVagner, Arpad Burmen, Janez Puhan, Sašo Tomažič, Tadej Turna University of Ljubljana, Faculty of Electrical Engineering, Tržaška cesta 25, Ljubljana, Slovenia Key vvords: extrapolation algorithms, circuit simulation, circuit optimization, integrated circuit design, SPICE. Abstract In this paper the extrapolation algorithms for vector sequence acceleration are presented. Four extrapolation algorithms are described and their application to circuit simulation is discussed. Steady state evaluation times are compared for the presented extrapolation algorithms and the direct method on real-world test circuits. Results show that the most appropriate extrapolation algorithm for evaluating the steady state of a circuit is the epsilon algorithm. The epsilon algorithm was implemented in SPICE OPUS circuit simulator. The implemented epsilon algorithm was used for optimizing the steady-state response of a test circuit. The accelerated evaluation makes the optimization of steady-state response possible. Uporaba ekstrapolacijskih postopkov pri simulaciji in optimizaciji nelinearnih vezij s programskim paketom SPICE OPUS Ključne besede: ekstrapolacijski postopki, simulacija električnih vezij, optimizacija električnih vezij, načrtovanje integriranih vezij, SPICE. Povzetek V članku so predstavljeni ekstrapolacijski postopki, ki se uporabljajo za pospeševanje konvergence zaporedij. Opisani so štirje postopki in njihov način uporabe pri simulaciji električnih vezij. Podana je primerjava časov za računanje stacionarnega stanja testnih električnih vezij brez in z uporabo ekstrapolacijskih postopkov. Za implementacijo v programski paket SPICE OPUS je bil izbran epsilon algoritem, ki se je izkazal za najbolj primernega. Postopek je bil uporabljen tudi pri optimizaciji testnega vezja. Zaradi hitrejšega izračuna samega stacionarnega stanja se je pohitril tudi celoten postopek optimizacije stacionarnega stanja in postal primeren za praktično uporabo. 1 Introduction Extrapolation algorithms for vector sequences /1,2,3,4/ are used for accelerating sequences that converge slowly. The limit of a sequence can be calculated efficiently by evaluating only a few terms of the sequence vvithout the explicit knovvledge of the sequence generator. Using an extrapolation algorithm and only few terms of the sequence, a new initial term of the sequence can be calculated. VVith the new initial term, further terms of the sequence are evaluated by the sequence generator. The procedure is iterated until the differences betvveen consequent terms of the sequence are small enough to assume that we are close to the limit of the seauence. 136 7. PRILOGE When computing the steady-state response /5/ of a nonlinear circuit ali signals in the circuit are assumed to have the same fundamental frequency / and the period T =l/f. The circuit is simulated starting at some initial condition until steady state is reached. Simulation results x(t), t\ 0 represent node voltages and branch currents of the circuit at tirne t. The sequence {x[l° =x(/T)}, /' =0,1,2,3... is convergent if the circuit has a steady-state response with period T. To accelerate the computation of steady state, the circuit is simulated for n periods and the extrapolation method is used on vectors x[l0),x[)1),x[l2),.-xo") to compute the new initial vector x1(0) . Then the circuit is simulated starting with initial conditions x1(0) and the new sequence j^0 =x(/T)}, i = 0,1,2,3... is extracted from the response of the circuit. This is repeated /f-times until Wf} - xf) is small enough to assume the circuit is in steady state. The paper is organized as follovvs. In Section 2 a brief description of four extrapolation algorithms (epsilon algorithm, rho algorithm, theta algorithm and topological epsilon algorithm) is given. In Section 3 the simulation of electrical circuits with SPICE OPUS is presented. Problems that occur when steady-state response of circuits has to be computed are presented. The acceleration of the steady-state response computation by means of extrapolation algorithms is described. In Section 4 simulation times for the test circuits (Greinacher rectifier, narrow-band filter, switching power supply) are compared for the direct approach (transient analysis until aH initial transients die off) and for the accelerated steady-state computation by means of extrapolation algorithms. Section 5 describes the implementation details of the selected extrapolation algorithm in SPICE OPUS. In Section 6, the implemented algorithm is used in the optimization of a test circuit. Section 7 concludes the paper. 2 Extrapolation algorithms Vector sequence fc°J, /=0,1,2,3... (1) is generated from the initial vector x[l0) using the sequence generator x[l'+1) =F(xjp) , i = 0,1,2,3... . If the sequence {40} is convergent, the limit of the sequence is denoted by x. An extrapolation algorithm E generates a new vector sequence {xf^}, k =0,1,2,3... with the follovving two steps 4°i =E(xf ,x«,x<2)...x^>) , k = 0,1,2,3... (2) and \f =F(xL-1)) , i =1,2,3...nk foreach k =0,1,2,3... . (3) The extrapolation algorithm generates the first term xf^ of a new sequence {x^},z =0,1,2... from the nk +1 terms of sequence {xf},/' =0,1,2...nk. For each k, nk +1 L J, d =dim(xf)) has to be satisfied. If nk +1 >d the extrapolation algorithm is overdetermined. 7.4. ČLANEK MIDEM 2006 137 The sequence ^fl}, k =0,1,2,3... generated by (2) and (3) converges faster than sequence (1) to the same limit x. In the following subsections four extrapolation algorithms are described: epsilon algorithm, rho algorithm, theta algorithm and topological epsilon algorithm. The algorithms differs only in the definition of E. 2.1 Epsilon algorithm For each k in (2) a two-dimension array depicted in Fig. 1 is formed by L ^0 / ^12 3 yi (43) L ^x / ^012 ji (4o) Ly+! =Ly.t} +(Ly"1} - S;0)"1 - * =0,1,2..% , j =0,1,2...nk - 1 where i +j +lLnk (4c) 8(0) L(1) L(0) pO) L(2) L(1) L} - 8<0) '0 L(2) P(%-!) P(«t) fc0 Figure 1: Two-dimension array for the epsilon algorithm The procedure described by (4), is the so-called epsilon algorithm /1/. The inverse of the vector in (4c) is computed as X ——-------- (v) x If nk is an even number, L^0) is the result of the epsilon algorithm, so the extrapolation function (2) is defined as E(xf,x«x<2)...x^) =L(« . (6) 2.2 Rho algorithm The rho algorithm /1/ is similar to the epsilon algorithm. For each k in (2) nk has to be even. The result is p(„0) obtained from 138 7. PRILOGE o ^0 z ^12 3 » (1a) Po =xl > i ~^-\->2..nk (7b) p« =p^) +(_/ +l)[p P4^l J f^J" ¦ (8d) ž =0,1,2..% , j =0,1,2...*- 1 vvhere z +2/ +2L»* The abbreviations in (8c) and (8d) are Vjf =jw - jf (8e) &Jf =DJJ*> - DJf (8f) and the inverses in (8c) and (8d) are calculated by (5). For each k and even nk the theta algorithm extrapolation function E is defined as E(xf ,x(p,xf\..x(kni)) =J^ (9) 2.4 Topological epsilon algorithm If the inverse of a vector x is defined as X —-.----- , (10) (y, x) the inverse is the so-called inverse of vector x with respect to y. In the topological epsilon algorithm the inverses in odd and even terms are computed with respect to different vectors. For each interation k of the extrapolation algorithm, the topological epsilon algorithm /1/ is defined by Lq —xj , i =0,1,2..it, (11 b) s,-.« =4!H1 +------rr , i =0,1,2..n, , j =0,1,2... - 1 vvhere /+2/'+lL», (11 C) 2J* 2J'1 (y,De«) k 2 J k L,¦+, =L,;r h------,.., ',., , i =0,1,2..n, , j =0,1,2... - 1 vvhere z +2/+2L», (11 d) 21+2 2] (Ds«,Ds«+1) k J 2 J k Inverses in the odd terms (11c) are computed with respect to an arbitrary y such that aH terms zfj+l exist. Inverses in (11d) are computed vvith respect to Ds^j. The result of the topological epsilon algorithm is L^0), so the extrapolation function E is defined as 7.4. ČLANEK MIDEM 2006 139 E(x(0) x(1) x(2) \(nt)) =f(0) 3 Simulation of electrical circuits Nonlinear dynamical electrical circuits can be described by a system of ordinary differential equations x=f(x(0,t) (12) where x(/) represents the node voltages and the branch currents of the circuit. In transient analysis, (12) is solved starting from the initial value x(0). The resulting vvaveforms are represented by vector functions x(0 , 0LtLtn. (13) For further reference, x(t) is a column vector with d components: x(0=[1x(0, 2x(t\ •" d^(0]T ¦ (14) (12) is numerically integrated and solved using the Newton-Raphson iterative metod for times t =0Lf, Lt2 L ••• Ltn. Time step Dr, =ti+l - t, should be small enough to avoid numerical errors. Decreasing the tirne step increases the computation tirne as more points have to be evaluated. 3.1 SPICE OPUS circuit simulator and optimizer The simulation of electrical circuits can be done with the SPICE OPUS circuit simulator and optimizer /6/. Circuit simulation is a part of every circuit optimization /7/ where parameters of the circuit are sought, subject to design requirements. During optimization, a circuit is simulated many times, so individual simulations should be as short as possible. VVhen computing the steady-state response of a circuit, a problem occurs when the period of the steady-state response is much smaller than the largest tirne constant of the circuit. Such circuits must be simulated for hundreds or even thousands of periods before they reach steady state. To obtain sufficient accuracy, a hundred or more tirne points must be evaluated per period of the response. Therefore, several million tirne points have to be evaluated before steady state is reached. Using the extrapolation algorithms described in Section 2 computing steady-state response of such electrical circuits can be significantly accelerated. 3.2 Application of extrapolation algorithms in circuit simulation To compute the steady-state response of a circuit by means of an extrapolation algorithms, the circuit is simulated (solving (12)) starting from the initial value x(0) =0 for times 0LtLtn +tM. Terms of sequence (1) are extracted from the resulting vvaveforms x(t)\ Xq!) =x(tdel +iT) , i =0,1,2...ti , n =|_tn/Tj (15) where T is the period of the steady-state response of the circuit and tM is the tirne where the first term x[,0) is sampled. Then the extrapolation algorithm is used on sequence {x^)} to generate the extrapolated vector xf}which represents the initial value x(0) for a new simulation. This iterative process is repeated k -times until hi - xH in the last (k-th) iteration is small enough to assume that the circuit is in steady state. 140 7. PRILOGE We can assume that steady state has been reached when the relative and the absolute tolerance criteria {xf- {xf} L da +max {^^, /40)| U (16) forall / =1,2, ••• d are satisfied. In practice, it is sufficient if da and drare less than 10"5 and 10\ respectively and greater than the precision of the data representation (i.e. the relative and absolute precision of double is 10"14 and 10"320, respectivelv). A flow chart of the extrapolation algorithm is depicted in Fig. 2. Set x(0)=0 for the first simulation. Set k=0 (first iteration of the extrapolation algorithm) Simulation of the circuit x=f(x(0,t) result:x(t), 0Lt Ltdel+nT 1 Set new initial condition AVV^ Ak +1 and k^k+1 I Extract xf —0 i. 2* Yi xfcrf +iT) from the response and calculate AAr+l F/-Y(0) Y0) Y(2) J NO Steady-state response reached Figure 2: Flow chart of the extrapolation algorithm for determing steady-state response of a circuit. 3.3 Accelerating the computation of steady state of an electrical circuit The steady-state response is important in the analysis of power conversion circuits, in the evaluation of nonlinear properties of narrow-band circuits, etc For such circuits the evaluation of long transients can be accelerated using extrapolation algorithms. In the following section the above mentioned extrapolation algorithms are tested with the Greinacher rectifier, narrow-band filter and svvitching rectifier test circuits. 7.4. ČLANEK MIDEM 2006 141 4 Comparison The test circuits were simulated using the direct approach (running a transient analysis until ali initial transients died off). It took several thousand periods for the simulator to reach the steady state. The steady-state responses of the circuits were also computed using the transient analysis accelerated by an extrapolation algorithm (epsilon algorithm, rho algorithm, theta algorithm and topological epsilon algorithm). The total number of periods required for computing the steady state has been greatly reduced. In the follovving subsections the test circuits and the detailed results of the steady- state simulation are presented. 4.1 Test circuits The two-stage Greinacher rectifier test circuit is depicted in Fig. 3. OUTl ~D2T ^^ INa < ~ClT lOOp Dll :C2l lOOp INI IN2 COM2 ->> COM2 INb < C12 D12 D22 lOOp :C22 lOOp1 OUT2 (a) h (b) 142 7. PRILOGE stage2 COM2 loa lOu, (C) Figure 3: (a) Single stage of a Greinacher rectifier. (b) Implementation of a diode with an n-channel MOS. (c) Test circuit: two-stage Greinacher rectifier. Fig. 3a represents one stage of the Greinacher rectifier. Diodes in Fig. 3a are implemented as n-channel MOS transistors in 0.18um TSMC technology (Fig. 3b). Two stages are connected together as depicted in Fig. 3c. At the input of the circuit a sinusoidal voltage source V with amplitude 1 V and frequency 2.4 GHz is connected in series with resistor Rt ant 50W. The output of the circuit is loaded with Ik 10/il. In Fig. 4 a narrow-band filter is depicted. At the input of the circuit (node 1) a sinusoidal voltage source Vin with amplitude 1 V and frequency 32767.41 Hz is connected. The output of the circuit is at node 4. The quartz crvstal Xl is model led with resistor Rs, inductor Z^and capacitors Cs and Cp. OUT OUT2 7.4. ČLANEK MIDEM 2006 143 R2 9 -20V 9 -20V Figure 4: Narrow-band filter. The circuit in Fig. 5 is a svvitching power supply. The power source (DC voltage 20 V) is connected to node 1. DC voltage of the Vpulse is 10 V, amplitude is 20 V, rise and fall times are lOns, and the duty-cycle is 9%. At the output (node 4) Rload =1AW is connected. -^720 v Vpulse '+"\dc=10 V iVpulse 0 20 0 ji On 10n 80n 1 Rload lk Figure 5: Svvitching power supplv. 4.2 Results The steady-state response of the Greinacher rectifier is shovvn in Fig. 6. j 144 7. PRILOGE v(5,6)[s] 1.6222------\-----=-.---------------------1------s-i---------------------\------^4---------------------- Figure 6: The steady-state response of the tvvo-stage Greinacher rectifer (loaded with lOnA). J The circuit reaches the steady state in 100 ns or in 240000 periods of the signal Vs. The steady state of the circuit was also computed with extrapolation algorithm. Parameter nk (equations (4), (7), (8) and (11)) was set to 6. The extrapolation algorithm was stopped when the relative and the absolute criteria (16) were satisfied {da =10"6 and dr =10"6). The number of iterations of the extrapolation algorithm (k) and the number of periods the circuit was simulated before it reached the steady state ( Y,(nk +tddIT) ) are listed in Table 1. Epsilon algorithm Rho algorithm Theta algorithm Topological epsilon algorithm Direct transient analysis_______ Greinacher _____recti Iterations 52 37 99 ler_____ Periods 330 222 594 274 1644 / 240000 Narrow-band filter Iterations Switching povver supply Periods Iterations 54 87 144 12 Periods 24 30 72 54 24 / 65535 / 100000 Table 1: The number of iterations of the extrapolation algorithm and the number of simulated periods in the computation of the steady-state response. Using an extrapolation algorithm, the steady-state response of the test circuit was computed more than 140 times faster than with the direct approach (transient analysis until ali initial transients die off). The narrow-band filter took 2 s (65535 periods) of the signal Vln before it reached steady state (Fig. 7). Computing the steady state with the epsilon, rho, theta and t[us] 7.4. ČLANEK MIDEM 2006 145 topological epsilon algorithm took 54, 87, 144 and 54 periods, respectively (Table 1) with da =5>10"6 and dr =5>10"6. 2----------------H\-------------------f-\-------------------/-\— Figure 7: The steady-state response of the narrow-band filter. The steady-state response of the switching power supply is depicted in Fig. 8. Steady state is reached in 100 ms or in 100000 periods of the signal Vpuke. With the epsilon, rho, theta and topological epsilon algorithm computing steady state took 24, 30, 72 and 24 periods, respectively (Table 1) with da =10"6 and dr =10"7. 6.7888 6.7886 6.7885 6.7884 6.7883 9 9.9 9 .9 96 9 9.9 9 9.9 98 9 .9 99 Figure 8: The steady-state response of the svvitching power supply. 5 Implementation of an extrapolation algorithm in SPICE OPUS 5.1 Choice of the extrapolation algorithm The results listed in Table 1 show that for the selected test circuits the best of the extrapolation algorithms is the epsilon algorithm. Therefore we chose it for the implementation in SPICE OPUS. The epsilon algorithm was also chosen due to it's simplicity and good results obtained with other circuits the extrapolation algorithm was tested on /8,9/. 5.2 SSSE analysis The new SSSE (Steady-State Shooting with Extrapolation) analysis was implemented in the SPICE OPUS circuit simulator /6/. The syntax of the ssse analysis is as follovvs: ssse [step [skip [periods]]] [history] <>... required parameter [] ... optionalparameter v(4 [s] t[s v(4)[V] tms 146 7. PRILOGE freq represents the fundamental frequency (/) of the steady-state response, step represents the basis for the variable tirne step (same as the first argument for the transient analysis, default value: 10/ freq), skip represents the tirne skipped (tdel in (15)) before the response is sampled (default value: 0) and periods gives the number of periods (nk) that are taken into account for sampling (default value: 2). The iteration limit of the epsilon extrapolation algorithm is given by the itl2 option. Convergence (see (16)) is defined with the absolute and the relative tolerances given by products of sssetoPvntol, sssetoPabstol, and sssetoPreltol options. Steady state is reached when the difference (16) is within tolerances. By default only the last transient run results (steady-state response) are saved in a plot as final results of the ssse analysis. If the history flag is set then ali transient iterations performed during the steady-state analysis are saved in plots. The steady-state response of the Greinacher rectifier in Fig. 6 was obtained with the follovving SPICE OPUS commands. .options itl2=1000 .options sssetol=1e-2 .options abstol=1e-4 .options reltol=1e-4 .control setxmumult=1 ssse 2.4g 2p 0 6 historv .endc The xmumult option is set to 1 to turn off numerical oscillation detection, which can interfere with the extrapolation algorithm. 6 Optimization of electrical circuits Circuit simulation is a part of every circuit optimization 171 where parameters of the circuit are sought subject to design requirements. During optimization, a circuit is simulated many times, so individual simulations should be as short as possible. If the circuit is being optimized and the steady-state response is computed in every iteration of the optimization, fast computation of the steady-state response is a prerequisite for realistic optimization times. 6.1 Optimization of the Greinacher rectifier test circuit To demonstrate the application of the ssse command, an optimization proccess was run on the test circuit in Fig. 3. Table 2 lists the optimization parameters. 7.4. ČLANEK MIDEM 2006 147 Parameter 0 Parameter 1 Parameter 2 Parameter 3 Parameter 4 VVidth of transistors modelling diodes D11 and D12 (Stage 1) VVidth of transistors modelling diodes D21 and D22 (Stage 1) VVidth of transistors modelling diodes D11 and D12 (Stage 2) VVidth of transistors modelling diodes D21 and D22 (Stage 2) Capacitance of aH capacitors of Stage 1 and Stage 2 Table 2: The optimization parameters. The optimization was started at Initial value of the parameters in Table 3. The explicit constrains are defined by the columns Minimum value and Maximum value. The parameters were allowed to change by the value of the Increment column in Table 3. Parameter 0 Parameter 1 Parameter 2 Parameter 3 Parameter 4 Table 3: Initial, Initial value 10 um 10 um 8 um 8 um 100 pF value 0.22 um 0.22 um 0.22 um 0.22 um 10 pF Maximum value 100 um 100 um 100 um 100 um 300 pF Increment 0.18 um 0.18 um 0.18 um 0.18 um 10 pF i, maximum values, and increment of optimization parameters. The circuit behavior was described with the cost function which consists of penaltv functions of measurement values multiplied by weights /10/. Table 4 shows the measurements, measurements goals, norms and vveights. If a measurement value violates a measurement goal by norm, the contribution to the cost function equals measurement weight. Measurement 1 Measurement 2 Measurement 3 Measurement 4 Vn K ripple_load Vn K rippte _noload goal >2V 250 uV >3V <140uV vveight 3 1 1 Table 4: Measurements performed on the test circuit. norm 1 V 100 uV 1 V 100 uV Measurements are defined by DC load 1 1 r rp |(voc.T2(0- vOLT1(0>*| ripple_load DC noload 1 1^0/74 (t)) " t\\n min „(VC i(0) 7 J(' > V / i(0^ («A-1)^ I/ ripple _noload (0)- VlCnr-^nir^' min ri[(«t:iX"ir]v'o:/T2 (vOOT-2(0- VounCO) (17a) (17b) (17c) (17d) =io m =o =0 2964 2960 148 7. PRILOGE Measurements 1 and 2 were made with Iload =10/24 (Fig. 3c). Measurements 3 and 4 were made with no load (Itoad =0). The optimization took 2964 iterations. Every iteration of the optimization included two SSSE analyses. On an AMD Athlon XP 2500+ (1.83 GHz clock) computer with 512 MB of RAM, the optimization took 3 hours and 10 minutes. Optimum parameters are shown in Table 5 and the final measurement values in Table 6. Value Parameter 0 16.60 |jm Parameter 1 21.10 um Parameter 2 27.76 |jm Parameter 3 26.68 |jm Parameter 4 300 pF Table 5: Optimum parameter values after the optimization. Measurement 1 Measurement 2 Measurement 3 Measurement 4 Before optimization 1.624 V 326.0 uV 2.670 V 176.5 uV After optimization 1.794 V 249.9 uV 2.911 V 138.9 uV Improvement 10.5% 23.3 % 9.0 % 21.3 % Table 6: Measurement values before and after the optimization. For Measurements 2 and 4 the goals were achieved, while Measurements 1 and 3 violated the goals. The final cost function value was 0.6792. Table 6 also lists the measurement values before optimization (at initial values of the parameters in Table 3). Average improvement of the measurements is 16 %. In Sections 4.2 and 5.1 we have demonstrated that the acceleration ratio for the Greinacher rectifier test circuit (in čase of the epsilon algorithm) is 727 (240000/330 (c 727, see Table 1). If ordinan/ transient analvsis was used, the optimization would take more than 95 days. This clearlv demonstrates that if the steady-state response of a circuit has to be computed in an optimization loop, an efficient extrapolation algorithm is necessary. 7 Conclusions Four extrapolation algorithms (epsilon, rho, theta and topological epsilon algorithm) were described in this paper. Using these algorithms the steady-state computation has been accelerated several hundred times. The extrapolation algorithms were tested on three test circuits (Greinacher rectifier, narrow-band filter and svvitching power supply). The epsilon algorithm was shown to be the most appropriate for the implementation in the SPICE OPUS circuit simulator. The steady-state responses of the test circuits were computed several hundred times 7.4. ČLANEK MIDEM 2006 149 faster than with the direct approach (transient analysis until ali initial transients die off). A new SPICE OPUS analysis utilizing the epsilon algorithm was implemented. The Greinacher rectifier test circuit was optimized using the SSSE analysis. The purpose of the optimization was to show that the optimization of the steady-state response can be accelerated significantly by using extrapolation methods. Optimization with the SSSE analysis (accelerated transient analysis) lasted 3 hours and 10 minutes. It has been estimated that the optimization with the direct approach (direct transient analysis) would take more than 95 days. 8 Acknovvledgment The research has been supported by the Slovenian Research Agency vvithin programme P2-0246 - Algorithms and optimization methods in telecommunications. 9 References /1/ A. Sidi, W. F. Ford, D. A. Smith, Acceleration of Convergence of Vector Sequences, SIAM Journal on Numerical Analysis, vol. 23, no. 1, pp. 178- 196, February 1986. 121 P. R. Graves-Morris, Extrapolation methods for vector sequences, Numer. Math. 61, pp. 475-487, 1992. /3/ E. J. VVeniger, Nonlinear Sequence Transformations: Computational Tools for the Acceleration of Convergence and the Summantion of Divergent Series, URL: http://arxiv.org/pdf/math.CA/0107080 /4/ X. Gourdon, P. Sebah, Convergence acceleration of series, Januar/ 10, 2002, URL: http://numbers.computation.free.fr/Constants/Miscellaneous/ seriesacceleration.html /5/ K. S. Kundert, J. K. VVhite, A. Sangiovanni-Vincentelli, Steady-state methods for simulation analog and microvvave circuits, Kluwer Academic Publishers, 1990. /6/ SPICE OPUS circuit simulator homepage, URL: http://www.fe.uni-lj.si/spice/ Faculty of Electrical Engineering, Electronic Design Automation Laboratory, URL: http://www.fe.uni-lj.si/edalab/ /7/ J. Puhan, T. Turna, Optimization of analog circuits with SPICE 3f4, Proceedings of the ECCTD '97, vol. 1, pp. 177-180, 1997. /8/ B. VVagner, A. Burmen, J. Puhan, I. Fajfar, T. Turna, Computing the steady-state response of nonlinear circuits by means of the L-algorithm, Electrotechnical review, vol. 72, no. 5, pp. 297-302, 2005. /9/ B. VVagner, A. Burmen, J. Puhan, I. Fajfar, T. Turna, Uporaba ekstrapolacijskih metod pri računanju stacionarnega stanja električnih vezij (Application of extrapolation methods for steady-state computation of electrical circuits), Zbornik štirinajste mednarodne Elektrotehniške in računalniške konference ERK 2005, zv. A, str. 82-85. /10/ BURMEN, Arpad, STRLE, Drago, BRATKOVIČ, Franc, PUHAN, Janez, FAJFAR, Iztok, TUMA, Tadej. Automated robust design and optimization of integrated circuits by means of penalty functions. AEU, Int. j. electron. commun. 2003, 57, no. 1, str. 47-56. 02 150 7. PRILOGE univ. dipl. ing. el. Borut VVagner University of Ljubljana Faculty of Electrical Engineering Tržaška cesta 25, SI-1000 Ljubljana, Slovenia E-mail: borut.wagner@fe.uni-lj.si Tel: +386 1 4768724 Fax: +386 1 4264630 doc. dr. Arpad Burmen University of Ljubljana Faculty of Electrical Engineering Tržaška cesta 25, SI-1000 Ljubljana, Slovenia E-mail: arpadb@fides.fe.uni-lj.si Tel: +386 1 4768322 Fax: +386 1 4264630 doc. dr. Janez Puhan University of Ljubljana Faculty of Electrical Engineering Tržaška cesta 25, SI-1000 Ljubljana, Slovenia E-mail: janež. puhan@fe.uni-lj. si Tel: +386 1 4768322 Fax: +386 1 4264630 prof. dr. Sašo Tomažič University of Ljubljana Faculty of Electrical Engineering Tržaška cesta 25, SI-1000 Ljubljana, Slovenia E-mail: saso.tomazic@fe.uni-lj.si Tel: +386 1 4768432 Fax: +386 1 4264630 prof. dr. Tadej Turna University of Ljubljana Faculty of Electrical Engineering Tržaška cesta 25, SI-1000 Ljubljana, Slovenia E-mail: tadej.tuma@fe.uni-lj.si Tel: +386 1 4768329 Fax: +386 1 4264630 7.5. ČLANEK ERK 2006 151 7.5 Članek ERK 2006 Optimizacija dvostopenjskega Greinacherjevega polnovalnega usmernika Borut Wagner, Arpad Biirmen, Janez Puhan, Sašo Tomažič in Tadej Turna Fakulteta za elektrotehniko Univerza v Ljubljani Tržaška cesta 25, SI-1000 Ljubljana, Slovenija E-pošta: borut.wagner@fe.um-l].si Optimization of the two-stage Greinacher full-wave rectifler In this paper me present optimization of the Greinacher rectifler with SPICE OPUS circuit simulator. The rectifler is also used on vjireless power transmission in radio frequency identification systems (RFID). Four optimization goals mere used in optimization: DC voltage and ripple at output mith and mithout load. Tmo steady-state analyses had to be computed mithin each iteration of the optimization loop. Each steady-state analysis took 23 minutes. For severni thousands of iterations, optimization mould take betmeen ten and hundred days. For this reason the steady-state response mas computed by rneans the eztrapolation methods for transient analysis accelera-tion. For the Greinacher rectifer the steady-state response mas computed 700-times faster than by rneans ofthe direct approach (transient analysis until ali ini-tial transients die off). The optimization took 2964 iterations and mas finished in 3 hours and 10 minutes. Average improvement of the optimization goals mas 16%. 1 Uvod V ˇclanku je predstavljena optimizacija dvostopenjskega Greinacherjevega usmernika [1], ki se med drugim uporablja pri prenosu energije npr. za napajanje sistemov za radijsko identifikacijo (RFID - Radio Fre-quency Identification Systems). Prikazan je primer takˇsnega usmerniˇskega vezja s privzetimi vrednostmi parametrov elementov. Na podlagi teh vrednosti je izraˇcunan stacionarni odziv vezja pri doloˇcenem vzbujanju na vhodu in z doloˇcenim bremenom na izhodu. V tretjem razdelku je dvostopenjsko usmerniˇsko vezje optimizirano glede na postavljene optimizacij-ske zahteve. Teˇzava, ki se pri optimizaciji vezja pojavi, je dolgotrajnost izraˇcuna stacionarnega stanja vezja, ki nastopa znotraj vsake iteracije optimiza-cijske zanke. Z uporabo algoritmov za pohitritev izraˇcuna stacionarnega stanja se da pospeˇsiti samo analizo kot tudi celoten optimizacijski postopek. Na koncu članka je ocenjen še čas optimizacije, ki bi bil potreben, če bi za izračun stacionarnega stanja uporabili direktno tranzientno analizo namesto ekstrapo-lacijskih algoritmov. 2 Greinacherjev usmernik Na sliki 1 je prikazana ena stopnja Greinacherjevega usmernika. Vse diode so realizirane z uporabo n-kanalnih MOS tranzistorjev (slika 2). Uporabljena je bila 0,18 µm tehnologija TSMC. OUTl ~D2T ^^ INa < Cll lOOp .Dll :C21 lOOp INI IN2 COM2 -"---------f COM2 INb < C12 D12 D22 lOOp :C22 lOOp1 OUT2 Slika 1: Ena stopnja Greinacherjevega usmernika. Figure 1: Single stage of a Greinacher rectifier. Analizirano je bilo dvostopenjsko Greinacherjevo ˇ usmerniˇsko vezje (slika 3). Sirine in dolˇzine tranzistorjev, ki modelirajo diode D11, D12, D21 in D22 v obeh stopnjah usmernika, so prikazane v tabeli 1. Na vhod vezja je prikljuˇcen sinusni napetostni vir frekvence 2,4 GHz in amplitude 1 V. Upor Rant predstavlja impedanco antene in znaˇsa 50 ?. Na izhod je 152 7. PRILOGE is- Slika 2: Implementacija diode z n-kanalnim MOS tranzistorjem. Figure 2: Implementation of a diode with an n-channel MOS. Širina Dolžina D11 in D12, stopnja 1 10/mi 0,5 /ari D21 in D22, stopnja 1 10/mi 0,5 /ari D11 in D12, stopnja 2 8 (Um 0,5 /ari D21 in D22, stopnja 2 8 (Um 0,5 /ari Tabela 1: Začetne širine in dolžine diod (modelira-nih z MOS tranzistorji) dvostopenjskega Greinacher-jevega usmernika. Table 1: Initial widtlis and lengtlis of tlie diodes (mo-delled with MOS transistors) of tlie two-stage Grei-nacher rectifier. v(5,6)[s] Slika 3: Dvostopenjsko Greinaclierjevo usmerniško vezje. Figure 3: Two-stage Greinaclier rectifier. Slika 4: Odziv vezja (slika 3) v stacionarnem stanju. Figure 4: The steady-state response of the circuit in figure 3. kot breme prikljuˇcen enosmerni tokovni vir z vrednostjo 10 µA. 2.1 Stacionarni odziv Vezje na sliki 3 je bilo analizirano s privzetimi vrednostmi parametrov (tabela 1). Vrednosti vseh kondenzatorjev obeh stopenj so bile 100 pF. Izraˇcunan je bil odziv vezja v stacionarnem stanju (slika 4). Simulacijski ˇcas stacionarnega odziva je bil 100 µs oziroma 240.000 period vhodnega signala Vs. Na osebnem raˇcunalniku AMD Athlon XP 2500+ (frekvenca ure 1,83 GHz) s 512 MB RAMa je izraˇcun trajal 23 minut. V nadaljevanju bodo na kratko predstavljeni algoritmi, s katerimi lahko hitreje izraˇcunamo stacionarno stanje. Z uporabo teh algoritmov tako postane optimizacija izvedljiva v doglednem ˇcasu. 2.2 Pohitritev izraˇcuna stacionarnega odziva izraˇcunamo odziv vezja na sliki 3 v stacionarnem stanju 700-krat hitreje [5]. V simulator elektriˇcnih vezij SPICE OPUS [6, 8] je bila vgrajena dodatna analiza SSSE za izraˇcun stacionarnega stanja z uporabo ekstrapolacijske metode [5]. 3 Optimizacija Vezje na sliki 3 je bilo optimizirano s programskim paketom SPICE OPUS [7, 8, 9] z uporabo metode simpleksov. Znotraj optimizacijske zanke je bila uporabljena analiza SSSE, saj bi pri uporabi direktne tranzientne analize za izraˇcun stacionarnega stanja optimizacija trajala od deset do sto dni (odvisno od zahtev in s tem ˇstevila iteracij optimizacijske zanke). 3.1 Optimizacijski parametri tus Uporaba ekstrapolacijskili metod [2, 3] se je izkazala za uspešno pri pospeševanju izračuna stacionarnega stanja [4, 5]. Z uporabo algoritma epsilon lahko V tabeli 2 je opisanih pet optimizacijskih parametrov. 7.5. ČLANEK ERK 2006 153 3.1 Optimizacijski parametri V tabeli 2 je opisanih pet optimizacijskih parametrov. Parameter 0 ˇ Sirina tranzistorjev, modeliranih z diodama D11 in D12 (stopnja 1) Parameter 1 ˇ Sirina tranzistorjev, modeliranih z diodama D21 in D22 (stopnja 1) Parameter 2 ˇ Sirina tranzistorjev, modeliranih z diodama D11 in D12 (stopnja 2) Parameter 3 ˇ Sirina tranzistorjev, modeliranih z diodama D21 in D22 (stopnja 2) Parameter 4 Kapacitivnosti vseh kondenzatorjev (stopnja 1 in 2) Tabela 2: Parametri optimizacije. Table 2: The optimization parameters. Znotraj optimizacijske zanke so se lahko optimi-zacijski patametri spreminjali v okviru eksplicitnih omejitev, ki so podane v tabeli 3. Opt. par. Začetna vrednost Min. vrednost Maks. vrednost korak 0 10/mi 0,22 jim 100 jim 0,18 jim 1 10/mi 0,22 jim 100 jim 0,18 jim 2 8 jim 0,22 jim 100 jim 0,18 jim 3 8 jim 0,22 jim 100 jim 0,18 jim 4 100 pF 10 pF 300 pF 10 pF Tabela 3: Zaˇcetne, minimalne, maksimalne vrednosti in korak optimizacijskih parametrov. Table 3: Initial, minimum, maximum values, and in-crement of optimization parameters. 3.2 Optimizacijske zahteve Optimizacija je potekala na podlagi optimizacijskih zahtev, ki so bile definirane preko meritev vezja [10]. Zahtevana je bila določena enosmerna izhodna napetost in omejenost valovitosti pri bremenu na izhodu in brez njega. Na osnovi meritev vezja, zahtev za posamezno meritev, uteži in norme meritve je tvorjena kriterijska funkcija, za katero postopek optimizacije poišče minimalno vrednost na določenem območju. V tabeli 4 so zbrane meritve vezja, zahteve, uteži in norme meritev. Meritvi 1 in 2 sta bili izvedeni pri bremenu (kot je prikazano na sliki 3). Pri meritvah 3 in 4 je bilo breme (tokovni vir Iload) odstranjeno (Iload = 0). Meritve so definirane v (l)-(4). St. mer. meritev zahteva utež norma 1 VdcJoad > 2 V 3 1 V 2 VnppUUoad < 250 /jV 1 100 /jV 3 Vdcnoload > 3 V 1 1 V 4 v„pplenoload < 140 jjN 1 100 jjN Tabela 4: Meritve, ki so bile izvedene na vezju. Table 4: Measurements performed on the circuit. VDCload= ^ (vOUT2(t) - V0UTl(t))dt T Iload=WlJ,A (1) v„ppleload = max i(vOUT2(t) - vouTi(t))]h d=ioM -T '* (2) -min [{vouT2{t)-vouTi{t))]h d=10M T Vdcnoload= = / (v0UT2(t)-V0UTl(t))dt (3) V„pplenoload = = max i(vOUT2(t) - v0UTi(t))]h d=o - T '* (4) -mm[{vouT2{t)-vouTi{t))]Il d=0 T V meritvah uporabljena integrala, maksimalni in minimalni vrednosti so izračunani na intervalu dolžine T = 417 ps, kolikor znaša perioda vhodnega signala oz. napetostnega vira Vs. 3.3 Rezultat optimizacije Z opisano postavitvijo optimizacije smo v 2964 itera-cijah optimizacijske zanke dosegli povprečno 16% izboljšanje meritev glede na začetne vrednosti. Tabela 5 prikazuje vrednosti meritev pred in po optimizaciji. Iz tabel 4 in 5 je razvidno, da zahtevi za meritvi 1 in 3 nista bili izpolnjeni, kljub temu pa sta se vrednosti teh dveh meritev izboljšali za 10,5 % in 9,0 %. Zaradi tega vrednost kriterijske funkcije na koncu ni bila 0 (to bi se zgodilo v primeru, če bi bile izpolnjene zahteve vseh meritev), ampak je imela vrednost 0,6792. 154 7. PRILOGE Številka meritve pred optimizacijo po optimizaciji izboljšanje 1 1,624 V 1,794 V 10,5 % 2 326,0 fiV 249,9 fiV 23,3 % 3 2,670 V 2,911 V 9,0% 4 176,5 V 138,8 fj,V 21,3 % Tabela 5: Vrednosti meritev pred in po optimizaciji. Table 5: Measurement values before and after the optimization. 3.4 Primerjava z direktnim izračunom stacionarnega stanja Izračun stacionarnega stanja dvostopenjskega Greinacherjevega usmernika na uporabljenem računalniku traja 23 minut. Ker znotraj optimizacij-ske zanke potrebujemo dva izračuna stacionarnega stanja (obremenjen in neobremenjen izhod), bi trajalo 2964 itreacij optimizacije približno 95 dni. Z uporabo hitrejšega račnalnika oz. več računalnikov hkrati bi sicer lahko ta čas skrajšali, vendar lahko izračun stacionarnega stanja pohitrimo že z uporabo ekstrapolacijskih metod, ki so bile predstavljene v prejšnjih razdelkih. Z uporabo le-teh smo vezje optimizirali v nekaj več kot treh urah. 4 Zaključek V članku smo prikazali optimizacijo dvostopenjskega Greinacherjevega usmernika. Vezje smo optimizirali glede na postavljene optimizacijske zahteve. Znotraj optimizacijske zanke je bil potreben izračun stacionarnega stanja, ki je za to vezje zelo dolgotrajen. Za izračun stacionarnega stanja je bil uporabljen ekstra-polacijski algoritem, ki analizo pohitri do te mere, da je optimizacijski postopek zaključen v doglednem času. Rezultat optimizacije vezja je povprečno 16% izboljšanje meritev. 5 Zahvala Raziskave je sofinancirala Agencija za raziskovalno dejavnost v okviru programa P2-0246 - Algoritmi in optimizacijski postopki v telekomunikacijah. Literatura [1] Jari-Pascal Curty, Norbert Joehl, Francois Krum-menacher, Catherine Dehollain, Michel J. De-clercq, “A Model for /u-Power Rectifier Analysis and Design” IEEE Transactions on Circmts and Systemsl: Regular Paper s, vol. 52, no. 12, december 2005. [2] S. Skelboe, “Computation of the Periodic Steadv-State Response of Nonlinear Networks by Extrapo-lation Methods”, IEEE Transactions on Circuits and Systems, vol. CAS-27, no. 3, pp. 161-175, Marec 1980. [3] K. S. Kundert, J. K. White, A. Sangiovanni-Vincentelli, “Steady-state methods for stmulation analog and microuiave circmts”, Kluwer Academic Publishers, 1990. [4] B. Wagner, A. Biirmen, J. Puhan, I. Fajfar, T. Turna, “Computing the steady-state response of nonlinear circuits by means of e-algorithm” Elektrotehniški vestnik, vol. 72 (5):297-302, Ljubljana, Slovenija, 2005. [5] B. Wagner, A. Biirmen, J. Puhan, S. Tomažič, T. Turna, “Application of extrapolation algorithms in nonlinear circuit simulation and optimization with SPICE OPUS”, Midern informacije, oddano 21.04.2006. [6] T. Quarles, A. R. Newton, D. O. Pederson, A. Sangiovanni-Vincentelli, “SPICE3 Version 3f4 User’s Manual”, University of California, Berkeley, California, 1989. [7] J. Puhan, T. Turna, I. Fajfar, “SPICE for Win-dows 95/98/NT”, Electrotechnical Revieui, vol. 65, no. 5, pp. 267-271, Ljubljana, Slovenija, 1998. [8] SPICE OPUS simulator vezij, domača stran: URL: http://www.fe.uni-lj.si/spice/ Fakulteta za elektrotehniko, Laboratorij za računalniško načrtovanje vezij: URL: http://www.fe.uni-lj.si/edalab/ [9] J. Puhan, T. Turna, “Optimization of analog circuits with SPICE 3f4”, Proceedmgs of the ECCTD ’97, vol. 1, pp. 177-180, 1997. [10] BURMEN, Arpad, STRLE, Drago, BRAT-KOVIČ, Franc, PUHAN, Janez, FAJFAR, Iztok, TUMA, Tadej. “Automated robust design and optimization of integrated circuits by means of pe-nalty functions.” AEU 2003, 57, no. 1, str. 47-56. Literatura [1] J. Puhan, T. Tuma, I. Fajfar, SPICEfor Windows 95/98/NT, Elektroteh. vestn., Vol. 65, No. 5, str. 267-271, 1998. [2] T. Quarles, A. R. Newton, D. O. Pederson, A. Sangiovanni-Vincentelli, SPICE3 version 3/4 user ’s manual, University of California, Berkeley, CA, ZDA, 1989. [3] Simulator vezij SPICE OPUS, domača stran, URL: http://www.fe.uni-lj.si/spice/ Fakulteta za elektrotehniko, laboratorij za računalniške metode v elektroniki, URL: http://www.fe.uni-lj.si/edalab/ [4] L. O. Chua, P. M. Lin, Computer-Aided Analysis of Electronic Circuits: Algorithms and Computational Techniaues, Prentice-Hall, Englewood Cliffs, New Jersey, ZDA, 1975. [5] T. Tuma, F. BratkoviČ, A general approach to circuit eauations, Int. j. circuit theory appl., Vol. 22, No. 6, str. 431-445, 1994. [6] G. A Korn, T. M. Korn, Mathematical handbook for scientists and engineers, McGraw-Hill Book Company, 1961. [7] T. Tuma, Analiza vezij s programom SPICE3, Fakulteta za elektrotehniko, Ljubljana, 1997. [8] Á. Burmen, Uvod v programski paket SPICE OPUS, Fakulteta za elektrotehniko, Ljubljana, 2006. [9] Á. Burmen, Asinhroni vzporedni direktni optimizacijski postopki za analogna elektronska vezja, Doktorska disertacija, Fakulteta za elektrotehniko, Univerza v Ljubljani, 2003. [10] J. Puhan, T. Tuma , Optimization ofanalog circuits with SPICE 3f4, Proceedings of the ECCTD ’97, Vol. 1, str. 177-180, 1997. 156 LITERATURA [11] M. H. Wright, Direct search methods: once scorned, now respectable, in Proceedings of the 1995 Dundee Biennial Conference in Numerical Analysis, D. F. Griffiths, G. A. Watson, eds., Addison Wesley Longman, str. 191–208, 1996. [12] M. J. D. Powell, Direct search algorithms for optimization calculations, Acta Nume-rica, Vol. 7, str. 287–336, 1998. [13] R. M. Lewis, V. J. Torczon, M. W. Trosset, Direct search methods: Then and now, Journal of Computational and Applied Mathematics, Vol. 124, No. 1-2, str. 191–207, 2000. [14] J. Puhan, Á. Bu˝ rmen, T. Tuma, Heuristic Approach to Circuit Sizing Problem, Informacije MIDEM - Journal of Microelectronics, Electronic Componets and Materials, Vol. 33, No. 3, str. 149–156, 2003. [15] J. Puhan, T. Tuma, I. Fajfar, Optimisation Methods in SPICE, a Comparison, Proce-edings of the ECCTD’99, Vol. 1, str. 1279-1282, 1999. [16] R. Hooke, T. A. Jeeves, ‘direct search’ solution of numerical and statistical problems, Journal of the Association for Computing Machinery, Vol. 8, No. 2, str. 212–229, april 1961. [17] A. R. Conn, N. I. M. Gould, P. L. Toint Trust-Region Methods, SIAM, Philadelphia, PA, ZDA, 2000. [18] J. A. Nelder, R. Mead, A simplex method for function minimization, The computer Journal, Vol. 7, str. 308–313, 1965. [19] K. I. M. McKinnon, Convergence of the Nelder-Mead simplex method to a nonstatio-nary point, SIAM Journal on Optimization, Vol. 9, No. 1, str. 148–158, oktober/december 1998. [20] D. Byatt, A convergent variant of the Nelder-Mead algorithm, magistrska naloga, Ma-thematics and Statistics Department, University of Canterbury, Christchurch, NZ, 2000. [21] C. J. Price, I. D. Coope, D. Byatt, A convergent variant of the Nelder-Mead algo-rithm, Journal of Optimization Theory and Applications, Vol. 113, No. 1, str. 5–19, april 2002. LITERATURA 157 [22] J. Puhan, Optimizacija vezij v programskem okolju SPICE, Doktorska disertacija, Fakulteta za elektrotehniko, Univerza v Ljubljani, 2000. [23] Á. Burmen, I. Fajfar, J. Puhan, A. Nussdorfer, T. Tuma, Optimizacija elektronskih vezij z vzporednim omejenim simpleksnimpostopkom, Elektroteh. vestn., Vol. 69, No. 1, str. 7-12, 2002. [24] K. S. Kundert, A. Sangiovanni-Vinventelli, Simulation ofNonlinear Circuits in the Frequency Domain, IEEE Transactions on Computer-Aided Design, Vol. CAD-5, No. 4, str. 521-535, oktober 1986. [25] K. S. Kundert, G. B. Sorkin, A. Sangiovanni-Vincentelli, ApplyingHarmo-nic Balance to Almost-Periodic Circuits, IEEE Transactions on Microwave Theorv and Techniques, Vol. 36, No. 2, str. 366-378, februar 1988. [26] K. S. Kundert, J. K. White, A. Sangiovanni-Vincentelli, Steady-state methods for simulation analog andmicrowave circuits, Kluwer Academic Publishers, Boston, Do-rdrecht, London, 1990. [27] K. S. Kundert, Introduction to RF Simulation and Its Application, IEEE Journal of Solid-State Circuits, Vol. 34, No. 9, str. 1298-1319, september 1999. [28] N. Soveiko, M. Nakhla, Wavelet Harmonic Balance, IEEE Microvvave and Wireless Components Letters, Vol. 13, No. 6, str. 232-234, junij 2003. [29] N. Soveiko, M. S. Nakhla, Steady-State Analysis ofMultitone Nonlinear Circuits in Wavelet Domain, IEEE Transactios on Microwave Theorv and Techniques, Vol. 52, No. 3, str. 785-797, marec 2004. [30] C. R. Chang, P. L. Heron and M. B. Steer, Harmonic Balance andFrequency-Domain Simulation of Nonlinear Microwave Circuits Using the Block Newton Method, IEEE Transactions on Microvvave Theorv and Techniques, Vol. 38, No. 4, str. 431-434, april 1990. [31] G. W. Rhyne, M. B. Steer and B. D. Bates, Frequency-Domain Nonlinear Circuit Analysis Using Generalized Power Series, IEEE Transactions on Microwave Theorv and Techniques, Vol. 36, No. 2, str. 379-387, februar 1988. 158 LITERATURA [32] K. Kundert, J. White, A. Sangiovanni-Vincentelli, A Mixed Frequency-Time Approachfor Finding the Steady-State Solution of Clocked Analog Circuits, Proceedings of the Custom Integrated Circuits Conference, str. 6.2.1-6.2.4, marec 1988. [33] K. S. Kundert, J. White, A. Sangiovanni-Vincentelli, AMixedFrequency-Time Approach for Distortion Analysis of SwitchingFilter Circuits, IEEE Journal of Solid-State Circuits, Vol. 24, No. 2, str. 443-451, april 1989. [34] J. Roos, Frequency-domain analysis ofnonlinear circuits using Chebyshev polynomials, Magistrska naloga, Helsinki University of Technology, 1994. [35] T. J. Aprille, JR, T. N. Trick, Steady-State Analysis ofNonlinear Circuits with Peri-odic Inputs, Proceedings of the IEEE, Vol. 60, No. 1, str. 108-114, januar 1972. [36] A. Ushida, L. O. Chua, Frequency-Domain Analysis ofNonlinear Circuirs Driven by Multi-Tone Signals, IEEE Transactions on Circuits and Systems, Vol. CAS-31, No. 9, str. 766-779, september 1984. [37] P. L. Heron, M. B. Steer, Jacobian Calculation Using the Multidimensional Fast Fou-rier Transformation in the Harmonic Balance Analysis on Nonlinear Circuits, IEEE Transactions on Microwave Theory an Techniques, Vol. 38, No. 4, str. 429-431, april 1990. [38] V. Rizzoli, C. Cecchetti, A. Lipparini, F. Mastri, General-Purpose Harmonic Balance Analysis of Nonlinear Microwave Circuits Under Multitone Excitation, IEEE Transactions on Microvvave Theory an Techniques, Vol. 36, No. 12, str. 1650-1660, december 1988. [39] V. Rizzoli, A. Neri, State ofthe Art andPresent trends in Nonlinear Microwave CAD Techniques, IEEE Transactions on Microvvave Theory an Techniques, Vol. 36, No. 2, str. 343-365, februar 1988. [40] M. S. Nakhla, J. Vlach, A Piecewise Harmonic Balance Technique for Determination of Periodic Response of Nonlinear Systems, IEEE Transactions on Circuis and Systems, Vol. CAS-23, No. 2, str. 85-91, februar 1976. [41] B. Troyanovsky, Frequency Domain Algorithms For Simulating Large Signal Distortion in Semiconductor Devices, Doktorska disertacija, Stanford Universitv, Department of Electrical Engineering, november 1997. LITERATURA 159 [42] J. C. Pedro, N. B. Carvalho, A Mixed-Mode Simulation Techniquefor the Analysis of RF Circuits Driven By Modulated Signals, ConfTele 2001 (III Conferencia de Telecomu-nicacoles), 23. april 2001. [43] F. KrižaniČ, Linearna algebra in linearna analiza, DZS, Ljubljana, 1993. [44] I. Vldav, Višja matematika, DZS, Ljubljana, 1973. [45] B. Wagner, J. Puhan, Á. Burmen, I. Fajfar, T. Tuma, Simulacija in optimizacija analognih električnih vezij s pomočjo ravnotežne hormonske analize, zbornik trinajste mednarodne Elektrotehniške in računalniške konference ERK 2004, zvezek A, (urednik: Baldomir Zaje), str. 29-32, 2004. [46] D. A. Smith, W. F. Ford, A. Sidi, Extrapolation methodsfor veetor seauences, SIAM Review, Vol. 29, No. 2, str. 199-233, junij 1987. [47] S. Skelboe, Computation ofthe Periodic Steady-State Response ofNonlinear Networks by ExtrapolationMethods, IEEE Transactions on Circuits and Svstems, Vol. CAS-27, No. 3, str. 161-175, marec 1980. [48] P. Wynn, On a Device for Computing the em(Sn) Transformation, Mathematical tables and aids to computation (MTAC), Vol. 10, str. 91-96, 1956. [49] A. Sidi, W. F. Ford, D. A. Smith, Acceleration of Convergence of Veetor Sequences, SIAM Journal on Numerical Analvsis, Vol. 23, No. 1, str. 178-196, februar 1986. [50] P. R. Graves-Morris, Extrapolation methods for veetor seauences, Numer. Math., Vol. 61, No. 1, str. 475-487, december 1992. [51] A. Sldl, Practical Extrapolation Methods: theory and Applications, Cambridge Univer-sity Press, Cambridge, 2003. [52] A. Salam, P. R. Graves-Morris, On the veetor e-algorithmfor solving linear systems of eauations, Numerical Algorithms, Vol. 29, No. 1-3, str. 229-247, marec 2002. [53] E. J. Weniger, Nonlinear Sequence Transformations, Computational Tools for the Acceleration of Convergenc and the Summantion of Divergent Series, URL: http://arxiv.org/pdf/math.CA/0107080 [54] P. Sebah, X. Gourdon, Convergence acceleration of series, Januarv 10, 2002, URL: http://numbers.computation.free.fr/Constants/Miscellaneous/seriesacceleration.html 160 LITERATURA [55] C. Brezinski, A General Extrapolation Algorithm, Numer. Math., Vol. 35, No. 2, str. 175-187, junij 1980. [56] S. H. M. J. Houben, J. M. L. Maubach, R. M. M. Mattheij, An accelerated Poincaré-map method for autonomous oscillators, Applied Mathematics and Computa-tion, Vol. 140, No. 2-3, str. 191-216, avgust 2003. [57] J. P. Delahaye, Automatic Selection of Sequence Transformations, Mathematics of Computation, Vol. 37, No. 155, str. 197-204, julij 1981. [58] J. P. Delahaye, Sequence Transformations, Springer-Verlag Berlin, 1988. [59] K. R. Whight, Large signalperiodic time-domain circuit simulation, IEEE Proč Circuits Devices Syst, Vol. 141, No. 4, str. 285-291, avgust 1994. [60] K. R. Whight, P. A. Gough, P. Walker, Large signal periodic time-domain simulation, International Journal of Numerical Modelling: Electronic Network, Devices and Fields, Vol. 5, str. 11-21, 1992. [61] J. A. Steele, A. T. Dolovich, Toward the kernel ofthe vector epsilon algorithm, Int. J. Numer. Meth. Engng, Vol. 48, No. 5, str. 721-730, 2000. [62] J. Roychowdhury, Analyzing Circuits with Widley Separated Time Scales Using Numerical PDEMethods, IEEE Transactions on Circuits and Systems-I, Vol. 48, No. 5, str. 578-594, maj 2001. [63] J. Roychowdhury, A Time-domain RF Steady-State Method for Closely Spaced Toneš, Proceedings ofthe 39th conference on Design automation, New Orleans, Louisiana, USA, str. 510-513, 2002. [64] L. GyergyEk, Teorija signalov in obdelava signalov, Fakulteta za elektrotehniko in računalništvo, Ljubljana, 1991. [65] P. Vlzmuller, RF design guide: systems, circuits and eauations, ArtechHouse, Boston, London, 1995. [66] M. S. Nakhla, F. H. Branin, Determining the periodic response ofnonlinear systems by a gradient method, Circuit Theory and Application, Vol. 5, str. 255-273, 1977. [67] H. Jokinen, M. Valtonen, Steady-State Time-Domain Analysis Including Frequency-Dependent Components, CT-24, ISBN 951-22-2663-4, ISSN 0784-5979, junij 1995. LITERATURA 161 [68] R. Mancini, Op Amps For Everyone, Texas Instrument Design Reference, avgust 2002. [69] Rolf Schaumann, Mac E. Van Valkenburg, Design ofanalogfilter s, Oxford Uni-versitv Press, New York, Oxford, 2001. [70] E. V. Ivanov, Bandpass crystalfilter for enhanced phase-sensitive detection, Meas. Sci. Technol., Vol. 10, No. 7, str. N77-N81, julij 1999. [71] A. I. Pressman, Switching Power Supply Design, Second Edition, McGraw-Hill, New York, 1998. [72] J. P. Curty, N. Joehl, F. Krummenacher, C. Dehollain, M. J. Declercq, A Model for \i-Power Rectifier Analysis and Design, IEEE Transactions on Circuits and Svstems—I: Regular Papers, Vol. 52, No. 12, str. 2771-2779, december 2005. [73] J. O. McSpadden, L. Fan, K. Chang, Design andExperiments of aHigh-Conversion-Efftciency 5.8-GHz Rectenna, IEEE Transactions on Microwave Theorv and Techniques, Vol. 46, No. 12, str. 2053-2060, december 1998. [74] Y.-H. Suh, K. Chang, A High-Ejficiency Dual-Frequency Rectenna for 2.45- and 5.8-GHz Wireless Power Transmission, IEEE Transactions on Microvvave Theory and Tech-niques, Vol. 50, No. 7, str. 1784-1789, julij 2002. [75] T.-W. Yoo, K. Chang, Theoretical andExperimental Development of 10 and 35 GHz Rectennas, IEEE Transactions on Microwave Theorv and Techniques, Vol. 40, No. 6, str. 1259-1266, junij 1992. [76] Thomas H. Lee, The Design of CMOS Radio-Frequency Integrated Circuits, Cambridge Universitv Press, Cambridge, UK, New York, 2001. [77] Á. Burmen, D. Strle, F. Bratkovič, J. Puhan, I. Fajfar, T. Tuma, Automated Robust Design and Optimization of Integrated Circuits by Means of Penalty Functions, International Journal of Electronics and Communications, Vol. 57, No. 1, str. 47-56, j anuar 2003. [78] Á. Burmen, D. Strle, F. Bratkovič, J. Puhan, I. Fajfar, T. Tuma, PenaltyFunc-tion Approach to Robust AnalogIC Design, Informacije MTDEM - Journal of Microelec-tronics, Electronic Componets and Materials, Vol. 32. No. 3, str. 149-156, 2002. 162 LITERATURA [79] F. BratkoviČ, Računalniško načrtovanje vezij. Občutljivost in optimizacija, Fakulteta za elektrotehniko in računalništvo, Ljubljana, 1993. [80] Á. Burmen, F. Bratkovič, J. Puhan, I. Fajfar, T. Tuma, Extended Global Con-vergence Frameworkfor Unconstrained Optimization, Acta Mathematica Sinica, Vol. 20, No. 3, str. 433^40, junij 2004. [81] B. Wagner, Á. Burmen, J. Puhan, I. Fajfar, T. Tuma, Uporaba ekstrapolacijskih metod pri računanju stacionarnega stanja električnih vezij, zbornik štirinajste mednarodne Elektrotehniške in računalniške konference ERK 2005, zvezek A, (urednika: Baldo-mirZajc, Andrej Trost), str. 82-85, 2005. [82] B. Wagner, Á. Burmen, J. Puhan, I. Fajfar, T. Tuma, Computingthe steady-state response ofnonlinear circuits by means ofthe e-algorithm, Elektroteh. vestn., Vol. 72, No. 5, str. 297-302, 2005. [83] B. Wagner, Á. Burmen, J. Puhan, S. Tomažič, T. Tuma, Application of extra-polation algorithms in nonlinear circuit simulation and optimization with SPICE OPUS, Informacije MIDEM, Vol. 36, No. 3, str. 140-147, 2006. [84] B. Wagner, Á. Burmen, J. Puhan, S. Tomažič, T. Tuma, Optimizacija dvostopenjskega Greinacherjevegapolnovalnega usmernika, zbornik petnajste mednarodne Elektrotehniške in računalniške konference ERK 2006, zvezek A, (urednika: Baldomir Zaje, Andrej Trost), str. 96-99, 2006. Izjava Izjavljam, da sem doktorsko disertacijo izdelal samostojno pod mentorstvom prof. dr. Tadeja Tume. Izkazano pomocˇ drugih sodelavcev sem v celoti navedel v zahvali. Borut Wagner