SADYS - uživatelský návod

OBSAH 1. Úvod 2 2. Struktura zadání, obecné podmínky 2 2.1. Základní pravidla pro psaní vstupních dat 3 2.2. Výstupy tabulek a grafů 3 3. Zadání popisu obvodu 4 4. Výpočet přenosové funkce 6 5. Kmitočtové charakteristiky 6 5.1. Kmitočtový rozsah 6 5.2. Tisk charakteristiky 7 6. Časové charakteristiky 7 6.1. Časový rozsah 7 6.2. Semisymbolický výstup 7 6.3. Tisk charakteristiky 8 7. Analýza nelineárních soustav 8 7.1. Ustálené klidové řešení 8 7.2. Parametrické klidové řešení 9 7.3. Časová analýza 9 7.4. Počáteční podmínky 9 7.5. Změny parametrů 10 7.6. Výstupy 10 7.6.1. Tisky grafů se všemi možnostmi 10 7.7. Spuštění a řízení výpočtu 11 7.8. Fourierova analýza 12 7.9. Ustálený stav 12 8. Knihovny modelů 13 8.1. Popis modelu 13 8.2. Vyvolání modelu 14 8.3. Zařazení modelu 14 9. Zadávání funkčních závislostí 15 9.1. Standardní funkce 15 9.2. Speciální funkce 16 9.3. Příklady zadání funkcí 17 9.4. Operátory 18 10. Řešení rovnic 19 10.1. Řešení algebraických rovnic a jejich soustav 19 10.2. Řešení diferenciálních rovnic a jejich soustav 20 1. ÚVOD Program byl vytvořen na katedře teorie obvodů FEL ČVUT. Je určen pro simulaci lineárních i nelineárních elektronických i jiných dynamických soustav modelovaných obvodovými nebo blokovými diagramy, či jejich kombinacemi. Vstupní jazyk umožňuje zadávání složitých funkčních závislostí a volbu různých variant výstupních údajů. Následující návod je určen uživateli, který se s programem seznamuje. Proto byla zvolena forma zjednodušených návodů pro typické oblasti použití. V těchto návodech nejsou uvedeny všechny možnosti zadání ani využití programu. Podrobnější popis struktury programu a metod řešení ( zejména sekcí SYSTEM a TR ) je v práci Oliva Z.: Některé algoritmy analýzy elektronických obvodů, dizertační práce, ČVUT FEL, Praha 1987. Program je rozdělen do sekcí, které zpracovávají dílčí části úlohy. Sekce programu: SYSTEM...zadání popisu soustavy a požadovaných veličin; TR.......analýza nelineárních soustav (výpočet ss. řešení, časových odezev, závislostí na změnách parametrů, ustáleného periodického řešení, linearizace soustav v klidovém nebo zadaném pracovním bodě apod.); PZ.......výpočet pólů a nul, popřípadě i koeficientů přeno- sových funkcí lineárních (nebo i linearizovaných) soustav; FRE......výpočet složek kmitočtových charakteristik (moduly, fáze) přenosových funkcí; TRA......výpočet časových charakteristik (impulsní, přecho dová) z přenosových funkcí numericky, i jako funkce proměnné t (času). 2. STRUKTURA ZADÁNÍ, OBECNÉ PODMÍNKY Vstupní datový soubor má pevně danou vnitřní srukturu: *SYSTEM; zadání popisu soustavy *sekce; zadání dat pro sekci RUN; *sekce; zadání dat pro sekci RUN; . . *sekce; zadání dat pro sekci RUN; *END; Větou "RUN;" se spouští výpočet v dané sekci. Zadání dat pro sekci může obsahovat větší množství příkazů RUN - např. při výpočtu a grafickém znázornění několika kmitočtových charakteristik v sekci FRE. Větou "*END;" končí celé zadání dat. 2.1. Základní pravidla pro psaní vstupních dat - základní částí dat je věta; - každá věta musí být zakončena středníkem; - na řádek lze napsat více vět (maximálně 80 znaků); - věta může pokračovat na dalším řádku (program zpracovává jako větu všechny znaky mezi středníky, respektive mezi znaky "*" a ";"); - při výskytu znaku ":" jsou všechny znaky napravo od něj považovány za komentář (program je ignoruje); - jsou-li první znaky věty "*:", je další obsah řádku tištěn jako záhlaví tabulek a grafů; - pokud není uvedeno jinak, je oddělovačem údajů ve větě alespoň jedna mezera; - čísla se zadávají běžným způsobem, tj. ve tvaru: celá čísla 1 2 10 desetinná čísla 1.23 0.27 .26 1.E3 -1. -123.1E-3; - pro zkrácení zápisu lze využít symboly v tab. 2.1.; - obvod musí obsahovat referenční uzel označený číslem 0; - primární veličiny jsou ty, které se počítají přímo při řešení základních rovnic, lze je použít jako řídící veli- činy (např. napětí na rezistoru); - sekundární veličiny jsou počítány z primárních, nelze je použít jako řídicí veličiny (např. proud rezistorem).
Tab. 2.1.: Symboly hodnot veličin
Symbol Hodnota Význam Příklad
T 1.E12 Tera 1.3T = 1.3E12
G 1.E9 Giga 221G = 2.21E11
ME 1.E6 Mega 12ME = 1.2E7
K 1.E3 Kilo 2.2K = 2.E2
M 1.E-3 Mili 9M = 9.E-3
U 1.E-6 Mikro 1U = 1.E-6
N 1.E-9 Nano .1N = 1.E-10
P 1.E-12 Piko 1P = 1.E-12
F 1.E-15 Femto 12.3F = 1.23E-14
PI 3.1415.. Ludolf.č. 2PI = 6.28...




Dohoda : Syntaxe vět, která bude dále používána, využívá dva


druhy závorek


- ostré závorky "<" a ">" ohraničují symbolické označení


  syntaktických prvků, které jsou vždy dále vysvětleny;


- složené závorky "{" a "}" ohraničují nepovinné parametry;


- všechny ostatní symboly uvedené vně závorek jsou včetně


  mezer označených "_" povinné.














     2.2. Výstupy tabulek a grafů





     V následujících kapitolách budeme označovat 


zvolený druh výstupu výsledků, který lze zvolit z následujících


možností :


     PRINT tisk tabulky


     PLOT tisk grafu (132 znaků na řádek)


     PPLOT tisk tabulky i grafu (132 znaků na řádek)


     NPLOT tisk zúženého grafu (80 znaků na řádek)


     NPPLOT tisk tabulky a zúženého grafu











     3. ZADÁNÍ POPISU OBVODU





     Zadává se v sekci SYSTEM. Každý prvek se zadává samostatnou


větou ve tvaru různém pro řízené a neřízené prvky.





      Neřízené prvky se zadávají ve tvaru :





{} {-}=;





kód_prvku.......se zadává podle tab. 3.1.;


identifikátor...je max. 8 alfanumerických znaků a musí být


                uveden pouze v případě, že se na prvek dále


                odvoláváme;


uzel_A..........je zadání čísla uzlu A daného prvku (je-li


                to referenční uzel, je možné jej vypustit);


uzel_B..........je zadání čísla uzlu B daného prvku (je-li


                to referenční uzel 0, je možné jej včetně


                pomlčky vypustit);


hodnota.........se zadává číslem, výrazem, identifikátorem


                jiného zadaného parametru nebo je vynechána


                včetně rovnítka a pak je považována za


                jednotkovou.





Poznámka :


RI je třeba použít, pokud je hodnota rezistoru v průběhu


výpočtu rovna nule nebo pokud je proudem rezistoru řízen


zdroj.





Příklady : (věty na řádku jsou ekvivalentní):


R1 1-0=1.; R1 1=1.; R1 1; R1 1-0;


CHOR 3-4=9.E-9; CHOR 3-4=9.N; CHOR 3-4=9N;


LA 5-0=0.73; LB 6-7=0.73; LA 5=73OM; LB 6-7=LA; :(LA def.


                                                   před LB)


X=0.5N;C1 1-3=X; C1 1-3=.5N; :(X je def. jako parametr,


                         který lze použít pro další zadání)


Tab. 3.1.: Kódy prvků


+---------------------------------------------------------+


¦ Prvek ¦Kód¦ Příklad ¦Prim.velič.¦


+------------------------+---+----------------+-----------¦


¦rezistor(popsán odporem)¦ R ¦R 1-2=1K; ¦ napětí ¦


¦rezistor (s vyp. proudu)¦ RI¦RI1 3-4=10K; ¦ proud ¦


¦rezistor(pops.vodivostí)¦ G ¦G1 1-4=10K; ¦ napětí ¦


¦kapacitor ¦ C ¦CVAZ 1=10; ¦ napětí ¦


¦induktor ¦ L ¦L3 5=1M; ¦ proud ¦


¦zdroj proudu ¦ J ¦JIN 1-0=1; ¦ napětí ¦


¦zdroj napětí ¦ E ¦ESS 1=10; ¦ proud ¦


¦operační zesilovač ¦ OA¦OA1 9-0=V.7-V.4;¦ proud ¦


¦vzájemná indukčnost ¦ M ¦M L1-L2=0.1; ¦ - ¦


¦činitel vazby ¦ K ¦KTR1 L1-L2=0.98;¦ - ¦


+---------------------------------------------------------+


Definice veličin :


                                           rezistor


       uzel_A O---RCLRCLRCL---O uzel_B kapacitor


                                           induktor


                    --------> napětí


                    ---|> proud orientace veličin














                    ---|> i


                    --------> u





       uzel_A O---LLLLLLLLL---O uzel_B induktor L1





                       M(K) vzáj.indukčnost (činitel vazby)





       uzel_A' O---LLLLLLLLL---O uzel_B' induktor L2





                    --------> u'


                    ---|> i'





     Řízené prvky (E, J, OA) se zadávají se syntaxí podobnou


neřízeným prvkům. Místo hodnoty se zadává způsob řízení ve tvaru:





(V.-V.)*hodnota pro řízení napětím mezi uzly


V.*hodnota  pro řízení napětím na prvku


I.*hodnota pro řízení proudem prvku





Řídící napětí nebo proud musí přitom být primární veličina !





Poznámka :


Ideální operační zesilovač se zadává jako řízený zdroj,


přičemž označení prvku je OA a hodnota se neudává.


Příklady :


                         : -------> U1


                         : 5k


R1 1-2=5k; : 1 O-----rezistor-----O 2


EUZ 4-5=(V.1-V.2)*10.; :


:nebo : 4 O------zdroj_U-----O 5


:EUZ 4-5=V.R1*10.; : Uz=10*U1


                         : -------> Uz








                         : ----|> I1


                         : 1k


RI1 1-2=1k; : 1 O-----rezistor-----O 2


JI4 5-4=I.RI1*5.; :


                         : 4 O------zdroj_I-----O 5


                         : I4=5*I1


                         : I4 <|----








OA1 9-0=V.4-V.7; : 4 O----- +


:nebo : oper.zes.---O 9


:OA1 9=V.4-V.7; : 7 O----- -


                         :


                         : 0 O------------------O 0


     4. VÝPOČET PŘENOSOVÉ FUNKCE





     Výpočet libovolných přenosových funkcí se zadává v sekci PZ


větou:





TRAN =/


                  {,...=/vstup_n>} COEF;





přenos_i...je uživatelem definované jméno přenosové funkce


o délce max. 8 znaků (i = 1, 2,..., n);


výstup_i...je obvodová veličina v čitateli volená podle


           tab. 4.1., (i = 1, 2,..., n);


vstup_i....je kód a identifikátor zdroje definujícího jmenovatel


(tedy pouze prvky typu E nebo J);


COEF.......se zadává pouze v případě, že požadujeme i výpočet


koeficientů polynomů proměnné p v čitateli            a


jmenovateli přenosové funkce.





Příklad :


TRAN AU=3/E COEF;


TRAN AU=V.5-V.1/E; : V.5-V.1 se chápe jako souvislý výraz,


                     : lomítko nemá přednost


TRAN A=V.5/EIN;





Poznámka :


Změny parametrů lze zadávat stejně jako v sekci TR, viz


odst. 7.5.


Tab. 4.1.: Zadání obvodových veličin


+-------------------------------------------+


¦ Tvar ¦ Příklad ¦ Význam ¦


+-------------+----------+------------------¦


¦ číslice ¦ 3 ¦ napětí uzlu ¦


¦ V.čís ¦ V.3 ¦ napětí uzlu ¦


¦ V.čís-V.čís ¦ V.4-V.3 ¦ napětí mezi uzly ¦


¦ V.prvek ¦ V.R1 ¦ napětí na prvku ¦


¦ prvek ¦ RIN ¦ napětí na prvku ¦


¦ I.prvek ¦ I.R1 ¦ proud prvkem ¦


+-------------------------------------------+








     5. KMITOČTOVÉ CHARAKTERISTIKY





     Výpočet kmitočtových charakteristik linearizovaných obvodů a


způsob jejich zobrazení se zadává v sekci FRE.





     5.1. Kmitočtový rozsah





     Kmitočtový rozsah program volí automaticky podle hodnot


pólů a nul přenosové funkce. Pokud jej chceme explicitně za


dat, má tato věta tvar:





FREQ ,; :pro logaritmickou stupnici


FREQ/LIN ,;  :pro lineární stupnici


FREQ=,,,...; :pro tabulku hodnot





f_min...je dolní mez kmitočtu v [Hz];


f_max...je horní mez kmitočtu v [Hz];


fi......jsou jednotlivé hodnoty kmitočtu v [Hz].


     5.2. Tisk charakteristiky





     Vybrané složky kmitočtových charakteristik lze zobrazit


formou tabulky nebo grafu (pouze ze znaků) příkazem ve tvaru:





() {,...,};





zobrazení....udává způsob výstupu výsledků (viz odst. 2.2.);


složka_i.....složka přenosu (i = 1, 2,..., n), je složena ze


             jména podle tab. 5.1. a z přenosu (viz kap. 4.)


             a to ve tvaru:





.;





Příklady : PRINT(20) DB.AU, DEG.AU; NPLOT(15) MOD.AU;


      NPLOT(21) RE.AU, IM.AU, SLO.AU; PRINT(21) ALL.AU;





Tab.5.1.: Jména složek přenosu u kmitočtových charakteristik


+----------------------------+


¦ Jméno ¦ Význam ¦


+-------+--------------------¦


¦ MOD ¦ modul ¦


¦ DB ¦ modul v dB ¦


¦ RAD ¦ fáze v radiánech ¦


¦ DEG ¦ fáze ve stupních ¦


¦ DEL ¦ skupinové zpoždění ¦


¦ SLO ¦ strmost modulu ¦


¦ RE ¦ reálná část ¦


¦ IM ¦ imaginární část ¦


¦ ALL ¦ všechny složky ¦


+----------------------------+





     6. ČASOVÉ CHARAKTERISTIKY





     Časové charakteristiky linearizovaných obvodů se počítají v


sekci TRA.





     6.1. Časový rozsah





     Program volí časový rozsah automaticky z polohy pólů a nul


přenosové funkce. Je-li potřeba zadat rozsah explicitně, může


uživatel použít větu:





TIME ,;





t_min......je počáteční čas [s];


t_max......je koncový čas [s].





     6.2. Semisymbolický výstup





     Tento druh výstupu umožňuje tisk funkce proměnné t (času).


Zadává se větou:





SYMB.;





přenos.......je jméno přenosové funkce definované uživatelem


             v sekci PZ (viz kap. 4.) - pro impulsní char., resp.


STEP.jméno pro přechod. charakteristiku


Příklad : SYMB.AU ... symbolicky impulsní charakteristika


           SYMB.STEP.AU ... symbolicky přechod. charakteristika





     6.3. Tisk charakteristiky





     Charakteristiku lze opět tisknout v podobě tabulky nebo


grafu složeného z alfanumerických znaků. Zadává se větou:


() {,...,};





Zobrazení.....udává způsob výstupu výsledků (viz odst.2.2.);


Složka_i......složka přenosu (i = 1, 2,..., n), je složena


              ze jména podle tab. 6.1. a z přenosu (viz


              kap. 4.) a to ve tvaru :





.








Tab. 6.1.: Jména složek přenosu u časových charakteristik


+------------------------------------------------------------+


¦ Jméno ¦ Význam ¦


+-------+----------------------------------------------------¦


¦ PULS ¦ impulsní charakteristika (implicitní, neuvádí se!) ¦


¦ STEP ¦ přechodová charakteristika ¦


+------------------------------------------------------------+





Příklady :


PRINT(35) STEP.AU;


NPLOT(15) AU, P30, STEP.P40;








     7. ANALÝZA NELINEÁRNÍCH SOUSTAV





     Analýzu chování nelineárních soustav lze různými způso


by zadat v sekci TR.











     7.1. Ustálené klidové řešení





     Ustálené klidové řešení (klidový pracovní bod) se počí


tá v sekci TR zadáním následující sekvence vět:





DC;


PRINT ;


RUN;





seznam_veličin.....obsahuje vyjmenované výstupní veličiny,


                   které mohou být zadány ve tvaru obvodové


                   veličiny (tab. 4.1. v kap. 4.), nebo jako


                   identifikátor, který byl předem definován


                   v sekci SYSTEM. Jednotlivé veličiny jsou


                   v seznamu odděleny čárkou.





Příklad :


*SYSTEM; ...; UBE=V.1-V.3; IB=I.R1-I.R2;


*TR; DC; PRINT UBE,IB,V.4,V.R1; RUN;








     7.2. Parametrické klidové řešení





     Parametrickým klidovým řešením rozumíme závislost kli


dového pracovního bodu na daném parametru. Zadává se násle


dující větou:





DC   ;





parametr...je identifikátor prvku zadaného v sekci SYSTEM


           nebo identifikátor nezávisle proměnné definované


           implicitně (TIME - čas, TEMP - teplota);


min, max...jsou dolní a horní mez změny parametru.





Příklad :


DC TEMP 300. 320.; :závislost na teplotě (ve stupních K)


DC EO 5 15; :závislost na napájecím napětí











     7.3. Časová analýza





     Časová analýza zjišťuje chování obvodu v daném časovém


intervalu. Zadává se větou ve tvaru:





TR  ;





t_min, t_max...jsou dolní a horní meze časového intervalu








Příklad :


     TR 0. 1U; :interval 0 až 1 mikrosekunda











     7.4. Počáteční podmínky





     Časová analýza vychází z nulových počátečních podmínek.


Pokud chceme počáteční podmínky volit, použijeme větu :





DCTR  ;





     V tomto případě si program nejprve vypočte klidové ře


šení a z něj vychází při časové analýze, nebo je možné počá


teční podmínky zadat (pouze pro primární veličiny!) větou:





INIT ={,...,=};





veličina_i...je primární veličina (i = 1, 2, ..., n), která


             se může zadat ve tvaru:





               Tvar Význam


               V.uzel napětí na uzlu


               V.prvek napětí na prvku


               I.prvek proud prvkem





hodnota_i....je počáteční hodnota veličiny (pouze číselná


             konstanta, nelze použít výraz).





     Nastavení všech (počátečních podmínek na stejnou hodno


tu lze provést zadáním věty :





INIT !XALL=; :potom lze případně upravit některé


                         :veličiny na jiné hodnoty











     7.5. Změny parametrů





     Analýzu lze opakovat se změněnými hodnotami parametrů.


Ke změně parametrů slouží věta :





MODIFY =


                       {,...,=};





identifikátor_i...je prvek soustavy nebo proměnná veličina


                  (teplota, čas, odpor,..);


hodnota_i.........je číselná konstanta (i = 1, 2, ..., n).





Příklad :


MODIFY RZ=15K, TEMP=310;


MODIFY EO=15;





Poznámka :


Je třeba dbát na povolený rozsah hodnot - např. pro R=0 je


třeba užít prvek RI !











     7.6. Výstupy





     Je možné volit tabulku nebo graf v kombinacích podle


odst. 2.2. Při použití současného tisku tabulky a grafu


nejsou pro tabulku uvažovány parametry uváděné navíc pro


graf. Věta má tvar :





 {()} 


                               {,...,};





počet_bodů...........je počet řádků tabulky. Pokud není


                     zadán, tiskne se každý integrační krok;





záv.prom.veličina_i....je výstupní závisle proměnná veličina


                       (jako nezávisle proměnná veličina vy


                       stupuje čas, resp. parametr zadaný


                       podle odst. 7.2.); i = 1, 2,..., n.





Příklad :


PRINT (21) V.3, I.R1


NPLOT (100) I.R1,V.4;





     7.6.1. Tisky grafů se všemi možnostmi





 ( {{ }}


    {/}) {(}{ }


    {,...,{ },...{)}...};





zobrazení..........je zvolený druh výstupu podle odst. 2.2.;





nezáv.prom.veličina...představuje libovolnou nezávisle i zá


                   visle proměnnou veličinu analyzované sou


                   stavy, která je nezávisle proměnnou grafu


                   (není-li zadána, je implicitně použit čas


                   resp. parametr zadaný podle odst. 7.2.);





min, max...........je interval proměnné (není-li zadáno,


                   vynáší se celý rozsah);





nás.integr.kroku...je celočíselná konstanta, která určuje


                   násobek integračního kroku, při němž se


                   tiskne bod grafu. Pro nulu se tiskne na


                   každý řádek grafu jedna hodnota závisle


                   proměnné (získaná interpolací). Pro hod


                   notu >0 se tisk řídí integračním algorit


                   mem (implicitní hodnota 1).





( )................pokud je několik závisle proměnných uza


                   vřeno do závorek, tisknou se se společným


                   měřítkem voleným automaticky nebo daným


                   rozsahem min, max u první proměnné. Lze


                   zadat i několik skupin se společným


                   měřítkem v jednom grafu.





Poznámky :


- v jednom grafu může být maximálně 15 závisle proměnných;


- v jednom běhu programu mohou být maximálně 4 grafy.





Příklady :


NPLOT (21 I.R1) V.4; :graf V.4 je funkcí I.R1


PLOT (41 TEMP/2)V.4,(I.R1 -1M 1M,I.R2),(I.R4 -2OM 20M,I.R5);


   :graf závislosti V.4 (sam. měřítko), I.R1 a I.R2 v inter-


   :valu <-1mA, 1mA> se spol. měřítkem, I.R4 a I.R5 v inter-


   :valu <-20mA, 20mA> se společným měřítkem na teplotě


   :v každém druhém integračním kroku, celkem 41 bodů.








     7.7. Spuštění a řízení výpočtu





     Výpočet se spouští větou :





RUN;





     Chceme-li vytisknout několik průběhů získaných při opa


kovaných výpočtech (např. parametrické charakteristiky tran


zistoru) do jednoho grafu, použijeme větu :





RUN HOLD;





     V tomto případě se tiskne pouze tabulka (byla-li poža


dována) při každém "RUN HOLD;", grafy se vytisknou do jedno


ho obrázku po použití věty bez "HOLD", tj. ve tvaru "RUN;".


     Chceme-li změnit některé řídicí parametry výpočtu podle


tab. 7.1., použijeme větu :





RUN {HOLD} = {,...,=};


Tab. 7.1.: Řídicí parametry výpočtu


+----------------------------------------------------------+


¦Param.¦ Význam ¦Impl.¦


+------+---------------------------------------------+-----¦


¦ EPS ¦přípustná relativní chyba řešení ¦1E-3 ¦


¦ DCEPS¦přípustná relativní chyba ss analýzy ¦1E-6 ¦


¦ MAXIT¦přípustný počet iterací v jednom int. kroku ¦ 50 ¦


¦ DAMP ¦činitel tlumení iterací ¦ 0 ¦


¦ FLUF ¦konstanta řízení rozkladu LU ¦ 1 ¦


¦ MIN ¦rel. délka přípustného nejkratšího int. kroku¦ 1E5 ¦


¦ MAX ¦rel. délka přípustného nejdelšího int. kroku ¦ 10 ¦


¦ FEPS ¦konstanta řízení predikace ¦ 5 ¦


¦ KMAX ¦přípustný nejvyšší řád iterace ¦ 6 ¦


¦ C1-C6¦činitelé tlumení predikace řádu 1 až 6 ¦ 1 ¦


¦ WPLOT¦počet znaků na řádce při tisku příkazem NPLOT¦ 80 ¦


+----------------------------------------------------------+








     7.8. Fourierova analýza





     V sekci TR můžeme provést Fourierovu analýzu vypočtené


nebo zadané periodické funkce, jejímž výstupem je tabulka


amplitud a fází a sloupcový diagram amplitudového spektra


zadáním věty:





FOUR ,{,};





poč.periody....je hodnota parametru TIME na začátku periody;


konec_periody..je hodnota parametru TIME na konci periody;


počet_harmon...je počet počítaných harmonických, implicitně


               je roven 10.





Příklad :


*TR; TR 0.1 0.3; FOUR 0.1,0.2,8;


PRINT(24) V.6; RUN; :vytiskne se časový průběh na inter-


                        :valu 0,1 až 0,3 s ve 24 bodech a


                        :spektrum osmi harmonických pro


                        :periodu 0,1 až 0,2 s.








     7.9. Ustálený stav





     V sekci TR lze rovněž pomocí epsilon algoritmu počítat


přímo ustálený stav při periodickém buzení se zadanou


periodou. Zadání se provede větou :





STEA ,{,};


délka_periody.....je zadaná perioda v (s);


počet_intervalů...je počet period, po nichž je spočítán stav


                  obvodu;


rel. chyba........je přípustná relativní chyba, implicitně


                  je rovna 0.005.





Poznámka :


Pokud je délka periody zadána se záporným znaménkem, vychází


algoritmus z hodnot na konci každé půlperiody (což je vhodné


pro antiperiodické odezvy), jinak z hodnot na konci každé


celé periody.


     8. KNIHOVNY MODELŮ





     Program umožňuje vytvořit modely opakujících se prvků a ve


vlastním zadání pak buď vyvolat model (jménem) a přiřadit


odpovídající uzly modelu uzlům analyzované soustavy, nebo navíc i


změnit některé parametry modelu.


     Při vlastním použití je popis modelu buď součástí


zpracovávaného datového souboru nebo může být trvale uložen v


periferní paměti a datový soubor pak obsahuje pouze odkaz na


tento model.








     8.1. Popis modelu





     Popis modelu je tvořen ze tří základních částí - hlavičky,


vlastního popisu a koncového příkazu - podle následujícího


schematu :





<{uzel_A}-...-{uzel_N}>{/,...,};


;


EO@;





jméno_modelu.......je max. osm alfanumerických znaků (první


                   musí být písmeno) pro identifikaci modelu


uzel_A,..,uzel_N...je seznam uzlů modelu, kterými je spojen


                   s analyzovanou soustavou;


parametr_1,..,parametr_M...je seznam parametrů modelu, které


                   je možné při vyvolání modelu měnit;


hodnota_1,..,hodnota_M...jsou implicitní hodnoty parametrů,


                   pokud nejsou uvedeny, přiřadí program


                   nulu; hodnoty mohou být pouze čísla;


vlastní popis modelu...je tvořen podle stejných zásad, jako


                   popis obvodu (viz kap. 3.).








Poznámka :


Použité identifikátory uzlů a parametrů se musí vyskytovat


ve vlastním popisu modelu.


Příklad :


Model lin. ztrátového operačního zesilovače -


- jméno_modelu ROZL, přiřazen uzly a, b, c, d, parametry A0


(zesílení), FT (tranzitní kmitočet), RI (vstupní odpor), RO


(výstupní odpor).





ROZL a-b-c-d /A0=0.15ME,FT=750k,RI=3ME,RO=60;


     :lin. model OZ s uvažováním jednoho kmitočtového zlomu,


     :vstupního a výstupního odporu, konečného zesílení


R a-b=RI;


RO c-d=RO;


RF e-d=A0;


CF e-d=1./(2PI*FT);


J1 e-d=V.a-V.b;


J2 c-d=(1/RO)*V.CF;


EO@;





     Zvolené implicitní parametry odpovídají zesilovači typu


MAA 741.


     8.2. Vyvolání modelu





{identifikátor>}@ uzel_A{-..-uzel_N}


          {/parametr_1=hodnota_1{,...,parametr_M=hodnota_M};





identifikátor.......je max. 8 alfanumerických znaků (první


                    písmeno),je možné použít k rozlišení


                    modelu pro různé prvky;





jméno_modelu........je jméno příslušného modelu (viz odst.


                    8.1.)





uzel_A,...,uzel_N...jsou označení uzlů sestavy, k nimž je


                    zadávaný model připojen (jejich označení


                    se může lišit od označení v popisu modelu).





parametr_1,..,parametr_M...jsou parametry modelu;





hodnota_1,..,hodnota_M.....jsou hodnoty parametrů modelu;








     Pokud chceme změnit některé implicitní parametry modelu,


zadáme za lomítkem jméno parametru (musí se shodovat se jménem v


modelu), rovnítko a hodnotu (platí pro ni totéž co pro hodnoty


prvků) pro upravované parametry. Pokud chceme změnit všechny


parametry, můžeme uvést pouze hodnoty oddělené čárkou (avšak ve


správném pořadí).





Příklad :


Chceme použít model ROZL z odst. 8.1. bez změny parametrů,


skutečné uzly jsou 5, 7, 9, 0 :


@ROZL 5-7-9-0;





Chceme změnit hodnoty A0, RI:


@ROZL 5-7-9-0/A0=1e5,RI=1ME;





     8.3. Zařazení modelu





     Model můžeme použít buď jednorázově v jednom datovém


souboru nebo uložit do knihovny.


     V prvém případě popíšeme modely na začátku datového


souboru a před jméno_modelu uvedeme znaky DEFMAC oddělené od


jména_modelu mezerou.


     Pokud model ukládáme do knihovny, vytvoříme standardní


řádkový soubor





     jméno_modelu.MOD ,





který uložíme do stejného adresáře, ze kterého spouštíme


program - čteme data; (pozn.: platí obecně, při konkrétní


instalaci programu lze nadefinovat i jiné možnosti uložení


knihovny modelů).


V souboru je pak uložen popis modelu podle odst. 8.1.


     Obecně platí, že v popisu modelu je možné vyvolat další


model. Tato možnost je při některých konkrétních instalacích


omezena, je ji proto nutné před použitím ověřit.








     9. ZADÁVÁNÍ FUNKČNÍCH ZÁVISLOSTÍ


     Funkce použitelné v programu SADYS můžeme rozdělit do 4


základních skupin podle tab. 9.1.


     Přímo ve výrazech mohou vystupovat funkce základní, další a


standardní. U základních a dalších funkcí je identifikátorem


přímo typ u standardních identifikátor určuje uživatel.





     9.1. Standardní funkce


     Standardní funkce má tvar





f(x) = A + B g(Cx + D)E  L Ă x Ă U





g(.)......................je základní nebo speciální funkce;


A, B, C, D, E, L, U.......jsou parametry standardní funkce


                          (standardní parametry).


     Vně intervalu  platí :





df ¦ df ¦


-- = SL pro x < L ; implicitně SL = ¦ -- ¦


dx ¦ dx ¦x=L





df ¦ df ¦


-- = SU pro x > U ; implicitně SU = ¦ -- ¦


dx ¦ dx ¦x=U


Tab. 9.1.: Funkce programu


+--------------------------------------------------+


¦ funkce ¦ typ ¦ význam ¦


+------------+-------+-----------------------------¦


¦ základní ¦ ABS ¦ absolutní hodnota ¦


¦ ¦ EXP ¦ exponenciální funkce ¦


¦ ¦ SIN ¦ sinus ¦


¦ ¦ COS ¦ kosinus ¦


¦ ¦ TAN ¦ tangens ¦


¦ ¦ ATAN ¦ arcustangens ¦


¦ ¦ SINH ¦ sinus hyperbolický ¦


¦ ¦ COSH ¦ kosinus hyperbolický ¦


¦ ¦ TANH ¦ tangens hyperbolický ¦


¦ ¦ LOG ¦ přirozený logaritmus ¦


¦ ¦ LOG10 ¦ dekadický logaritmus ¦


+------------+-------+-----------------------------¦


¦ další ¦ E10 ¦ dekad. exponenciální funkce ¦


¦ ¦ SQRT ¦ druhá odmocnina ¦


¦ ¦ INT ¦ celá část ¦


¦ ¦ SGN ¦ znaménko ¦


¦ ¦ CTN ¦ cotangens ¦


¦ ¦ ASIN ¦ arcussinus ¦


¦ ¦ ACOS ¦ arcuscosinus ¦


¦ ¦ ACTN ¦ arcuscotangens ¦


¦ ¦ COTGH ¦ cotangens hyperbolický ¦


+------------+-------+-----------------------------¦


¦ speciální ¦ LIN ¦ lineární ¦


¦ ¦ POLY ¦ polynom zadaný koeficienty ¦


¦ ¦ ROOT ¦ polynom zadaný kořeny ¦


¦ ¦ TAB ¦ tabelovaná funkce ¦


¦ ¦ PULSE ¦ impulsní funkce ¦


+------------+-------+-----------------------------¦


¦ standardní ¦ ¦ viz další popis v odst. 9.1.¦


+--------------------------------------------------+


     Čili funkční průběh vně intervalu  je lineární a


implicitně je derivace v bodech x=L, x=U spojitá.





     Periodu funkce lze zadat parametrem P. Platí





f ( x + k.P ) = f ( x ) , k je celé číslo





     Věta pro zadání standardní funkce má tedy tvar :





/typ/{A=hodnota}{,B=hodnota}{,C=hodnota}


     {,D=hodnota}{,E=hodnota}{,P=hodnota}{,L=hodnota}


     {,U=hodnota}{,SL=hodnota}{,SU=hodnota};





identifikátor...je max. 8 alfanumerických znaků (první


                písmeno);


typ.............viz tab. 9.1.





     Parametry lze zadávat v libovolném pořadí, neuvedené


nabývají následující implicitní hodnoty :


A = D = 0.


B = C = E = 1.


L = -´


U = P = ´





Hodnoty parametrů mohou být zadány jako číslo i jako výraz.





     9.2. Speciální funkce





     Speciální funkce lze zadávat pouze jako standardní





LIN.......lineární funkce


POLY......polynomiální funkce zadaná svými koeficienty





f ( x ) = a0 + a1.x + a2.x2 + . . .





Zadání :





/POLY/{stand. parametry,}a0,a1,...,an;





stand. parametry........viz odst. 9.1.;


koeficienty a0,...,an...jsou reálná čísla zadaná číslem nebo


                        výrazem.





ROOT.......polynomiální funkce zadaná svými kořeny





f ( x ) = k ( x - x1 ) ( x - x2 ) . . .





Zadání :





/ROOT/{stand. parametry,},k,x1,x2,...;





     Násobná konstanta k i reálné kořeny musí být zadány


čísly, u komplexních kořenů se zadává z komplexně sdružené


dvojice pouze jeden kořen (s libovolným znaménkem imaginární


části) ve tvaru


     ( Re x , Im x ),


kde Re x, Im x jsou čísla.





TAB......funkce zadaná vzájemně si odpovídajícími dvojicemi


         hodnot argumentu xi a funkce yi.





Zadání :





/TAB/{stand. parametry,},x1,y1,x2,y2,...;





     Hodnoty xi, yi lze zadávat jako čísla nebo výrazy, musí


platit xi Ă xi+1 pro všechna zadávaná xi.





PULSE......impulsní funkce





Zadání :





/PULSE/{stand.param.}{,L1=hodnota}{,L2=hodnota}


         {,TD=hodnota}{,TR=hodnota}{,TT=hodnota}{,TF=hodnota};





L1....dolní úroveň impulsu;


L2....horní úroveň impulsu;


TD....doba zpoždění prvního impulsu;


TR....doba čela impulsu;


TT....doba temene impulsu;


TF....doba týlu impulsu.





     Parametry lze zadat v libovolném pořadí, implicitní


hodnota parametru L2 = 1, ostatní parametry jsou nulové.


Hodnotou je číslo nebo výraz.











     9.3. Příklady zadání funkcí





a) Do proměnné x uložte hodnotu sinu trojnásobku nezávisle


   proměnné TIME


   x = SIN ( 3 * TIME ) ;





b) Zadejte vztah vyjadřující závislost proudu diodou ID na


   napětí VD na diodě definovaný


   ID = I0 * exp ( A * VD ) - I0 pro 0 Ă VD Ă 1


   a linearizovaný vně tohoto intervalu


   I0 = 1N ; A = 40 ; : parametry diody


   DIODE/EXP/A=-I0,B=I0,C=A,L=0,U=1; :definice stand. funkce


   ID = DIODE ( VD ) ; :výpočet hodnoty pro dané VD





   Poznámka: Všimněte si použití písmene A ve dvou významech,


   jednak označení parametru (A=-I0), jednak konstanta ve


   výrazu (A=40; C=A).





c) Zadejte polynom


   y = x3 - 4x = x ( x + 2 ) ( x - 2 ).


   -pomocí koeficientů:


    Y /POLY/ 0, -4, 0 , 1;


    HODN = Y ( X ) ; :výpočet hodnoty pro dané x


   -pomocí kořenů:


    Y /ROOT/ 1, 0, 2, -2;


    HODN = Y ( X ) ; :výpočet hodnoty pro dané x








d) Zadejte polynom


   y1 = x3 + 4x = x ( x + 2j ) ( x - 2j).


   -pomocí koeficientů:


    Y1 /POLY/ 0, 4, 0, 1;


    HODN = Y1 ( X );


   -pomocí kořenů:


    Y1 /ROOT/ 1, 0, (1,2);


    HODN = Y1 ( X ) ;


e) Do proměnné x2 uložte druhou odmocninu z desetinásobku


   proudu prvkem RI1


   x2 = SQRT ( ABS ( 10 * I.RI1 ) ) ;





f) Zadejte funkci


   g(t) = z(t) + 5z3(t) - 6z5(t) ,


   kde z(t) = 3t - 4 .


   -pomocí koeficientů:


    G /POLY/ C=3,D=-4,0,1,0,5,0,-6;


    HODN = g(t); :výpočet hodnoty pro dané t





g) Definujte harmonický zdroj napětí


   e = 10 + 5sin(1000t - PI/4) zapojený mezi uzly 4 a 5 .


   NAP /SIN/ A=10,B=5,C=1000,D=-PI/4; :definice funkce


   E 4-5 = NAP (TIME) ; :definice zdroje napětí je


                            :funkcí nezávisle proměnné TIME,


                            :která je vyhražena pro čas.











     9.4. Operátory





     Významnou pomoc při sestavování výrazů vám mohou po


skytnout operátory. Jejich přehled je v tab. 9.2.








Tab. 9.2.: Přehled operátorů


+----------------------------------------------------------+


¦ operátor ¦ význam ¦ operátor ¦ význam ¦


+----------+-----------------+----------+------------------¦


¦ + ¦ součet ¦ - ¦ rozdíl ¦


¦ * ¦ součin ¦ / ¦ podíl ¦


¦ ** ¦ mocnina ¦ ¦ ¦


¦ = ¦ rovná se ¦ <> ¦ nerovná se ¦


¦ < ¦ menší než ¦ > ¦ větší než ¦


¦ <= ¦ menší nebo rovno¦ >= ¦ větší nebo rovno ¦


¦ & ¦ logické AND ¦ ! ¦ logické OR ¦


¦ ' ¦ logické NOT ¦ % ¦ derivace ¦


+----------------------------------------------------------+





     Operátor derivace lze použít pouze jako poslední operátor ve


výrazu.





Použití operátorů nejlépe ukážeme na několika příkladech :





a) Zadejte funkci


     f(x)=10 * sin 15x pro x > 0


     f(x)=15 * exp 2x pro x Ă 0 .


     F = 10 * SIN ( 15 * X ) * ( X > 0 ) +


       + 15 * EXP ( 2 * X ) * ( X <= 0 ) ;


     Využili jsme, že výrazy (x>0) a (x<=0) nabývají hodnoty 0


nebo 1 při nesplnění (resp. splnění) zadané podmínky. Toho lze s


výhodou užít při definování např. po úsecích lineární


charakteristiky apod.





b) Zadejte výraz





            d


   f = 15 * -- sin 3x .


            dx





   Zadání : F = 15 * SIN ( 3 * X ) % X ;





c) Zadejte





               d2


   f = 7 x3 + ---- x sin(t) .


              dxdt





   Zadání : F = 7 * X ** 3 + ( X * SIN ( T ) ) % X % T ;











     10. ŘEŠENÍ ROVNIC





     Programu je možné využít i pro řešení lineárních a


nelineárních obyčejných algebrodiferenciálních rovnic 1. řádu


a jejich soustav.








     10.1. Řešení algebraických rovnic a jejich soustav





     Rovnice se zadávají v implicitním tvaru s nulovou levou


stranou. Proměnné musí být deklarovány větou :





SYSVAR {,...,};





proměnná_i...je název proměnné tvořený max. 8 alfanumerický-


             mi znaky a začínající písmenem. Počet proměn-


             ných musí být roven počtu rovnic (i=1,2,...,n).





Příklad :





3x1 + 4x2 + 6x3 = 0


       7x2 + 9x3 = 0


6x1 + 12x2 + 6x3 = 0





Zadáme :





*SYSTEM;


SYSVAR X1,X2,X3; :definice proměnných


0=3*X1+4*X2+6*X3;


0=-7*X2+9*X3;


0=6*X1+12*X2+6*X3;


*TR;


PRINT X1,X2,X3;


RUN;


*END;


     10.2. Řešení diferenciálních rovnic a jejich soustav





     Platí odst. 10.1. Navíc musí být derivace zadány větou:





BD =;





jméno..........je identifikátor derivace (max. 8 alfanume


               rických znaků, prvé písmeno), kterým bude


               označována v rovnicích;


proměnná.......je identifikátor derivované proměnné.





Příklad :





d


-- x1 + 4 x2 = 0


dt





          d


 6 x1 + 4 -- x2 = 0 .


          dt





Zadáme :





*SYSTEM;


SYSVAR X1,X2,DX1,DX2;


BD DX1=X1;


BD DX2=X2;


0=DX1+4*X2;


0=6*X1+4*DX2;


*TR;


PRINT X1,X2;


RUN;


*END;





                               Verze ze dne 12. 12. 1989


                               PB (upraveno 23.8.95)