Jiný způsob rozštípání struktury

Pro kontrolu lze strukturu filtru obdržet jiným postupem odštěpování (struktury T). Nyní dostaneme ve výsledku sériové rezovanční obvody (SRO). Dále následuje stený postup dalšího zpracování výsledků, nyní již bez komentáře.

>    infolevel[syntfil]:=2:

>    elems_NLP32:=DroppNLP(common,R1,front,T,g3,chf3,zer3):

Rem_matrix = matrix([[1.0000000000000000048, 0.], [0., 1.0000000000000000052]])

type = LC_NLP_common

R1 = 1.

R2 = 1.0000

`block `(1), [orientation = direct, elements = {L1 = -.31947}, Z = p*L1]

`block `(2), [orientation = shunt, elements = {C1 = .45768, L1 = 1.3531}, Z = p*L1+1/(p*C1)]

`block `(3), [orientation = direct, elements = {L1 = 1.5964}, Z = p*L1]

`block `(4), [orientation = shunt, elements = {L1 = .21686, C1 = 1.4279}, Z = p*L1+1/(p*C1)]

`block `(5), [orientation = direct, elements = {L1 = 1.0573}, Z = p*L1]

`block `(6), [orientation = shunt, elements = {C1 = .44859}, Z = 1/(p*C1)]

>    elems_BP32:=ElemsBP(elems_NLP32,R,f_p3,fp3):

>    infolevel[syntfil]:=2:

type = LC_BP_common

R1 = 1000

R2 = 1000.0000000000000000

`block `(1), [orientation = direct, elements = {L1 = -.26760e-1, C1 = -.28683e-6}, Z = p*L1+1/(p*C1)]

`block `(2), [orientation = shunt, elements = {C2 = .38338e-7, L1 = .11335, C1 = .67720e-7, L2 = .20022}, Z = p*L1+1/(p*C1)+1/(p*C2+1/(p*L2))]

`block `(3), [orientation = direct, elements = {L1 = .13372, C1 = .57402e-7}, Z = p*L1+1/(p*C1)]

`block `(4), [orientation = shunt, elements = {L2 = .64174e-1, C2 = .11961e-6, C1 = .42256e-6, L1 = .18165e-1}, Z = p*L1+1/(p*C1)+1/(p*C2+1/(p*L2))]

`block `(5), [orientation = direct, elements = {C1 = .86671e-7, L1 = .88563e-1}, Z = p*L1+1/(p*C1)]

`block `(6), [orientation = shunt, elements = {L1 = .20427, C1 = .37577e-7}, Z = 1/(1/(p*L1)+p*C1)]

>    Q:=30:

>    elems_BP32Q:=MakeRealL(elems_BP32,Q,fm3):

type = LC_BP_common_Q

R1 = 1000

R2 = 1000.0000000000000000

`block `(1), [orientation = direct, elements = {L1 = -.26760e-1, C1 = -.28683e-6, Rs1 = -10.181}, Z = Rs1+p*L1+1/(p*C1)]

`block `(2), [orientation = shunt, elements = {C2 = .38338e-7, L1 = .11335, C1 = .67720e-7, L2 = .20022, Rs1 = 43.125, Rs2 = 76.176}, Z = Rs1+p*L1+1/(p*C1)+1/(p*C2+1/(Rs2+p*L2))]

`block `(3), [orientation = direct, elements = {L1 = .13372, C1 = .57402e-7, Rs1 = 50.877}, Z = Rs1+p*L1+1/(p*C1)]

`block `(4), [orientation = shunt, elements = {L2 = .64174e-1, C2 = .11961e-6, C1 = .42256e-6, L1 = .18165e-1, Rs1 = 6.9112, Rs2 = 24.416}, Z = Rs1+p*L1+1/(p*C1)+1/(p*C2+1/(Rs2+p*L2))]

`block `(5), [orientation = direct, elements = {C1 = .86671e-7, L1 = .88563e-1, Rs1 = 33.695}, Z = Rs1+p*L1+1/(p*C1)]

`block `(6), [orientation = shunt, elements = {L1 = .20427, C1 = .37577e-7, Rs1 = 77.718}, Z = 1/(1/(Rs1+p*L1)+p*C1)]

>    H_BP32:=MakeH(elems_BP32):

>    H_BP32Q:=MakeH(elems_BP32Q):

>    mg_BP32:=MagnitudeHdB(H_BP32)(2*Pi*f): mg_BP32Q:=MagnitudeHdB(H_BP32Q)(2*Pi*f):

>    plot([mg_BP32,mg_BP32Q],f=0..5000,color=[red,green]);

Zde už bude situace poněkud horší, protoře jsme počítali s činitelem jakosti induktorů pouze 30 (pro všechny induktory stejný).

>    evalf(subs(f=f_s3,mg_BP32)),evalf(subs(f=f_s3,mg_BP32Q));

>    evalf(subs(f=f_p3,mg_BP32)),evalf(subs(f=f_p3,mg_BP32Q));

>    evalf(subs(f=fp3,mg_BP32)),evalf(subs(f=fp3,mg_BP32Q));

Pro kmtočet fs3   vyjde vyšší hodnota útlumu, díky nesymetrickému zadání tolerančního shématu filtru.

>    evalf(subs(f=fs3,mg_BP32)),evalf(subs(f=fs3,mg_BP32Q));

>    plot([mg_BP32,mg_BP32Q],f=f_p3..fp3,color=[red,green]);

[Maple Plot]

-24.275931013049361629, -23.255457245815136023

-2.9999999999999618179, -6.7606263766840320840

-2.9999999999999596395, -4.5835082610163139793

-35.246215660869809164, -35.463620279932414278

[Maple Plot]