Jiné volby

Následuje ukázka dalších možných voleb parametrů a následného výpisu funkce ARCSynt . Jak je patrné, lze jednotlivé paramery zadávat ve formě seznamu a tak je specifikovat zvlášť pro jednotlivé bloky. Zde nebyla zadaná velikost tranzitních kmitočtů operačních zesilovačů, tudíž jsme dostali upozornění.

>    infolevel[syntfil]:=2:

>    opt2_hp:=table(['C1'=33e-9, 'h0'=[5,2]]):

>    ARC2_hp:=ARCSynt(hp,opt2_hp):

ARCBlock:

Amplification of particular blocks h0 = [0.975184, 7.259615].

********************** Number of blok: 1 **********************

Warning, ARCSyntES1: 2nd argument[ft] should be entered for proper design of ES1 circuit

********************** Number of blok: 2 **********************

Warning, ARCSyntES1: 2nd argument[ft] should be entered for proper design of ES1 circuit

***************************************************************

ARCSynt: Used circuit types in particular blocks: [ES1, ES1].

`block `(1), [R5 = 2309.0, R3 = 15063., R2 = 14689., R1 = 10556., C1 = .33e-7, Ck = 0., ft = Float(infinity), type = ES1, R4 = 2367.7, A0 = Float(infinity)]

`block `(2), [R5 = 1136.3, R3 = 172.36, R2 = 1251.3, R1 = 187.71, C1 = .33e-7, Ck = 0., ft = Float(infinity), type = ES1, R4 = 156.52, A0 = Float(infinity)]

`type=ARC`

Pokud nechceme pro daný blok specifikovat parametr, který je zadán ve formě seznamu, lze na daném místě uvést jiný typ proměnné, např. symbol  (non) místo čísla a opačně. Typ obvodu pro realizaci druhé sekce je volen alternativní podle typu funkce, v našem případě ESHP. Tyto alternativní typy obvodů (ESLP, ESHP a ESNotch) mění zisk, mohou realizovat pouze bloky s malým činitelem jakosti a jejich vlastnosti jsou celkově horší než tomu je u bloku ES1 (mají horší citlivostní parametry, ...). Pro realizaci eliptických sekcí je proto typ ES1 používán přednostně.

>    infolevel[syntfil]:=2:

>    ARCSynt(hp,table(['C1'=33e-9, 'C2'=[non,3.3e-9], 'R'=[non,10e3], 'h0'=2, 'type'=[0,ESHP]])):

ARCBlock:

Amplification of particular blocks h0 = [0.390073, 3.629807].

********************** Number of blok: 1 **********************

Warning, ARCSyntES1: 2nd argument[ft] should be entered for proper design of ES1 circuit

********************** Number of blok: 2 **********************

Warning, ARCSyntESHP: Coefficient K was set to 1, R value was changed to infinity and amplification 'h0' was changed from value 3.629807 to value 1

***************************************************************

ARCSynt: Used circuit types in particular blocks: [ES1, ESHP].

`block `(1), [R5 = 2309.0, R3 = 37657., R2 = 14689., R1 = 26389., C1 = .33e-7, Ck = 0., ft = Float(infinity), type = ES1, R4 = 5919.4, A0 = Float(infinity)]

`block `(2), [R = Float(infinity), R5 = 0., R3 = 801.10, C2 = .33e-8, R2 = .17578e7, R1 = 801.47, C3 = .36300e-7, C1 = .33e-7, ft = Float(infinity), type = ESHP, R4 = 16267., A0 = Float(infinity)]

`type=ARC`

Pokud bychom chtěli provést syntézu pouze jedenoho bloku, lze to uskutečnit následujícím příkazem. Nejprve použijeme příkaz ARCBlock  pro rozdělení zesílení na jednotlivé bloky. Zesílení lze zadat opět jako číslo (celkové zesílení filtru) nebo pomocí seznamu čísel, ve kterém lze specifikovat zesílení jednotlivých bloků zvlášť. Vlastní výpočet obvodu je v našem případě (horní propusti) proveden pomocí funkce ARCSynt_HP . Volba paramerů se i zde zadává ve formě tabulky. Jelikož jsme volili stejné parametry jako v předchozím případě, musíme dostat samozřejmě i shodný výsledek. Pro syntézu obvodu ESHP jsme nastavili navíc poměnnou infolevel[syntfil]  na hodnotu 4, tudíž jsme dostali nejpodrobnější výpis funce ARCSyntHP , která numericky řeší (prostřednictvím vnitřní funkce rsolve1 ) poměrně komplikovanou rovnici pro dodržení optimálního návrhu z hlediska citlivostních parametrů. Funkce rsolve1  pak vypíše všechna reálná kladná řešení a jim odpovídající Gamma[K]^Q  (Gain-sensitivity product). Pokud je takových řešení více než jedno, je pak vybráno takové, pro které vyjde citlivostní parametr Gamma[K]^Q   nejmenší. Pokud pro dané r_opt  vyšlo K < 1  (většinou pro malá Q ), pak je nastaveno K = 1  a funkce vypíše varování (jako v tomto případě).  

>    hp_BL:=ARCBlock(hp,2):

>    infolevel[syntfil]:=4:

>    ARC2b_hp:=ARCSyntHP(hp_BL[2],table(['C1'=33e-9, 'C2'=3.3e-9, 'R'=10e3, 'type'=ESHP]));

>    infolevel[syntfil]:=1:

ARCBlock:

Amplification of particular blocks h0 = [0.390073, 3.629807].

syntfil/rsolve1:

All positive roots of equation and corresponding gain-sensitivity products ([Root,Gamma]): [[.3958270e-2, 115.6880], [2193.225, 1.283499], [.9750381, 5562.446]]

Warning, ARCSyntESHP: Coefficient K was set to 1, R value was changed to infinity and amplification 'h0' was changed from value 3.629807 to value 1

syntfil/ARCSyntESHP:

Parameters of calculations: c=0.100000; r_opt=2193.224859; alpha=20.296050; K=1.000000

ARC2b_hp := TABLE([R = infinity, R5 = 0, R3 = 801.10283320183208737, C2 = .33e-8, R2 = 1757799.7513490036574, R1 = 801.46809571919721133, C3 = .36300000000000000000e-7, C1 = .33e-7, ft = infinity, type...
ARC2b_hp := TABLE([R = infinity, R5 = 0, R3 = 801.10283320183208737, C2 = .33e-8, R2 = 1757799.7513490036574, R1 = 801.46809571919721133, C3 = .36300000000000000000e-7, C1 = .33e-7, ft = infinity, type...
ARC2b_hp := TABLE([R = infinity, R5 = 0, R3 = 801.10283320183208737, C2 = .33e-8, R2 = 1757799.7513490036574, R1 = 801.46809571919721133, C3 = .36300000000000000000e-7, C1 = .33e-7, ft = infinity, type...
ARC2b_hp := TABLE([R = infinity, R5 = 0, R3 = 801.10283320183208737, C2 = .33e-8, R2 = 1757799.7513490036574, R1 = 801.46809571919721133, C3 = .36300000000000000000e-7, C1 = .33e-7, ft = infinity, type...