ALGORITMUS DIFERENCIÁLNÍ EVOLUCE A JEHO UŽITÍ PRO IDENTIFIKACI NUL A PÓLŮ PŘE- NOSOVÉ FUNKCE FILTRU Přemysl Žška, Pravoslav Martnek Katedra teore obvodů, ČVUT Praha, Česká republka Abstrakt V příspěvku je popsána metoda pro dentfkac nul a pólů přenosové funkce dskrétně pracujícího fltru z jeho známé kmtočtové modulové charakterstky. Metoda je založena na použtí dferenčního evolučního algortmu, který byl naprogramován v prostředí MATLAB, verze 6.5.. Jde o progresvní metodu, která je schopna nalézt globální mnmum účelové funkce a její aplkace přnesla velm dobré výsledky. Metoda je demonstrována na příkladu dentfkace parametrů přenosové funkce číslcového fltru 0. řádu se známou modulovou charakterstkou která naznačuje, že byl navržen pomocí Cauerovy aproxmace. Identfkace přenosové funkce fltru proběhla úspěšně.. Úvod Problém určení, resp. výpočtu přenosové funkce je často řešená úloha v mnoha případech návrhu a dentfkace parametrů elektrckých systémů. V současnost exstuje více cest jak řešt tento problém, například v článku Sdman et al. [6] jsou prezentovány výsledky ve kterých jsou použty Bodeho "šablony" pro modulové frekvenční charakterstky nulových bodů a pólů k dentfkac přenosové funkce analogového obvodu, nebo v článcích Martnek - Vondraš [2, 3] jsou prezentovány výsledky, kde byla řešena úloha aproxmace přenosové funkce analogového fltru př současných požadavcích na ampltudovou modulovou charakterstku a skupnové zpoždění. V tomto příspěvku je řešená odlšná aproxmační úloha, kdy na základě známé kmtočtové modulové charakterstky jsou dentfkovány nuly a póly přenosové funkce dskrétně pracujícího obvodu, ať jž číslcového fltru nebo dskrétně pracujícího analogového fltru SC, resp. SI. Exstuje více metod, kterým je možno určt parametry vybraného modelu z jeho charakterstk jakým jsou např. kmtočtové charakterstky, přechodové nebo mpulsní odezvy. Obecný prncp dentfkace je ukázán na obrázku. Výstupní charakterstka neznámého systému y S, která je daná v dskrétních bodech, je porovnávána s výstupní charakterstkou jeho modelu y M. Chybová funkce e je pak vyhodnocována podle vhodně zvoleného krtéra. Často používaným krtér pro dentfkac parametrů modelu je metoda mnmální stejnoměrné odchylky nebo metoda nejmenších čtverců. Poslední část je pak výpočet parametrů modelů podle výsledků získaných vyhodnocením chybové funkce e. Obr. : Základní prncp dentfkace přenosové funkce neznámého systému
V tomto příspěvku je popsána nová jednoduchá metoda pro dentfkac přenosové funkce dskrétně pracujícího lnearzovaného obvodu založená na použtí Dferenčního Evolučního algortmu (DE). Aplkujeme-l termnolog použtou v obrázku na zadanou úlohu, označuje v tomto příspěvku symbol y S ampltudovou modulovou charakterstku neznámého obvodu (fltru) a y M modulovou charakterstku jeho modelu. Výpočtem parametrů modelu je zde míněn výpočet nul a pólů přenosové funkce použtím algortmu DE. Evoluční algortmy jsou výkonné robustní algortmy, které smulují evoluční proces v přírodě a jsou vhodné pro hledání globálního mnma funkcí. Pracují s množnam možných řešení sestavených do tzv. populační matce. Evolučním algortmy můžeme mnmalzovat nejen standardní funkce, ale také nelneární a po částech nedferencovatelné funkce s mnoha lokálním extrémy. Dferenční evoluční algortmus vytvořl K. Prce a poprvé ho prezentoval v roce 995. Na konferenc Frst Internatonal Contest of Evolutonary Computaton (sticeo), která se konala v Nagoy v květnu 996, byl tento algortmus oceněn jako nejvýkonnější evoluční algortmus pro řešení funkcí s reálným proměnným. Obecnou nevýhodou evolučních algortmů je jejch stochastcké chování, což znamená, že nejsme schopn exaktně určt předem rychlost konvergence. Ncméně expermenty ukazují dobré konvergenční vlastnost př zadání vhodných počátečních podmínek. Úspěšné aplkace algortmu DE př řešení problému aproxmace přenosové funkce byly prezentovány ve [2, 3], ovšem v rozdílně formulovaných specfkacích. 2. Dferenční evoluční algortmus DE je paralelní přímo vyhledávací metoda pro hledání neznámých parametrů, která používá reprezentac reálným čísly. Tato technka pracuje s množnou NP D-dmenzonálních parametrckých vektorů: x G,, =,2,..., NP () které vytvářejí populac pro každou generac G řešení úlohy; tzn. v průběhu mnmalzace je př každé terac vytvářena nová populace. Počet vektorů NP se nemění během optmalzačního procesu. Počáteční populace může být generována náhodně, pokud nemáme žádné blžší nformace o řešeném systému. Př mplementac algortmu v MATLABu je pak generována populace jako matce o rozměrech NP x D, kde NP je počet členů populace a D je počet neznámých proměnných řešeného problému. Každý prvek v matc je generován jako náhodné číslo r s rovnoměrným rozložením pravděpodobnost v rozsahu (0..) podle vzorce: x j, = mn+ r (max mn), (2) kde =...NP, j =...D a rozsah neznámých hledaných proměnných je (mn..max). DE generuje nový vektor tak, že vypočítá vážený rozdílový vektor ze dvou náhodně vybraných členů populace a tento přčte ke třetím členu populace. Jestlže má tento nový výsledný vektor nžší hodnotu účelové funkce (tzv. ftness), než předem vybraný vektor, pak je tento předem vybraný vektor nahrazen nově vygenerovaným vektorem s kterým byl porovnáván. Navíc je vždy zachováván nejlepší vektor x best, G pro zajštění zlepšování výsledku optmalzace. Exstuje několk varant tohoto algortmu. Zde budou podrobněj popsány dvě varanty. První z nch je označována jako DE/rand//exp. Funkc algortmu můžeme popsat takto:. pro každý cílový vektor z populační matce x, G, =, 2,..., NP, je vygenerován zkušební vektor v podle následujícího vztahu ( x x ) v x r G + F r, G r, G = (3), 2 3 kde ndexy r, r 2, r 3 [, NP], jsou celočíselné a navzájem různé a F>0.
Čísla r, r 2 a r 3 jsou náhodně vybrána z ntervalu [, NP] a navíc jsou rozdílná od ndexu. Symbol F označuje reálnou konstantu, která ovlvňuje velkost odchylky (x r2, G - x r3, G ). Obrázek 2 ukazuje 2-dmenzonální příklad, který lustruje funkc rozdílového vektoru v algortmu DE. Obr. 2: Příklad 2-dmenzonální účelové funkce, kde je ukázán proces generování vektoru v ve schématu algortmu DE 2. V dalším kroku je vybírán každý prvek vybraného cílového vektoru x, G, =, 2,..., NP, a zároveň každý prvek ze zkušebního vektoru v (první prvek z obou, druhý prvek z obou ). Pro každý pár těchto prvků je vygenerované náhodné číslo s rovnoměrným rozdělením pravděpodobnost v rozsahu (0-). Toto náhodné číslo je porovnáváno s konstantou křížení CR. Jestlže je toto náhodné číslo menší než CR, pak je odpovídající prvek z vektoru x, G vložen do nového vektoru u, G. V opačném případě je do nového vektoru u, G vložen odpovídající prvek ze zkušebního vektoru v. Takto získáme celý nový vektor u, G. Tato operace představuje operac křížení v teor evoluční stratege. Nakonec je porovnávána hodnota ftness vektoru u, G s hodnotou ftness cílového vektoru x, G. Vektor s nžší hodnotou ftness je vybrán do nové populace G+. Tento proces je opakován tak dlouho, dokud není nalezeno požadované řešení anebo dokud není dosažen předem zadaný počet generací. Nyní ještě popíšeme druhou varantu DE označovanou jako DE/best//exp. Jedný rozdíl spočívá v modfkac vztahu (3), kdy v této varantě platí pro vytváření vektoru v předps ( x x ) v xbest G + F r, G r, G =. (4), 2 3 Zde x best,g je nejlepší vektor, který představuje nejlepší dosavadní řešení v běhu algortmu. Zbývající část algortmu je shodná s předchozí varantou. Důležtým faktorem je zde volba konstant F a CR. Podrobnost o vlvu těchto konstant na běh algortmu a o jejch vhodné volbě jsou popsány v lteratuře [4, 5]. 3. Úloha dentfkace přenosové funkce číslcového IIR fltru Vstupním daty pro řešení úlohy jsou známé hodnoty kmtočtové modulové charakterstky v dskrétních kmtočtech. Jedná se tedy o vzorkovanou kmtočtovou charakterstku. Vzorkovací nterval nemusí být ekvdstantní, naopak je výhodné, když se jeho hodnota zmenšuje v okolí meze propustného pásma fltru. Tato data můžeme získat měřením anebo jakýmkolv jným způsobem. Konkrétním příkladem mohou být ukázky kmtočtových charakterstk číslcového fltru IIR na obr. 3 a 4. Získaná data slouží pro vytvoření testovacího vektoru v prostředí MATLAB.
Obr. 3: Získaná modulová charakterstka neznámého číslcového IIR fltru Obr. 4: Detal propustného pásma modulové charakterstky 3. Určení řádu přenosové funkce fltru Prvním krokem př dentfkac přenosové funkce IIR fltru je určení řádu této funkce. V této úloze dává průběh kmtočtové charakterstky aprorní nformac o tom, že fltr byl navržen pomocí Cauerovy aproxmace. Jak je známo o této aproxmac, počet extrémů p v propustném pásmu fltru je úměrný řádu fltru, což můžeme napsat jako p = n +, (5) kde p je počet extrémů v propustném pásmu a n je řád fltru. Z obrázku 4 je zřejmé, že v propustném pásmu má modulová charakterstka extrémů. Odtud vyplývá, že řád přenosové funkce je n = 0. Přenosovou funkc fltru desátého řádu můžeme defnovat jako součn dílčích funkcí 2.řádu ve tvaru
5 K = H ( z) = 5 j ϕ ( j ϕ z r e ) ( z r e ) j ϕ ( 2 j ϕ z r2 ) ( 2 2 e z r e ) =. (6) Ampltudovou modulovou charakterstku můžeme vypočítat podle následujícího vztahu ( ˆ ω) = 20 H ( z) j ˆ ω H db log 0, (7) z= e kde proměnná ωˆ znamená normalzovanou frekvenc defnovanou výrazem kde T je vzorkovací peroda. ωˆ = ω T, (8) Kmtočtová modulová charakterstka dskrétně pracujícího systému popsaného obvodovou funkcí H(z) v rovně z může být vypočítána v prostředí MATLAB prostřednctvím vestavěné vntřní funkce freqz. 3.2 Identfkace nul a pólů přenosové funkce číslcového IIR fltru Hlavní prncp spočívá v systematckém hledání nul a pólů přenosové funkce modelu dskrétně pracujícího systému tak, aby byl mnmalzován rozdíl mez zadanou modulovou charakterstkou neznámého obvodu a modulovou charakterstkou jeho modelu. Na tomto základě vytvoříme chybovou funkc e, kterou můžeme defnovat ve tvaru (9) S ( ˆ ω ) H ( ˆ ω ) e( ˆ ω ) = H, (9) kde H S (ωˆ ) je zadaná kmtočtová modulová charakterstka neznámého obvodu a H M (ωˆ ) je modulová charakterstka jeho modelu. Tato chybová funkce je pak vypočítávána v jednotlvých dskrétních frekvencích a ndvduální chyby jsou sčítány podle způsobu defnce účelové funkce. V prezentovaném případě jsou sčítány čtverce odchylek modulových charakterstk. Mnmum této účelové funkce hledáme pomocí DE algortmu. Matematcká formulace účelové funkce př vzorkování modulové charakterstky v N stejně vzdálených bodech přes celé frekvenční pásmo je defnována vztahem (0) M N 4 2 F( x) = [ e( ˆ ω )] + Pk. (0) = k= Vzhledem k tomu, že v této úloze se jedná o fltr 0. řádu navržený pomocí Cauerovy aproxmace, můžeme zjednodušt prostor hledaných řešení, neboť nuly přenosové funkce leží na jednotkové kružnc a pro jejch moduly pak platí, že r = r 2 = r 3 = r 4 = r 5 =. Tím nám klesne počet hledaných proměnných a prohledávaný prostor se zmenší o 5 dmenzí. Potom vektor x = [x,.., x 6 ] je mapován takto: x = r 2, x 2 = r 22, x 3 = r 23, x 4 = r 24, x 5 = r 25, x 6 = ϕ, x 7 = ϕ 2, x 8 = ϕ 3, x 9 = ϕ 4, x 0 = ϕ 5, x = ϕ 2, x 2 = ϕ 22, x 3 = ϕ 23, x 4 = ϕ 24, x 5 = ϕ 25, x 6 = Κ. () P k jsou penalzační funkce, pro které platí následující relace:
P P P 2 3 P 4 = = = 5 = 30000 + 200 x jestlže x 0 jnak 6 = 30000 200 x jestlže x < 0 0 jnak 5 = 30000 + 200 x jestlže x > π 0 jnak 6 30000 + 200 x6 jestlže x6 > = 0 jnak (2) (3) (4) (5) Penalzační funkce P je vložená do účelové funkce proto, aby byla zajštěna stablta navrženého číslcového IIR fltru. Jak je známo moduly komplexních pólů musí ležet uvntř jednotkové kružnce v komplexní rovně z. Penalzační funkce P 2 zajšťuje kladné hodnoty modulů a fází nul a pólů přenosové funkce a společně s penalzační funkcí P 3 je zajštěn rozsah fází nul a pólů v rozmezí (0..π). Penalzační funkce P 4 zajšťuje hodnotu zesílení v rozsahu (0..). Vzhledem k tomu, že momentálně nemáme velké zkušenost s optmálním nastavením penalzačních funkcí, byly použty mírně obměněné penalzační funkce z článku [7]. Vektor x opt, pro který má účelová funkce F(x) mnmum, představuje hledané řešení úlohy dentfkace přenosové funkce číslcového IIR fltru. 3.3 Výsledky dentfkace přenosové funkce číslcového IIR fltru Výše zmíněná dentfkační úloha byla řešena př volbě parametrů DE algortmu: NP=900, CR=0.9, F=0.9, rozsah hledaných proměnných byl x - x 5, x 6 (0..), x 6 - x 5 (0..π). Modulová charakterstka byla vzorkována v 64 stejně vzdálených bodech přes celé kmtočtové pásmo. Algortmus nalezl následující řešení úlohy po výpočtu 263 generací: r 2 = 0.9855797934098 r 22 = 0.94487284057727 r 23 = 0.8673795447702 r 24 = 0.724829394592 r 25 = 0.53569527948333 K = 0.00968378423 ϕ = 2.67348674742463 ϕ 2 = 2.006224789776 ϕ 2 =.4224346378045 ϕ 22 =.38835239390 ϕ 3 =.52053290052439 ϕ 23 =.29244836253704 ϕ 4 =.566025660748 ϕ 24 =.0543962358324 ϕ 5 =.6942774098986 ϕ 25 = 0.47402292668 Dosažená hodnota mnma účelové funkce F(x) = 3,58 0-23. Ze získaných hodnot nul a pólů byla sestavena přenosová funkce, která byla smulována v prostředí MATLAB. Výsledná ampltudová modulová charakterstka získaná touto smulac plně odpovídá modulové charakterstce neznámého číslcového IIR fltru, která je vykreslena na obrázcích 3 a 4. 4. Závěr Aplkace dferenčního evolučního algortmu pro mnmalzac chybové funkce je nová nekonvenční metoda, která byla použtá pro řešení úlohy dentfkace přenosové funkce číslcového IIR fltru o kterém máme aprorní nformac, že byl navržen pomocí Cauerovy aproxmace. Přenosová funkce ve vzorovém příkladu byla dentfkována úspěšně. Výsledná modulová charakterstka plně odpovídá předem zadané charakterstce neznámého fltru. Na základě výsledků expermentů je třeba poznamenat, že je velce důležté zvolt vhodnou varantu algo-
rtmu DE. V první fáz řešení byla použta varanta DE/rand//exp, ale pro fltry řádu vyšších než 6 docházelo ke konvergenčním problémům. Lepší výsledky, zejména vyšší rychlost konvergence a vyšší přesnost řešení dala varanta DE/best//exp. To je dokumentováno možností řešt úspěšně dentfkace parametrů přenosových funkcí vyšších řádů. V případě výpočtu parametrů přenosových funkcí řádu vyššího jak 0 zatím není vyloučeno selhání konvergence a to jak s ohledem na rozšíření prostoru možných řešení, tak z důvodů lmtované numercké přesnost. Vzhledem k stochastckému charakteru DE algortmu může být v těchto případech výhodné výpočet opakovat několkrát po sobě. Další zdokonalení algortmu vlastní metody výpočtu je předmětem další, právě probíhající etapy prací na využtí evolučních a genetckých algortmů pro nekonvenční řešení úloh optmalzace a návrhu elektronckých obvodů. 5. Poděkování Tato práce byla podporována grantem GAČR No. 02/02/067. 6. Lteratura [] V. Davídek, M. Lapert, M. Vlček, Analogové a číslcové fltry, ČVUT Praha, 2000 [2] P. Martnek, J. Vondraš, New Approach to Flters and Group Delay Equalser Transfer Functon Desgn. In: ICECS 200 - The 8th IEEE Internatonal Conference on Electroncs, Crcuts and Systems. St. Julan s: ICECS 200, 200, vol., p. 70. [3] P. Martnek, J. Vondraš, Mult-crteron Flter Desgn va Dfferental Evoluton Method for Functon Mnmzaton. In: ICCSC'02 st IEEE Internatonal Conference on Crcuts and Systems for Communcatons - Proceedngs. St. Petersburg: Sant-Petersburg State Techncal Unversty, 2002, vol., p. 06-09. ISBN 5-7422-0260-. [4] V. Mařík, O. Štěpánková, J. Lažanský a kolektv, Umělá ntelgence (4), Vyd.., Academa Praha, 2003. [5] I. Zelnka, Umělá ntelgence v problémech globální optmalzace, Vyd.., BENtechncká lteratura, Praha 2002 [6] M. D. Sdman, F. E. DeAngels, G. C. Verghese, Parametrc System Identfcaton on Logarthmc Frequency Response Data, IEEE Trans. Automatc Control, 36, No.9 (September 99), pp. 065-070. [7] R. Storn, Dfferental Evoluton Desgn of an IIR-Flter wth Requrements for Magntude and Group Delay, Techncal Report TR-95-026, ICSI, May 995 7. Kontaktní nformace Ing. Přemysl Žška Katedra teore obvodů, ČVUT Praha, Techncká 2, 66 27 Praha, Česká republka e-mal: premysl.zska@seznam.cz Doc. Ing. Pravoslav Martnek, Csc. Katedra teore obvodů, ČVUT Praha, Techncká 2, 66 27 Praha, Česká republka e-mal: martnek@fel.cvut.cz