arcsynt.mws

syntfil[ARCSynt]  - active RC filter syntesis

Calling sequence:

      ARCSynt(params, parts);

Parameters:

      params   - table of biquadratic transfer functions parameters and with filter type (output of NLP2LP , NLP2HP , NLP2BP , NLP2BP2  or NLP2BS  functions)

      parts    - table of setting parameters (part values)

Params   and   parts   must be type table .

Description:

Info level:

Setting of variable infolevel[syntfil]  can be used to get more detailed results.

infolevel[syntfil] =

      2  - print of particular block gains and used circuits with calculated part values for the blocks realization

      3  - print of maxima modulus frequencies of  block transfer functions P[n]  (only for blocks with modulus camber), print of maxima modulus frequencies of  transfer functions Pf[k]  (shift of maxima modulus frequencies of  transfer functions P[n] ) + print of level 2 including print of ARCSyntLP , ARCSyntHP , ARCSyntBP  or ARCSyntBS  functions used for particular biquads synthesis.

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(5,1.2,3):

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

lp := TABLE([1 = TABLE([Q = .6180339890, omega_0 = 6286.169865]), 2 = TABLE([Q = 1.618033992, omega_0 = 6286.169865]), H0 = 1.000000000, omega0 = 6286.169865, type = cascade_LP])
lp := TABLE([1 = TABLE([Q = .6180339890, omega_0 = 6286.169865]), 2 = TABLE([Q = 1.618033992, omega_0 = 6286.169865]), H0 = 1.000000000, omega0 = 6286.169865, type = cascade_LP])
lp := TABLE([1 = TABLE([Q = .6180339890, omega_0 = 6286.169865]), 2 = TABLE([Q = 1.618033992, omega_0 = 6286.169865]), H0 = 1.000000000, omega0 = 6286.169865, type = cascade_LP])
lp := TABLE([1 = TABLE([Q = .6180339890, omega_0 = 6286.169865]), 2 = TABLE([Q = 1.618033992, omega_0 = 6286.169865]), H0 = 1.000000000, omega0 = 6286.169865, type = cascade_LP])

>    opt:=table(['C1'=15e-9]):

>    ARCSynt(lp,opt);

Warning, ARCSynt: 2nd argument[h0] was not specified and will be considered to be 1.

TABLE([1 = TABLE([R3 = 10605.29195, C1 = .15e-7, R1 = 8703.793662, ft = infinity, R = 10605.29195, A0 = infinity, type = LP2, R2 = 6554.430888]), 2 = TABLE([R3 = 0, C1 = .15e-7, R12 = 191411.0279, R11 ...
TABLE([1 = TABLE([R3 = 10605.29195, C1 = .15e-7, R1 = 8703.793662, ft = infinity, R = 10605.29195, A0 = infinity, type = LP2, R2 = 6554.430888]), 2 = TABLE([R3 = 0, C1 = .15e-7, R12 = 191411.0279, R11 ...
TABLE([1 = TABLE([R3 = 10605.29195, C1 = .15e-7, R1 = 8703.793662, ft = infinity, R = 10605.29195, A0 = infinity, type = LP2, R2 = 6554.430888]), 2 = TABLE([R3 = 0, C1 = .15e-7, R12 = 191411.0279, R11 ...
TABLE([1 = TABLE([R3 = 10605.29195, C1 = .15e-7, R1 = 8703.793662, ft = infinity, R = 10605.29195, A0 = infinity, type = LP2, R2 = 6554.430888]), 2 = TABLE([R3 = 0, C1 = .15e-7, R12 = 191411.0279, R11 ...
TABLE([1 = TABLE([R3 = 10605.29195, C1 = .15e-7, R1 = 8703.793662, ft = infinity, R = 10605.29195, A0 = infinity, type = LP2, R2 = 6554.430888]), 2 = TABLE([R3 = 0, C1 = .15e-7, R12 = 191411.0279, R11 ...
TABLE([1 = TABLE([R3 = 10605.29195, C1 = .15e-7, R1 = 8703.793662, ft = infinity, R = 10605.29195, A0 = infinity, type = LP2, R2 = 6554.430888]), 2 = TABLE([R3 = 0, C1 = .15e-7, R12 = 191411.0279, R11 ...

>    infolevel[syntfil]:=3:

>    opt:=table(['C1'=15e-9, 'C2'=[non,1e-9], 'h0'=1, 'ft'=1e6, 'A0'=1e5, 'type'=[LP3,0]]):

>    ARCSynt(lp,opt):

ARCBlock:

Frequencies of modulus peaks of particular blocks: [[2, 899.88094]].

Frequencies of modulus peaks after particular blocks: [[2, [778.72026]]].

ARCBlock:

Amplification of particular blocks h0 = [1.218468, 0.820703].

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

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

syntfil/ARCSyntLP1:

Parameters of calculations: method="min. Gamma"; c=0.066667; r_opt=7.521550; alpha=0.725990; h0max=K=1.130460

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

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

ARCSynt: Used circuit types in particular blocks: [LP3, LP1, LP0].

`block `(1), [R3 = 10605., C1 = .15e-7, Ck = .60029e-10, R1 = 8703.8, ft = .1e7, R = 10605., A0 = .1e6, type = LP3, R2 = 6554.4]

`block `(2), [R3 = .14427e6, C1 = .15e-7, R12 = 54657., R11 = 20629., C2 = .1e-8, ft = .1e7, R = .11059e7, A0 = .1e6, type = LP1, R2 = .11265e6]
`block `(2), [R3 = .14427e6, C1 = .15e-7, R12 = 54657., R11 = 20629., C2 = .1e-8, ft = .1e7, R = .11059e7, A0 = .1e6, type = LP1, R2 = .11265e6]
`block `(2), [R3 = .14427e6, C1 = .15e-7, R12 = 54657., R11 = 20629., C2 = .1e-8, ft = .1e7, R = .11059e7, A0 = .1e6, type = LP1, R2 = .11265e6]

`block `(3), [C1 = .15e-7, R1 = 10605., type = LP0]

`type=ARC`

>    infolevel[syntfil]:=2:

>    ARCSynt(lp,table(['C1'=15e-9,'arcblock1'=true])):

Warning, ARCSynt: 2nd argument[h0] was not specified and will be considered to be 1.

ARCBlock1:

Amplification of particular blocks h0 = [1.000000, 1.000000].

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

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

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

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

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

`block `(1), [R3 = 0., C1 = .15e-7, R12 = Float(infinity), R11 = 13109., C2 = .98176e-8, ft = Float(infinity), R = Float(infinity), A0 = Float(infinity), type = LP1, R2 = 13109.]
`block `(1), [R3 = 0., C1 = .15e-7, R12 = Float(infinity), R11 = 13109., C2 = .98176e-8, ft = Float(infinity), R = Float(infinity), A0 = Float(infinity), type = LP1, R2 = 13109.]

`block `(2), [R3 = 0., C1 = .15e-7, R12 = Float(infinity), R11 = 34319., C2 = .14324e-8, ft = Float(infinity), R = Float(infinity), A0 = Float(infinity), type = LP1, R2 = 34319.]
`block `(2), [R3 = 0., C1 = .15e-7, R12 = Float(infinity), R11 = 34319., C2 = .14324e-8, ft = Float(infinity), R = Float(infinity), A0 = Float(infinity), type = LP1, R2 = 34319.]

`block `(3), [C1 = .15e-7, R1 = 10605., type = LP0]

`type=ARC`

See also:

NLP2LP, NLP2HP, NLP2BP, NLP2BP2, NLP2BS

ARCBlock, ARCBlock1, ARCSyntLP, ARCSyntHP, ARCSyntBP, ARCSyntBS 

ARCRoundR, MakeH