MODEL DETEKTORJA KAOTIČNOSTI Matej Šalamon, Tomaž Dogša Univerza v Mariboru, Fakulteta za elektrotehniko računalništvo in informatiko, Maribor, Slovenija Kjučne besede: kaotična vezja, bifurkacijski diagram, modeliranje, simulatorji električniti vezij. Izvleček: Kaotično vedenje elektronskih vezij je mogoče analizirati tudi s pomočjo simulatorjev analognih vezij. Začetek kaotičnega režima delovanja vezja lahko ocenimo s pomočjo univerzalne Feigenbaumove konstante in bifurkaoijskih točk, ki jih odčitamo iz bifurkacijskega diagrama. V prispevku je predstavljen model detektorja kaotičnosti, ki omogoča direktno tvorjenje bifurkacijskega diagrama s samim simulatorjem SPICE /6/. Brez tega bi sicer potrebovali dodatni program, ki bi omogočal avtomatsko izvajanje simulacij vezja pri različnih vrednostih bifurkacijskega parametra ter shranjevanje ekstremnih vrednosti signalov. The Model of Chaoticness Detector Keywords: chaotic circuits, bifurcation diagram, modelling, circuit simulators. Abstract: Almost all circuits under specific circumstances (choice of parameters, initial conditions, input signals etc.) can become chaotic /1 /. Chaotic circuits can be used in the cryptography or as a test that shows simulators non-repeatability /8/. In general, chaotic behaviour of the electronic circuits is not tolerated. Simulation experiments allow us to determine chaotic responses for various sets of parameters, calculation of Lyapunov exponents, entropy, construction of Poincare planes, construction of bifurcation diagrams etc. The determination of the chaotic regions requires two steps. First one is the manual construction of a bifurcation diagram which is a tedious work. While carefully changing the bifurcation parameter and running the simulation we must find peak values in the selected output signal. The bifurcation points are values of the bifurcation parameter where a qualitative change in circuit dynamics is noticed. In the bifurcation diagram we can observe bifurcation sequences or period-doublings that construct a tree {Fig. 1). If a period-doubling bifurcation from period-1 to period-2 occurs at a bifurcation parameter value a r and from period-2 to period-4 at a parameter value a?, then we can make a prediction of the parameter value a» where chaos should appear (eq. (1)). However we can not expect that this prediction is totally accurate. Firstly, because it is based on numbers a j and as determined by the simulation and secondly, we have assumed that all measured bifurcation ratios are described by the Feigenbaum's constant. Nevertheless, after the bifurcation diagram is constructed it is easy to calculate the parameter value a« which is a reasonable estimation of the region where chaos begins. This simple calculation is the second step toward the determination of the chaotic region. Our goal was to simplify the construction of the bifurcation diagram by using the circuit simulator. The process of generating the bifurcation diagram was modelled by the special circuit that was called the chaoticness detector With this bifurcation points based model we can easy detect the presence of circuit's chaotic behaviour. This paper is structured as follows. In the second chapter the description of the bifurcation diagram and its use is presented. In the third chapter we describe in the detail the model of the chaoticness detector which comprises analogue memory where the peak values {Fig. 3) are stored and the model of time varying bifurcation parameter. The basic components of the analogue memory model are two capacitors and switches. The switches ensure that within each signal's period the capacitors store the maximum and minimum values of the signal. In the fourth chapter we present the chaoticness detection of the Chua's circuit /9/. While the simulation runs, bifurcation parameter alters in time from the selected start to stop values. Signals peak values are kept in the peak values memory and with appropriate time step they are also stored in the output file. Based on these stored data we can easy plot a bifurcation diagram {Fig. 6) that enables a parameter a„ calculation. The chaoticness detector can be used as an effective tool for analysis of the chaotic behaviour on the level of circuit simulators. The concept of the detector can also be used as a starting point for the practical implementation. 1 Uvod Odkritje determinističnega kaosa v sredini šestdesetih let je pritegnilo pozornost številnih raziskav različnih znanstvenih področij: biologije, meteorologije, fizike, astrologije, kemije, medicine, elektronike, kriptologije. Analize različnih nelinearnih sistemov potrjujejo obstoj fenomena kaosa z značilnimi univerzalnimi zakonitostmi, lastnostmi in pojavi /2/, /3/. Eden takšnih pojavov je pojav bifurkac-ij, katerih število postane v primeru kaotičnega obnašanja neskončno veliko. Kaotičnostje mogoče zaznati /1/, /2/, /4/, /5/, /6/, / 7/ npr. z opazovanjem trajektorij v prostoru stanj, z različnimi analizami časovnih potekov signalov v vezju, s Poincar-ejevimi prerezi atraktorjev, z izračuni Lyapunovih eksponentov, z entropijo, z analizo bifurkacijskih diagramov itd. v prispevku smo se osredotočili na detekcijo kaotičnosti elektronskih vezij s pomočjo bifurkacijskega diagrama. Ker obnašanje analognih vezij najpogosteje analiziramo s pomočjo simulatorjev analognih vezij /6/, smo izdelali model detektorja kaotičnosti, ki je primeren za uporabo v tovrstnih simulatorjih. Namenjen je izračunu ocene mejne vrednosti bifurkacijskega parametra, pri kateri se običajno obnašanje vezja spremeni v kaotično. Delovanje modela temelji na načinu detektiranja kaotičnosti s pomočjo bifurkacijskih točk. Ta način je opisan v drugem poglavju. Bifurkacijske točke odčitamo iz bifurkacijskega diagrama, ki ga dobimo na osnovi analize, vvezju izbranega signala. Iz njega izločimo vse lokalne ekstremne vrednosti (minimume ali maksimume) in jih, v odvisnosti od spremenljivega bifurkacijskega parametra, grafično prikažemo v bi-furkacijskem diagramu. Ker simulatorji ne omogočajo iskan- ja lokalnih ekstremnih vrednosti, je za to potrebno uporabiti še dodatna matematična orodja /8/, /7/, ki omogočijo naknadno analizo signalov, dobljenih z več predhodno izvedenimi simulacijami vezja, pri različnih vrednostih bi-furkacijskega parametra. Dodatnim programom in naknadnim analizam se lahko izognemo z uporabo modela detektorja kaotičnosti, s katerim je mogoče bifurkacijski diagram tvoriti s samim simulatorjem. Model detektorja kaotičnosti, ki je opisan v tretjem poglavju, sestavljata model časovno spremenljivega bifurkacijskega parametra in model analognega pomnilnika ekstremnih vrednosti. V četrtem poglavju je predstavljen konkretni primer detek-cije kaotičnosti Chujevega oscilatorja /9/. 2 Detektiranje kaotičnosti Kvalitativne spremembe v obnašanju nekega vezja, ki nastopijo zaradi spremembe njegovih parametrov, imenujemo bifurkacije. Parameter, s katerim je na te spremembe mogoče vplivati, imenujemo bifurkacijski parameter. Vrednosti bifurkacijskega parametra, pri katerih te spremembe nastopijo, imenujemo bifurkacijske točke. Bifurkacij je več vrst /1 /. Pri vezjih višjega reda so bifurkacije lahko zelo kompleksne. Različne vrste bifurkacij lahko vodijo v kaotično obnašanje vezja, če se le-te zaradi spremembe bifurkacijskega parametra pričnejo ponavljati. Prehod bifurkacij v kaotični režim delovanja je mogoče zelo nazorno prikazati s pomočjo bifurkacijskega drevesa oziroma bifurkacijskega diagrama. Zgled takšnega diagrama prikazuje slika 1. poromolcr Siika 1: Bifurkacijski diagram in bifurkacijske točke ai, 32... Fig. 1: The bifurcation diagram and the bifurcation points a-i, a2... a». Bifurkacijski diagram predstavlja odvisnost lokalnih ekstremnih vrednosti izbrane spremenljivke stanj od vrednosti bifurkacijskega parametra. Vrednosti bifurkacijskega parametra, pri katerih nastopijo kvalitativne spremembe obnašanja vezja, so označene kot bifurkacijske točke: ai, as...a». Pri vrednostih bifurkacijskega parametra manjših od a?, se vezje obnaša kot običajen oscilator, kar kaže zvezno naraščajoč potek ekstremnih vrednosti. Spremenljivka stanja zavzame v tem primeru le eno ekstremno vrednost, kar pomeni, da vezje oscilira s konstantno amplitude. Pri bifurkacijskem parametru, večjem od aj, nastopi prva cepitev - bifurkacija. Vezje se obnaša kot oscilator, katerega izhodni signal je sicer periodičen, znotraj periode pa sta prisotni dve različni amplitudi oziroma lokalna ekstrema. Naslednje cepitve, ki se pojavijo v točkah as, as, 34 itd., so vse pogostejše, kar v praksi otežuje njihovo natančno določitev, Neperiodično, kaotično obnašanje vezja nastopi šele v točki a^, ko postane število različnih lokalnih ekstremov neskončno. Ker je to točko z meritvijo ali simulacijo nemogoče natančno določiti, jo lahko na osnovi univerzalne konstante ä ter poznavanja točk a? in as, le ocenimo /10/: 5-1 + a. (1) Ö je Feigenbaumova konstanta oziroma limita vrste, ki jo tvorijo razmerja bifurkacijskih točk: 5 ^ lim^^—^ = 4,6692016... (2) Gre za univerzalno in eksperimentalno določeno konstanto, ki se pojavlja v vseh kaotičnih sistemih. Ker so bifurkacijske točke zmeraj povezane s to konstanto, lahko na osnovi poznavanja vsaj dveh ocenimo vrednost bifurkacijskega parametra aco in tako ocenimo začetek kaotičnega vedenja vezja. Detekcija kaotičnega režima delovanja vezja je torej povezana z iskanjem in določitvijo lokalnih ekstremnih vrednosti izbranega signala vezja, določitvijo bifurkacijskega diagrama ter z oceno bifurkacijske točke a». 3 l\/lodel detektorja kaotičnosti analognih elektronskih vezij Kaotično obnašanje vezij lahko analiziramo s pomočjo simulatorjev analognih vezij, v povezavi z dodatnimi matematičnimi orodji, ki omogočajo dodatno, naknadno obdelavo rezultatov simulacij. Tej se lahko izognemo z uporabo dodatnih modelov za simulator, ki omogočajo neposredno obdelavo vmesnih rezultatov simulacije. Tovrstni modeli predstavljajo vezja, ki se lahko priključijo ali dodajo k vezju, katerega obnašanje želimo analizirati. Običajno vsebujejo poleg osnovnih gradnikov (uporov, kondenzatorjev, tuljav, napetostnih in tokovnih virov..,) še elemente, krmiljene na osnovi različnih matematičnih izrazov ali ukazov posebnega skriptnega jezika^ /11/, 1 Npr. iCL - (Interactive Command Language) skriptni jezik simulatorja lsSpice4. 94 Prispevek predstavlja model detektorja kaotičnosti, ki omogoča direktno tvorjenje bifurkacijskega diagrama s samim simulatorjem. Brez tega bi sicer potrebovali dodatni program, ki bi omogočal avtomatsko izvajanje simulacij vezja pri različnih vrednostih bifurkacijskega parametra ter detekcijo in določitev ekstremnih vrednosti v simuliranih časovnih potekih. Model detektorja sestavljata: model časovno spremenljivega bifurkacijskega parametra in model analognega pomnilnika lokalnih ekstremnih vrednosti. Bifurkacijski parameter je iahko v splošnem poljuben parameter vezja, npr.: upornost, kapacitivnost, ojačenje, temperatura, napetost. Njegovo spreminjanje v izbranem intervalu iahko zagotovimo s pomočjo spremenljive napetosti ali toka. Izvedba modela časovno spremenljivega bifurkacijskega parametra je odvisna predvsem od vrste samega parametra in možnosti deklaracije njegovih vrednosti. Zaradi tega je potrebno model spremenljivega bifurkacijskega parametra prilagoditi obravnavanemu kaotičnem vezju in ga ni mogoče posplošiti. V četrtem poglavju je opisan primer modela časovno spremenljive upornosti, uporabljene kot bifurkacijski parameter Chujevega oscilatorja. Ker simulatorji analognih vezij ne vsebujejo modelov, ki bi omogočali iskanje in shranjevanje posameznih ekstremnih vrednosti signalov, smo za model detektorja kaotičnosti potrebovali model analognega pomnilnika lokalnih ekstremnih vrednosti. 3.1 Model analognega pomnilnika ekstremnih vrednosti signala Analogni pomnilnik ekstremnih vrednosti vhodnega signala Uvh(t) omogoča začasno shranjevanje njegovih ekstremnih vrednosti. Ekstremna vrednost signala se najprej de-tektira in nato zadrži na izhodu vezja Uizh(t) vse do naslednje, nove, ekstremne vrednosti. Način pomnjenja ekstremnih vrednosti temelji na polnjenju in praznjenju kondenzatorja C, z napetostjo vhodnega signala Uvh(t), preko stikala S, kar prikazuje slika 2. Stikalo S, ki je krmiljeno s krmilno napetostjo Ukrmiina(t), se mora vklopiti tik pred nastopom ekstremne vrednosti, izklopiti pa v trenutku, ko ekstremna vrednost nastopi. Trenutek vklopa stikala in časovna konstanta polnjenja kondenzatorja, določena z vklopno upornostjo stikala Ron in ka-pacitivnostjo kondenzatorja C, morata zagotoviti, da se kondenzator v času vklopa napolni na napetost, čim bližjo ekstremni. Slika 2: Način delovanja pomnilnika ekstremnih vrednosti. Uvh(t) in Uizh(t) - časovna poteka vhodnega in izhodnega signala. Fig. 2: A signal peak values storage method. Uvh(t) and Uizh(t) are an input and an output signals. V trenutku prisotnosti ekstremne vrednosti se stikalo izklopi. S tem se povezava med vhodom in kondenzatorjem prekine, kar povzroči praznjenje kondenzatorja preko izk-lopne upornosti stikala Roff. če je ta dovolj velika, se vred-nost napetosti na kondenzatorju, do naslednjega ponovnega vklopa stikala, bistveno ne spremeni. V takšnem primeru predpostavljamo, da se v času izklopljenega stikala na kondenzatorju ohranja konstantna, ekstremna vrednost vhodnega signala. Kadar želimo shranjevati tako minimalne kot maksimalne ekstremne vrednosti, moramo uporabiti dva kondenzatorja in dve stikali, ki ju je potrebno ločeno krmiliti. Model analognega pomnilnika lokalnih ekstremnih vrednosti vhodnega signala, primeren za simulator^ SPICE, prikazuje slika 3. Na vhod (in) modela je priključen vhodni signal, iz katerega se izločijo njegove lokalne ekstremne vrednosti. Minimalne se ohranijo na izhodu npeak, maksimalne pa na izhodu peak. I Slika 3: Model analognega pomnilnika ekstremnih vrednosti signala, primeren za simulator lsSpice4. Fig. 3: The lsSplce4 model of the peak values analog memory. Kondenzator CI služi začasnemu shranjevanju minimalnih vrednosti, kondenzator C2 pa maksimalnih. Z ustreznim krmiljenjem stikal X1 in X2 zagotovimo, da se oba kondenzatorja pravočasno napolnita in zadržita ekstremni vrednosti. Krmiljenje stikal se izvaja na osnovi izračunanih trenutnih vrednosti prvega in drugega odvoda vhodnega signala. Oglejmo si podrobnosti. Ekstremne vrednosti vhodne napetosti nastopijo zmeraj v trenutkih, ko je vrednost prvega odvoda vhodnega signala 2 lsSpice4 verzija 8.11. enak nič, detekcija lokalnih minimumov oziroma maksimumov pa zahteva še poznavanje vrednosti drugega odvoda vhodnega signala. Obstoj lokalnega minimuma je pogojen s pozitivno vrednostjo drugega odvoda, lokalnega maksimuma pa z negativno vrednostjo. Izračun trenutnih vrednosti prvega in drugega odvoda vhodnega signala omogočata diferenciatorja A2 (prvi odvod) in A3 (drugi odvod). Zaradi lažjega razumevanja krmiljenja stikal v nadaljevanju predpostavimo, daje vhodni signal Uvh(t) kosinusne oblike, s časovno spremenljivo amplitude in frekvenco f(t): K,Xt) = A(t}cos(2-K-f(t}t) Njegov prvi odvod opisuje izraz: (3) -2-K-A(ty dt Če predpostavimo, da so časovne spremembe amplitud in frekvence dovolj majhne, se izraz (4) lahko poenostavi: dt -2-TZ-A(t} f (t)-sm(2-71-fit} t) (5) Vidimo, da je amplituda časovnega poteka odvoda v takšnem primeru kar sorazmerna produktu trenutnih vrednosti frekvence in amplitude vhodnega signala. Če želimo stikali X1 in X2 krmiliti z vrednostmi odvodov, je potrebno te predhodno normirati. Normiramo jih s predvideno maksimalno vrednostjo frekvence fmax in amplitude /Amaxvhodnegasignala: (2-71-^nax • /max)- Na podoben način izvedemo še normiranje drugega odvoda. Normiranje prvega in drugega odvoda izvedeta napetostno krmiljena vira B4 oziroma B5. Stikali X1 in X2 sta neposredno krmiljeni s krmilnima napetostma v vozliščih v(vpisimax) in v(vpisimin), ki jih dajeta krmiljena vira B1 in B2. Vklopljeni sta, kadar sta krmilni napetosti pozitivni, izklopljeni kadar sta enaki nič. Upornost stikal ob vklopu Ron je obratno sorazmerna vrednosti krmilne napetosti. Če izberemo, daje vrednost krmilne napetosti ob vklopu 1/Ron in, da je je časovna konstanta polnjenja kondenzatorja: 'Zof,=RoN-C (6) določena samo z vrednostjo kondenzatorja C. Napetost krmiljenega vira BI skrbi za vklop in izklop stikala X1 oziroma določa interval polnjenja kondenzatorja C1 ter interval zadrževanja minimalne vrednosti na izhodu npeak. Podobno funkcijo ima krmiljen vir B2, s katerim je krmiljen vklop in izklop stikala X2 oziroma interval polnjenja kondenzatorja C2 ter interval zadrževanja maksimalne vrednosti na izhodu peak. Stikali se vklopita, če so izpolnjeni določeni pogoji. X1 je vklopljeno kadar je vrednost drflgega odvoda pozitivna in hkrati vrednost prvega odvoda negativna in večja od negativne referenčne napetosti Von. Referenčno napetost zagotavlja napetostni vir B3 in je prisotna v vozlišču v(VON). Podobno velja za krmiljenje stikala X2 preko katerega se polni kondenzator C2. Vklopljeno je samo, če je vrednost drugega odvoda negativna in hkrati vrednost prvega odvoda pozitivna ter manjša od referenčne napetosti Von. Referenčna napetost predstavlja tisto vrednost prvega odvoda, pri kateri se mora stikalo vklopiti, da se bo kondenzator v času "f napolnil na ekstremno vrednost napetosti vhodnega signala z dopustnim odstopanjem ±Au. Če zahtevamo, da se pri maksimalni frekvenci vhodnega signala in pri spremembi ekstremne vrednosti iz OV na 1V zadržana napetost na kondenzatorju ne sme razlikovati od prave ekstremne vrednosti za več kot ±0,001%, lahko izračunamo potreben čas polnjenja kondenzatorja C: At = _ flcos(l-Am) _ acos(0,999)_ 2,56 (7) 360./_ 360-/_ 360./_ Sedaj lahko izračunamo še referenčno napetost Von pri kateri se mora stikalo vklopiti, da bo čas polnjenja kondenzatorja enak At. Ker se kondenzator prične polniti zmeraj za čas At pred nastopom ekstremne vrednosti, ko je vrednost odvoda enaka nič, lahko ob upoštevanju izraza (7) in normiranega prvega odvoda, izračunamo vrednost referenčne napetosti: 2-7C -L J m 1 — At = sin 1- 2- acos(l-Au) 360 = 54,02m F (8) Vidimo, da je ob zgornjih zahtevah referenčna napetost konstantna oziroma neodvisna od frekvence vhodnega signala. Zahtevajmo še, da se kondenzator napolni na 99,9% končne vrednosti v času 6,9xon. Če upoštevamo, dajeta čas enak času Afin, dajef?0A/=1f2, lahko izračunamo vrednost kondenzatorja C=C1=C2 pri kateri bo, pri maksimalni frekvenci vhodnega signala, odstopanje zadržanih ek-stremnih vrednosti od dejanskih, manjša od Au=0,999V: C = - At __ acos(l-Au) _1 (9) Pri frekvencah nižjih od fmax bo omenjeno odstopanje kvečjemu manjše od ±0,001%. Kakor hitro pogoja za vklop stikal nista izpolnjena, stikali izklopita in s tem prekineta povezavo med vhodom in kondenzatorjema. V času izklopljenih stikal se na kondenzatorjih ohranita trenutni ekstremni vrednosti vhodnega signala. Ti se bistveno ne spremenita, če izberemo dovolj veliko izklopno upornost {Roff) stikal oziroma dovolj veliko izklopno časovno konstanto: ^ OFF ~~ ^^FF ' ^ ( ^ O) Natančnost opisanega modela pomnilnika je odvisna od dopustnega odstopanja zadržanih ekstremnih vrednosti, izbranih vrednosti časovnih konstant ob vklopu in izklopu stikal, dopustnega maksimalnega časa integriranja® in izbranega časa trajanja simulacije. Večja natančnost je pogojena z dlje trajajočo simulacijo. 4 Rezultati detekcije kaotičnosti Chujevega oscilatorja v številnih znanstvenih prispevkih zasledimo različna vezja, ki se lahko obnašajo kaotično. Gre za preprosta RLC-vezja, raznovrstne oscilatorje, kapacitivno" preklopna vezja, digitalne filtre, flip-flope, adaptivna sita, napajalnike in pretvornike, močnostna vezja/1/. Najpogosteje obravnavano kaotično vezje je prav gotovo Chujev oscilator /9/ (slika 4), ki smo ga v prispevku obravnavali kot vzorčno vezje v katerem smo, s pomočjo modela detektorja kaotičnosti, detektirali mejo med periodičnim in kaotičnim osciliranjem. Detekcijo kaotičnosti smo izvedli na osnovi analize časovnega poteka napetosti'* na kondenzatorju C1. Pri tem smo uporabili simulator lsSpice4, verzijo 8.11 /11/. Za bi-furkacijski parameter smo izbrali® upornost R2, ki smo jo spreminjali v intervalu med 1800t2