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_bs:=table(['C1'=33e-9, 'h0'=[5,2,1,1,1]]):

>    ARC2_bs:=ARCSynt(bs,opt2_bs):

ARCBlock:

Amplification of particular blocks h0 = [0.264199, 4.414966, 0.160162, 9.803516, 5.460081].

********************** 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

********************** Number of blok: 3 **********************

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

********************** Number of blok: 4 **********************

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

********************** Number of blok: 5 **********************

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

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

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

`block `(1), [R5 = 6693.8, R3 = 69524., R2 = 18368., R1 = 3232.4, C1 = .33e-7, Ck = 0., ft = Float(infinity), type = ES1, R4 = 25336., A0 = Float(infinity)]

`block `(2), [R5 = 1182.5, R3 = 3853.4, R2 = 17013., R1 = 1091.9, C1 = .33e-7, Ck = 0., ft = Float(infinity), type = ES1, R4 = 267.84, A0 = Float(infinity)]

`block `(3), [R5 = 4917.5, R3 = .44172e6, R2 = 70747., R1 = 7374.7, C1 = .33e-7, Ck = 0., ft = Float(infinity), type = ES1, R4 = 30703., A0 = Float(infinity)]

`block `(4), [R5 = 868.71, R3 = 243.16, R2 = 2383.8, R1 = 337.46, C1 = .33e-7, Ck = 0., ft = Float(infinity), type = ES1, R4 = 88.613, A0 = Float(infinity)]

`block `(5), [R5 = 2411.4, R3 = 52.271, R2 = 285.40, R1 = 6.1010, C1 = .33e-7, Ck = 0., ft = Float(infinity), type = ES1, R4 = 441.65, 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 je volen alternativní, tj. podle typu funkce ESLP nebo ESHP, případně ESNotch pro blok s omega0 = omega_n , mimo druhého a třetího bloku, kde je nutné použít obvod ES1, díky vysoké hodnotě činitekle jakosti. Nicméně 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ě.

>    ARCSynt(bs,table(['C1'=33e-9, 'C2'=[3.3e-9,non,non,3.3e-9,3.3e-9], 'R'=[10e3,non,non,10e3,10e3], 'ft'=1e6, 'h0'=2, 'type'=[ESLP,0,0,ESHP,ESNotch]])):

ARCBlock:

Amplification of particular blocks h0 = [0.105680, 2.207483, 0.160162, 9.803516, 5.460081].

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

Warning, ARCSyntESLP: Amplification 'h0' was changed from value .1056796 to value 1.021083!

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

********************** Number of blok: 3 **********************

********************** Number of blok: 4 **********************

Warning, ARCSyntESHP: Amplification 'h0' was changed from value 9.803516 to value 1.185284!

********************** Number of blok: 5 **********************

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

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

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

`block `(1), [R = .10e5, R3 = 2945.6, C2 = .33e-8, R2 = 16138., R1 = 3603.2, C3 = .36300e-7, C1 = .33e-7, C4 = .20116e-7, ft = .1e7, type = ESLP, R4 = 68679., A0 = Float(infinity)]

`block `(2), [R5 = 1182.5, R3 = 7706.9, R2 = 17013., R1 = 2183.8, C1 = .33e-7, Ck = .53836e-9, ft = .1e7, type = ES1, R4 = 535.69, A0 = Float(infinity)]

`block `(3), [R5 = 4917.5, R3 = .44172e6, R2 = 70747., R1 = 7374.7, C1 = .33e-7, Ck = .12946e-9, ft = .1e7, type = ES1, R4 = 30703., A0 = Float(infinity)]

`block `(4), [R = .10e5, R5 = 1852.8, R3 = 528.15, C2 = .33e-8, R2 = .10957e6, R1 = 530.71, C3 = .36300e-7, C1 = .33e-7, ft = .1e7, type = ESHP, R4 = 16420., A0 = Float(infinity)]

`block `(5), [R = Float(infinity), R3 = 289.95, C2 = .33e-8, R2 = .20026e6, R1 = 290.37, C3 = .36300e-7, C1 = .33e-7, ft = .1e7, type = ESNotch, R4 = 0., 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ě (pásmové propusti) proveden pomocí funkce ARCSynt_BS . 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 ESLP jsme nastavili navíc poměnnou infolevel[syntfil]  na hodnotu 5, tudíž jsme dostali nejpodrobnější výpis funce ARCSyntBS , 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 správná reálná kladná řešení (pro infolevel[syntfil]:=3 ) a také všechna reálná kladná řešení (pro infolevel[syntfil]:=5 ). Z těchto řešení je pak vybráno takové, pro které vyjde nejmenší rozptyl hodnot součástek.

>    bs_BL:=ARCBlock(bs,2):

>    infolevel[syntfil]:=4:

>    ARC1b_bs:=ARCSyntBS(bs_BL[5],table(['C1'=33e-9, 'C2'=3.3e-9, 'R'=10e3, 'ft'=1e6, 'type'=ESNotch]));

>    infolevel[syntfil]:=1:

ARCBlock:

Amplification of particular blocks h0 = [0.105680, 2.207483, 0.160162, 9.803516, 5.460081].

syntfil/rsolve1:

All positive roots of equation and corresponding gain-sensitivity products ([Root,Gamma]): [[689.6917, .1e-5], [.2087889, 0.], [3.258048, 5.293262]]

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

syntfil/ARCSyntESNotch:

Parameters of calculations: c=0.100000; r_opt=689.691706; K=1.000000

ARC1b_bs := TABLE([R = infinity, R3 = 289.94755895057445587, C2 = .33e-8, R2 = 200264.37418624665650, R1 = 290.36796064072697825, C3 = .36300000000000000000e-7, C1 = .33e-7, ft = .1e7, type = ESNotch, ...
ARC1b_bs := TABLE([R = infinity, R3 = 289.94755895057445587, C2 = .33e-8, R2 = 200264.37418624665650, R1 = 290.36796064072697825, C3 = .36300000000000000000e-7, C1 = .33e-7, ft = .1e7, type = ESNotch, ...
ARC1b_bs := TABLE([R = infinity, R3 = 289.94755895057445587, C2 = .33e-8, R2 = 200264.37418624665650, R1 = 290.36796064072697825, C3 = .36300000000000000000e-7, C1 = .33e-7, ft = .1e7, type = ESNotch, ...
ARC1b_bs := TABLE([R = infinity, R3 = 289.94755895057445587, C2 = .33e-8, R2 = 200264.37418624665650, R1 = 290.36796064072697825, C3 = .36300000000000000000e-7, C1 = .33e-7, ft = .1e7, type = ESNotch, ...