arcsyntlp.mws

syntfil[ARCSyntLP]  - lowpass biquad syntesis

Calling sequence:

      ARCSyntLP(params, parts);

Parameters:

      params   - table of biquadratic transfer function parameters (omega_0, Q, h0, [omega_n])

      parts    - table of tabulka volitelných parametrů (hodnot prvků), ovlivňujících návrhový algoritmus (popis je uveden níže)

Params   i   parts   musí být typu table .

Description:

Info level

Změnou proměnné   infolevel[syntfil]  dostaneme výpis výpočetních parametrů.

infolevel[syntfil] =

      3  - výpis výpočetních parametrů zvoleného algoritmu pro obvod LP1  a ESLP

Examples:

>    with(syntfil):

`Syntfil version 1.53 loaded`

`You can set infolevel[syntfil] variable to 2..5 to get more detailed results!`

>    Gc,poles:=ButterworthPoles(4,1.2,3):

>    lp:=NLP2LP(1000,Gc,poles):

>    lp_bl:=ARCBlock(lp,1):

>    eval(lp_bl[1]);

TABLE([omega_0 = 6286.916226, h0 = .7071067820, Q = 1.306562964])

>    ARCSyntLP(lp_bl[1],table(['C1'=15e-9]));

TABLE([R12 = 94606.74293, R11 = 39187.39586, R = infinity, C2 = .2196699144e-8, C1 = .15e-7, type = LP1, A0 = infinity, R3 = 0, ft = infinity, R2 = 27709.67338])
TABLE([R12 = 94606.74293, R11 = 39187.39586, R = infinity, C2 = .2196699144e-8, C1 = .15e-7, type = LP1, A0 = infinity, R3 = 0, ft = infinity, R2 = 27709.67338])
TABLE([R12 = 94606.74293, R11 = 39187.39586, R = infinity, C2 = .2196699144e-8, C1 = .15e-7, type = LP1, A0 = infinity, R3 = 0, ft = infinity, R2 = 27709.67338])

>    infolevel[syntfil]:=3:

>    ARCSyntLP(lp_bl[1],table(['C1'=15e-9,'C2'=3.3e-9,'R'=10e3]));

syntfil/ARCSyntLP1:

Parameters of calculations: method="min. Gamma"; c=0.220000; r_opt=2.750572; alpha=0.575001; h0max=K=1.229748

TABLE([R12 = 32074.54889, R11 = 23707.15347, R = .10e5, C2 = .33e-8, C1 = .15e-7, type = LP1, A0 = infinity, R3 = 2297.482400, ft = infinity, R2 = 37494.81805])
TABLE([R12 = 32074.54889, R11 = 23707.15347, R = .10e5, C2 = .33e-8, C1 = .15e-7, type = LP1, A0 = infinity, R3 = 2297.482400, ft = infinity, R2 = 37494.81805])
TABLE([R12 = 32074.54889, R11 = 23707.15347, R = .10e5, C2 = .33e-8, C1 = .15e-7, type = LP1, A0 = infinity, R3 = 2297.482400, ft = infinity, R2 = 37494.81805])

>    ARCSyntLP(lp_bl[1],table(['C1'=15e-9,'type'='LP2']));

>    infolevel[syntfil]:=1:

TABLE([R = 10604.03293, C1 = .15e-7, type = LP2, R1 = 14996.36717, A0 = infinity, R3 = 10604.03293, ft = infinity, R2 = 13854.83670])

 

>    params:=table([h0 = 1, Q = 10, omega_0 = 2000, omega_n = 2500]);

params := TABLE([omega_n = 2500, omega_0 = 2000, h0 = 1, Q = 10])

>    opt:=table(['C1'=100e-9,'ft'=1e6,'A0'=1e5]):

>    ARCSyntLP(params,opt);

TABLE([Ck = .1273239544e-9, C1 = .100e-6, R5 = 5000.000000, R4 = 5000.000000, type = ES1, R1 = 3179.650238, A0 = .1e6, R3 = 50000.00000, ft = .1e7, R2 = 50000.00000])
TABLE([Ck = .1273239544e-9, C1 = .100e-6, R5 = 5000.000000, R4 = 5000.000000, type = ES1, R1 = 3179.650238, A0 = .1e6, R3 = 50000.00000, ft = .1e7, R2 = 50000.00000])
TABLE([Ck = .1273239544e-9, C1 = .100e-6, R5 = 5000.000000, R4 = 5000.000000, type = ES1, R1 = 3179.650238, A0 = .1e6, R3 = 50000.00000, ft = .1e7, R2 = 50000.00000])
TABLE([Ck = .1273239544e-9, C1 = .100e-6, R5 = 5000.000000, R4 = 5000.000000, type = ES1, R1 = 3179.650238, A0 = .1e6, R3 = 50000.00000, ft = .1e7, R2 = 50000.00000])

>    opt:=table(['C1'=15e-9,'C2'=1.2e-9,'R'=10e3,'type'='ESLP','ft'=1e6,'A0'=1e5]):

>    ARCSyntLP(params,opt);

Warning, ARCSyntESLP: Amplification 'h0' was changed from value 1. to value 1.244312!

TABLE([R = .10e5, C2 = .12e-8, C1 = .15e-7, C4 = .6250000000e-9, R4 = 9442.375310, C3 = .1620000000e-7, type = ESLP, R1 = 18632.82433, A0 = .1e6, R3 = 17932.42003, ft = .1e7, R2 = 477055.3690])
TABLE([R = .10e5, C2 = .12e-8, C1 = .15e-7, C4 = .6250000000e-9, R4 = 9442.375310, C3 = .1620000000e-7, type = ESLP, R1 = 18632.82433, A0 = .1e6, R3 = 17932.42003, ft = .1e7, R2 = 477055.3690])
TABLE([R = .10e5, C2 = .12e-8, C1 = .15e-7, C4 = .6250000000e-9, R4 = 9442.375310, C3 = .1620000000e-7, type = ESLP, R1 = 18632.82433, A0 = .1e6, R3 = 17932.42003, ft = .1e7, R2 = 477055.3690])
TABLE([R = .10e5, C2 = .12e-8, C1 = .15e-7, C4 = .6250000000e-9, R4 = 9442.375310, C3 = .1620000000e-7, type = ESLP, R1 = 18632.82433, A0 = .1e6, R3 = 17932.42003, ft = .1e7, R2 = 477055.3690])

More Examples

>    ARCSyntLP(table([h0 = 1.2,Q = 8,omega_0 = 2000]), table(['C1'=15e-9]));

TABLE([C1 = .15e-7, R2 = 266666.6666, ft = infinity, R1 = 27777.77778, R = 33333.33333, A0 = infinity, type = LP2, R3 = 33333.33333])

>    ARCSyntLP(table([h0 = 1.2 ,Q = 8,omega_0 = 2000]), table(['C1'=15e-9,'type'='LP1']));

Warning, ARCSyntLP1: Entered Q is too big for method "K=1" of LP1 - ratio of circuit elment values will be too big, choose method="min. Gamma", i.e. C2.

Error, (in syntfil/ARCSyntLP1) In case that C2 is not specified the h0 value must be h0<=1.

>    infolevel[syntfil]:=3:

>    ARCSyntLP(table([h0 = 1, Q = 8,omega_0 = 2000]), table(['C1'=15e-9,'type'='LP1']));

>    infolevel[syntfil]:=1:

Warning, ARCSyntLP1: Entered Q is too big for method "K=1" of LP1 - ratio of circuit elment values will be too big, choose method="min. Gamma", i.e. C2.

syntfil/ARCSyntLP1:

Parameters of calculations: method="K=1"; c=0.003906; h0max=K=1

TABLE([R11 = 533333.3333, C1 = .15e-7, R2 = 533333.3333, ft = infinity, R = infinity, A0 = infinity, type = LP1, R3 = 0, R12 = infinity, C2 = .5859375000e-10])

>    ARCSyntLP(table([h0 = 1.2,Q = 8,omega_0 = 2000]), table(['C1'=15e-9,'C2'=1e-9,'R'=10e3,'type'='LP1']));

TABLE([R11 = 61664.66219, C1 = .15e-7, R2 = 308740.9798, ft = infinity, R = .10e5, A0 = infinity, type = LP1, R3 = 3707.653920, R12 = 433328.9887, C2 = .1e-8])
TABLE([R11 = 61664.66219, C1 = .15e-7, R2 = 308740.9798, ft = infinity, R = .10e5, A0 = infinity, type = LP1, R3 = 3707.653920, R12 = 433328.9887, C2 = .1e-8])
TABLE([R11 = 61664.66219, C1 = .15e-7, R2 = 308740.9798, ft = infinity, R = .10e5, A0 = infinity, type = LP1, R3 = 3707.653920, R12 = 433328.9887, C2 = .1e-8])

>    ARCSyntLP(table([h0 = 1, Q = 11,omega_0 = 2000]), table(['C1'=15e-9,'C2'=1e-9,'R'=10e3,'type'='LP1']));

Warning, ARCSyntLP1: Entered Q is too big to achieve proper chrakteristics of LP1 circuit.

TABLE([R11 = 75489.89753, C1 = .15e-7, R2 = 305814.3884, ft = infinity, R = .10e5, A0 = infinity, type = LP1, R3 = 3851.538110, R12 = 195999.3524, C2 = .1e-8])
TABLE([R11 = 75489.89753, C1 = .15e-7, R2 = 305814.3884, ft = infinity, R = .10e5, A0 = infinity, type = LP1, R3 = 3851.538110, R12 = 195999.3524, C2 = .1e-8])
TABLE([R11 = 75489.89753, C1 = .15e-7, R2 = 305814.3884, ft = infinity, R = .10e5, A0 = infinity, type = LP1, R3 = 3851.538110, R12 = 195999.3524, C2 = .1e-8])

 

>    params:=table([h0 = 1, Q = 11, omega_0 = 2000, omega_n = 2500]):

>    opt:=table(['C1'=15e-9,'C2'=1.2e-9,'R'=10e3,'type'='ESLP','ft'=1e6,'A0'=1e5]):

>    ARCSyntLP(params,opt);

Warning, ARCSyntESLP: Entered Q is too big to achieve proper chrakteristics of ESLP circuit.

Warning, ARCSyntESLP: Amplification 'h0' was changed from value 1. to value 1.247813!

TABLE([C1 = .15e-7, R2 = 478202.3525, ft = .1e7, R1 = 18588.13292, R = .10e5, A0 = .1e6, type = ESLP, C3 = .1620000000e-7, R3 = 17892.63110, C2 = .12e-8, R4 = 9497.083080, C4 = .6250000000e-9])
TABLE([C1 = .15e-7, R2 = 478202.3525, ft = .1e7, R1 = 18588.13292, R = .10e5, A0 = .1e6, type = ESLP, C3 = .1620000000e-7, R3 = 17892.63110, C2 = .12e-8, R4 = 9497.083080, C4 = .6250000000e-9])
TABLE([C1 = .15e-7, R2 = 478202.3525, ft = .1e7, R1 = 18588.13292, R = .10e5, A0 = .1e6, type = ESLP, C3 = .1620000000e-7, R3 = 17892.63110, C2 = .12e-8, R4 = 9497.083080, C4 = .6250000000e-9])
TABLE([C1 = .15e-7, R2 = 478202.3525, ft = .1e7, R1 = 18588.13292, R = .10e5, A0 = .1e6, type = ESLP, C3 = .1620000000e-7, R3 = 17892.63110, C2 = .12e-8, R4 = 9497.083080, C4 = .6250000000e-9])

See also:

ARCBlock, ARCBlock1

ARCSynt, ARCSyntHP, ARCSyntBP, ARCSyntBS

MakeH, ARCRoundR