Diplomová práce

Transkript

Diplomová práce
České vysoké učení technické v Praze
Fakulta elektrotechnická
Katedra teorie obvodů
Návrh a optimalizace filtru OTA-C
s využitím evolučních algoritmů
Diplomová práce
2007
Diplomant:
Bc. Dalibor Barri
Vedoucí práce: Doc. Ing. Pravoslav Martinek, CSc.
Zadání
(Originál v originálu diplomové práce, oboustranná kopie v kopii diplomové práce)
ii
Poděkování
Na tomto místě bych rád vyjádřil svou vděčnost osobám, které mi pomohly úspěšně realizovat mojí diplomovou práci.
V první řadě bych rád poděkoval panu doc. Ing. Pravoslavu Martinkovi, CSc., jako vedoucímu mojí diplomové práce, za přínosné konzultace
a cenné připomínky k mojí činnosti.
Dále děkuji své mamince a babičce za podporu ve studiu. Dík patří
též Richardovi Starému za cenné připomínky ke konceptu této práce.
Čestné prohlášení
Prohlašuji, že jsem zadanou diplomovou práci Návrh a optimalizace filtru OTA-C s využitím evolučních algoritmů zpracoval sám s přispěním
vedoucího práce a používal jsem pouze literaturu uvedenou v závěru
této práce. Dále prohlašuji, že nemám námitek proti půjčování nebo
zveřejňování mé diplomové práce nebo její části ve smyslu § 60 Zákona
č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem
autorským a o změně některých zákonů (autorský zákon).
Dne 11. 1. 2007
........................
Dalibor Barri, v. r.
Anotace (Annotation)
Anotace
Tato diplomová práce se zabývá ověřením možnosti využití stochastických algoritmů pro návrh a optimalizaci aktivních filtrů OTA-C. Na
základě zkoumání a porovnání stochastických algoritmů byl k realizaci
optimalizačního algoritmu vybrán diferenční evoluční algoritmus. Tento
algoritmus byl doplněn o simplexovou metodu, v důsledku čehož tak
vznikl nový progresivní optimalizační algoritmus DESA.
Klíčová slova: diferenční evoluce, simplexová metoda, dynamická optimalizace, filtr OTA-C
Annotation
The presented thesis deals with verification of possible utilization of stochastic algorithms for design and optimization of active OTA-C filters.
Based on the research and comparison of stochastic algorithms differential evolution algorithm was used for realization of optimization algorithm. This algorithm was supplemented by simplex method establishing
thus new progressive DESA optimization algorithm.
Keywords: differential evolution algorithm, simplex method, dynamic
optimization, filter OTA-C
v
Obsah
Seznam použitých symbolů
ix
1 Úvod
1
2 Uvedení do současné problematiky
3
2.1
Oblasti využití numerických optimalizačních metod . . . . . . . . . .
2.1.1 Stručný přehled optimalizačních metod . . . . . . . . . . . . .
3
4
2.2
Přehled a historie heuristických algoritmů . . . . . . . . . . . . . . .
5
2.3
Genetický algoritmus . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.3.1
2.3.2
Populace jedinců . . . . . . . . . . . . . . . . . . . . . . . . .
Reprodukce, křížení a mutace . . . . . . . . . . . . . . . . . .
7
7
2.3.3
Shrnutí genetických algoritmů . . . . . . . . . . . . . . . . . .
8
Diferenční evoluční algoritmus . . . . . . . . . . . . . . . . . . . . . .
9
2.4
2.5
2.4.1
Matematický popis základního DE algoritmu . . . . . . . . . . 10
2.4.2
2.4.3
Metody a modifikace diferenční evoluce . . . . . . . . . . . . . 13
Grafické zobrazení základního DE algoritmu . . . . . . . . . . 15
2.4.4
Shrnutí DE algoritmů . . . . . . . . . . . . . . . . . . . . . . . 15
Simplexová metoda . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.5.1 Základní popis simplexové metody . . . . . . . . . . . . . . . 18
2.5.2
Matematická interpretace simplexové metody . . . . . . . . . 19
2.5.3
Shrnutí vlastností simplexové metody . . . . . . . . . . . . . . 21
3 Cíle diplomové práce
22
4 Metody zpracování
23
4.1
Výběr optimalizačního algoritmu . . . . . . . . . . . . . . . . . . . . 23
4.2
Programy použité k implementaci algoritmu a verifikaci výsledku . . 24
5 Popis užitého DESA algoritmu
25
5.1 Evoluční část DESA algoritmu . . . . . . . . . . . . . . . . . . . . . . 25
vi
Obsah
5.2
Integrace simplexové metody do DESA algoritmu . . . . . . . . . . . 27
5.2.1
Modifikace simplexové metody . . . . . . . . . . . . . . . . . . 28
5.3 Řídící konstanty DESA algoritmu . . . . . . . . . . . . . . . . . . . . 29
5.4 Řešení stagnace DESA algoritmu . . . . . . . . . . . . . . . . . . . . 30
5.5
Účelová funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6 Příklad řešení konkrétní aplikace
33
6.1 Úvod do problematiky . . . . . . . . . . . . . . . . . . . . . . . . . . 33
6.2 Zadání požadavků . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.3
Řešení aproximační úlohy . . . . . . . . . . . . . . . . . . . . . . . . 35
6.4
Ideální realizace struktury navrhovaného filtru OTA-C . . . . . . . . 37
6.5
Vliv reálných vlastností obvodových prvků na navržený filtr . . . . . 40
6.5.1 Vliv reálného OTA na vlastnosti navrženého obvodu . . . . . 40
6.5.2
Realizace makromodelu OTA LM13700 . . . . . . . . . . . . . 42
6.5.3
Vliv reálných vlastností kondenzátorů na přenosovou funkci
. 44
6.6
6.7
Optimalizace reálného obvodového zapojení filtru OTA-C . . . . . . . 45
Výsledky návrhu a optimalizace filtru OTA-C . . . . . . . . . . . . . 50
6.8
Zhodnocení výsledku řešeného filtru OTA-C . . . . . . . . . . . . . . 52
7 Závěr
53
7.1 Shrnutí diplomové práce . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.2 Přínos diplomové práce . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7.3
Možné směry dalšího vývoje . . . . . . . . . . . . . . . . . . . . . . . 54
Literatura
55
Seznam obrázků
60
Seznam tabulek
61
Přílohy
I
A
Dodatek ke genetickým algoritmům . . . . . . . . . . . . . . . . . . .
B
C
Reálné vlastnosti užitého OTA LM13700 . . . . . . . . . . . . . . . . III
Výpis zdrojového kódu užitého makromodelu . . . . . . . . . . . . . . IV
D
Dostupný rozsah transkonduktance gm . . . . . . . . . . . . . . . . . IV
E
Srovnání makromodelů . . . . . . . . . . . . . . . . . . . . . . . . . .
F
G
Vliv parazitní polohy pólu OTA na reálný filtr OTA-C . . . . . . . . VI
Reálné vlastnosti kondenzátorů . . . . . . . . . . . . . . . . . . . . . VII
H
Srovnání dynamiky filtru před a po optimalizaci . . . . . . . . . . . . IX
vii
I
V
Obsah
I
Grafický přehled citlivosti přenosové funkce |H(p)| na změny hodnot
obvodových prvků . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IX
J
Obsah přiloženého CD . . . . . . . . . . . . . . . . . . . . . . . . . . XII
viii
Seznam použitých symbolů a zkratek
Seznam použitých symbolů a zkratek
a
ap
as
A
C
CI
CR
D
DE
DP
DPS
DS
ESL
ESR
f
fp
fs
F
gm
go
G
GA
|H(jΩ)|
iout
IABC
K1 (δ), K2 (i, δ)
NP
P P GIP
.........
.........
.........
.........
.........
.........
.........
.........
.........
.........
.........
.........
.........
.........
.........
.........
.........
.........
.........
.........
.........
.........
.........
.........
.........
.........
.........
.........
OTA
.........
OTA-C
OZ
PG
Q
r1 , r2 , r3 , r4
R
SY,x
SxY
U, u, v
W 1 , W2
.........
.........
.........
.........
.........
.........
.........
.........
.........
.........
útlum [dB]
útlum v propustném pásmu [dB]
útlum v nepropustném pásmu [dB]
zesílení
kapacitor [F]
integrační kapacitor [F]
faktor křížení v DE a DESA
počet dimenzí vektorů (jedinců) v populaci
Differential Evolution – diferenční evoluce
dolní propust
deska plošných spojů
Downhill Simplex – simplexová metoda
Equivalent Series Inductance [H]
Equivalent Series Resistance [Ω]
kmitočet [Hz]
mez propustného pásma [Hz]
mez nepropustného pásma [Hz]
váhovací konstanta v DE a DESA
transkonduktance [µA/V]
výstupní vodivost [S]
udává aktuální počet generací
Genetic Algorithm – genetický algoritmus
modulová charakteristika
výstupní proud [A]
klidový proud OTA (Amplifier Bias Current) [A]
účelové funkce DESA algoritmu
počet jedinců v jedné populaci (Number of Population)
Percent Part of Gen from Intermediate Population
(procentuální část genů vzata z přechodné populace)
Operation Transconductance Amplifier
(transkonduktanční operační zesilovač)
obvodová struktura složená z kapacitorů a OTA
operační zesilovač
populace v G-té generaci
činitel tvaru [–]
náhodná celá čísla v DE v intervalu rx ∈ (1, 2, ..., N P )
rezistor [Ω]
absolutní citlivost veličiny Y na parametr x
relativní citlivost veličiny Y na parametr x [–]
elektrické napětí [V]
váhovací koeficienty účelových funkcí K1 (δ) a K2 (i, δ)
ix
Seznam použitých symbolů a zkratek
α
β
γ
λ
τi
ω
Ω
Ωx , Ω0
.........
.........
.........
.........
.........
.........
.........
.........
koeficient reflexe DS
koeficient kontrakce DS
koeficient expanze DS
přídavný váhovací koeficient DE
integrační konstanta [s]
kruhový kmitočet [rad/s]
normovaný kruhový kmitočet [−]
normovaný kruhový kmitočet pólu, nuly [−]
x
Kapitola 1
Úvod
Současná výpočetní technika přináší spolu s novými výpočetními postupy i nové
numerické optimalizační metody. Tyto metody se v dnešní době považují za účinný
prostředek k nalezení řešení optimálního návrhu lineárních obvodů s respektováním různých návrhových kritérií a omezení. Další kladené požadavky mohou být
i ekonomického či jiného charakteru.
Výpočetní výkon stávajících počítačů spolu s dostupnými matematickými softwarovými produkty umožňují v dnešní době řešit složité optimalizační úlohy využívající doposud nepříliš používané stochastické numerické metody. Mezi tyto metody
řadíme tzv. evoluční a genetické algoritmy. Přednostmi daných algoritmů je jejich
snadná aplikace spolu s možností efektivně řešit multikriteriální úlohy s větším počtem nezávisle proměnných. Nevýhodou těchto algoritmů je jejich časová náročnost,
způsobená velkým rozsahem výpočetních kroků potřebných k nalezení optimálního
řešení. Na druhou stranu proces optimalizace probíhá cíleně a při správném nastavení optimalizačních parametrů nalezneme řešení poměrně rychle.
Aplikace daných metod k řešení lineárních obvodů se jeví jako směr správnou cestou, jelikož nám umožňuje řešit takové úlohy, v nichž standardní metody selhávají,
nebo jejich výsledek neodpovídá globálnímu minimu či nesplňuje všechna kritéria
zadaná návrhářem. Studie aplikace daných algoritmů je v dnešní době velmi aktuální a to především díky neustále se zvyšujícím nárokům na navrhované elektronické
obvody.
Cílem této diplomové práce je ověření možnosti použití nekonvenčních numerických optimalizačních metod k návrhu a optimalizaci filtru OTA-C. V práci je popsán
jednak jejich teoretický princip, a jednak je zde demonstrována i praktická ukázka
na konkrétním příkladě.
Celá práce je rozdělena do sedmi kapitol. Po úvodní kapitole následuje kapitola
s názvem Uvedení do současné problematiky, kde jsou popsány základy evolučních
a genetických algoritmů spolu s deterministickou metodou. Tou je simplexová me-
1
Diplomová práce
Úvod
toda. Dále jsou v kapitole popsány základní pojmy stochastických algoritmů, kterými jsou například: generace, populace, mutace atd.
Následující dvě kapitoly pak popisují cíle diplomové práce a metody jejího zpracování. Zde je řečeno, jaký ze stochastických algoritmů jsem si k realizaci optimalizačního algoritmu vybral a v jakém matematickém programu bude algoritmus implementován. Dále je zde uveden soupis softwarových produktů použitých k verifikaci
dosažených výsledků.
V páté kapitole se dočteme o novém algoritmu DESA, jenž je užitý v diplomové
práci. Je zde uvedena jeho vlastní interpretace a jaké výhody nám tento algoritmus
přináší ve srovnání s klasickými stochastickými metodami. Dále je v této kapitole
řešena otázka stagnace a vysvětlen pojem účelová funkce.
Kapitola šestá se věnuje konkrétnímu příkladu aplikace využití DESA algoritmu,
k návrhu a optimalizaci nestandardního filtru OTA-C s multikriteriálními požadavky. Kapitola se zabývá návrhem filtru od samotného počátku, tj. od zadaní, až
po finální reálnou obvodovou strukturu. V závěru této kapitoly je uvedeno zhodnocení dosažených výsledků řešeného filtru OTA-C.
V poslední kapitole jsou shrnuty závěry získané při vypracovávání této diplomové
práce s uvedením možných směrů dalšího vývoje.
2
Kapitola 2
Uvedení do současné problematiky
Protože hlavním cílem je právě optimalizace filtru OTA-C, budu se v uvedení do
současné problematiky zabývat přehledem moderních optimalizačních metod, které
mohou být použity pro tyto účely. Kapitola je pro svou rozmanitost členěna do pěti
základních částí:
• Oblasti využití numerických optimalizačních metod
• Přehled a historie heuristických algoritmů
• Genetický algoritmus
• Diferenční evoluční algoritmus
• Simplexová metoda
2.1
Oblasti využití numerických optimalizačních
metod
Využití klasických numerických metod v syntéze lineárních obvodů přineslo v minulosti velký zlom. Pomocí klasických numerických metod dokážeme optimalizovat
dílčí části obvodu, jako je např. optimalizace přenosové funkce filtru s ohledem na
jakost jejích pólů. Avšak ne vždy vedly tyto numerické metody k uspokojivému výsledku. Jednou z hlavních nevýhod klasických optimalizačních metod je optimalizace
pouze na jeden parametr, tj. nelze provádět syntézu obvodů respektující vícekriteriální požadavky. Jako příklad takových požadavků lze uvést optimalizaci obvodu
s ohledem na reálné vlastnosti použitých prvků, s omezením maximálního povoleného zvlnění přenosové funkce v propustném pásmu, s respektování dynamických
poměrů a definovaným rozsahem hodnot použitých prvků.
3
Diplomová práce
2.1 Oblasti využití numerických optimalizačních metod
Jak již víme na vícekriteriální úlohy nelze uplatnit klasické numerické metody, ale
lze na ně s úspěchem použít evoluční či genetické algoritmy. Tyto algoritmy pracují
se skupinou jedinců (tzv. populací), na kterou se aplikuje evoluční popř. genetický
algoritmus. Každá populace jedinců se během algoritmu vyvíjí v tzv. generacích.
Každý jedinec dané generace představuje vektor proměnných, který je tvořen například hodnotami parametrů navrhovaného nebo optimalizovaného obvodu. Takto
získaný vektor je následně ohodnocen tzv. účelovou funkcí, která vyjadřuje míru
odchylky od zadaných požadavků. Toto ohodnocení pak řídí proces prohledávání
možných řešení v daném prostoru.
2.1.1
Stručný přehled optimalizačních metod
Ať již mluvíme o jakékoli úloze, vždy se algoritmus implementovaný do systému
snaží odhadnout nejoptimálnější řešení. Při odhadu parametrů algoritmus vychází
z účelové funkce, kterou se snaží minimalizovat. Jedná se vlastně o hledání minima
na N -rozměrném chybovém povrchu.
Tento N -rozměrný povrch lze popsat fitness funkcí K o N proměnných. Hledání
minima funkce K je hledání bodu, kde je gradient funkce K nulový. Z této podmínky
dostaneme, derivací funkce K, soustavu N rovnic. Pro klasické úlohy se tato soustava
nazývá Wiener-Hopfova, respektive Yule-Walkerova rovnice. Soustavu o N rovnicích
můžeme řešit dvěma různými způsoby:
a) přímými metodami,
b) iteračními metodami.
Přímé metody jsou metody vedoucí k výsledku v konečném počtu kroků. Jsou
to například: Gaussova eliminační metoda (GEM), výpočet inverzní matice nebo
metoda LU rozkladu. Přímé metody se dají použít pouze pro lineární rovnice. Výhodou je předem známý počet kroků. Problém může nastat s výpočetní náročností
pro velká N .
Iterační metody jsou metody založené na zpřesňování výsledku v každém následujícím kroku. Přesnost výsledku závisí na počtu iterací a nelze přesně říci kolik
kroků bude k dosažení výsledku potřeba. Mezi tyto metody patří například: metoda
prosté iterace, Newtonova metoda či gradientní metoda. Pro lineární metody lze použít i Jacobiovu metodu, Gauss-Seidelovu metodu či relaxační metodu SOR. Výhodou
těchto metod je možnost řešení nelineárních rovnic. Nevýhodou je neznámý počet
kroků vedoucích k výsledku. Výše zmiňovaným metodám se věnuje literatura [1],
která je k dostání i v on-line verzi [2]. J. Daňek na internetových stránkách [3] uvádí
jak jejich matematické interpretace, tak i grafické zobrazení.
4
Diplomová práce
2.2 Přehled a historie heuristických algoritmů
Při optimalizaci může nastat problém ve chvíli, kdy funkce K nemá pouze jedno
minimum, ale má několik dalších lokálních minim. Iterační metody pak mohou „uvíznoutÿ v lokálním minimu a globálního minima nikdy nedosáhnout.
Problém nalezení globálního minima libovolné funkce bez zadání okrajových podmínek není dosud uspokojivě vyřešen. K řešení tohoto problému se používají nelineární iterační metody, které můžeme rozdělit do dvou kategorií:
a) využívající derivací,
b) prohledávající.
Metody využívající derivací, jako je gradientní metoda, nemohou řešit problémy,
kdy se nedá určit derivace funkce K. Pro takové problémy nám zbývají metody
prohledávající: genetické (heuristické) či Powllova metoda. Tyto metody se většinou
používají v kombinaci s okrajovými podmínkami, kdy je zadána množina, na které
se má minimum hledat.
Gradientní metody se chovají lépe v okolí minima a podávají přesnější výsledky.
Mají však tendenci uvíznout v lokálním minimu. Prohledávající metody jsou, naopak, odolnější vůči „zablouděníÿ, ale jejich konvergence v okolí minima je horší.
Proto se v praxi používá kombinace prohledávajících metod s metodami gradientními. V prvním kroku se pomocí prohledávajících metod lokalizuje přibližně poloha
minima a v druhém kroku se toto minimum nalezne přesně pomocí gradientních
metod. Tento postup bývá, jak již bylo uvedeno, doplněn okrajovými podmínkami
– tedy množinou vymezující prohledávanou oblast.
2.2
Přehled a historie heuristických algoritmů
Začátkem 60. let minulého století vzniká nový směr v rozvoji informatiky, tzv. genetické algoritmy (GA). Tyto algoritmy vycházejí z Darwinovy teorie o vývoji druhů,
a úspěšně se začaly používat k řešení optimalizačních problémů, kde dosahují dobrých výsledků. Od dob, kdy jeden ze zakladatelů této problematiky – John Henry
Holland – popsal v roce 1975 ve své knize Adaptation in Natural and Artificial
Systems [4] základní vlastnosti těchto algoritmů, prošla tato disciplína dlouholetým
vývojem a v dnešní době se uplatňuje v mnoha optimalizačních algoritmech.
Další vývoj, kterým optimalizační algoritmy prošly nastal, v 90. letech minulého
století vynalezením evolučního algoritmu (EA). Průkopníkem této problematiky se
stal Kenneth Price, který se proslavil pokusem vyřešit Čebyševův polynom užitím
evolučního algoritmu typu diferenční evoluce (DE) a Rainerem Stormem, který jej
doplnil. Kritický zlom v evolučních algoritmech nastal v době, kdy Kenneth Price
přišel s ideou využití rozdílového vektoru, tj. vektoru, jenž vznikne rozdílem dvou
5
Diplomová práce
2.3 Genetický algoritmus
jiných vektorů, k sestavení již zmiňovaného DE algoritmu. Tato původní idea vedla
mezi Kennethem a Rainerem k rušným diskusím, nekonečným bádáním, počítání
a simulacím, dokud nedosáhli lepších výsledků. Na základě jejich snahy jsou v současnosti diferenční evoluce univerzálním, robustním a efektivním nástrojem pro řešení optimalizačních problémů. O jednotlivých variantách a základních pravidlech
návrhu DE algoritmu píše R. Storn v článku On the Usage of Differential Evolution
for Function Optimization [5].
Za rychlý vývoj DE můžeme poděkovat tvůrcům tohoto algoritmu, jelikož si tento
algoritmus nikdy nenechali patentovat a mohli se tak na něm podílet vědci z celého
světa. Vědci a uživatelé DE se sdružují v tzv. „DE spolkuÿ, který se začal rozrůstat
v letech 1994–1996. Vznik tohoto spolku byl velkým přáním Kennetha a Rainera,
a to především z toho důvodu, aby byl DE stále vyvíjen, zlepšován a zdokonalován
pro mnohé aplikace denních i profesionálních uživatelů.
V následujících dvou kapitolách se věnuji podrobnějšímu rozboru genetických
a diferenčních evolučních algoritmů. Po jejich přečtení by měl mít čtenář jasnou
představu o realizaci výše zmiňovaných algoritmů a být schopen popsat rozdíl mezi
těmito dvěma revolučními algoritmy.
2.3
Genetický algoritmus
V biologii jsme se seznámili se způsobem, jakým živé organismy předávají své genetické informace svým potomkům. Tyto informace jsou uloženy v chromozómech
jednotlivých organismů (jedinců). Obsah chromozómů lze chápat jako jistý „kódÿ informace o jedinci. Podle teorie Charlese Darwina1 v přírodě přežívají silnější jedinci
a ti pak mají šanci předat svoji genetickou informaci do další generace. Důležité
přitom je, že každý organismus je potomkem dvou rodičů, nebo-li informace uložené
v jeho chromozómech jsou zčásti převzaty od jednoho rodiče a zčásti od druhého.
Na základě těchto principů pracuje i genetický algoritmus. Algoritmus tedy pracuje
s jistými jedinci, kteří jsou sdružováni v tzv. populaci jedinců a jejichž vlastnosti jsou
reprezentovány v určité struktuře, která je připodobněním chromozómu tohoto organismu (binární kódování). Jedna populace, nebo-li generace nám poskytuje v jednom
okamžiku několik možných řešení, která jsou s rostoucím počtem generací stále lepší
a lepší, dokud není v ideálním případě nalezen ten nejlepší jedinec. V opačném pří1
Charles Robert Darwin (12. 2. 1809 – 19. 4. 1882), nebyl první, kdo s myšlenou evoluce přišel – spíše bychom mohli říci, že ji „zdědilÿ po svém dědečkovi Erasmu Darwinovi (1713–1802). Ten
už v 18. století vyslovil odvážnou hypotézu, že veškerý život na Zemi vznikl z jediného „kořeneÿ,
stvořeného Bohem, a postupně se rozrostl a rozvětvil do košatého stromu. Jednou z větví tohoto
stromu je i člověk.
6
Diplomová práce
2.3 Genetický algoritmus
padě může nastat situace, kdy nám GA „uvízneÿ v lokálním minimu a nejlepšího
jedince tak nikdy nenajdeme. Jedním z řešení, jak částečně zabránit uvíznutí v lokálním minimu je zvětšení počtu jedinců, díky čemuž pak algoritmus pracuje v jedné
generaci s větším počtem možných řešení. Jedná se o tzv. paralelismus v GA [6],
který nám značně zefektivňuje tuto metodu.
Účelem organismu je vytvářet v populaci jedinců stále silnější jedince. Tato vlastnost předurčuje algoritmus k použití při optimalizaci problémů, kdy hledáme nejlepší
z možných řešení.
2.3.1
Populace jedinců
Algoritmus pracuje s generacemi určitých jedinců, tzv. populací jedinců. Tato populace je tvořena jedinci, kteří jsou reprezentovány „chromozómyÿ, nebo-li řetězcem
jedniček a nul (jak uvádí J. R. Koza v Genetic Programming [7, kapitola 3]), přičemž všechny „chromozómyÿ jsou stejně dlouhé. Chromozóm tedy může vypadat
například takto: 11010001 (jedinec délky 8).
Délka jedince je pro optimalizaci návrhu velmi důležitá, jelikož při genetickém
algoritmu pracujeme v předem určeném intervalu, který prozkoumáváme na pozicích
daných délkou jedince. V našem případě s délkou jedince rovnou osmi prohledáváme
1 .
s přesností 218 = 256
= 0,0039. Kdybychom chtěli zvětšit přesnost našeho algoritmu,
zvětšili bychom délku jedinců (např.: délka jedince = 10, pak bychom pracovali
.
1
= 0,00098). Tzn. při zakódování dochází k diskretizaci prohles přesností 2110 = 1024
dávaného prostoru. Tímto efektem se můžeme dopouštět chyb, nepřímo úměrných
délce jedince.
Cílem algoritmu je vyvíjet generace tak, aby se neustále zlepšovaly. To znamená,
aby v ní vítězili silnější jedinci nad slabšími. Nabízí se nám otázka, kdo rozhodne
o tom, jak je daný jedinec silný či slabý, nebo-li jak je kvalitní. Toto rozhodování
není součástí genetického algoritmu. Algoritmus se na kvalitu (fitness) jedince pouze
„zeptáÿ.
2.3.2
Reprodukce, křížení a mutace
Genetický algoritmus pracuje s populací jedinců, a proto před spuštěním celého
algoritmu musíme již nějakou generaci mít. Tuto tzv. „nultouÿ, nebo též inicializační
generaci vytvoříme náhodným vygenerováním. Naším cílem je, abychom na základě
znalosti kvality řetězců vytvořili novou generaci, na jejímž složení se budou podílet
silnější jedinci. Celý mechanismus tvorby nové generace (obrázek 2.1) se děje v třech
hlavních krocích: reprodukce, křížení a mutace (blíže příloha A), a velmi dobře je
7
Diplomová práce
2.3 Genetický algoritmus
popsán autory Randy L. Haupt a Sue E. Haupt v knize Practical Genetic Algorithm
[8, kapitola 2 a 3], kde se autoři zabývají nejen diskrétní bitovou reprezentací, ale
i spojitou (realizace reálnými čísly). V 5. kapitole pak shrnují pro a proti jednotlivých
provedení GA.
Obrázek 2.1: Schéma reprezentující genetický algoritmus
2.3.3
Shrnutí genetických algoritmů
V této kapitole jsme se seznámili se základní verzí genetického algoritmu. Řekli jsme
si výhody tohoto algoritmu, mezi něž patří prohledávání prostoru ve více místech
najednou s tím, že dochází k výměně informací mezi prohledávanými body. Další
8
Diplomová práce
2.4 Diferenční evoluční algoritmus
výhodou je nalézání lepších řešení bez znalostí struktury řešeného problému. Algoritmus při řešení problému pracuje s řetězci jedniček a nul a kvalitou těchto řetězců.
O kvalitě rozhoduje tzv. ohodnocovací funkce, která není obecně definována. Záleží
na uživateli, jak si tuto ohodnocovací funkci definuje. Tato funkce je jediným prostředníkem mezi řešeným problémem a algoritmem, a proto je velmi důležité tuto
funkci co nejlépe nadefinovat, abychom byli schopni v co nejkratším čase nalézt
optimální řešení.
Celý algoritmus je velmi jednoduchý. Skládá se ze tří operátorů – reprodukce,
křížení a mutace. Každý z těchto operátorů používá náhodný výběr (tzn. nejedná se
o deterministickou metodu). Výše popsaný algoritmus je základní verzí, která je dále
modifikována a vylepšována samotnými uživateli. V mnoha aplikacích nám postačí
základní verze tj. bez doplňků a vylepšení, jelikož i s ní lze dosáhnout velmi dobrých
výsledků.
Nevýhodou této metody je omezená přesnost hledaného řešení (příklad realizace GA je v uveden na CD v souboru 00 priklad realizace GA.mw ), jelikož se s ní
pohybujeme v diskretizovaném prostoru možných řešení. Přesnost je tedy omezena
velikostí použitého jedince, tj. velikostí bitové reprezentace. Ačkoli dle [8] lze realizovat GA i s reálnými čísly, nemusí přinést tato varianta výrazné zlepšení. Proto
jsem při výběru vhodné metody k návrhu a optimalizaci filtru OTA-C pomocí heuristických algoritmů zvolil jinou variantu, a tou je diferenční evoluční algoritmus,
který eliminuje tuto nepřesnost výsledného řešení. Blíže o této metodě pojednává
následující podkapitola.
2.4
Diferenční evoluční algoritmus
Poprvé byl tento algoritmus prezentován v roce 1995 R. Stornem a K. V. Pricem
v Technical Report [9]. Rok poté byl na First International Contest on Evolutionary
Computation – 1stICEO (První mezinárodní soutěž vývojových výpočtů) konající
se v Nagoye ohodnocen 3. místem a ukázal se tak být nejlepším genetickým algoritmem pro řešení reálných hodnot testovaných funkcí. První dvě místa získaly non-GA
algoritmy, které nebyly univerzální, nicméně zoptimalizovaly testované funkce rychleji než-li DE. Diferenční evoluční algoritmus (DE) je velmi snadný, jednoduchý
a přímočarý algoritmus poskytující populaci možných řešení založených na minimalizaci reálné ohodnocovací nebo též účelové funkce. Jak později uvidíme, vhodné
formulování této funkce je velmi důležitý krok pro správnou a rychlou konvergenci
ke konečnému řešení. Rychlost konvergence u DE algoritmů je v porovnání s klasickými algoritmy znatelně menší, a proto je této problematice věnována velká odborná
9
Diplomová práce
2.4 Diferenční evoluční algoritmus
pozornost. Jak se tedy dalo očekávat, další vývoj těchto algoritmů byl poznamenán
snahou o zvýšení jejich účinnosti a to zejména již zmiňované rychlosti konvergence,
která je hlavním nedostatkem této metody.
Na toto téma bylo zpracováno mnoho teorií, z nichž se jako vhodná cesta ukazuje
doplnění DE algoritmu o klasickou negradientní metodu optimalizace. T. Rogalsky
spolu s R. W. Derksenem napsali v roce 2000 na toto téma článek [10], ve kterém
je popsána kombinace DE algoritmu s metodou Downhill Simplex. Optimalizační
metoda, která takto vznikla byla tvůrci pojmenována jako HDE (Hybridized Differential Evolution) algoritmus. Dle autorů tak lze dosáhnout až 50% zlepšení DE
algoritmu. Avšak první zmínky o užití simplexové metody spolu s nedeterministickou metodou byly již v roce 1995, kdy J. Yen a J. C. Liao v článku [11] popisují
použití kombinace simplexové metody a genetického algoritmu. V článku je provedena analýza na procentuální zastoupení simplexové metody v GA-simplex Hybrid
Algorithm (jak autoři tento algoritmus pojmenovali), která má nezanedbatelný vliv
na dosažení lepších výsledků. Vlastnostmi užité negradientní simplexové metody se
zabývali J. C. Lagarias, J. A. Reeds, M. H. Wright a P. E. Wright v článku [12] na
jedné iteraci NM (Nelder–Mead) algoritmu – tvůrci simplexové metody.
Cílem tohoto algoritmu, obdobně jako u genetického algoritmu, je nalezení nejsilnějšího jedince z široké nabídky populace pomocí tzv. ohodnocovací funkce (fitness
function). Pro reálnou představu o realizaci DE algoritmu, se budu v následující
kapitole důkladně věnovat jejímu matematickému popisu, který je mimo jiné publikován například v [9], [13] a [14].
2.4.1
Matematický popis základního DE algoritmu
Algoritmus pracuje s generacemi jedinců, kteří nejsou reprezentovány „chromozómyÿ, tak jak tomu bylo u genetického algoritmu, ale náhodnou „nebitovouÿ hodnotou. Skutečnost, že jedinci nejsou reprezentovány chromozómy, nám ve své podstatě
zvětšuje přesnost výpočtu, jelikož nejsme omezeni bitovou přesností.
Stejně jako genetický algoritmus, tak i DE algoritmus pracuje s členy populace,
a proto je prvním krokem před samotným spuštěním algoritmu nezbytně důležité
vygenerování náhodné inicializační populace PG=0 o N P D-dimenzionálních vektorů
(jedinců) xi,j,G :
PG = {~x1,G , ~x2,G , ..., ~xj,G , ..., ~xN P,G } , ~xj,G = xi,j,G
(lo)
(hi)
(lo)
xi,j,G=0 = xi + randi [0, 1]· xi − xi
j = 1, 2, ..., N P,
(lo)
kde xi
(hi)
je spodní a xi
N P ≥ 4,
i = 1, 2, ..., D,
horní mez povolených hodnot.
10
(2.1)
Diplomová práce
2.4 Diferenční evoluční algoritmus
Jak si můžeme ve vztahu (2.1) povšimnout, velikost parametrů jedinců je ohra(lo)
ničena zdola xi
(hi)
a shora xi
. Je to z toho důvodu, abychom dostali řešení v námi
definovaném rozmezí. Dolní index i určuje, že nové náhodné číslo je generováno pro
každou hodnotu i. Jestliže dolní index je j, pak je náhodné číslo generováno jen
jedenkrát pro každého jedince. Výraz randi [0, 1] reprezentuje rovnoměrně distribuovanou náhodnou proměnnou v rozsahu od 0 do 1. Po této formulaci dostáváme
podmínku:
(lo)
xi
(hi)
≤ xi ≤ xi
,
i = 1, ..., D.
(2.2)
Po inicializaci je populace podrobena opakování generací, G = 1, 2, ..., Gmax s využitím mutace, rekombinace a selekce. DE algoritmus využívá jak mutace tak i rekombinace k vytvoření jednoho „potomkaÿ, nebo-li trial vektoru ui,j,G+1 , z každého
„rodičovskéhoÿ vektoru ~xj,G , jak je ukázáno na následujícím příkladu (2.3):
r1 , r2 , r3 ∈ {1, 2, ..., N P },
(náhodný výběr, kromě: r1 6= r2 6= r3 6= j)
irand = int(randj [0, 1]·D) + 1
for (i = 1; i ≤ D; i = i + 1)
{
if (randi [0, 1] < CR ∨ i = irand )
ui,j,G+1 = vi,j,G+1 = xi,r3 ,G + F ·(xi,r1 ,G − xi,r2 ,G )
else
ui,j,G+1 = xi,j,G
}
(2.3)
Indexy r1 , r2 a r3 jsou tři náhodně vybrané vektory (jedinci) z populace ve stejné
generaci tak, že se navzájem liší a zároveň jsou odlišné od j, který určuje vektor současného „rodičeÿ. Na základě této formulace musí být splněna podmínka ze
vztahu (2.1), tj. inicializační populace N P musí být větší jak tři. Mezi dvěma takto
vybranými jedinci provedeme tzv. diferenci, nebo-li uskutečníme vzájemný rozdíl
hodnot jejich vektorů. Získáme tak rozdílový vektor, který budeme váhovat (přenásobovat) násobnou konstantou F. Povšimněme si, že pokud randi [0, 1] je menší než
CR či jestliže i = irand , pak je potomek lineární kombinací tří náhodně zvolených
vektorů; v opačném případě vznikne potomek přímým dědictvím od svých rodičů.
Podmínka ”∨ i = irand ” je vložena proto, aby se zajistila rozdílnost potomka alespoň
v jedné proměnné vektoru. F a CR jsou uživatelem specifikované direktivní (řídící)
proměnné.
F – mutation amplification – je váhovací faktor určený reálnou hodnotou typicky
v intervalu (0; 1i, která nám zvětšuje či zmenšuje všechny parametry rozdílového
vektoru. Následujícím krokem je tzv. mutace, která spočívá v sumaci (součtu) výše
11
Diplomová práce
2.4 Diferenční evoluční algoritmus
získaného váhovaného vektoru s třetím náhodně vybraným jedincem. Tímto po→ s jehož pomocí budeme
stupem získáme tzv. šumivý vektor (noisy vector (−
nv)),
vykonávat další kroky v etapě křížení (CR).
CR – crossover faktor – je faktor křížení charakterizovaný reálnou hodnotou v rozsahu h0; 1i udávající pravděpodobnost, že gen našeho výše získaného noisy vektoru
(xi,r3 ,G + F · (xi,r1 ,G − xi,r2 ,G )) se bude moci zkřížit s genem porovnávaného jedince
xi,j,G , nebo-li křížení samotných genů je opět náhodný proces. Po fázi křížení obdržíme testovací vektor (trial vector).
Obecně platí, že hodnoty F a CR zásadně ovlivňují rychlost konvergence a robustnost celého procesu. Hledání jejich optimálních hodnost závisí jak na cílové
(hledané) funkci, tak i na velikosti populace NP (Number of Population). Zpravidla
se vhodné hodnoty pro F, CR a NP hledají metodou pokus – omyl. Neexistují totiž
žádná pravidla, která by nám poskytovala takové informace, že při určité kombinaci hodnot F a CR, dostaneme přesný počet populací NP, pro který by evoluční
algoritmus musel vždy najít řešení. Nicméně existují jistá doporučení, která uvádím
v kapitole 5.3.
Nyní jsme v etapě, kdy jsme získali testovací vektor (testovacího jedince, nebo-li
jedno možné řešení). Tento testovací vektor je ohodnocen tzv. účelovou (ohodnocovací) funkcí K – fitness function – tj. funkcí, která každému potomku přiřadí reálnou
hodnotu odpovídající odchylce od zadaných požadavků. Získaná hodnota účelové
funkce je pak porovnána s hodnotou průběžného vektoru (rodiče). Jestliže ohodnocený zkušební vektor bude mít lepší nebo rovné výsledky účelové funkce, než-li je
tomu u průběžného vektoru, tak pozici průběžného vektoru v následující generaci,
obsadí náš nový a lepší jedinec; v opačném případě je rodič ponechán i do další
generace. Tato část evoluce se nazývá selekce. Postup testovaného vektoru do další
generace je popsán následujícím jednoduchým procesem:
~xj,G+1 =
~uj,G+1
~xj,G
pokud K(~uj,G+1 ) ≤ K(~xj,G ) ,
jinak .
(2.4)
S takto vybranými vektory pak vstupujeme do další generace a evoluční cyklus
DE algoritmu se opakuje tak dlouho dokud:
a) není úloha vyřešena,
b) všechny vektory nekonvergují k jednomu bodu, nebo
c) není viditelné zlepšení ani po mnoha generacích.
12
Diplomová práce
2.4 Diferenční evoluční algoritmus
Sjednocením rovnic (2.1) až (2.4) do jednoho celku získáváme následující verzi
základního DE algoritmu; v literatuře označován jako DE/rand/1/bin:
(lo)
(hi)
Vstup: D, Gmax , N P ≥ 4, F ∈ (0, 1i, CR ∈ [0, 1] a počáteční omezení: xi , xi .
(
(lo)
(hi)
(lo)
∀j ≤ N P ∧ ∀i ≤ D : xi,j,G=0 = xi + randi [0, 1]· xi − xi
Inicializace :
j = {1, 2, .., N P }, i = {1, 2, ..., D}, G = 0, randi [0, 1] ∈ [0, 1]


(2.5)
 Gmax
 While G <


Mutace
a
rekombinace:








r1 , r2 , r3 ∈ {1, 2, ..., N P }, náhodný výběr, kromě r1 6= r2 6= r3 6= j








irand = {1, 2, ..., D},



 náhodný výběr pro každé j






 xi,r3 ,G + F ·(xi,r1 ,G − xi,r2 ,G )

if(randi [0, 1] < CR ∨ i = irand )
∀j ≤ N P
∀i ≤ D, ui,j,G+1 =





xi,j,G jinak








Výběr: 







~uj,G+1 if K (~uj,G+1 ) ≤ K (~xj,G )




 ~xj,G+1 =


~xj,G
jinak



G=G+1
2.4.2
Metody a modifikace diferenční evoluce
Doposavad jsme se zabývali základním DE algoritmem pojmenovaným označením
DE/rand/1/bin. Nyní si objasníme, co dané označení znamená a jaké stupně volnosti nám nabízí, nebo-li kolik různých variant DE algoritmu můžeme získat. Dále
si ukážeme dvoudimenzionální příklad ilustrující postup optimalizace, abychom tak
získali úplnou představu o funkci DE algoritmu. Nejlépe si celou situaci popíšeme na
jednom případu DE. Za tímto účelem bude v následujícím textu předložena základní
varianta DE algoritmu – DE/rand/1/bin. V závěru se pak seznámíme s jednotlivými
modely DE algoritmů.
Schéma DE/rand/1/bin
Pro každý vektor ~xj,G , j = 1, 2, ..., N P je sestaven testovací (trial) vektor ~vj,G+1 dle
vztahu:
~vj,G+1 = ~xr1 ,G + F ·(~xr2 ,G − ~xr3 ,G ) .
(2.6)
Označení začíná písmeny DE/..., které představuje zkratku difereční evoluce
(DE – Differential Evolution).
→ získaní mutací se budou
Označení .../rand/... značí, že všichni šumoví jedinci −
nv
skládat z náhodně (rand om) vybraného jedince ~xr1 ,G a váhované diference jedinců,
→
tj. −
nv
xr2 ,G − ~xr3 ,G ). Další volby tohoto parametry jsou: best – výše zmiňoG+1 = F ·(~
vaný proces bude probíhat s nejlepším jedincem; current – proces bude aplikován
na právě testovaného jedince.
13
Diplomová práce
2.4 Diferenční evoluční algoritmus
Označení .../1/... značí kolik páru jedinců se zúčastní mutace. V případě jedničky
bude užit jeden pár, nebo-li dva jedinci. Pokud zvolíme na místo jedničky dvojku,
k mutaci bude zapotřebí čtyř jedinců (viz vzorová rovnice (2.8)).
Poslední specifikací je například .../bin, která představuje užití dvojčlenného rozdělení křížení (binomial distribution). Další varianta nemá žádné specifické označení
(parametr vynechán) a značí, že není potřeba konstanty křížení, jelikož CR je implicitně rovno jedné a ke křížení tak nikdy nedochází.
Více o jednotlivých možnostech pojednává literatura [15] a [16], kde jsou uvedeny
i další možné volby jednotlivých parametrů. Pro úplnost zde uvedu čtyři druhy
modifikace DE algoritmu včetně vzorové s dvoudimenzionální ilustrací – obrázek 2.2.
DE/rand/1/bin:
~vj,G+1 = ~xr1 ,G + F ·(~xr2 ,G − ~xr3 ,G ) ,
(2.7)
Obrázek 2.2: Dvoudimenzionální příklad účelové funkce
ukazující její vrstevnice a proces generace nového jedince
~v pro případ DE/rand/1/bin (F = 1)
DE/best/2/bin:
~vj,G+1 = ~xbest,G + F ·(~xr1 ,G + ~xr2 ,G − ~xr3 ,G − ~xr4 ,G ) ,
(2.8)
DE/rand-to-best/1/bin:
~vj,G+1 = ~xj,G + λ·(~xbest,G − ~xj,G ) + F ·(~xr2 ,G − ~xr3 ,G ) ,
(2.9)
DE/current-to-rand/1/bin:
~vj,G+1 = ~xj,G + λ·(~xr3 ,G − ~xj,G ) + F ·(~xr1 ,G − ~xr2 ,G ) .
14
(2.10)
Diplomová práce
2.4.3
2.4 Diferenční evoluční algoritmus
Grafické zobrazení základního DE algoritmu
Jak již bylo uvedeno, diference, mutace, křížení a selekce jsou základními pilíři celého
algoritmu. Pozorný čtenář si jistě povšiml jiného pořadí mutace a křížení, než-li
je tomu u GA. Pro snadnější pochopení obou algoritmů uvádím na obrázku 2.3
schéma základního DE algoritmu, které můžeme konfrontovat se schématem GA na
obrázku 2.1. v podkapitole 2.3.2.
Obrázek 2.3: Schéma reprezentující základní diferenční evoluci (DE/rand/1/bin)
2.4.4
Shrnutí DE algoritmů
Cílem DE algoritmů, tak jako u GA, je nalezení nejlepšího řešení optimalizované
úlohy. Toto řešení získáme na základě ohodnocovací funkce, která rozhoduje o kvalitě
možných řešení. Kritickým bodem DE algoritmů je stagnace (uvíznutí) v lokálním
minimu. Její pravděpodobnost závisí na:
• velikosti populace (N P ),
15
Diplomová práce
2.4 Diferenční evoluční algoritmus
• váhovací konstantě (F ),
• faktoru křížení (CR),
• současné populaci, a
• účelové funkci.
Pravděpodobnost uvíznutí v lokálním minimu můžeme snížit, budeme-li se držet
následujících doporučení:
a) s početnější populací snižujeme rizika stagnace, jelikož tím zvětšujeme diverditu mezi jedinci – existuje nepsané pravidlo ohledně velikosti populace, které
říká: „velikost populace má být volena desetkrát větší, než-li je počet proměnných v jednom jedinciÿ;
b) užití F = 1 se nedoporučuje, jelikož tím dostáváme několikanásobnou situaci
identických potencionálních testovaných vektorů, tj. snižujeme tak rozdílnost
eventuálních řešení;
c) počet možných řešení se rapidně sníží, užijeme-li CR = 1.
Příklad vlivu volby řídících konstant nalezneme v literatuře [13]. Přestože i v tomto algoritmu může nastat stagnace, můžeme konstatovat, že se jedná o velmi silný,
snadno implementovatelný a robustní optimalizační algoritmus, který prohledává
oblast možných řešení paralelním přístupem. Paralelní přístup je velmi efektivní
metodou, jelikož nám v jediném cyklu poskytuje hned několik možných řešení. Na
základě těchto vlastností se DE jeví jako velmi progresivní optimalizační algoritmus.
V této kapitole jsme se seznámili se základními vlastnostmi DE algoritmu, mezi
které patří mutace, křížení a selekce. Dále jsme si popsali jeho matematickou interpretaci (rovnice (2.5)), na základě které by neměl být problém daný algoritmus
navrhnout a v praxi aplikovat. Kromě matematické interpretace je zde uvedeno
i ilustrační schéma na obrázku 2.3, které bylo konfrontováno se schématem genetického algoritmu na obrázku 2.1. Do hlavních rozdílů mezi oběma algoritmy řadíme:
a) formu zápisu položek jednotlivých jedinců (binární (GA) vs. dekadická (DE) reprezentace), b) rozdílnou posloupnost užití mutace a křížení v optimalizačním cyklu.
DE se jeví být jedním z prvních evolučních algoritmů k řešení „specializované
práceÿ, tj. práce, která mohla být v minulosti řešena jen experty v daném oboru.
Takovou prací je například návrh aerodynamických křídel v leteckém průmyslu [10];
16
Diplomová práce
2.5 Simplexová metoda
paprskový program, který umožní návrh celého optického systém, pouze se základními znalostmi optického návrhu, jak je zmiňováno v [15, strana 105]; či v neposlední
řadě návrh číslicových filtrů publikovaný v [17].
V úvodu podkapitoly byl zmíněn hlavní nedostatek této metody, který spočívá
ve velké časové náročnosti při hledání ideálního řešení. Vhodným řešením vedoucím
ke zrychlení optimalizace heuristických metod se ukázala kombinace se standardní
optimalizační metodou Downhill Simplex [19] od tvůrců J. A. Nelder a R. Mead
publikovanou v roce 1995. Za účelem realizace co nejlepšího algoritmu s co nejrychlejší konvergencí k hledanému řešení jsem se vydal cestou kombinace DE algoritmu
spolu s Downhill Simplex metodou. Následující podkapitola pojednává o standardní
Downhill Simplex metodě (dále jen simplexová metoda), abych tak ucelil přehled
veškerých mnou užitých algoritmů.
2.5
Simplexová metoda
Downhill Simplex, nebo-li simplexová metoda bývá v publikacích obvykle označována zkratkou DS. Odlišné označení metody je spíše vzácností, ale i přesto se s ním
můžeme setkat například v [12], kde autoři zmiňovaného článku vycházeli pro označení simplexové metody z tvůrců tohoto algoritmu, jimiž jsou J. A. Nelder a R. Mead,
a podle nich pojmenovali simplexovou metodu jako NM algoritmus.
Jak již bylo uvedeno v podkapitole 2.1.1, simplexovou metodu řadíme do skupiny prohledávajících metod, jejichž hlavním cílem je minimalizace libovolné funkce
o N proměnných bez použití derivace dané funkce.
Simplexová metoda je velmi rychlý lokální optimalizační nástroj. Její přednost
spočívá ve velmi vysoké rychlosti. Na druhou stranu, její nevýhodou je již zmiňovaná
lokální selekce prohledávaného prostoru, jelikož tím nezaručujeme nalezení globálního minima. V n-dimenzionálním optimalizačním problému je simplex geometrický
útvar o (n + 1) vrcholech. Po jeho počáteční definici je modifikován tak, že hladce
běží2 k lokálnímu minimu. Při cestě k minimu jsou užity tři základní kroky: reflexe
(odraz), expanze (rozpínání), kontrakce (smršťování).
V následující části je popsána matematická interpretace DS metody doplněná
schematickým popisem. Více se o vlastnostech této metody dozvíme v [18] a [19].
2
v překladu downhill
17
Diplomová práce
2.5.1
2.5 Simplexová metoda
Základní popis simplexové metody
Metoda spočívá v posouvání vrcholů simplexu (např. čtyřstěnu v trojdimenzionálním
prostoru) podle jistých pravidel směrem k minimu. Pravidla se dají zjednodušeně
shrnout do tří základních pohybů: reflexe, expanze a kontrakce. Nejdůležitějším
mechanismem DS metody je reflexe. V reflexi jde o myšlené přenesení nejvyššího
(a tudíž nejhůře položeného) bodu souměrně k těžišti tělesa. Pokud je tato jeho
nová poloha nejnižší ze všech ostatních, dochází k definování nového bodu na místě
dvoujnásobné vzdálenosti od těžiště tělesa. Tento pohyb se nazývá expanze. Pokud
reflektovaná poloha zůstává stále nejvyšší, dochází ke kontrakci – umístění vrcholu
do středu úsečky spojující původní vrchol a těžiště. Pokud je i po kontrakci uvažovaný vrchol nejvyšší, dochází ke smrštění – všechny vrcholy se posunou směrem
k nejnižšímu o polovinu původní délky. Průběh celé jedné iterace optimalizace je
zobrazen na následujícím obrázku 2.4.
Obrázek 2.4: Downhill Simplex: reflexe, expanze
a kontrakce pro n = 3
Již víme, že DS metoda se skládá ze tří základních částí, ale ještě přesně neznáme jejich matematický popis. Proto se v následujícím textu budu věnovat jejímu
stručnému, avšak plně dostačujícímu popisu.
18
Diplomová práce
2.5.2
2.5 Simplexová metoda
Matematická interpretace simplexové metody
Na obrázku 2.5 je schéma simplexového algoritmu, ve kterém figurují konstanty
α, β a γ, o kterých ještě záměrně nebyla vedena řeč. Nyní je ta pravá chvíle si
o těchto veličinách něco říci. Tyto konstanty zásadně ovlivňují rychlost konvergence
hledání minima optimalizované funkce. Vliv volby velikostí jednotlivých konstant na
rychlost konvergence nalezneme v [19]. Než-li se plně začneme věnovat samotnému
matematickému popisu, uvedu význam jednotlivých řídících konstant: α – je reflexní
koeficient, β – je expanzní koeficient a γ – je koeficient kontrakce.
Obrázek 2.5: Diagram Downhill Simplex metody
19
Diplomová práce
2.5 Simplexová metoda
Stále mějme na paměti, že simplexová metoda pracuje s (n+1) body x1 , ..., x(n+1)
n-dimenzionálního prostoru, které jsou uspořádány tak, aby pro odpovídající funkční
hodnoty účelové funkce y platilo: y1 ≤ y2 ≤ ... ≤ yn+1 . V každé iteraci je pak bod
s největší hodnotou účelové funkce x(n+1) zaměněn za vhodnější bod s nižší funkční
hodnotou.
Iterace začíná zkonstruováním testovacího bodu pomocí operace reflexe, který
získáme následujícím vztahem:
Reflexe:
xr = x + α(x − x(n+1) ) = (1 + α)x − αxh ,
(2.11)
kde xr – bod získaný reflexí,
α – volená kladná konstanta (α > 0) označována jako koeficient reflexe,
x – těžiště vrcholů:
n
1X
x=
xj ,
n j=1
j 6= h ,
x(n+1) – má největší funkční hodnotu, nebo-li jej můžeme označovat xh 3 .
Jestliže y leží mezi yh a yl , tak xh je nahrazen xr a následně opakujeme danou
iteraci (2.11), avšak již s novým simplexem.
Pokud yr < yl tj. reflexe nalezla nové minimum, tak provedeme expanzi z bodu
xr do bodu xe relací:
Expanze:
xe = γxr + (1 − γ)x = x + γ(xr − x) =
= x + αγ(x − x(n+1) ) = (1 + αγ)x − αγx(n+1) ,
(2.12)
kde xe – bod získaný expanzí,
γ – koeficient expanze, který je volen větší jak jedna (γ > 1).
Za předpokladu, že ye < yl nahradíme xh bodem xe a opakujeme iteraci (2.12);
pokud však je ye > yl tak expanze selhala a bod xh je nahrazen bodem xr a opět se
bude iterace opakovat.
Jestliže proces reflexe nalezl k bodu xh takový bod xr , pro který platí yj < yr ,
∀j 6= h, tzn. že nahradíme xh bodem xr a tím ponecháme yr v maximu. Pak definujeme nový xh a to buď z původního xh nebo z nového xr . Jakýkoliv bod z těchto
dvou maxim vybereme, musíme jej vždy snížit pomocí kontrakce, ve tvaru:
3
h – high (velký) resp. l – low (malý)
20
Diplomová práce
2.5 Simplexová metoda
Kontrakce:
xc = βxr + (1 − β)x = x + β(xr − x) =
= x + αβ(x − x(n+1) ) = (1 + αβ)x − αβx(n+1) ,
(2.13)
kde xc – bod získaný kontrakcí,
β – koeficient kontrakce v rozsahu 0 až 1 (0 < β < 1).
2.5.3
Shrnutí vlastností simplexové metody
Simplexová metoda pracuje se souborem (n + 1) bodů n-rozměrného prostoru, na
které jsou aplikovány tři základní procesy v jednotlivých iteracích:
a) reflexe – ke zkonstruování testovacího bodu xr ,
b) expanze – k roztažení simplexu ve směru poklesu optimalizované funkce,
c) kontrakce – ke zmenšení polygonu.
Předností DS metody je velmi vysoká rychlost konvergence k nalezení minima v dané
oblasti. Z toho plyne její nevýhoda, kterou je skutečnost, že nám tato metoda nezaručuje nalezení globálního minima, nýbrž pouze minima lokálního. Další nežádoucí
vlastnost DS metody se projevuje při nelineárním programování, neboť nám tato
metoda neřeší problém v ohraničeném prostoru. Tento fakt je dán koeficienty odrazu, expanze a kontrakce, které jsou pevně zadané a při iteracích tak může dojít
i k překročení daných mezí. I přes tyto nevýhody je tato metoda dle [10] a [11]
nejvhodnější pro kombinaci s heuristickými metodami GA a DE.
21
Kapitola 3
Cíle diplomové práce
V současné době jsou kladeny čím dál tím více specifičtější požadavky na realizaci
lineárních obvodů. Vzhledem k tomu, že dané požadavky nelze zpravidla realizovat
klasickou cestou návrhu, byly stanoveny cíle této diplomové práce do následujících
čtyř bodů:
1. Ověřte možnosti využití stochastických algoritmů (genetické a evoluční) pro
optimalizovaný návrh integrovaných aktivních filtrů OTA-C.
2. Při vývoji návrhového algoritmu respektujte požadavky na minimalizaci rozptylu hodnot obvodových prvků, dosažení minimálních citlivostí parametrů
přenosové funkce na změny hodnot obvodových prvků, dosažení optimálních
dynamických poměrů uvnitř struktury a na reálné vlastnosti aktivního prvku.
3. Pro vývoj a testování algoritmu použijte matematický program MAPLE, případně MATLAB.
4. Návrhový algoritmus ověřte na řešení konkrétního filtru podle zadání vedoucího práce.
22
Kapitola 4
Metody zpracování
4.1
Výběr optimalizačního algoritmu
Prvním krokem při tvorbě vlastní optimalizační metody byl vhodný výběr základního optimalizačního algoritmu a jeho následné prostudování s co nejnovějšími a nejaktuálnějšími poznatky z dané problematiky.
Při návrhu analogových elektrických filtrů můžeme postupovat dvěma zcela odlišnými cestami. První z nich je návrh klasickou numerickou metodou, která je velmi
dobře zpracována v publikaci [20] a v mnoha dalších odborných článcích a publikacích. Ve své podstatě se jedná o konvenční přístup, pomocí kterého dokážeme bez
sebemenších problémů navrhnout ideální filtr. Nabízí se nám otázka, proč hledat
jinou metodu návrhu, když užitím konvenčního přístupu dovedeme navrhnout filtr
splňující naše požadavky. Odpověď není nijak obtížná. Ačkoliv tímto přístupem dokážeme velmi dobře a rychle navrhnout ideální filtr, nesmíme opomenout podstatu
tohoto přístupu. Tou je skutečnost, že je navržen pro syntézu ideálních filtrů, tj.
filtrů, kde nejsou uvažovány reálné parametry obvodových prvků, jako je například
vliv ESL a ESR (příloha G) použitých kondenzátorů, konečného zesílení aktivních
prvků či jejich frekvenční závislost. Dalším důvodem je skutečnost, jak již bylo v kapitole 3 řečeno, že v dnešní době jsou kladeny čím dál tím více specifičtější požadavky
na realizaci filtru. K těmto požadavkům řadíme například omezenou hodnotu skupinového zpoždění, nebo – jak je tomu v případě této diplomové práce – požadavky na
dynamickou optimalizaci, minimální rozptyl hodnot užitých obvodových prvků atd.
V takovýchto situacích se dostáváme k návrhu filtru s vícekriteriálními požadavky,
které lze s úspěchem řešit užitím nekonvenčních metod.
Mezi nekonvenční metody řadíme například stochastické algoritmy. Jelikož se
v této práci zabývám multikriteriálními požadavky na návrh filtru, připadají v úvahu
v odvětví nekonvenčních metod dvě stochastické metody. První z nich jsou genetické
algoritmy, kterými jsem se blíže zabýval v kapitole 2.3. Druhou stochastickou meto-
23
Diplomová práce 4.2 Programy užité k implementaci algoritmu a verifikaci výsledku
dou jsou evoluční algoritmy, jimž jsem se věnoval v kapitole 2.4. Po otestování obou
algoritmů jsem si vybral pro zpracování této diplomové práce diferenční evoluční algoritmus. Přednost zvoleného algoritmu oproti genetickému algoritmu spočívá v dosažení větší přesnosti výsledného nalezeného řešení.
4.2
Programy použité k implementaci algoritmu
a verifikaci výsledku
Nyní již víme pro jakou nekonvenční metodu jsem se rozhodl, nicméně stále ještě
neznáme matematický program, který jsem použil k její implementaci. S ohledem
na cíle diplomové práce, spadající do oblasti praktického využití numerických metod, byl pro zpracování řešené problematiky zvolen softwarový produkt Maple 10 od
firmy The MaplesoftTM [21], který je považován za standard pro řešení numerickosymbolických úloh. Volba tohoto programu byla z velké části určena požadavky na
přesnost a rychlost výpočtu. Mimo tyto skutečnosti se matematický program Maple
jevil jako nejvhodnější kandidát k použití i z hlediska dalších dostupných programových vymožeností poskytovaných samotným produktem.
K ověření získaných výsledků jsem použil dvou softwarových programů. Prvním
byl software OrCAD od společnosti Cadence Design Systems, Inc. [22], který disponuje celou řadou programů, pomocí kterých můžeme provádět návrh a simulace
elektronických schémat až po finální návrh odpovídající desky plošných spojů (DPS).
Programem používaným k simulacím obvodových struktur v softwarovém produktu
OrCAD je PSpice A/D. Jeho velkou předností je možnost simulace obvodů s reálnými prvky resp. s makromodely užitých funkčních bloků. Z těchto důvodů jsem se
rozhodl využít tento program k verifikaci reálného chování analyzovaného zapojení.
Druhým, pro mojí diplomovou práci neméně důležitým softwarovým produktem,
byl program SNAP 2.61 (Symbolic Network Analysis Program), který je volně dostupný na [23] a jehož hlavní předností je možnost vypočtení citlivostních parametrů
obvodu, které nelze simulovat v programu PSpice A/D.
24
Kapitola 5
Popis užitého DESA algoritmu
Základ mého algoritmu je tvořen paralelní přímo vyhledávací metodou založenou na
principu evolučních algoritmů, jenž je rozšířena o simplexovou optimalizační metodu.
Blíže o simplexové metodě pojednává podkapitola 2.5, kde je uveden její stručný popis. Doplněním DE algoritmu o simplexovou metodu získáváme velmi silný a rychlý
numerický nástroj, kterým lze optimalizovat nejnáročnější úlohy s větším počtem
nezávisle proměnných.
Vzhledem k tomu, že je mnou vytvořený algoritmus založen na použití kombinace diferenční evoluce a simplexové metody, pojmenoval jsem jej zkratkami těchto
algoritmů. Touto cestou vzniká označení DESA (Differential Evolution & Simplex
Algorithm) algoritmus. Příklad využití této metody při syntéze elektrických analogových filtrů je uveden v kapitole 6. Jedná se o návrh a optimalizaci aktivního
analogového filtru typu dolní propust s optimalizovaným nestandardním průběhem
přenosové funkce na předem kladené požadavky.
Vlastní popis DESA algoritmu je předložen v následujících pěti podkapitolách.
5.1
Evoluční část DESA algoritmu
Samotná evoluční část DESA algoritmu pracuje s populací jedinců, na kterých je simulován proces evoluce. Každý jedinec je zde reprezentován vektorem proměnných,
na základě kterých je pak ohodnocen účelovou funkcí. Ohodnocení jedince nám pak
dává představu o tom, zda je daný jedinec vhodný pro další použití v algoritmu či
nikoliv. Ohodnocení není součástí algoritmu diferenční evoluce a je prováděno samostatně mimo algoritmus fitness funkcí. Fitness funkce tedy zajišťuje toto ohodnocení,
které pak řídí prohledávání daného prostoru.
Jedincem je v našem případě míněn například vektor nezávislých proměnných,
který je tvořen nulami a póly hledané přenosové funkce navrhovaného obvodu. Nalezením minima vhodně navržené účelové funkce je pak získáno řešení aproximační
25
Diplomová práce
5.1 Evoluční část DESA algoritmu
úlohy. Algoritmus tedy při prohledávání zadaného prostoru pracuje pouze s funkčními hodnotami účelové funkce, které si vyžádá od externí procedury.
Sestavený DESA algoritmus využívá množiny D-dimenzionálních vektorů ~xj,G ,
přičemž jednotlivé složky vektoru jsou navzájem nezávislé (například nuly a póly
přenosové funkce) a to pro každou generaci G. V jedné generaci je pak N P takto definovaných vektorů, na které je aplikován proces evoluce. Počet prvků množiny N P
se během minimalizačního procesu nemění. Prvním krokem k realizaci minimalizačního cyklu je inicializace nulté populace, která je vytvořena náhodně v uživatelem
omezeném prostoru, který vznikne stanovením přípustných hodnot pro každou proměnnou. Nyní na inicializační algoritmus aplikujeme první krok DE algoritmu, který
nám vygeneruje nový noisy vektor dle:
~vj,G+1 = ~xr1 ,G + F ·(~xr2 ,G − ~xr3 ,G ) ,
(5.1)
kde r1 , r2 , r3 jsou náhodně zvolená celá navzájem rozdílná čísla z množiny
r1 , r2 , r3 ∈ {1, 2, ..., N P },
F je reálná váhovací konstanta s násobným faktorem v intervalu F ∈ h0, 1i,
~xj,G je vektor současného jedince v G-té generaci.
Po provedení první operace dané rovnicí (5.1) následuje náhodný proces křížení,
který nám zvětšuje rozmanitost mezi jednotlivými jedinci. Výsledkem je testovací
vektor ~uj,G+1 . Idea křížení je ilustrativně zpracována na obrázku 5.1 pro případ, kdy
průběh křížení proběhl pro položky i = 3, i = 4 a i = 5.
Obrázek 5.1: Ilustrace procesu křížení
26
Diplomová práce
5.2 Integrace simplexové metody do DESA algoritmu
Abychom mohli rozhodnout, zda se stane testovací vektor ~uj,G+1 populačním
členem generace G + 1, je tento vektor porovnáván se stávajícím vektorem ~xj,G G-té
generace. Jestliže testovací vektor ~uj,G+1 vykazuje lepší ohodnocení účelovou funkcí,
než-li je tomu u vektoru ~xj,G , je stávající vektor ~xj,G nahrazen tímto testovacím
vektorem ~uj,G+1 . V opačném případě si vektor ~xj,G ponechává stejné parametry i do
generace G + 1.
5.2
Integrace simplexové metody do DESA algoritmu
V předchozí kapitole jsme si vysvětlili evoluční část DESA algoritmu, která nám
poskytne v každé generaci N P nových možných řešení. Jelikož se však DESA algoritmus skládá ze dvou optimalizačních metod, kterými je DE algoritmus a simplexový algoritmus, vysvětlím v této kapitole přednosti, které mě vedly k jejich sloučení
a vytvoření DESA algoritmu.
DESA algoritmus funguje ve dvou fázích. V první fázi proběhne klasický DE
algoritmus, který zajišťuje rozmanitost členů populace dané generace. Výsledkem
první fáze je potom tzv. mezipopulace. Ve druhé fázi DESA algoritmu je pak na
procentuální část mezipopulace (PPGIP – Percent Part of Gen from Intermediate
Population) aplikován simplexový algoritmus, který nachází minimum ve svém blízkém okolí. Jak již bylo uvedeno výše, DS zajišťuje rychlejší nalezení lokálních minim,
zatímco DE se stará o to, aby DESA neuvízla v některém lokálním minimu, a rozmítá členy generace do prohledávaného prostoru. Při testování rychlosti nalezení
optimálního řešení obou algoritmů (DESA a DE) jsem dospěl k závěru, že DESA
algoritmus nalezl optimální řešení 8 ÷ 10krát rychleji, než tomu bylo u klasického
DE algoritmu užitého v rámci DESA algoritmu.
Finální podoba procesu integrace simplexového algoritmu do DESA algoritmu
je ilustrativně zobrazena na obrázku 5.2. Jak si můžeme povšimnout, nejedná se
o příliš složitý algoritmus, nicméně vykazuje ve srovnání s klasickými DE algoritmy
podstatně kratší konvergenční doby.
Výše popsaným začleněním simplexové metody do DE algoritmu obdržíme velmi
rychlý a robustní optimalizační algoritmus DESA, spojující výhody obou algoritmů.
Velkou předností tohoto specifického algoritmu je efektivní řešení multikriteriálních
úloh, jakou je například téma této diplomové práce.
27
Diplomová práce
5.2 Integrace simplexové metody do DESA algoritmu
Obrázek 5.2: Generace nové populace pomocí DESA algoritmu
5.2.1
Modifikace simplexové metody
Základní princip simplexové metody je popsán v podkapitole 2.5, kde jsme se také
dočetli o jistých nevýhodách této metody. Jednou z nich je skutečnost, že neřeší problém ohraničeného nelineárního programování. Tento problém je dán tím, že koeficienty odrazu, expanze a kontrakce jsou zvoleny pevně a při iteracích tak může dojít
k překročení daných mezí. Jelikož využívám DS metodu přímo dostupnou v matematickém programu Maple, nemohu dané konstanty měnit a zamezit tak překročení
hranic oblasti. Velikosti konstant DS metody přednastavené v programu Maple jsou
α = 1, β = 12 , γ = 2. Tyto hodnoty konstant nám dle literatury [19] zajišťují nejlepší
činnost algoritmu, resp. nalezení minima po nejmenším počtu iterací.
Problém omezení prohledávané oblasti, který je pro naší aplikaci nepřehlédnutelný, jsem odstranil zavedením pomocné funkce, která účinně lokalizuje DESA
v prohledávaném prostoru. Pokud jsou definované meze překročeny, nabývá hodnota
účelové funkce mnohonásobně větších hodnot, než-li je tomu u nejhoršího jedince a to
nezávisle na jeho velikosti. Tato část je realizována prostřednictvím pomocné funkce
P (x) = A(2 − sign(x − x1 ) + sign(x − x2 )), která je přičtena k ohodnocení účelovou
funkcí K (viz podkapitola 5.5). V případě, že dostaneme hodnotu obvodového prvku
v mezích, je k účelové funkci přičtena nula, v opačném případě je k účelové funkci
přičtena velmi vysoká reálná hodnota A (v ideálním případě A→ ∞). Pro názornost
je na obrázku 5.3 zobrazeno jednodimenzionální ohraničení obecného optimalizovaného parametru x.
28
Diplomová práce
5.3 Řídící konstanty DESA algoritmu
Obrázek 5.3: Příklad jednodimenzionálního ohraničení
obecného optimalizovaného parametru x
5.3
Řídící konstanty DESA algoritmu
Jelikož je DESA algoritmus založen na iteracích DE algoritmu, jehož řídícími proměnnými jsou konstanty F , CR a N P , jsou i tyto parametry spolu s parametrem
P P GIP řídícími konstantami DESA algoritmu. S jednotlivými konstantami jsme
se již seznámili v kapitole 2.4.1, kde jsme si řekli jakých hodnot nabývají a v jaké
etapě evoluce se uplatňují.
V této kapitole si povíme o funkci jednotlivých řídících konstant a o jejich optimálním nastavení.
F
– je násobný váhovací faktor mutace uplatňující se při generaci noisy vektoru.
Hodnotu parametru doporučuji nastavit na velikost F = 0,5 ÷ 0,8. Menší
hodnoty vedou k předčasné konvergenci a větší naopak ke stagnaci populace.
CR – je faktor křížení, který nám z velké části zajišťuje diverditu jedinců v populaci a částečně tak zabraňuje stagnaci. Hodnotu parametru doporučuji nastavit
na velikost CR = 0,5 ÷ 0,8. Menší hodnoty vedou ke zpomalení nalezení optima a vyšší zvyšují riziko stagnace a rapidně snižují počet možných řešení.
NP – je počet jedinců v populaci jedné generace. Hodnota tohoto parametr je
v publikacích uváděna jako násobná hodnota nezávisle optimalizovaných proměnných D. V [15] je hodnota tohoto parametru doporučována N P = 20D, jinak je tomu v [5], kde je hodnota tohoto parametru doporučována N P = 10D,
což mohu potvrdit za dostačující. Mnou doporučovaná hodnota počtu jedinců
v populaci jedné generace je tedy N P = 10D. Větší populace nám sice ještě
více snižuje riziko stagnace, ale na druhou stranu se stává algoritmus výpočetně složitějším a nalezení řešení je tak mnohonásobně oddáleno. Nižší počet jedinců v populaci nedoporučuji, jelikož tím snižujeme schopnost nalezení
29
Diplomová práce
5.4 Řešení stagnace DESA algoritmu
optima a snáze tak může dojít k předčasné konvergenci k jednomu řešení.
Nicméně jsou i aplikace, kde je nižší počet postačující. Volba velikosti populace je tedy individuální záležitostí a závisí na charakteru řešeného případu.
PPGIP – je procentuální část genů vzatá z přechodné mezipopulace. Hodnotu
parametru doporučuji volit v rozmezí P P GIP = 0,1 ÷ 0,5. Menší či větší
hodnoty vedly k pomalejší optimalizaci obvodu.
5.4
Řešení stagnace DESA algoritmu
V předchozí kapitole jsme se dočetli o nastavení DESA algoritmu a možnosti vzniku
stagnace algoritmu při nesprávném nastavení jednotlivých řídících proměnných.
Proto se v této kapitole věnuji rozboru stagnace a jejímu možnému řešení. Typicky
se předčasná stagnace u DE algoritmů projevuje v těchto případech:
• populace ztratí vzájemnou rozdílnost,
• populace konverguje k lokálnímu minimu,
• vyhledávací algoritmus postupuje velmi pomalu či vůbec.
Prvním případem, při kterém může dojít ke stagnaci je situace, kdy populace
ztratí vzájemnou rozdílnost. Tomu lze zabránit zvýšením počtu jedinců populace
nad doporučenou hodnotu, což ovšem vede ke zpomalení průběhu optimalizace.
Dalším případem je konvergence k lokálnímu minimu, které je v algoritmu DESA
častějším úkazem, než-li je tomu u DE algoritmů. Je to určité znevýhodnění, které
je způsobeno přítomností DS algoritmu jako vyhledávací metody. Na druhou stranu
nám kombinace DE a DS přináší více „proÿ než „protiÿ, a proto považuji DESA
za výhodnější i přes tuto optimalizační „daňÿ. Řešení uvíznutí jedinců v lokálním
minimu je možné snížením počtu jedinců vybraných do druhé fáze DESA, na něž je
aplikován simplexový algoritmus.
Posledním případem stagnace je situace, kdy vyhledávací algoritmus postupuje
velmi pomalu či vůbec. V tomto případě již s algoritmem nemůžeme příliš manipulovat a proto jsem se rozhodl při tomto typu stagnace k zastavení vývoje a následném
spuštěním s pozměněnými řídícími parametry. Vyhodnocení, zda se algoritmus vyvíjí či ne, jsem realizoval vzájemným porovnáním možných řešení. V případě, kdy
jsou si řešení velmi podobná nebo stejná, je vývoj zastaven.
30
Diplomová práce
5.5
5.5 Účelová funkce
Účelová funkce
Jak již bylo v kapitole 5.1 uvedeno, účelová resp. ohodnocovací funkce K (kvalita)
není přímo částí DE algoritmu a stejně tak je tomu i v případě DESA. Algoritmus
DESA se na ohodnocení jednotlivých jedinců pouze „zeptáÿ. Jedná se tedy o nezávislou funkci, která každému řešení (jedinci) přiřadí určitou hodnotu vypovídající
o jeho kvalitě K.
Samotná ohodnocovací funkce může nabývat různých podob. Forma, jakou je
ohodnocovací funkce nadefinována, záleží pouze na uživateli. V případě DESA algoritmu byly navrženy dvě odlišné ohodnocovací funkce, které jsou aplikovány pro
každou specifickou úlohu samostatně (viz kapitola 6).
V prvním případě je návrh takové funkce velmi snadný (vztah (5.2)). Vzhledem
k tomu, že se snažíme získat průběh modulové charakteristiky splňující toleranční
schéma daného filtru, které může být obecně i nestandardního charakteru, postačí
nám zvolit si požadovaný útlum v konečné množině bodů {δ1 , δ2 , ..., δn }. Ohodnocení
každého jedince, resp. modulové charakteristiky, kterou reprezentují potom provedeme prostým součtem odchylek funkčních hodnot charakteristiky v bodech δi od
požadovaných hodnot útlumu v těchto bodech. Matematicky tedy:
K1 (δ) =
n
X
|E(δi ) − e(δi )| ,
(5.2)
i=1
kde E(δi ) je hodnota útlumu požadovaného v bodě δi ,
e(δi ) je hodnota útlumu skutečného průběhu optimalizované charakteristiky
v bodě δi ,
δi značí body, ve kterých se zjišťuje ohodnocení funkcí K1 (δ); v našem případě
se jedná o hodnoty normovaného kmitočtu Ω,
n značí celkový počet testovaných bodů.
Ve druhém zjednodušeném případě má účelová funkce K2 (i, δ) odlišnou podobu
(vztah (5.3)) a to z toho důvodu, že je tato funkce použita k ohodnocení jak požadavků na přenosovou funkci H(s), tak i požadavků na dynamické poměry. V tomto
případě je tedy kladen požadavek na zachování tvaru přenosové funkce, a proto je
volena ohodnocovací funkce následujícím vztahem:
K2 (i, δ) = W1
2
k X
E1 (i) − e1 (i)
i=1
E1 (i)
+ W2
n
X
|E2 (δl ) − e2 (δl )| ,
l=1
kde E1 (i) je požadovaný koeficient přenosové funkce H(s),
e1 (i) značí algoritmem navržený koeficient přenosové funkce H(s),
31
(5.3)
Diplomová práce
5.5 Účelová funkce
k značí celkový počet koeficientů přenosové funkce H(s)
E2 (δl ) je hodnota požadovaného průběhu dynamických poměrů optimalizovaného filtru v bodě δl ,
e2 (δl ) je hodnota skutečných dynamických poměrů filtru v bodě δl ,
δl značí body, ve kterých se zjišťuje ohodnocení funkcí K2 (i, δ); v našem případě
se jedná o hodnoty normovaného kmitočtu Ω,
n značí celkový počet testovaných bodů,
W1 , W2 jsou váhovací koeficienty.
Jak si můžeme povšimnout, v účelové funkci K2 (i, δ) je použito dvou váhovacích
koeficientů W1 a W2 . Ty jsou důležitou součástí této funkce, protože jejich velikostmi
upřesňujeme, resp. zpřísňujeme požadavky na optimalizované části obvodu. Uveďme
si jednoduchý příklad váhování. Uvažujme například, že W1 > 100 W2 . V takto nastaveném DESA algoritmu jsme zadali 100krát větší požadavek na první část účelové
funkce K2 (i, δ), nebo-li na přesnost koeficientů přenosové funkce H(s), na úkor dynamických poměrů optimalizovaného a navrhovaného filtru OTA-C.
Optimální nastavení vah W1 a W2 není lehkou záležitostí. Pokud se nám však podaří správně nastavit tyto parametry, dosáhneme velmi kvalitních výsledků. Striktní
pravidla pro nastavení vah bohužel neexistují. Uživatel se proto musí spolehnout na
svou vlastní intuici, popř. zkušenosti, které získal praxí.
Ať se jedná o první či druhý případ účelové funkce, vždy je naším cílem její minimalizace. Minimalizací účelové funkce se postupně přibližujeme ke splnění zadaných
požadavků. Vhodná, nebo naopak nevhodná volba účelové funkce je velmi kritickým
bodem jak u DE tak i u DESA algoritmu. Nevhodnou volbou účelové funkce či vah
nemusíme konečného řešení nikdy dosáhnout. Proto musíme být při návrhu ohodnocovací funkce zvláště obezřetní. S ohledem na výše uvedená rizika jsem sestavil
dvě odlišné účelové funkce K1 (δ) a K2 (i, δ), které se v DESA algoritmu osvědčily,
a mohu je tedy uživateli doporučit.
32
Kapitola 6
Příklad řešení konkrétní aplikace
Cílem této diplomové práce je ověření možnosti využití stochastických algoritmů pro
návrh a optimalizaci aktivního filtru OTA-C. Za tímto účelem byl pro tuto aplikaci
vynalezen a použit algoritmus DESA, jehož funkce je demonstrativně otestována na
vzorovém příkladu v této kapitole.
6.1
Úvod do problematiky
Standardní návrh filtrů OTA-C uvedený například v [25, kapitola 6] nezahrnuje ve
svých návrhových krocích požadavky na dynamické poměry uvnitř struktury filtru,
ani na minimalizaci rozptylu hodnot obvodových prvků, či na dosažení minimálních
citlivostních parametrů přenosové funkce na změny hodnot obvodových prvků. Standardní návrh filtrů OTA-C dále nerespektuje při syntéze reálné vlastnosti užitých
transkonduktančních operačních zesilovačů a do vlastního návrhu zahrnuje reálné
vlastnosti pouze v případě návrhu LC filtrů, které jsou respektovány zpřísněním na
útlumové a kmitočtové ose s využitím vztahů uvedených v literatuře [25, strany 18
a 19].
Tato problematika vedla k úvahám o tom, zda by pro tyto účely nemohla být
užita jiná, nestandardní metoda návrhu filtrů na bázi stochastických algoritmů. Nalezení odpovědi na tuto otázku je cílem této diplomové práce. V dalším bude zpracováno ověření možnosti využití stochastických algoritmů pro návrh a optimalizaci
aktivního filtru OTA-C.
Návrh filtru je postupně řešen ve třech krocích:
1. Nalezení normované přenosové funkce filtru OTA-C
2. Realizace obvodu s užitím ideálních obvodových prvků
3. Optimalizace obvodu s přihlédnutím na zmíněná omezení
33
Diplomová práce
6.1 Úvod do problematiky
Nyní se zabývejme otázkou dynamické optimalizace, a tím proč je pro nás tak
důležitá. Připomeňme si, že se jedná o zajištění stavu, kdy maxima výstupních
napětí všech aktivních prvků v obvodu nepřekročí stanovené meze. Definice těchto
mezí pro účely této práce bude provedeno v kapitole 6.2. V ideálním případě by tato
maxima měla být shodná a neměla by být větší, než maximum výstupní napětí.
Při dynamické optimalizaci uvnitř filtru porovnáváme tedy maxima napětí na
jednotlivých výstupech OTA s maximem výstupního napětí filtru. Informace o těchto
maximech získáme analýzou dynamických poměrů již navrženého filtru.
Jelikož naší optimalizovanou obvodovou strukturou je zapojení filtru na bázi
obvodové struktury OTA-C, nelze takto zapojený filtr (dle literatury [25, strana 183])
dynamicky optimalizovat bez přidání dalších pomocných funkčních bloků. Metodu,
ve výše zmiňované literatuře jsem otestoval (blíže podkapitola 6.6) a došel jsem
k závěru, že není pro naší aplikaci použitelná, jelikož u dynamicky zoptimalizovaného
obvodu se změnila přenosová funkce H(p). Tento důvod spolu s nutností zvýšeného
počtu potřebných obvodových prvků k realizaci filtru mě vedly k alternativnímu
řešení dynamické optimalizace pomocí DESA algoritmu.
Dynamickou optimalizaci obvodu provádíme ze účelem korektního chování užitých zesilovačů, v našem případě transkonduktančního operačního zesilovače. Jedná
se především o linearitu zesilovače, která je důležitá z pohledu signálu. V případě nezoptimalizovaného obvodu může totiž dojít ke zkreslení tohoto signálu a tím k jeho
nevratné degradaci.
Spolu s požadavkem na dosažení optimálních dynamických poměrů uvnitř struktury filtru nás též zajímá citlivost obvodu. Citlivost je definována jako změna funkce
(veličiny, přenosu, parametru přenosové funkce) vztažená ke změně parametru (prvku
obvodového modelu, parametrů přenosové funkce). Při návrhu filtru pracujeme s citlivostmi na malé změny parametrů, které jsou způsobeny technologickou tolerancí či
změnou teploty prostředí, ve kterém je daný filtr použit. Citlivosti mohou být definovány například jako první derivace podle vztahu (6.1). Takto definovaná citlivost
se označuje jako absolutní a je vhodná pro vyhodnocení změny obvodové funkce
(například při toleranční analýze), ale nelze podle ní objektivně porovnávat vliv
různých prvků v zapojení; závisí totiž na jejich velikosti. Proto zpravidla používáme
tzv. relativní citlivost definovanou vztahem (6.2).
SF,xi =
∂F
,
∂xi
∂F
SxFi = F ,
∂xi
xi
kde F je funkce, jejíž citlivost počítáme a xi je parametr této funkce.
34
(6.1)
(6.2)
Diplomová práce
6.2
6.3 Řešení aproximační úlohy
Zadání požadavků
Pro zpracování vzorového příkladu diplomové práce byl vybrán filtr typu DP s nestandardním průběhem amplitudové charakteristiky funkce přenosu napětí dle obrázku 6.1 s povolenými hodnotami dynamických překmitů v rozmezí 0,7 ÷ 1,19. Na
obrázcích 6.1 a 6.2 vidíme již zpřísněné parametry filtru na „útlumovéÿ a „kmitočtovéÿ ose dle [25, strany 18 a 19]. Zpřísněním na útlumové ose respektujeme
především vliv ztrát (činitele jakosti prvků) a tolerance součástek, a na kmitočtové
ose respektujeme požadavek tolerance časových konstant, které jsou mimo jiné ovlivňovány i teplotou.
Obrázek 6.1: Toleranční schéma přenosové charakteristiky filtru v zadaném tvaru
6.3
Obrázek 6.2: Toleranční schéma přenosové charakteristiky filtru v normovaném tvaru
Řešení aproximační úlohy
S ohledem na optimální řešení aproximační úlohy jsem porovnával parametry dosažené standardní metodou (získané postupem uvedeným v [20]) s parametry dosaženými metodou nestandardní. Kritéria, na základě kterých jsem vybíral standardní
či nestandardní metodu k sestavení přenosové funkce jsou následující. V prvním
případě musely obě metody splnit útlumové požadavky na filtr, a v druhém případě byl kladen požadavek na vhodnou praktickou realizaci. V tomto kritériu byl
uvažován počet potřebných obvodových prvků k sestavení finální struktury reálného filtru OTA-C. Při testování mnou vytvořeného algoritmu k nalezení přenosové
funkce, jsem dospěl k závěru, že nestandardní metoda vždy nalezne řešení s lepšími
35
Diplomová práce
6.3 Řešení aproximační úlohy
nebo shodnými vlastnostmi navrhovaného filtru. Oproti standardní metodě má nestandardní metoda výhodu v lokalizaci možných řešení nul a pólů v s-rovině. Tato
lokalizace je pro nás důležitá, jelikož nám polohy nul a pólů určují velikost činitele
tvaru Q.
Na základě výše uvedených argumentů jsem se rozhodl použít k nalezení nejoptimálnějšího řešení metodu nestandardní aproximace, tj. využit diferenčního evolučního algoritmu. Zpracování aproximační úlohy bylo z části zkomplikováno skutečností, že není předem znám řád aproximační funkce. Za tímto účelem byl sestaven
pomocný algoritmus, v rámci nějž je postupně měněn řád jmenovatele a čitatele
normované přenosové funkce (6.3), až do získání vyhovujícího řešení. Řády čitatele
a jmenovatele byly měněny nezávisle, nicméně s respektováním podmínky na co
nejmenší počet prvků užitých v konečné podobě filtru OTA-C.
m m
Q
Q
Ω0
2
s2 + Q
(s − s0i )
s
+
Ω
0
0
i=1
i=1
=
h
(6.3)
H(s) = h Q
.
n
n Q
Ωp
2
2
(s − s∞j )
s + Qp s + Ωp
j=1
j=1
Vlastní výpočet normované přenosové funkce využíval účelové funkce K1 (δ) uvedené ve zjednodušené podobě v kapitole 5.5. Reálná účelová funkce byla sestavena
tak, aby umožnila testování požadavků na přenosovou charakteristiku v 55 bodech,
přičemž rozložení bodů nebylo lineární aproximací. V kritických oblastech, jako například v okolí meze propustného pásma, byl krok testovaných bodů kratší, než-li
v místech, která nejsou pro průběh amplitudové charakteristiky kritická, jako je
například oblast mimo přechodové pásmo.
Princip samotného algoritmu je založen na náhodných změnách polohy nul a pólů
přenosové funkce H(s) v předem vymezených oblastech tak, aby byly splněny podmínky na stabilní realizaci filtru. Omezení byla stanovena následovně. Pro komplexně sdružené dvojice nulových bodů, byla oblast vymezena body: [0; 1,2j], [0; 3,0j],
[0; −1,2j], [0; −3,0j] (na obrázku 6.3 vyznačeno modrou úsečkou) a pro komplexně
sdružené dvojice pólů byla přípustná oblast zadána body: [−10−3 ; 1,1j], [−1; 1,1j ],
[−10−3 ; −1,1j], [−1; −1,1j ] (na obrázku 6.3 vyznačeno červeným obdélníkem). Minimální hodnota reálné části v případě realizace pólů byla limitována realizovatelným
činitelem jakosti Qp . Výsledkem algoritmu je následující přenosová funkce H(s):
H(s) =
0,17215s2 + 0,80507
.
s4 + 1,96886s3 + 2,57249s2 + 2,23563s + 0,88504
(6.4)
Zobrazení jejích nul a pólů v s-rovině je na obrázku 6.3 a průběh přenosové charakteristiky na obrázku 6.4. Shrnutí dosažených výsledků nalezneme v tabulce 6.1.
36
Diplomová práce
6.4 Ideální realizace struktury navrhovaného filtru OTA-C
Obrázek 6.3: Rozložení nul a pólů
pro nalezenou přenosovou funkci H(s)
v s-rovině
Obrázek 6.4: Průběh kmitočtové charakteristiky nalezené funkce H(s)
K vypracování této úlohy byly použity následující parametry DE algoritmu:
N P = 300, F = 0,8 a CR = 0,8. Doba výpočtu byla průměrně 15 minut na testovacím počítači s procesorem Intelr Pentiumr M 1,73 GHz. Optimální řešení bylo nalezeno po 57 generacích. Implementace programu k nalezení přenosové charakteristiky
H(s) je uvedena na CD v souboru 01 nalezeni aproximacni prenosove funkce.mw,
jehož obsah je uveden v příloze J.
Tabulka 6.1: Hodnoty nul a pólů přenosové funkce H(s)
nuly a póly přenosu
z1,2
p1,2
p3,4
6.4
poloha nul a pólů
0 ± 2,1623j
−0,1961 ± 1,0963j
−0,7882 ± 0,3034j
jakost pólů
−
2,8389
0,5357
Ω
2,1625
1,1138
0,8446
Ideální realizace struktury navrhovaného filtru OTA-C
Návrh filtru na bázi integrátorových bloků OTA-C vychází z funkční simulace LC
prototypu, který je důkladně popsán v [25, kapitola 6.2.4]. Základní myšlenka funkční
simulace pasivní LC struktury vychází z popisu příčkové struktury grafem signálových toků a simulací tohoto grafu vhodným elektronickým obvodem (v našem
případě pomocí transkonduktančních operačních zesilovačů).
37
Diplomová práce
6.4 Ideální realizace struktury navrhovaného filtru OTA-C
Cílem tohoto přístupu je zachovat výhodné citlivostní poměry výchozího LC zapojení ve výsledném obvodu OTA-C a současně přizpůsobit obvodový návrh technologickým požadavkům a podmínkám konkrétní praktické realizace.
Jelikož k nalezení přenosové funkce nebyla použita žádná ze standardních aproximací, kterými jsou: Butterworth, Čebyšev, inverzní Čebyšev a Cauer, použil jsem
k návrhu LC příčkové struktury metodu odštěpování pólů z imitanční funkce [25, kapitola 3]. Algoritmus k nalezení LC příčkové struktury je uveden na přiloženém CD
v souboru 02 realizace LC strutkury.mw. Tato metoda nám poskytuje celou řadu
možných řešení. Nicméně, ne každé z nich musí vést k optimálnímu výsledku. Volba
nevhodného postupu se při výpočtu projeví vznikem záporného prvku LC realizace.
V případě realizace LC prototypu standardní metodou můžeme k realizaci LC struktury využít interaktivní návrhové stránky SYNTFIL [26]. Další z možných alternativ
realizace LC struktury je použití knihovny SYNTFIL [27] v programu Maple.
V případě této diplomové práce jsem nalezl řešení LC struktury, které uvádím na
obrázku 6.5 a jehož přímou realizací pomocí integrátorů OTA-C je obvodové zapojení
na obrázku 6.6. Postup přímé realizace OTA-C struktury z LC prototypu je uveden na přiloženém CD v souboru 03 metody vedouci k inicializacnimu reseni OTAC.mw. Výsledky výpočtů obvodových prvků pro jednotlivá zapojení jsou shrnuty
v tabulkách 6.2 a 6.3.
Obrázek 6.5: LC struktura normované dolní propusti
Tabulka 6.2: Normované hodnoty prvků
k zapojení na obr. 6.5
r1 = 1,0000
l3 = 1,0590
l1 = 0,5079
c3 = 0,2019
c2 = 1,1948
c4 = 1,3312
Jak si můžeme z výše uvedeného zapojení pasivního LC filtru povšimnout (obrázek 6.5), jedná se o zapojení filtru pracujícího naprázdno. Tato skutečnost byla
při návrhu filtru užitím integrátorů OTA-C vyřešena koncovým blokem struktury
38
Diplomová práce
6.4 Ideální realizace struktury navrhovaného filtru OTA-C
skládajícím se z operačních transkonduktančních zesilovačů se strmostí gm02 a gm03 .
Takto zapojená OTA-C struktura nám ve své podstatě (v ideálním případě) realizuje napěťový zesilovač se zesílením Au = gm02 /gm03 s nekonečně velkým vstupním
odporem Rin . Abychom tímto opatřením nezměnili přenosovou funkci původního
LC prototypu, musíme volit strmosti koncového bloku gm02 , gm03 stejné. Shodnou
velikostí strmostí gm02 a gm03 tedy vlastně realizujeme napěťový sledovač, který vyhovuje našim požadavkům jak na jednotkové napěťové zesílení, tak i na velikost
vstupního odporu.
Obrázek 6.6: Zapojení ideální NDP filtru s využitím integrátorů OTA-C
Tabulka 6.3: Normované hodnoty prvků k zapojení na obr. 6.6
cI1 = 0,2539
cI2 = 2,3896
cI3 = 0,5295
cI4 = 2,6624
cx(3) = 0,4038
gm01 = 0,5
gm02 ÷ gm03 = 1
gm1 ÷ gm4 = 1
Nyní se podívejme na splnění požadavků, které jsou na nás kladeny při návrhu
filtru OTA-C. Prvním z nich je požadavek frekvenčního útlumu. Ten je bezpochyby
splněn, jelikož se jedná o přímou realizaci OTA-C struktury vycházející z LC prototypu. Důkazem toho je přenosová funkce zobrazená červenou barvou na obrázku 6.7.
Druhým požadavkem, který je na nás kladen, je dosažení optimálních dynamických
poměrů uvnitř filtru. Jak si je možno z obrázku 6.8 povšimnout, tento požadavek
není splněn, jelikož rozptyl dynamických poměrů přesahuje námi zadané povolené
meze (podkapitola 6.2). Z toho plyne, že ani přímým odnormováním ideálního filtru
bychom nedosáhli optimálního řešení.
Pro odlišení jednotlivých dynamických průběhů jsem užil barevného značení.
Žluta barva znázorňuje dynamiku na výstupu OTA se strmostí gm1 , modrá barva
na výstupu OTA se strmostí gm2 , zelená barva na výstupu OTA se strmostí gm3
a červená barva vyjadřuje přenos filtru, resp. dynamiku na výstupu OTA se strmostí
39
Diplomová práce
6.5 Vliv reálných vlastností obvodových prvků na navržený filtr
gm4 , která je shodná s výstupem OTA se strmostí gm03 . Takto značené dynamické
poměry, nebude-li řečeno jinak, budou označovány v celé diplomové práci shodně,
aby se tak předešlo případným nedorozuměním.
Obrázek 6.7: Průběh přenosové charakteristiky ideálního filtru OTA-C
(obr. 6.6) s normovanými parametry
6.5
Obrázek 6.8: Dynamické poměry
uvnitř ideálního filtru OTA-C (obr.
6.6) s normovanými parametry
Vliv reálných vlastností obvodových prvků na
navržený filtr
Dalším krokem k úspěšné realizaci obvodové struktury filtru OTA-C (obrázek 6.6)
je kmitočtové a impedanční odnormování užitých elektronických obvodových prvků.
Kmitočtové a impedanční odnormování prvků filtru vychází z mezního kmitočtu
propustného pásma ωp = 2πfp a volby skutečné hodnoty transkonduktance gm skut .
S ohledem na realizovatelné hodnoty kapacit kondezátorů a cenové dostupnosti
OTA, jsem pro diskrétní realizaci filtru uvažoval transkonduktanční operační zesilovač LM13700 od firmy National Semiconductor [28], který nám poskytuje dle [29]
skutečnou velikost transkonduktance v rozsahu gm skut = 1,92 ÷ 38 400 µA/V.
6.5.1
Vliv reálného OTA na vlastnosti navrženého obvodu
Ideální obvod na obrázku 6.6 nám sice před kmitočtovým a impedančním odnormováním splňoval veškeré útlumové požadavky na filtr, nicméně po odnormování
uvedeném v tabulce 6.4 je takovýto obvod v podstatě nepoužitelný, jelikož nesplňuje ani jeden ze zadaných požadavků, počínaje požadavky na útlum (obrázek 6.9,
40
Diplomová práce
6.5 Vliv reálných vlastností obvodových prvků na navržený filtr
zobrazen modrou čarou) až po dynamické překmity uvnitř filtru (obrázek 6.10).
Na obrázku 6.9 je zobrazena přenosová funkce H(p) červenou křivkou pro ideální
případ a modrou křivkou pro případ respektující reálné vlastnosti užitého OTA
LM13700. Obrázek 6.10 zobrazuje dynamické poměry ve filtru na obrázku 6.6, které
jsou navzájem barevně rozlišeny (viz výše). Navíc je na obrázku 6.8 užito černé
barvy, která představuje průběh ideální přenosové funkce H(p).
Tabulka 6.4: Odnormované hodnoty prvků k zapojení na obr. 6.6
CI1 = 13,018 pF
CI2 = 10,881 pF
CI3 = 27,145 pF
CI4 = 12,124 pF
Cx(3) = 1,8380 pF
gm01 = 9,6 µA/V
gm02 ÷ gm03 = 19,2 µA/V
gm1 ÷ gm4 = 19,2 µA/V
Nesplnění požadavků na přenosovou funkci H(p) je zapříčiněno nerespektováním
reálných vlastností užitého transkonduktančního operačního zesilovače při návrhu
filtru. Jedná se hlavně o zanedbání parazitních kapacit na vstupu a výstupu OTA
LM13700 (příloha B). Abychom se vyvarovali takto nevhodného odnormování vedoucí k nepoužitelným hodnotám obvodových prvků, tak jak je tomu v tabulce 6.4,
je zapotřebí vytvořit si spolehlivý makromodel použitého transkonduktančního operačního zesilovače. Tento nezbytný krok bude proveden v následující kapitole.
Obrázek 6.9: Průběh přenosové charakteristiky navrženého filtru OTA-C
s uvažováním reálných vlastností užitého OTA LM13700
Obrázek 6.10: Zobrazení dynamických
poměrů navrženého filtru OTA-C
s uvažováním reálných vlastností užitého OTA LM13700
41
Diplomová práce
6.5.2
6.5 Vliv reálných vlastností obvodových prvků na navržený filtr
Realizace makromodelu OTA LM13700
Jednou z možností jak získat tento makromodel je převzetí firemního makromodelu transkonduktančního operačního zesilovače LM13700, který je volně dostupný
na internetových stránkách výrobce [28]. Avšak při použití takto složitého makromodelu dostáváme obvod, který je matematickým programem Maple neřešitelný
a optimalizovaná úloha se tak stává nerealizovatelnou. Proto jsem vytvořil vlastní
makromodel (viz obrázek 6.11), který plně popisuje požadované vlastnosti a matematický program Maple s ním dosahuje velmi kvalitních výsledků, které jsem ověřil
simulacemi navrženého filtru v simulačním programu PSpice A/D od firmy Cadence
Design System, Inc. (podkapitola 6.7).
Obrázek 6.11: Zjednodušená schematická značka obvodu OTA s makromodelem
Výstupní proud OTA podle obrázku 6.11 je dán vztahem:
iout = gm uin − go uout .
(6.5)
Při modelování makromodelu OTA LM13700 musíme být zvláště obezřetní, jelikož
veškeré jeho modelové prvky jsou závislé na klidovém proudu IABC (viz příloha B).
Z výše uvedené skutečnosti tedy vyplývá, že nelze přesně stanovit velikost jednotlivých elementů makromodelu nezávisle na IABC . Proto jsem musel velikost tohoto
proudu respektovat v mnou navrženém makromodelu (viz příloha C). Velkou předností užitého OTA je možnost změn transkonduktance gm v rozsahu několika dekád
(příloha D). Blíže se o obvodu LM13700 můžeme dočíst v katalogovém listu [29].
Reálný transkonduktanční zesilovač se od ideálního liší především kmitočtovou
závislostí transkonduktance gm = gm (jω) a konečnou hodnotou výstupní impedance.
V porovnání s kmitočtovou závislostí zesílení OZ je kmitočtová závislost gm podstatně příznivější a kmitočet dominantního pólu je běžně v oblasti stovek kHz až jednotek MHz. Dokladem toho je průběh frekvenční charakteristiky napěťového přenosu
nezatíženého OTA, definovaný vztahem (6.6) v závislosti na velikosti řídícího proudu
IABC (obrázek 6.12). V případě našeho transkonduktančního zesilovače LM13700 je
42
Diplomová práce
6.5 Vliv reálných vlastností obvodových prvků na navržený filtr
velikost strmosti dána vztahem gm = 19,2IABC .
Au =
19,2IABC
gm
=
.
go
go
(6.6)
K transkonduktančnímu operačnímu zesilovači LM13700 jsem vytvořil makromodel, jehož průběh frekvenční charakteristiky napěťového přenosu v závislosti na
řídícím proudu IABC je uveden v příloze E, kde je spolu s mnou vytvořeným makromodelem zobrazen i přenos v případě užití firemního makromodelu, abychom si tak
udělali lepší představu o shodně obou modelů.
Obrázek 6.12: Průběh frekvenční charakteristiky napěťového přenosu v závislosti na řídícím proudu IABC
Jak jsem již výše uvedl, obvodové prvky v mém makromodelu (uvedeném na obrázku 6.11) jsou závislé na velikosti pracovního proudu IABC . Důkazem toho je simulace průběhu frekvenční charakteristiky napěťového přenosu na obrázku 6.12. Tato
skutečnost mě vedla ke zkvalitnění algoritmu, spočívající v nalezení minimálního
proudu ke splnění kmitočtových a útlumových požadavků na filtr. Experimentálně
jsem zjistil, že aby nedošlo k porušení požadavků na přenosovou funkci filtru, je
zapotřebí, aby poloha pólu transkonduktančního operačního zesilovače byla 10krát
větší, než-li je požadavek na frekvenční polohu propustného pásma fp daného filtru.
Důkaz tohoto přínosu je uveden v příloze F. Odlišný názor na tuto problematiku
mají J. R. Angulo a E. S. Sinencio v článku [30], kde uvádějí, že parazitní poloha
pólu OTA (tak aby nedošlo ke změně přenosové funkce) má být 50 ÷ 200krát větší,
než-li je pracovní frekvence užitého filtru.
43
Diplomová práce
6.5.3
6.5 Vliv reálných vlastností obvodových prvků na navržený filtr
Vliv reálných vlastností kondenzátorů na přenosovou
funkci
Uvažováním reálných vlastností kondenzátorů (ESR – Equivalent Series Resistance
a ESL – Equivalent Series Inductance) se více přibližujeme skutečným vlastnostem
navrženého filtru. Parazitní parametry ESR a ESL nás velmi zajímají z toho důvodu, protože nám limitují frekvenční rozsah navrženého filtru a ovlivňují průběh
modulové charakteristiky (příloha G).
Na obrázcích 6.13 až 6.16 je patrný vliv reálných vlastností užitých kondenzátorů
(modrou křivkou) oproti ideálnímu průběhu (červená křivka). Můžeme si povšimnout, že se v našem případě nezměnily frekvenční vlastnosti, jelikož je náš filtr
navržen pro nižší mezní kmitočet, než-li je rezonanční kmitočet reálného kondenzátoru (obrázek G-2 v příloze G). Dále si můžeme povšimnout snížení maximální
hodnoty útlumu v nepropustném pásmu (obrázek 6.15) a poklesu přenosové funkce
H(p) v oblasti propustného pásma (obrázek 6.16). Tento pokles H(p) je spolu se
snížením maximálního útlumu způsoben parazitním odporem ESR. Čím je hodnota ESR vyšší, tím nám více poklesne H(p) a zároveň dojde ke snížení maximální
hodnoty útlumu. V našem případě, jsem uvažoval rozptyl hodnot ESR v intervalu
ESR = 1÷2 Ω (blíže příloha G). S respektováním parazitních hodnot kondenzátorů
nastal pokles na mezi propustného pásma o 0,44 dB (tj. o 5 %, obrázek 6.16) a maximální hodnota útlumu se snížila z ideální „nulyÿ na a = −54,09 dB (obrázek 6.15).
Obrázek 6.13: Vliv reálných parametrů kondenzátorů na přenosovou funkci H(p)
Obrázek 6.14: Vliv reálných parametrů kondenzátorů na přenosovou funkci H(p) v propustném pásmu
44
Diplomová práce
6.6 Optimalizace reálného obvodového zapojení filtru OTA-C
Obrázek 6.15: Vliv reálných parametrů kondenzátorů na přenosovou funkci H(p) – detail nepropustném pásma
6.6
Obrázek 6.16: Vliv reálných parametrů kondenzátorů na přenosovou funkci H(p) – detail propustném pásma
Optimalizace reálného obvodového zapojení
filtru OTA-C
Z obrázků 6.9 a 6.10 je zřejmé nesplnění požadavku na kmitočtovou charakteristiku
přenosové funkce H(p) a dynamiky navrhovaného obvodu. Při tomto návrhu, který
nebyl proveden DESA algoritmem, byly respektovány pouze reálné vlastnosti užitého
OTA LM13700. Nyní jsem obvod doplnil o reálné vlastnosti kondenzátorů, abych
tak respektoval reálné vlastnosti všech užitých obvodových prvků (obrázek 6.17).
Na obrázku 6.17 jsou světle vyznačeny parazitní kapacity transkonduktančního
operačního zesilovače, abych je tak odlišil od integračních kapacit CI . Hodnoty těchto
parazitních kapacit můžeme zakomponovat do velikostí integračních kapacit CI tak,
že jejich velikost snížíme o hodnotu příslušných parazitních kapacit.
Nedostatek návrhu z kapitoly 6.5.1 rozšířeného o reálné vlastnosti kondenzátorů
(obrázek 6.17) jsem úspěšně vyřešil optimalizací obvodu pomocí DESA algoritmu.
Optimalizována byla celá struktura najednou, přičemž jednotlivé prvky tvořily nezávislé proměnné v optimalizačním procesu. Pro zadaný filtr byl optimalizačním
algoritmem DESA splněn jak požadavek na přenosovou funkci filtru H(p) (obrázek 6.19), tak i na dynamické poměry uvnitř struktury filtru (obrázek 6.21). Porovnání zoptimalizovaného a nezoptimalizovaného filtru je uvedeno v příloze H na
obrázcích H-1 a H-2, kde je vidět citelné zlepšení návrhu filtru OTA-C navrženého
pomocí DESA algoritmu oproti standardní metodě.
45
Diplomová práce
6.6 Optimalizace reálného obvodového zapojení filtru OTA-C
Obrázek 6.17: Uvažování reálných vlastností kondenzátorů v zapojení filtru OTA-C
Obrázek 6.18: Znázornění dynamických průběhů nezoptimalizovaného
filtru podle obrázku 6.6
Obrázek 6.19: Znázornění dynamických průběhů zoptimalizovaného filtru podle obrázku 6.17
46
Diplomová práce
6.6 Optimalizace reálného obvodového zapojení filtru OTA-C
Obrázek 6.20: Znázornění dynamických průběhů nezoptimalizovaného
filtru podle obrázku 6.6
Obrázek 6.21: Znázornění dynamických průběhů zoptimalizovaného filtru podle obrázku 6.17
K řešení problému v oblasti dynamické optimalizace jsem přistupoval i jinou alternativní cestou (dle [25, strana 173–178]), která spočívala v přidání dalších obvodových prvků do jednotlivých smyček obvodu (obrázek 6.22). Přidanými obvodovými
prvky byly napěťové operační zesilovače (OZ) se zesílením k. Vlastní myšlenka dynamické optimalizace je následující. Předpokládejme, že maximální napětí na výstupu
OTA se strmostí gmi (Umaxgmi ) je m-krát větší než maximum výstupního napětí na
výstupu OTA se strmostí gm(i+1) (Umaxgm(i+1) ), tj.
Umaxgmi = mUmaxgm(i+1) .
(6.7)
Vyrovnání napěťových maxim je tedy možné m-násobnou změnou přenosu mezi
výstupy Umaxgmi a Umaxgm(i+1) .
Realizace předchozí úvahy spočívá ve vložení zesilovacího bloku se zesílením
ki = m mezi výstupem OTA se strmostí gmi a vstupem OTA se strmostí gm(i+1) .
Tím se ovšem změní poměry uvnitř lokální smyčky. Aby nedošlo ke změně přenosu
filtru, je nutné upravit zpětnovazební přenos na původní hodnotu. Toho lze dosáhnout zařazením bloku s přenosem 1/ki do druhé větve dílčí zpětnovazební smyčky.
Pro konstanty přenosu pomocných bloků platí (obrázek 6.22):
ki =
Umaxgmi
,
Umaxgm(i+1)
kde i = 1, 2, 3.
47
(6.8)
Diplomová práce
6.6 Optimalizace reálného obvodového zapojení filtru OTA-C
Obrázek 6.22: Dynamická optimalizace filtru s využitím operačních zesilovačů
Výše popsanou metodu jsem otestoval na ideálním filtru (obrázek 6.22) s normovanými parametry obvodu. Výsledné hodnoty zesílení jednotlivých zesilovacích
bloků jsou uvedeny v následující tabulce 6.5.
Tabulka 6.5: Konstanty přenosu pomocných bloků
k1 = 0,8617
1/k1 = 1,1603
k2 = 0,6900
1/k2 = 1,4492
k3 = 1,6816
1/k3 = 0,5946
Přestože touto metodou docílíme dynamicky zoptimalizované struktury s poměry
maxim výstupních napětí jednotlivých OTA v dané smyčce o velikostech:
Umaxgm1
= 1,000 ,
Umaxgm2
Umaxgm2
= 0,976 ,
Umaxgm3
Umaxgm3
= 1,023 ,
Umaxgm4
(6.9)
nevede tato cesta k zdárnému cíli, jelikož s dynamicky zoptimalizovanými poměry
uvnitř filtru se změnil i průběh přenosové funkce H(p) (obrázek 6.23). Změna přenosové funkce filtru se projevila jen u filtrů, které obsahovaly rezonanční členy realizující nuly přenosu. Z výše uvedeného důvodu můžeme říci, že jedinou možnou cestou
vedoucí k úspěšné dynamické optimalizaci všech typů filtrů je užití nestandardní
metody, kterou je například DESA algoritmus. DESA algoritmus nám oproti této
metodě s operačními zesilovači navíc poskytuje řešení bez použití dalších obvodových bloků nezbytných pro korektní optimalizaci.
Programová implementace obou metod dynamické optimalizace je uvedena na
přiloženém CD v souboru 04 metody dynamicke optimalizace.mw, jehož obsah je
uveden v příloze J.
48
Diplomová práce
6.6 Optimalizace reálného obvodového zapojení filtru OTA-C
Obrázek 6.24: Detailní průběh přenosové charakteristiky H(s) dynamicky zoptimalizované struktury filtru OTA-C pomocí operačních zesilovačů dle obrázku 6.22
Obrázek 6.23: Průběh přenosové charakteristiky H(s) dynamicky zoptimalizované struktury filtru OTA-C
pomocí operačních zesilovačů dle obrázku 6.22
DESA algoritmem byl rovněž splněn požadavek na minimalizaci rozptylu hodnot obvodových prvků (výsledková tabulka 6.6) a minimální citlivost parametrů
přenosové funkce na změny hodnot obvodových součástek. Typický průběh citlivosti integračního kondenzátoru CI a transkonduktance gm na přenosovou funkci
H(p) je uveden na obrázcích 6.25 a 6.26. Ostatní průběhy citlivostí jsou uvedeny
v příloze I. Citlivostní analýza filtru byla provedena v již zmiňovaném softwarovém
produktu SNAP.
Tabulka 6.6: Hodnoty prvků zoptimalizované DP podle zapojení na obrázku 6.17
CI1
CI4
gm2
gm01
=
=
=
=
7,631 nF
7,896 nF
11,382 mA/V
18,881 mA/V
CI2
Cx(3)
gm3
gm02
=
=
=
=
7,680 nF
1,197 nF
11,488 mA/V
9,600 mA/V
CI3
gm1
gm4
gm03
=
=
=
=
13,904 nF
13,267 mA/V
10,704 mA/V
9,600 mA/V
Z průběhů jednotlivých citlivostí je patrné, že nejvíce citlivými prvky jsou integrační kondenzátor CI3 , vazební kondenzátor Cx(3) a strmost gm3 . Jedná se o obvodové prvky realizující nulu přenosu a míra jejich citlivosti se pohybuje v rozmezí 5
až 10. Tyto hodnoty lze považovat za velmi dobré, nicméně v případě požadavku na
přesnou polohu nuly přenosu je zapotřebí volit tyto elektronické součástky co nejpřesnější, resp. s co nejmenší tolerancí jmenovité hodnoty udávané výrobcem; popř.
zajistit jejich doladění u vyrobeného filtru.
49
Diplomová práce
6.7 Výsledky návrhu a optimalizace filtru OTA-C
Obrázek 6.25: Průběh relativní citli |H(jω)| vosti SCI1 6.7
Obrázek 6.26: Průběh relativní citli |H(jω)| vosti Sgm1 Výsledky návrhu a optimalizace filtru OTA-C
Pro návrh a optimalizaci filtru OTA-C byly použity tyto parametry DESA algoritmu: N P = 60, F = 0,8, CR = 0,8 a P P GIP = 0,4. Optimalizace obvodové
struktury trvala 108 minut, přičemž úloha byla spuštěna na PC s procesorem Intelr
Pentiumr M 1,73 GHz. Návrhový a optimalizační algoritmus je dostupný na přiloženém CD v souboru 05 aplikace DESA k nalezeni id.filtru OTA-C.mw.
Správnost výsledků byla ověřena v programu PSpice A/D pro analýzu elektronických obvodů (implementovaném v softwarovém produktu OrCAD od firmy Cadence
Design System, Inc.); viz obrázky 6.27 až 6.30. Na těchto obrázcích jsou zobrazeny tři
barevně odlišené průběhy přenosových funkcí. Červeně vyznačený průběh přenosové
funkce značí ideální filtr, tj. filtr realizovaný s ideálními obvodovými prvky. Modře je
vyznačen skutečný průběh přenosové funkce, tj. filtr je realizován s reálnými prvky.
V tomto případě je k simulaci filtru použit firemní makromodel užitého transkonduktančního operačního zesilovače LM13700. A zelenou křivkou je zobrazena přenosová
funkce filtru respektující reálné parametry s mnou vytvořeným makromodelem, jenž
byl použit v matematickém programu Maple. Výsledné parametry navrženého filtru
spolu se vstupními parametry jsou uvedeny v tabulce 6.8.
50
Diplomová práce
6.7 Výsledky návrhu a optimalizace filtru OTA-C
Obrázek 6.27: Výsledná přenosová
charakteristika H(p) navrženého filtru
Obrázek 6.28: Výsledná přenosová
charakteristika H(p) navrženého filtru – propustné pásmo
Obrázek 6.29: Výsledná přenosová
charakteristika H(p) navrženého filtru – detail nepropustného pásma
Obrázek 6.30: Výsledná přenosová
charakteristika H(p) navrženého filtru – detail propustného pásma
Tabulka 6.7: Hodnoty prvků zoptimalizované DP podle zapojení na obrázku 6.17
CI1 = 7,631 nF
CI2 = 7,680 nF
CI4 = 7,896 nF
Cx(3) = 1,197 nF
gm1 = 13,267 mA/V
gm2 = 11,382 mA/V
gm3 = 11,488 mA/V
gm4 = 10,704 mA/V
gm01 = 18,881 mA/V
gm02 = 9,600 mA/V
gm03 = 9,600 mA/V
51
CI3 = 13,904 nF
Diplomová práce
6.8 Zhodnocení výsledku řešeného filtru OTA-C
Tabulka 6.8: Výsledky navrženého a zoptimalizovaného filtru OTA-C
Průběh amplitudové charakteristiky filtru
frekvence
požadovaný zpřísněný
dosažený zpřísněný
[kHz]
útlum [dB]
útlum [dB]
0 – 200
3,0
1,19
200 – 280
13,0
13,00
280 → ∞
40,0
40,00
Velikost dynamických poměrů uvnitř filtru
6.8
poměr napětí
před optimalizací
po optimalizaci
[–]
[–]
[–]
Umaxgm1 /Umaxgm4
2,02
0,70
Umaxgm2 /Umaxgm4
1,16
1,09
Umaxgm3 /Umaxgm4
3,37
1,07
Zhodnocení výsledku řešeného filtru OTA-C
Výše představený návrh a optimalizace filtru pomocí DESA algoritmu vede k obvodovému řešení, které není třeba doplňovat o pomocné obvodové prvky, aby bylo
dosaženo zadaných požadavků. Jedná se o nekonvenční přístup, který umožňuje řešení obtížných úloh respektujících řadu kritérií, která na nás mohou být kladena.
V případě této diplomové práce se jednalo konkrétně o minimalizaci rozptylu hodnot
obvodových prvků, dosažení minimálních citlivostí přenosové funkce na změny hodnot obvodových prvků, dosažení optimálních dynamických poměrů uvnitř struktury
filtru a respektování reálných vlastností aktivních prvků.
Jelikož daný algoritmus nalezne optimální řešení až po 108 minutách, můžeme
říci, že částečnou nevýhodou této metody je vyšší časová náročnost.
52
Kapitola 7
Závěr
7.1
Shrnutí diplomové práce
Tato diplomová práce se zabývala ověřením možnosti využití stochastických algoritmů pro návrh a optimalizaci aktivních filtrů OTA-C. Byl zde prezentován nový
a efektivní algoritmus DESA, který je mimojiné využitelný právě pro optimalizaci
filtrů OTA-C. Účinnost tohoto algoritmu byla prokázána při návrhu složitého filtru
s nestandardním tolerančním schématem. Konkrétně se jednalo o úspěšný návrh filtru typu dolní propust s požadavkem na minimalizaci rozptylu hodnot obvodových
prvků, dosažení minimálních citlivosti přenosové funkce na změny hodnot obvodových prvků, dosažení optimálních dynamických poměrů uvnitř struktury filtru
a respektování reálných vlastností aktivních prvků. Při konečném návrhu jsem respektoval i reálné vlastnosti užitých kondenzátorů.
Na základě dosažených výsledků mohu konstatovat, že aplikace stochastických algoritmů k návrhu a optimalizaci filtrů OTA-C je možnou cestou vedoucí k úspěšnému
řešení. Jistou nevýhodou těchto algoritmů je sice vyšší časová náročnost, kterou lze
ovšem částečně eliminovat kombinací s deterministickou optimalizační metodou. Již
zmiňovaný DESA algoritmus je toho důkazem. Jedná se o kombinaci diferenční evoluce (DE) se simplexovým algoritmem (SA). Sloučením obou metod tak vznikl nový
a robustní DESA algoritmus, který nalezne požadované řešení podstatně rychleji,
než-li je tomu u samotného evolučního algoritmu. Dalšího urychlení optimalizačního
procesu je možno dosáhnout užitím výkonnější výpočetní techniky. K této práci byl
použit PC s procesorem Intelr Pentiumr M 1,73 GHz.
53
Diplomová práce
7.2
7.3 Možné směry dalšího vývoje
Přínos diplomové práce
Hlavní přínos této diplomové práce spočívá ve vytvoření nového optimalizačního
algoritmu DESA. Pro jeho schopnost odolávat lokálním extrémům při vyhledávání
globálního minima účelové funkce jej lze řadit do skupiny globálních optimalizačních
metod. Dalším přínosem je v práci předložený návod k nalezení přenosové funkce
filtru na základě zadaných požadavků za využití diferenční evoluce.
Praktickým přínosem je pak ukázka použití DESA algoritmu v případě návrhu
a optimalizace filtru OTA-C. Kompletní programová implementace DESA algoritmu
v prostředí Maple je uvedena na přiloženém CD.
7.3
Možné směry dalšího vývoje
V této práci byl představen nový optimalizační algoritmus DESA, který byl využit
k optimalizaci aktivního filtru OTA-C. Další možné směry vývoje a využití daného
algoritmu by mohly vést na jiné aplikace v oblastech optimalizovaného návrhu analogových i digitálních elektronických funkčních bloků a sytémů. Potenciální možnosti
uplatnění DESA algoritmu mohou být například ve strojírenském, chemickém či
jiném vědním oboru.
54
Literatura
[1] Press, W. H., Teukolsky, S. A., Vetterling, W. T., Flannery, B. P.
Numerical Recipes in C: The Art of Scientific Computing – Second Edition.
Cambridge University Press, pp. 36–50, 1992, ISBN 0-521-43108-5
[2] Press, W. H., Teukolsky, S. A., Vetterling, W. T., Flannery, B. P.
Numerical Recipes in C: The Art of Scientific Computing – Second Edition.
[on-line] Internet: http://www.numerical-recipes.com/, [cit.: 3. 12. 2006]
[3] Daněk, J. Soustavy lineárních algebraických rovnic, [on-line], Internet:
http://www.cam.zcu.cz, [cit.: 1. 12. 2006]
[4] Holland, J. H. Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence. First MIT Press Edition, Cambridge, England, 1992, 221 s.,
ISBN 0-262-58111-6
[5] Storn, R. On the Usage of Differential Evolution for Function Optimalization.
NAFIPS, Berkeley, pp. 519–523, 1996
[6] Whitley, D. A Genetic Algorithm Tutorial. Computer Science Department,
Colorado State University, 34 s.
[7] Koza, J. R. Genetic Programming: On the Programming of Computers by
Means of Natural Selection. The MIT Press, Cambridge, England, 813 s., 1996,
ISBN 0-262-11170-5
[8] Haupt, R. L., Haupt, S. E. Practical Genetic Algorithms, Second Edition
A John Wiley & Sons, Inc., Hoboken, New Jersy, Canada, 253 s., 2004,
ISBN 0-471-45565-2
[9] Storn, R., Price, K. Differential Evolution – A Simple and Efficient Adaptive Scheme for Global Optimization over Continuous Spaces. Technical Report
TR-95-012, March 1995
[10] Rogalsky, T., Derksen, R. W. Hybridization of Differential Evolution for
Aerodynamic Design. Proceedings of the 8th Annual Conference of the Computational Fluid Dynamics Society of Canada, pp. 729–736, Canada, 2000
[11] Yen, J., Liao, J. C. A Hybrid Approach to Modeling Metabolic Systems
Using Genetic Algorithm and Simplex Metod. Procedings of the 11th Conference on Artificial Intelligence for Applications (CAIA ’95), pp. 277–282, 1995
[12] Lagarias, J. C., Reeds, J. A., Wright, M. H., Wright, P. E. Convergence Properties of the Nelder–Mead Simplex Method in Low Dimensions.
SIAM J. Optim., Vol. 9, No. 1, pp. 112–147, 1998
55
Diplomová práce
Literatura
[13] Lampient, J., Zelinka, I. On Stagnation of the Differential Evolution Algorithm. Proceedings of MENDEL 2000, 6th International Mendel Conference on
Soft Computing, Brno, Czech Republic, June 2000
[14] Cafolla, A. A. A New Schematic Optimisation Strategy for Quantitative
Analysis of Core Level Photoemission Data. Surface Science, pp. 561–565, October 1997
[15] Price, K. V. An Introduction to Differential Evolution. McGraw-Hill’s Advanced Topics In Computer Science Series, UK – Maidenhead, Vydavatelství:
McGraw-Hill Ltd., pp. 79–108, 1999, ISBN 0-07-709506-5
[16] Šmuc, T. Sensivity of Differential Evolution Algorithm to Values of Control
Parameters. Proceedings of the International Conference on Artificial Intelligence IC-AI’02 International Conference, Volume III, Las Vegas, USA, pp.
1 087–1 093, June 2002
[17] Storn, R. Differential Evolution Design of an IIR-filter with Requirements for
Magnitude and Group Delay. Technical Reporft TR-95-026, ICSI, June 1995
[18] Krukowski, A., Kale, I. Two Approaches for Fixed-Point Filter Design:
”Bit-Flipping” Algorithm and Constrained Downhill Simplex Method. 5th International Symposium on Signal Processing and its Applications (ISSP A99),
Brisbane, Australia, August 22–25th , 1999
[19] Nelder, J. A., Mead, R. A Simplex Method for Function Minimization.
Computer Journal, Vol. 7, pp. 308–313, 1965
[20] Davídek, V., Laipert, M., Vlček, M. Analogové a číslicové filtry. Praha:
Vydavatelství ČVUT, 2000, 337 s., ISBN 80-01-02178-5
[21] Waterloo Maple, Inc. [on-line],
Internet: http://www.maplesoft.com, [cit.: 22. 12. 2006]
[22] Cadence Design Systems, Inc. OrCAD., [on-line],
Internet: http://www.cadence.com/orcad/, [cit.: 22. 12. 2006]
[23] Kolka, Z., Biolek, D. Snap 2.61, [on-line],
Internet: http://snap.webpark.cz, [cit.: 22. 12. 2006]
[24] Biolek, D. Nová knihovna modelů volně šířitelného programu SNAP 2.6x pro
analýzu obvodů (nejen) v proudovém módu, [on-line],
Internet: http://www.elektrorevue.cz/clanky/04044/, [cit.: 1. 11. 2004]
[25] Martinek, P., Boreš, P., Hospodka, J. Elektrické filtry. Praha: Vydavatelství ČVUT, 2003, 315 s., ISBN 80-01-02765-1
[26] Kobliha, O. Návrhová stránka. [online],
Internet: http://obvody.feld.cvut.cz/syntfil/, [cit.: 3. 1. 2007]
[27] Boreš, P., Bičák, J., Hospodka, J., Martinek, M. Použití knihovny
SYNTFIL programu Maple. Elektrorevue [on-line], č. 11, 2003, ISSN 1213–1539,
Internet: http://www.elektrorevue.cz/clanky/03011/, [cit.: 3. 1. 2007]
[28] National Semiconductor [on-line],
Internet: http://www.national.com, [cit.: 25. 12. 2006]
56
Diplomová práce
Literatura
[29] National Semiconductor LM13700 – Dual Operational Transconductance
Amplifiers with Linearizing Diodes and Buffers. Katalogový list, USA, 2004
[30] Angulo, J. R., Sinencio, E. S. High Frequency Compensated Current-Mode
Ladder Filters Using Multiple Output OTAs. IEEE Transactions on Circuits
and systems II, Analog and Digital Signal Processing, Vol. 41, No. 9, pp. 581–
586, September 1994
[31] TDK [on-line],
Internet: http://www.component.tdk.com, [cit.: 2. 1. 2007]
[32] Vishay Vitramon [on-line],
Internet: http://www.vishay.com, [cit.: 2. 1. 2007]
[33] GM electronic Součástky pro elektroniku 2005. Katalog GM Electronic,
2005, 42–55 s.
57
Seznam obrázků
2.1 Schéma reprezentující genetický algoritmus . . . . . . . . . . . . . . .
2.2 Dvoudimenzionální příklad účelové funkce ukazující její vrstevnice
a proces generace nového jedince ~v pro případ DE/rand/1/bin (F = 1)
2.3 Schéma reprezentující základní diferenční evoluci (DE/rand/1/bin) .
2.4 Downhill Simplex: reflexe, expanze a kontrakce pro n = 3 . . . . . . .
2.5 Diagram Downhill Simplex metody . . . . . . . . . . . . . . . . . . .
5.1
5.2
5.3
8
14
15
18
19
Ilustrace procesu křížení . . . . . . . . . . . . . . . . . . . . . . . . . 26
Generace nové populace pomocí DESA algoritmu . . . . . . . . . . . 28
Příklad jednodimenzionálního ohraničení obecného optimalizovaného
parametru x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.1 Toleranční schéma přenosové charakteristiky filtru v zadaném tvaru .
6.2 Toleranční schéma přenosové charakteristiky filtru v normovaném tvaru
6.3 Rozložení nul a pólů pro nalezenou přenosovou funkci H(s) v s-rovině
6.4 Průběh kmitočtové charakteristiky nalezené funkce H(s) . . . . . . .
6.5 LC struktura normované dolní propusti . . . . . . . . . . . . . . . . .
6.6 Zapojení ideální NDP filtru s využitím integrátorů OTA-C . . . . . .
6.7 Průběh přenosové charakteristiky ideálního filtru OTA-C (obr. 6.6)
s normovanými parametry . . . . . . . . . . . . . . . . . . . . . . . .
6.8 Dynamické poměry uvnitř ideálního filtru OTA-C (obr. 6.6) s normovanými parametry . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.9 Průběh přenosové charakteristiky navrženého filtru OTA-C s uvažováním reálných vlastností užitého OTA LM13700 . . . . . . . . . . .
6.10 Zobrazení dynamických poměrů navrženého filtru OTA-C s uvažováním reálných vlastností užitého OTA LM13700 . . . . . . . . . . . . .
6.11 Zjednodušená schematická značka obvodu OTA s makromodelem . .
6.12 Průběh frekvenční charakteristiky napěťového přenosu v závislosti na
řídícím proudu IABC . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.13 Vliv reálných parametrů kondenzátorů na přenosovou funkci H(p) . .
6.14 Vliv reálných parametrů kondenzátorů na přenosovou funkci H(p)
v propustném pásmu . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.15 Vliv reálných parametrů kondenzátorů na přenosovou funkci H(p) –
detail nepropustném pásma . . . . . . . . . . . . . . . . . . . . . . .
6.16 Vliv reálných parametrů kondenzátorů na přenosovou funkci H(p) –
detail propustném pásma . . . . . . . . . . . . . . . . . . . . . . . . .
6.17 Uvažování reálných vlastností kondenzátorů v zapojení filtru OTA-C
6.18 Znázornění dynamických průběhů nezoptimalizovaného filtru podle
obrázku 6.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.19 Znázornění dynamických průběhů zoptimalizovaného filtru podle obrázku 6.17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.20 Znázornění dynamických průběhů nezoptimalizovaného filtru podle
obrázku 6.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
58
35
35
37
37
38
39
40
40
41
41
42
43
44
44
45
45
46
46
46
47
Diplomová práce
Literatura
6.21 Znázornění dynamických průběhů zoptimalizovaného filtru podle obrázku 6.17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.22 Dynamická optimalizace filtru s využitím operačních zesilovačů . . . .
6.23 Průběh přenosové charakteristiky H(s) dynamicky zoptimalizované
struktury filtru OTA-C pomocí operačních zesilovačů dle obrázku 6.22
6.24 Detailní průběh přenosové charakteristiky H(s) dynamicky zoptimalizované struktury filtru OTA-C pomocí operačních zesilovačů dle obrázku 6.22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
|H(jω)|
6.25 Průběh relativní citlivosti SCI1 . . . . . . . . . . . . . . . . . . .
|H(jω)| 6.26 Průběh relativní citlivosti Sgm1 . . . . . . . . . . . . . . . . . . .
6.27 Výsledná přenosová charakteristika H(p) navrženého filtru . . . . . .
6.28 Výsledná přenosová charakteristika H(p) navrženého filtru – propustné
pásmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.29 Výsledná přenosová charakteristika H(p) navrženého filtru – detail
nepropustného pásma . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.30 Výsledná přenosová charakteristika H(p) navrženého filtru – detail
propustného pásma . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A-1
A-2
B-1
B-2
D-1
E-1
E-2
F-1
F-2
F-3
F-4
G-1
G-2
H-1
H-2
I-1
I-2
I-3
I-4
I-5
I-6
I-7
I-8
47
48
49
49
50
50
51
51
51
51
Schéma křížení na čtvrté pozici „chromozómuÿ . . . . . . . . . . . . . I
Schéma mutace na čtvrté a sedmé pozici „chromozómuÿ . . . . . . . II
Vstupní Cin a výstupní Cout kapacita užitého OTA LM13700 [29] . . III
Výstupní odpor Rout užitého OTA LM13700 [29] . . . . . . . . . . . . III
Závislost transkonduktance gm na velikosti klidového proudu IABC [29] IV
Průběh frekvenční charakteristiky napěťového přenosu v závislosti na
řídícím proud IABC u firemního makromodelu LM13700 . . . . . . . . V
Průběh frekvenční charakteristiky napěťového přenosu v závislosti na
řídícím proud IABC u mnou vytvořeného makromodelu LM13700 . . . V
Průběh přenosové charakteristiky H(p) v závislosti na velikosti proudu
IABC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VI
Detailní průběh prop. pásma přenosové char. H(p) v závislosti na
velikosti proudu IABC . . . . . . . . . . . . . . . . . . . . . . . . . . . VI
Průběh nepropustného pásma přenosové charakteristiky H(p) v závislosti na velikosti proudu IABC . . . . . . . . . . . . . . . . . . . . . VI
Detailní průběh nepropustného pásma přenosové charakteristiky H(p)
v závislosti na velikosti proudu IABC . . . . . . . . . . . . . . . . . . VI
Náhradní schéma reálného kondenzátoru . . . . . . . . . . . . . . . . VII
Závislost impedance kondenzátoru na pracovní frekvenci [33] . . . . . VIII
Znázornění dynamických poměrů ve filtru podle obrázku 6.17 před
(přerušovaně) a po (plně) dynamické optimalizaci . . . . . . . . . . . IX
Znázornění dynamických poměrů ve filtru podle obrázku 6.17 před
(přerušovaně) a po
(plně)
dynamické optimalizaci . . . . . . . . . . . IX
|H(jω)|
. . . . . . . . . . . . . . . . . . . . . . . . IX
Průběh citlivosti SC1
|H(jω)| . . . . . . . . . . . . . . . . . . . . . . . . IX
Průběh citlivosti SC2
|H(jω)| . . . . . . . . . . . . . . . . . . . . . . . . X
Průběh citlivosti SC3
|H(jω)| Průběh citlivosti SC(x)3 . . . . . . . . . . . . . . . . . . . . . . . . X
|H(jω)| . . . . . . . . . . . . . . . . . . . . . . . . X
Průběh citlivosti SC4
|H(jω)| Průběh citlivosti Sgm01 . . . . . . . . . . . . . . . . . . . . . . . . X
|H(jω)| Průběh citlivosti Sgm02 . . . . . . . . . . . . . . . . . . . . . . . . XI
|H(jω)| Průběh citlivosti Sgm03 . . . . . . . . . . . . . . . . . . . . . . . . XI
59
Diplomová práce
I-9
I-10
I-11
I-12
Průběh
Průběh
Průběh
Průběh
Seznam obrázků
citlivosti
citlivosti
citlivosti
citlivosti
|H(jω)| Sgm1 |H(jω)| Sgm2 |H(jω)| Sgm3 |H(jω)| Sgm4 .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
60
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
XI
XI
XI
XI
Seznam tabulek
6.1 Hodnoty nul a pólů přenosové funkce H(s) . . . . . . . . . . .
6.2 Normované hodnoty prvků k zapojení na obr. 6.5 . . . . . . .
6.3 Normované hodnoty prvků k zapojení na obr. 6.6 . . . . . . .
6.4 Odnormované hodnoty prvků k zapojení na obr. 6.6 . . . . . .
6.5 Konstanty přenosu pomocných bloků . . . . . . . . . . . . . .
6.6 Hodnoty prvků zoptimalizované DP podle zapojení na obrázku
6.7 Hodnoty prvků zoptimalizované DP podle zapojení na obrázku
6.8 Výsledky navrženého a zoptimalizovaného filtru OTA-C . . . .
61
. . .
. . .
. . .
. . .
. . .
6.17
6.17
. . .
.
.
.
.
.
.
.
.
37
38
39
41
48
49
51
52
Diplomová práce
Příloha A: Dodatek ke genetickým algoritmům
Přílohy
A
Dodatek ke genetickým algoritmům
Reprodukce
Při reprodukci se do nové generace kopírují jedinci z předešlé generace. Čím je jedinec silnější, tím je větší pravděpodobnost, že bude zastoupen i v nové generaci.
Jedním ze základních způsobů, jak je reprodukce prováděna je výběr pomocí tzv.
váhovací rulety (obrázek 2.1, bod 1), z níž jsou náhodně vybíráni noví jedinci. Jednotlivé díly rulety přitom odpovídají jedincům předchozí generace a jejich velikost
je dána ohodnocením těchto jedinců – čím lepší ohodnocení, tím větší část rulety
je danému jedinci přidělena. Tímto způsobem získaná generace nám zajišťuje přežití silných jedinců z předešlé generace, kteří se v nové generaci mohou i několikrát
opakovat. Ovšem kdybychom pro vývoj generace používali pouze takto prováděnou
reprodukci, došlo by k degeneraci generací, a výsledkem by byl nejsilnější jedinec
z nulté generace. Tomu předcházíme aplikací dvou zbývajících operátorů, kterými
jsou křížení a mutace.
Křížení
Tato operace spočívá ve výměně informací mezi jedinci. Celý mechanismus křížení
začíná tak, že se z nově vylosované populace náhodně vyberou dva jedinci. Tyto
dva jedince lze chápat jako dva rodiče. Jejich potomci budou potom obsahovat
části genetických informací svých rodičů. Výše popsaný mechanismus je zobrazen
na obrázku A-1.
Obrázek A-1: Schéma křížení na čtvrté pozici „chromozómuÿ
I
Diplomová práce
Příloha A: Dodatek ke genetickým algoritmům
Přínosem křížení nemusí být pouze vytváření lepších jedinců. Díky křížení může
vzniknout jedinec s takovým rozložením vlastností (jedniček a nul), že neexistuje
v generaci žádný jemu podobný. Takovýto jedinec se může nacházet v zatím neprozkoumané množině možných řešení. Díky tomuto procesu genetický algoritmus
prohledává velkou část definičního oboru.
Ke křížení dvou vybraných jedinců však nedochází vždy, ale zpravidla s určitou
pravděpodobností. Tento proces je na obrázku 2.1 označen bodem 2.
Mutace
Posledním krokem ve vytváření nové generace je mutace. Mutace nezasahuje výrazněji do vzhledu nové generace, ale jak si za chvíli vysvětlíme, plní velmi důležitou
funkci.
Jak tedy tato operace probíhá. Stejně jako ke křížení dochází k mutaci pouze s určitou pravděpodobností. Tato pravděpodobnost je ovšem oproti křížení podstatně
menší.
Obrázek A-2: Schéma mutace na čtvrté a sedmé pozici „chromozómuÿ
Celá operace probíhá následovně. Postupně odebíráme z generace jednoho jedince
po druhém. Každého jedince procházíme postupně po jednotlivých pozicích (nulách
a jedničkách) a s určitou pravděpodobností buď změníme hodnotu dané pozice nebo
ji ponecháme původní (viz obrázek A-2).
Jak bylo již řečeno, mutace plní velmi důležitou úlohu. Ukažme si to na následujícím příkladě. Předpokládejme, že víme, že nejlepší jedinec, který může vzniknout,
obsahuje na páté pozici jedničku. Náhodným losováním jsme dostali generaci, v níž
žádný jedinec neobsahuje na páté pozici jedničku. V tomto okamžiku nemůžeme
nikdy získat nejlepšího jedince pouze pomocí reprodukce a křížení. Nejlepší jedinec by mohl vzniknout pouze tak, že by některý jedinec na páté pozici zmutoval
a v některém dalším křížení by vhodně předal svoji informaci.
Mutace může také pomoci v situaci, kdy jsou si všichni jedinci velmi podobní.
Extrémním případem takové situace je například stav, kdy se do „nultéÿ, náhodně
vylosované generace dostane jeden velmi silný jedinec a zbytek jedinců bude slabý.
II
Diplomová práce
Příloha B: Reálné vlastnosti užitého OTA LM13700
V takovém případě může nastat situace, kdy se do další generace dostanou pouze
exempláře jediného silného jedince. Nastane-li takováto situace, můžeme dostat odlišného jedince pouze tak, že některý z exemplářů zmutuje. Mutace funguje ovšem
i v neextrémních případech a pomáhá nám udržet různorodost generace. Mutace je
zobrazena na obrázku 2.1 pod bodem 3.
B
Reálné vlastnosti užitého OTA LM13700
Reálné vlastnosti OTA LM13700 jsou závislé na velikosti stejnosměrného klidového
proudu IABC (Amplifier Bias Current). Jedná se o vnější proud OTA, kterým nastavujeme požadovanou velikost transkonduktance gm . Bohužel s nastavením požadované strmosti dochází i ke změnám reálných parametrů OTA. Mezi tyto parametr
patří i velikost vstupní a výstupní kapacity (Cin , Cout ) a velikost výstupního odporu
Rout (obrázky B-1 a B-2).
Obrázek B-1: Vstupní Cin a výstupní Cout kapacita užitého OTA
LM13700 [29]
Obrázek B-2: Výstupní odpor Rout
užitého OTA LM13700 [29]
III
Diplomová práce
C
Příloha D: Dostupný rozsah transkonduktance gm
Výpis zdrojového kódu užitého makromodelu
Pro naší aplikaci lze s úspěchem použít aproximaci vstupní a výstupní kapacity dle
níže uvedeného zdrojového kódu makromodelu. Důkazem toho je shodnost průběhů
amplitudové charakteristiky uvedené v příloze E.
‘.subckt LM13700 poz neg out‘,
‘ I1 0 out 19.2*Iabc*(v[poz]-v[neg])‘,
‘ Rout out 0 1920/Iabc‘,
‘ Cout out 0 4.5e-12‘,
‘ Cinp poz 0 6e-12‘,
‘ Cinn neg 0 6e-12‘,
‘.ends‘
D
Dostupný rozsah transkonduktance gm
Obrázek D-1: Závislost transkonduktance
gm na velikosti klidového proudu IABC [29]
IV
Diplomová práce
E
Příloha E: Srovnání makromodelů
Srovnání makromodelů
Na obrázcích E-1 a E-2 vidíme průběhy frekvenčních charakteristik napěťového přenosu, které se shodují, resp. vykazují velmi podobné chování v pro nás klíčových parametrech. Těmi je jednak napěťové zesílení Au a jednak poloha dominantního pólu
v závislosti na velikosti klidového proudu IABC . V grafu uvedeném na obrázku E-2
je velikost proudu IABC označena shodnými barvami jako je tomu na obrázku E-1.
Obrázek E-1: Průběh frekvenční charakteristiky napěťového přenosu v závislosti na řídícím proud IABC u firemního makromodelu LM13700
Obrázek E-2: Průběh frekvenční charakteristiky napěťového přenosu v závislosti na řídícím proud IABC u mnou vytvořeného makromodelu LM13700
V
Diplomová práce Příloha F: Vliv parazitní polohy pólu OTA na reálný filtr OTA-C
F
Vliv parazitní polohy pólu OTA na reálný filtr
OTA-C
Protože reálná transkonduktance OTA LM13700 má parazitní pól (podkapitola 6.5.2,
obrázek 6.12), má poloha tohoto pólu vliv na skutečnou realizaci finálního filtru.
Poloha nežádoucího pólu je dána velikostí řídícího proudu IABC . Simulacemi řešeného filtru s firemním makromodelem jsem zjistil, že aby nedošlo ke změně přenosové funkce H(p), je zapotřebí volit parazitní polohu pólu alespoň 10krát větší
(IABC = 500 µA), než-li mez propustného pásma daného filtru. Tato skutečnost je
graficky zachycena na obrázcích F-1 až F-4.
Obrázek F-1: Průběh přenosové charakteristiky H(p) v závislosti na velikosti proudu IABC
Obrázek F-2: Detailní průběh prop.
pásma přenosové char. H(p) v závislosti na velikosti proudu IABC
Obrázek F-3: Průběh nepropustného pásma přenosové charakteristiky H(p) v závislosti na velikosti
proudu IABC
Obrázek F-4: Detailní průběh nepropustného pásma přenosové charakteristiky H(p) v závislosti na velikosti
proudu IABC
VI
Diplomová práce
Příloha G: Reálné vlastnosti kondenzátorů
Kromě tohoto poznatku můžeme říci, že mez propustného pásma filtru lze realizovat dokonce i na „polozeÿ parazitního pólu OTA. Tato realizace je však možná jen
za předpokladu, že jsme provedli zpřísnění požadavků na realizovaný filtr. V našem
konkrétním případě můžeme prohlásit, že tato realizace je možná, jelikož zpřísnění
požadavků na filtru bylo uskutečněno (podkapitola 6.2). Důkazem toho je detailní
průběh přenosové funkce H(p) na obrázku F-2 a F-4, kde vidíme nežádoucí změnu
přenosové funkce H(p) v propustném pásmu pouze o 0,205 dB a v nepropustném
o 1,262 dB. Pokud jsme tedy provedli zpřísnění na požadovaná kritéria filtru, splníme
tak na nás kladené požadavky i s 10krát menší spotřebou proudu (IABC = 50 µA).
G
Reálné vlastnosti kondenzátorů
U reálného kondenzátoru je zapotřebí respektovat i vliv jeho parazitních prvků.
Vycházíme-li z náhradního modelu reálného kondenzátoru uvedeného na obrázku
G-1, dostáváme výraz pro jeho impedanci Z jako:
Z = |XESL + XC + ESR| ,
(G-1)
kde XESL je impedance ekvivalentního sériového induktoru,
XC je impedance kondenzátoru,
ESR je hodnotu ekvivalentního sériového odporu.
Obrázek G-1: Náhradní schéma reálného
kondenzátoru
ESR vyjadřuje vnitřní ztráty kondenzátoru, vliv dielektrických ztrát a vliv přechodových odporů kontaktů. Hodnota odporu pájeného kontaktu bývá R ≈ 20 mΩ
a hodnota sériového odporu pinu v rozmezí R = 0,1 ÷ 2 Ω. Rp představuje vliv
konečné hodnoty izolačního odporu dielektrika. ESL je tzv. zbytková vlastní indukčnost.
O kvalitě kondenzátorů vypovídá tzv. ztrátový činitel tgδ (TgD). Ztrátový činitel je dán odporovou a kapacitní složkou kondenzátoru dle vztahu (G-2). Čím je
ztrátový činitel nižší, tím je kondenzátor kvalitnější a tím je vhodnější pro práci ve
vysokofrekvenčních obvodech.
tgδ = 2πf.C.ESR
VII
(G-2)
Diplomová práce
Příloha G: Reálné vlastnosti kondenzátorů
Podíváme-li se na závislost impedance kondenzátoru na pracovní frekvenci f (viz obrázek G-2), zjistíme, že velikost impedance kondenzátoru není konstantní a mění se
v závislosti na pracovním kmitočtu. Můžeme si povšimnout, že se u kondenzátoru při
vysokých frekvencích začne více projevovat jeho vlastní parazitní indukčnost. Tento
efekt, spolu s ESR, může mít negativní vliv na přenosovou funkci filtru, a proto
jsem při návrhu reálného filtru OTA-C doplnil DESA algoritmus i o tyto parazitní
prvky. O hodnotách ESR a ESL reálných kondenzátorů se můžeme dočíst v [31],
případně v [32]. Ve zmiňovaných literaturách se dočteme, že hodnota ESL či ESR
záleží na velikosti kapacity. Při implementaci reálných vlastností kondenzátoru do
algoritmu DESA jsem proto postupoval následovně. V případě ESR jsem uvažoval
rozptyl hodnot v intervalu ESR = 1 ÷ 2 Ω a v případě ESL jsem sestavil rovnici, která aproximuje parametry z [31], které jsem ještě 2krát zvětšil. Důvodem
tohoto zpřísnění je skutečnost, že různé technologie vykazují různé velikosti parazitních prvků a jiný výrobce proto nemusí zajišťovat tytéž hodnoty jako [31]. Hodnoty
ESL jsem tedy volil z intervalu (1 ÷ 10 nH).
Obrázek G-2: Závislost impedance kondenzátoru na pracovní frekvenci [33]
VIII
Diplomová práce
H
Příloha I: Grafický přehled citlivostí
Srovnání dynamiky filtru před a po optimalizaci
Obrázek H-1: Znázornění dynamických poměrů ve filtru podle obrázku 6.17 před (přerušovaně) a po
(plně) dynamické optimalizaci
I
Obrázek H-2: Znázornění dynamických poměrů ve filtru podle obrázku 6.17 před (přerušovaně) a po
(plně) dynamické optimalizaci
Grafický přehled citlivosti přenosové funkce |H(p)|
na změny hodnot obvodových prvků
|H(jω)| Obrázek I-1: Průběh citlivosti SC1
|H(jω)| Obrázek I-2: Průběh citlivosti SC2
IX
Diplomová práce
Příloha I: Grafický přehled citlivostí
|H(jω)| Obrázek I-3: Průběh citlivosti SC3
|H(jω)| Obrázek I-4: Průběh citlivosti SC(x)3 |H(jω)| Obrázek I-5: Průběh citlivosti SC4
|H(jω)| Obrázek I-6: Průběh citlivosti Sgm01 X
Diplomová práce
Příloha I: Grafický přehled citlivostí
|H(jω)| Obrázek I-7: Průběh citlivosti Sgm02 |H(jω)| Obrázek I-8: Průběh citlivosti Sgm03 |H(jω)| Obrázek I-9: Průběh citlivosti Sgm1 |H(jω)| Obrázek I-10: Průběh citlivosti Sgm2 |H(jω)| Obrázek I-11: Průběh citlivosti Sgm3 |H(jω)| Obrázek I-12: Průběh citlivosti Sgm4 XI
Diplomová práce
J
Příloha J: Obsah přiloženého CD
Obsah přiloženého CD
Přílohu této diplomové práce je CD obsahující:
1. Elektronickou verzi diplomové práce (pdf soubor)
2. Příkladové soubory pro software Maple 10.04
• 00 priklad realizace GA.mw
• 01 nalezeni aproximacni prenosove funkce.mw
• 02 realizace LC strutkury.mw
• 03 metody vedouci k inicializacnimu reseni OTA-C.mw
• 04 metody dynamicke optimalizace.mw
• 05 aplikace DESA k nalezeni id.filtru OTA-C.mw
• 06 realizace realneho filtru OTA-C.mw
• 07 slouceni dilcich casti DP.mw
3. Firemní makromodel užitého OTA LM13700
4. Katalogový list užitého OTA LM13700
XII

Podobné dokumenty

Svět BVE - Brno BVE Website

Svět BVE - Brno BVE Website Jaké stránky zde budou příště? To je zajímavá otázka a rozhodně ne neopodstatněná. Možná že si bystřejší čtenáři všimli, že jsme v této rubrice v poslední době tak trochu „vařili z vody“. Nebylo di...

Více

Řešení obvodů grafy signálových toků

Řešení obvodů grafy signálových toků prakticky aplikovatelné výsledky moderní matematiky a vytvořit předpoklady pro efektivní výuku inženýrských předmětů. Metodiku výuky matematiky a její atraktivnost pro studenty chceme zlepšit důraz...

Více

1 - Informatika – definice a základní pojmy 2

1 - Informatika – definice a základní pojmy 2 sekvenční a přímé. Metodou sekvenční mohou být věty vyhledávány pouze v pořadí, v jakém jsou uloženy v souboru. U metody přímé mohou být věty zpřístupňovány v libovolném pořadí. Každá věta je zpřís...

Více

Seite 1 von 2 Praktische Pistolenschützen Brunn 27.02.2005 http

Seite 1 von 2 Praktische Pistolenschützen Brunn 27.02.2005 http Thomas Hinterberger Rudolf Schachermayr Ronald Putz Robert Wiery Ralph Trautmann Guenter Buerger Wolfgang Habitzl Michael Hoff Gerald Karl Christian Breitler Dietmar Pfeifer Christian Prokes Andrea...

Více

analýza proudového konvejoru CCII01 vs. AD844

analýza proudového konvejoru CCII01 vs. AD844 3.1 Realizace makromodelu k obvodu AD844 . . . . . . . . . . . . . . . . . . . . .

Více

šablona zprávy - CityPlan spol. s r.o.

šablona zprávy - CityPlan spol. s r.o. využitím simulačních modelů.

Více

Velkou naural tit

Velkou naural tit • Mitchell, M.: Introduction to Genetic Algorithms. MIT Press, 1996. • Eiben, A.E and Smith, J.E.: Introduction to Evolutionary Computing, Springer, 2007. • Michalewicz Z.: Genetic Algorithms + Dat...

Více