Metoda węzłowa w SPICE
Metoda węzłowa Pierwsze prawo Kirchhoffa: suma prądów w węźle jest równa 0 (suma prądów wpływających jest równa sumie prądów wypływających)
Metoda węzłowa Równań prądowych jest tyle ile węzłów Każdy prąd wypływa z jednego węzła (ze znakiem ‘-’) i wpływa do innego węzła (ze znakiem ‘+’)
Metoda węzłowa Jeśli zsumować wszystkie równania prądowe, prądy zsumują się do zera Czyli suma wszystkich równań jest zero Czyli każde równanie da się wyrazić jako suma pozostałych ze znakiem ‘-’ Czyli dla n węzłów w obwodzie można sformułować tylko n-1 niezależnych równań
Metoda węzłowa Ten dodatkowy, n-ty węzeł jest traktowany jako węzeł odniesienia, czyli tzw. masa, oznacza się go symbolem ‘0’
Metoda węzłowa
Metoda węzłowa
Metoda węzłowa
Metoda węzłowa Właściwie wszystkie analizy SPICE prowadzą do rozwiązania takiego układu równań: analiza .DC, .OP dla układów liniowych – w sposób oczywisty analiza .DC, .OP dla układów nieliniowych – algorytm Newtona-Raphsona w zasadzie składa się z kolekcji problemów liniowych analiza .TRAN – całkowanie numeryczne to szereg kroków liniowych
Konstrukcja układu równań z netlist Opis topologii (netlist):
Konstrukcja układu równań Szablony elementów, np. rezystor:
Konstrukcja układu równań
Konstrukcja układu równań Np. szablon źródła prądowego: itd...
Konstrukcja układu równań
Konstrukcja układu równań
Konstrukcja układu równań
Konstrukcja układu równań
Konstrukcja układu równań
Konstrukcja układu równań Jedno równanie jest liniowo zależne od pozostałych V0 z założenia równe 0
Konstrukcja układu równań Ten układ równań można już rozwiązać za pomocą np. eliminacji Gaussa
Inna metoda rozwiązywania Rozkład LU:
Rozkład LU Algorytm wyznaczania LU jest modyfikacją algorytmu Gaussa
Rozkład LU „podstawianie do przodu”:
Rozkład LU „podstawianie wstecz”:
Rozkład LU Podstawowa zaleta: Pracochłonny rozkład LU jest wykonywany tylko raz, natomiast wielokrotne obliczenia potencjałów węzłowych dla zmieniających się pobudzeń (a nie zmieniającej się topologii układu) obejmują tanie obliczeniowo operacje podstawiania do przodu i wstecz
Problemy nieliniowe Rozwiązywanie równań nieliniowych o postaci: gdzie f(x) jest funkcją nieliniową Obejmuje to oczywiście przypadek każdego równania:
Problemy nieliniowe Szczególnym przypadkiem są wszelkiego rodzaju problemy optymalizacyjne – poszukiwanie ekstremum (maksimum albo minimum) funkcji kosztu lub zysku: gdzie f’(x) to pierwsza pochodna funkcji f(x)
Rozwinięcie w szereg Taylora Jeżeli znamy wartość funkcji i wszystkich jej pochodnych w pewnym punkcie, można wyznaczyć na tej podstawie wartość w innym punkcie:
Rozwinięcie w szereg Taylora Przy obcięciu do wyrazu rzędu k reszta rozwinięcia może być oszacowana jako składnik rzędu (O - funkcja Landaua):
Rozwinięcie w szereg Taylora Często jest stosowane nawet rozwinięcie obcięte pierwszego rzędu: Jest to tym lepsze przybliżenie prawdziwej wartości, im mniejsza jest wartość Δx Do takiego przybliżenia nawiązuje algorytm Newtona-Raphsona
Algorytm Newtona-Raphsona Raphson współpracował z Newtonem, w charakterze jego sekretarza(?), redaktora jego dzieł? Metodę rozwiązywania równań nieliniowych ogłosił książkowo w 1891, podczas gdy analogiczna metoda Newtona została opublikowana w książce z 1736, choć napisanej w 1871 roku. Newton znał książkę Raphsona i wyrażał się o niej pochlebnie. Trudno więc ustalić, kto był autorem pomysłu. Metoda zwana jest więc pod nazwą Newtona-Raphsona. Isaac Newton (1643-1727) Joseph Raphson (1648-1715)
Algorytm Newtona-Raphsona
Algorytm Newtona-Raphsona Algorytm zaczyna z pewnego punkty x0, będącego pierwszym oszacowaniem prawdziwego rozwiązania x* W punkcie x0 na podstawie znajomości pochodnej funkcji f(x0) rozwiązywane jest równanie liniowe:
Algorytm Newtona-Raphsona Rozwiązanie tego równania: wyznacza kolejne oszacowanie rozwiązania x*:
Algorytm Newtona-Raphsona Ten sam sposób postępowania jest stosowany w kolejnych iteracjach: Kolejne wartości xi są coraz lepszymi oszacowaniami x*
Przykład
Algorytm Newtona-Raphsona Zamiast wyprowadzenia bazującego na rozwinięciu Taylora można zastosować intuicję geometryczną: Wartość pochodnej funkcji w punkcie to nachylenie stycznej do wykresu funkcji w tym punkcie
Algorytm Newtona-Raphsona Problem nieliniowy jest zastąpiony serią problemów liniowych Każdy problem liniowy jest lokalnym przybliżeniem Taylora pierwszego rzędu dla problemu nieliniowego
Algorytm Newtona-Raphsona W każdej iteracji jest wyznaczane kolejne przybliżenie rozwiązania Proces iteracyjny jest kończony kiedy względny błąd procentowy: spadnie poniżej ustalonej wartości (dokładności algorytmu) Może być również zastosowane ograniczenie na maksymalną ilość iteracji algorytmu
Algorytm Newtona-Raphsona System rozwiązujący równanie: zgodnie z algorytmem Newtona-Raphsona nie zna „globalnie” funkcji f(x), natomiast musi mieć możliwość zapytać o wartość f(x), f’(x) w arbitralnym punkcie x Kolejne pytania o wartość funkcji zwiększają wiedzę systemu rozwiązującego o funkcji. Początkowa hipoteza dotycząca rozwiązania x0 z każdą iteracją ulega zmianie, dzięki uwzględnieniu nowych informacji o funkcji f(x)
Pułapki – wybór punktu startowego
Pułapki – wybór punktu startowego
Pułapki – oscylacje dookoła ekstremum
Ekstrema – dzielenie przez zero
Pułapki – jedno z wielu rozwiązań