Dolní propust

Zadání normované hodnoty odporu budícího zdroje.

>    R1:=1:

Synréza příčkové LC struktury filtru -- zakončení common = na obou stranách odpory (R1 a R2), odštěpování struktury T zepředu. Vyjdou normované součástky, protože se štípe z NLP. Přiřazení proměnné infolevel[syntfil]:=2 zapříčiní vypsání výsledků štípání:.

>    infolevel[syntfil]:=2:

>    elems_NLP1:=DroppNLP('common',R1,front,T,g1,chf1):

Rem_matrix = matrix([[.99999999920000000, 0.], [0., 1.0000000008000000]])

type = LC_NLP_common

R1 = 1.

R2 = 1.0000

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

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

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

`block `(4), [orientation = shunt, elements = {C1 = 1.8789}, Z = 1/(p*C1)]

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

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

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

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

`block `(9), [orientation = direct, elements = {L1 = .34720}, Z = p*L1]

Vypsání výsledné proměnné.

>    eval(elems_NLP1);

TABLE([1 = TABLE([orientation = direct, elements = {L1 = .34720474015613093522}, Z = p*L1]), 2 = TABLE([orientation = shunt, elements = {C1 = .99973620460934095784}, Z = 1/(p*C1)]), 3 = TABLE([orientat...
TABLE([1 = TABLE([orientation = direct, elements = {L1 = .34720474015613093522}, Z = p*L1]), 2 = TABLE([orientation = shunt, elements = {C1 = .99973620460934095784}, Z = 1/(p*C1)]), 3 = TABLE([orientat...
TABLE([1 = TABLE([orientation = direct, elements = {L1 = .34720474015613093522}, Z = p*L1]), 2 = TABLE([orientation = shunt, elements = {C1 = .99973620460934095784}, Z = 1/(p*C1)]), 3 = TABLE([orientat...
TABLE([1 = TABLE([orientation = direct, elements = {L1 = .34720474015613093522}, Z = p*L1]), 2 = TABLE([orientation = shunt, elements = {C1 = .99973620460934095784}, Z = 1/(p*C1)]), 3 = TABLE([orientat...
TABLE([1 = TABLE([orientation = direct, elements = {L1 = .34720474015613093522}, Z = p*L1]), 2 = TABLE([orientation = shunt, elements = {C1 = .99973620460934095784}, Z = 1/(p*C1)]), 3 = TABLE([orientat...
TABLE([1 = TABLE([orientation = direct, elements = {L1 = .34720474015613093522}, Z = p*L1]), 2 = TABLE([orientation = shunt, elements = {C1 = .99973620460934095784}, Z = 1/(p*C1)]), 3 = TABLE([orientat...
TABLE([1 = TABLE([orientation = direct, elements = {L1 = .34720474015613093522}, Z = p*L1]), 2 = TABLE([orientation = shunt, elements = {C1 = .99973620460934095784}, Z = 1/(p*C1)]), 3 = TABLE([orientat...

Výpočet přenosové funkce (NLP) z obdržené příčkové struktury.

>    H_NLP1:=MakeH(elems_NLP1);

H_NLP1 := 1.0000000000000000000/(.99762834431256409694*p^9+5.7466286011086337914*p^8+16.551123692968283393*p^7+31.114145368127591950*p^6+41.931035867794340113*p^5+41.942100000449322338*p^4+31.138781669...
H_NLP1 := 1.0000000000000000000/(.99762834431256409694*p^9+5.7466286011086337914*p^8+16.551123692968283393*p^7+31.114145368127591950*p^6+41.931035867794340113*p^5+41.942100000449322338*p^4+31.138781669...

Výpočet modulu přenosu a jeho vykreslení v dB (musí souhlasit s vykresleným průběhem při výpočtu aproximace).

>    mg_NLP1:=MagnitudeHdB(H_NLP1)(omega):

>    plot(mg_NLP1,omega=0..5);

Výpočet modulu přenosu pro mez propustného pásma (měl by samozřejmě vyjít jako zadaná hodnota ap  - kontrola).

>    evalf(subs(omega=1,mg_NLP1));

[Maple Plot]

-2.9999999965399662438

>   

Změna zakončení filtru (velikosti zakončovacího odporu)

Volba normovacího odporu.

>    R:=1000:

Kmitočtové a impedanční odnormování struktury. Výsledná struktura odpovídá zadanému typu filtru (LP) i kmitočtům (výsledné hodnoty součástek jsou skutečné).

>    infolevel[syntfil]:=1:

>    elems_LP:=ElemsLP(elems_NLP1,R,fp1):

Nyní lze ješte do výsledné struktury LC filtru zařadit sériové odpory jednotlivých induktorů podle zadaných činitelů jakosti. Zde je zadán jak jednotný činitel pro všechny induktory, tak i Q  ve formě  seznamu, zvlášť pro jednotlivé induktory (pořadí je určeno pořadím ve vstupní struktuře a v tabulce elems_NLP1 ).

>    infolevel[syntfil]:=2:

>    elems_LPQ:=MakeRealL(elems_LP,[50,20,75,40,100],fp1):

>    infolevel[syntfil]:=1:

>    MakeRealL(elems_LP,50,fp1):

type = LC_LP_common_Q

R1 = 1000

R2 = 1000

`block `(1), [orientation = direct, elements = {Rs1 = 6.9441, L1 = .55259e-1}, Z = Rs1+p*L1]

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

`block `(3), [orientation = direct, elements = {Rs1 = 76.584, L1 = .24378}, Z = Rs1+p*L1]

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

`block `(5), [orientation = direct, elements = {L1 = .31823, Rs1 = 26.660}, Z = Rs1+p*L1]

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

`block `(7), [orientation = direct, elements = {Rs1 = 38.292, L1 = .24378}, Z = Rs1+p*L1]

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

`block `(9), [orientation = direct, elements = {Rs1 = 3.4720, L1 = .55259e-1}, Z = Rs1+p*L1]

Výpočet přenosových funkcí jednak pro ideální strukturu a jednak pro strukturu s reálnými inkuktory. Dále následuje výpočet modulů těchto přenosů a jejich vykreslení.

>    H_LP:=MakeH(elems_LP):

>    H_LPQ:=MakeH(elems_LPQ):

>    mg_LP:=MagnitudeHdB(H_LP)(2*Pi*f): mg_LPQ:=MagnitudeHdB(H_LPQ)(2*Pi*f):

>    plot([mg_LP,mg_LPQ],f=0..3000,color=[red,green]);

Výpočet modulů přenosu pro mez propustného a nepropustného pásma pro filtr s ideálními i reálnými induktory (v ideálním případě musí samozřejmě vyjít jako zadané ap1 , resp. asnew    - kontrola).

>    evalf(subs(f=fp1,mg_LP)),evalf(subs(f=fp1,mg_LPQ));

>    evalf(subs(f=fs1,mg_LP)),evalf(subs(f=fs1,mg_LPQ));

[Maple Plot]

-3.0000000000004505662, -4.3593015927682687872

-54.164791466084926664, -54.308490257719182538

Detail propustného pásma filtru.

>    plot([mg_LP,mg_LPQ],f=0..fp1,color=[red,green]);

[Maple Plot]

>