Transformace NDP pro kaskadní syntézu

>    restart;

Startovaci NDP

Startovaci NDP: Čebyšev 03, 1dB (KSF02_1)
[Maple Bitmap]

>    s0:= -0.49417060494; s12:= -0.24708530247+I*0.96599867499;

s0 := -.49417060494

s12 := -.24708530247+.96599867499*I

H1s

>    sigma0[NDP]:= -s0;

sigma0[NDP] := .49417060494

>    H1s:= h1*(sigma0[NDP]/(s+sigma0[NDP]));

H1s := .49417060494*h1/(s+.49417060494)

H2s

>    omega0[NDP]:= evalf(abs(s12));

>    Q[NDP]:= omega0[NDP]/abs(2*Re(s12));

omega0[NDP] := .9970980828

Q[NDP] := 2.017720343

>    H2s:= h2*evalf(omega0[NDP]^2/(s^2+s*omega0[NDP]/Q[NDP]+omega0[NDP]^2));

H2s := .9942045867*h2/(s^2+.4941706051*s+.9942045867)

Transformace NDP - DP

>    f1:= 80e3; fN:= f1;

f1 := .80e5

fN := .80e5

>    omega[N]:= evalf(2*Pi*fN);

omega[N] := 502654.8246

H1p

Normovaná H1p = H1s!

>    H1p:= normal(subs(s=p/omega[N],H1s));

H1p := .49417060494*h1/(.1989436789e-5*p+.49417060494)

Úprava:

>    DH1p:= denom(H1p)/coeff(denom(H1p),p,1);

DH1p := 1.000000000*p+248397.2387

>    NH1p:= numer(H1p)/coeff(denom(H1p),p,1);

NH1p := 248397.2387*h1

>    H1pu:= NH1p/DH1p;

H1pu := 248397.2387*h1/(1.000000000*p+248397.2387)

H2p

Normovaná H2p = H2s!

>    H2p:= normal(subs(s=p/omega[N],H2s));

H2p := .9942045867*h2/(.3957858737e-11*p^2+.9831211818e-6*p+.9942045867)

Úprava:

>    DH2p:= denom(H2p)/coeff(denom(H2p),p,2);

DH2p := 1.000000000*p^2+248397.2388*p+.2511975926e12

>    NH2p:= numer(H2p)/coeff(denom(H2p),p,2);

NH2p := .2511975926e12*h2

>    H2pu:= NH2p/DH2p;

H2pu := .2511975926e12*h2/(1.000000000*p^2+248397.2388*p+.2511975926e12)

>    omega0[DP]:= sqrt(coeff(DH2p,p,0));

omega0[DP] := 501196.1618

>    Q[DP]:= omega0[DP]/coeff(DH2p,p,1);

Q[DP] := 2.017720343

Pozn: transformace NDP - DP nemění Q a omega0 pouze násobí omega[N] !

Transformace NDP - HP

>    f1HP:= 21e3; fN:= f1HP;

f1HP := .21e5

fN := .21e5

>    omega[N]:= evalf(2*Pi*fN);

omega[N] := 131946.8915

H1p [HP]

>    H1p[HP]:= normal(subs(s=omega[N]/p,H1s));

H1p[HP] := .49417060494*h1*p/(131946.8915+.49417060494*p)

Úprava:

>    DH1p:= denom(H1p[HP])/coeff(denom(H1p[HP]),p,1);

DH1p := 267006.7588+1.000000000*p

>    NH1p:= numer(H1p[HP])/coeff(denom(H1p[HP]),p,1);

NH1p := 1.000000000*h1*p

>    H1pu[HP]:= NH1p/DH1p;

H1pu[HP] := 1.000000000*h1*p/(267006.7588+1.000000000*p)

Řešení přes normovanou HP:

>    H1pN[HP]:= normal(subs(s=1/p,H1s));

H1pN[HP] := .49417060494*h1*p/(1+.49417060494*p)

Úprava:

>    DH1pN:= denom(H1pN[HP])/coeff(denom(H1pN[HP]),p,1);

DH1pN := 2.023592642+1.000000000*p

>    NH1pN:= numer(H1pN[HP])/coeff(denom(H1pN[HP]),p,1);

NH1pN := 1.000000000*h1*p

>    H1pNu[HP]:= NH1pN/DH1pN;

H1pNu[HP] := 1.000000000*h1*p/(2.023592642+1.000000000*p)

Parametry:

>    sigma0[NHP]:= coeff(DH1pN,p,0);

sigma0[NHP] := 2.023592642

>    sigma0[HP]:= sigma0[NHP]*omega[N];

sigma0[HP] := 267006.7588

H2p [HP]

>    H2p:= normal(subs(s=omega[N]/p,H2s));

H2p := .9942045867*h2*p^2/(.1740998218e11+65204.27521*p+.9942045867*p^2)

Úprava:

>    DH2p:= denom(H2p)/coeff(denom(H2p),p,2);

DH2p := .1751146838e11+65584.36371*p+1.000000000*p^2

>    NH2p:= numer(H2p)/coeff(denom(H2p),p,2);

NH2p := 1.000000000*h2*p^2

>    H2pu:= NH2p/DH2p;

H2pu := 1.000000000*h2*p^2/(.1751146838e11+65584.36371*p+1.000000000*p^2)

>    omega0[HP]:= sqrt(coeff(DH2p,p,0));

omega0[HP] := 132330.9049

>    Q[HP]:= omega0[HP]/coeff(DH2p,p,1);

Q[HP] := 2.017720344

Pozn: transformace NDP - HP nemění Q  !

Řešení přes normovanou HP:

>    H2pN[HP]:= normal(subs(s=1/p,H2s));

H2pN[HP] := .9942045867*h2*p^2/(1+.4941706051*p+.9942045867*p^2)

Úprava:

>    DH2pN:= denom(H2pN[HP])/coeff(denom(H2pN[HP]),p,2);

DH2pN := 1.005829196+.4970512224*p+1.000000000*p^2

>    NH2pN:= numer(H2pN[HP])/coeff(denom(H2pN[HP]),p,2);

NH2pN := 1.000000000*h2*p^2

>    H2pNu[HP]:= NH2pN/DH2pN;

H2pNu[HP] := 1.000000000*h2*p^2/(1.005829196+.4970512224*p+1.000000000*p^2)

Parametry:

>    omega0[NHP]:= sqrt(coeff(DH2pN,p,0));

omega0[NHP] := 1.002910363

>    omega0[HP]:= omega0[NHP]*omega[N]; Q[NHP]:= Q[HP];

omega0[HP] := 132330.9049

Q[NHP] := 2.017720344

Transformace NDP - PP

>    fd:= 1.93e6; fh:= 1.99e6;

fd := .193e7

fh := .199e7

>    fn:= sqrt(fh*fd); delta:= fh-fd; q:= fn/delta;

fn := 1959770.395

delta := .6e5

q := 32.66283992

>    omegaN:= evalf(2*Pi*fn);

omegaN := 12313600.55

Řešení pro normovanou PP

>    omegaNN:= 1;

omegaNN := 1

H1p [PP]

>    H1pN[PP]:= sort(normal(subs(s=q*(p+1/p),H1s)),p);

H1pN[PP] := .49417060494*h1/(32.66283992*p^2+.49417060494*p+32.66283992)*p

Úprava:

>    DH1pN:= sort(denom(H1pN[PP])/coeff(denom(H1pN[PP]),p,2),p);

DH1pN := 1.000000000*p^2+.1512944392e-1*p+1.000000000

>    NH1pN:= numer(H1pN[PP])/coeff(denom(H1pN[PP]),p,2);

NH1pN := .1512944392e-1*h1*p

>    H1pNu[PP]:= NH1pN/DH1pN;

H1pNu[PP] := .1512944392e-1*h1*p/(1.000000000*p^2+.1512944392e-1*p+1.000000000)

Parametry:

>    omega01[NPP]:= sqrt(coeff(DH1pN,p,0)); Q1[NPP]:= omega01[NPP]/coeff(DH1pN,p,1);

omega01[NPP] := 1.000000000

Q1[NPP] := 66.09628254

>    omega01[PP]:= omega01[NPP]*omegaN;

omega01[PP] := 12313600.55

Odnormovaná funkce:

>    H1p[PP]:= h1*p*omega01[PP]/Q1[NPP]/(p^2+p*omega01[PP]/Q1[NPP]+omega01[PP]^2);

H1p[PP] := 186297.9290*h1*p/(p^2+186297.9290*p+.1516247585e15)

H2p [PP]

>    H2pN[PP]:= sort(normal(subs(s=q*(p+1/p),H2s)),p);

H2pN[PP] := .9942045867*h2/(1066.861112*p^4+16.14101537*p^3+2134.716429*p^2+16.14101537*p+1066.861112)*p^2

Úprava:

>    DH2pN:= denom(H2pN[PP])/coeff(denom(H2pN[PP]),p,4);

DH2pN := 1.000000000*p^4+.1512944392e-1*p^3+2.000931897*p^2+.1512944392e-1*p+1.000000000

>    NH2pN:= numer(H2pN[PP])/coeff(denom(H2pN[PP]),p,4);

NH2pN := .9318969222e-3*h2*p^2

>    H2pNu[PP]:= NH2pN/DH2pN;

H2pNu[PP] := .9318969222e-3*h2*p^2/(1.000000000*p^4+.1512944392e-1*p^3+2.000931897*p^2+.1512944392e-1*p+1.000000000)

Tuto funkci je potreba ještě rozložit na 2 dílčí funkce H21 a H22:  H2pN = H21pN*H22pN

Rozklad jmenovatele:

>    XPP:= solve(denom(H2pNu[PP])=0,p);

XPP := -.3838286652e-2-1.014889604*I, -.3838286652e-2+1.014889604*I, -.3726435308e-2-.9853147503*I, -.3726435308e-2+.9853147503*I
XPP := -.3838286652e-2-1.014889604*I, -.3838286652e-2+1.014889604*I, -.3726435308e-2-.9853147503*I, -.3726435308e-2+.9853147503*I

>    DH21pN:= evalc((p-XPP[1])*(p-XPP[2]));

DH21pN := p^2+.7676573304e-2*p+1.030015641

>    omega021[NPP]:= sqrt(coeff(DH21pN,p,0)); Q21[NPP]:= omega021[NPP]/coeff(DH21pN,p,1);

omega021[NPP] := 1.014896862

Q21[NPP] := 132.2070176

>    DH22pN:= evalc((p-XPP[3])*(p-XPP[4]));

>    omega022[NPP]:= sqrt(coeff(DH22pN,p,0)); Q22[NPP]:= omega022[NPP]/coeff(DH22pN,p,1);

DH22pN := p^2+.7452870616e-2*p+.9708590435

omega022[NPP] := .9853217969

Q22[NPP] := 132.2070176

Rozklad čitatele:

>    hpp1N:= solve(sqrt(coeff(NH2pN,p,2))=hpp1*omega021[NPP]/Q21[NPP],hpp1);

hpp1N := 3.976642387*h2^(1/2)

>    hpp2N:= solve(sqrt(coeff(NH2pN,p,2))=hpp2*omega022[NPP]/Q22[NPP],hpp2);

hpp2N := 4.096003856*h2^(1/2)

Výsledné funkce:

>    H21pN:= hpp1N*(p*omega021[NPP]/Q21[NPP])/DH21pN;

H21pN := .3052698679e-1*p/(p^2+.7676573304e-2*p+1.030015641)

>    H22pN:= hpp2N*(p*omega022[NPP]/Q22[NPP])/DH22pN;

H22pN := .3052698679e-1*p/(p^2+.7452870616e-2*p+.9708590435)

Frekvenční odnormování: stačí omega0 !!

>    omega021[PP]:= omega021[NPP]*omegaN; omega022[PP]:= omega022[NPP]*omegaN; Q2[PP]:= Q21[NPP];

omega021[PP] := 12497034.56

omega022[PP] := 12132859.02

Q2[PP] := 132.2070176

Odnormované funkce:

>    H21p:= hpp1N*(p*omega021[PP]/Q2[PP])/(p^2+p*omega021[PP]/Q2[PP]+omega021[PP]^2);

H21p := 375897.1214*p/(p^2+94526.25728*p+.1561758728e15)

>    H22p:= hpp2N*(p*omega022[PP]/Q2[PP])/(p^2+p*omega022[PP]/Q2[PP]+omega022[PP]^2);

H22p := 375897.1213*p/(p^2+91771.67173*p+.1472062680e15)

Řešení "přes vzorečky" - Elektrické filtry, kap.9.3.3, str. 300-301

>    Q[pp]:= Q[NDP]*sqrt((2*q*q/(omega0[NDP])^2+1/2+sqrt((2*q*q/(omega0[NDP])^2 +1/2)^2-(q/(omega0[NDP]*Q[NDP]))^2)));

Q[pp] := 132.2070176

>    op1:= omega0[NDP]*Q[pp]/q/Q[NDP];

>    op2:= sqrt(op1^2-4);

op1 := 2.000218660

op2 := .2957512468e-1

>    omega021[pp1]:= (op1-op2)/2;

omega021[pp1] := .9853217677

>    omega022[pp2]:= (op1+op2)/2;

omega022[pp2] := 1.014896892

>    hpp21:= Q[pp]/q/omega021[pp1]*sqrt(h2);

>    hpp22:= Q[pp]/q/omega022[pp2]*sqrt(h2);

hpp21 := 4.107924836

hpp22 := 3.988215742

>    hpp:= sqrt(hpp21*hpp22);

hpp := 4.047627762

>    H21pN[pp1]:= hpp*(omega021[pp1]/Q[pp])*p/(p^2+p*omega021[pp1]/Q[pp]+omega021[pp1]^2);

H21pN[pp1] := .3016644512e-1*p/(p^2+.7452870397e-2*p+.9708589859)

>    H22pN[pp2]:= hpp*(omega022[pp2]/Q[pp])*p/(p^2+p*omega022[pp2]/Q[pp]+omega022[pp2]^2);

H22pN[pp2] := .3107191215e-1*p/(p^2+.7676573532e-2*p+1.030015701)

Test PP - normované řešení

>    h2:= 1; h1:= 1;

>    ModPP:= abs(subs(p=I*omega,H1pNu[PP]*H21pN[pp1]*H22pN[pp2]));

h2 := 1

h1 := 1

ModPP := .1418126855e-4*abs(omega^3/(-1.000000000*omega^2+.1512944392e-1*I*omega+1.000000000)/(-omega^2+.7452870397e-2*I*omega+.9708589859)/(-omega^2+.7676573532e-2*I*omega+1.030015701))
ModPP := .1418126855e-4*abs(omega^3/(-1.000000000*omega^2+.1512944392e-1*I*omega+1.000000000)/(-omega^2+.7452870397e-2*I*omega+.9708589859)/(-omega^2+.7676573532e-2*I*omega+1.030015701))

>    plot(20*log10(ModPP),omega=0.9..1.1);

[Maple Plot]

Test PP - odnormované řešení

>    ModPPodn:= abs(subs(p=I*2*Pi*f,H1p[PP]*H21p*H22p));

ModPPodn := .2105891607e18*Pi^3*abs(f^3/(-4*Pi^2*f^2+372595.8580*I*Pi*f+.1516247585e15)/(-4*Pi^2*f^2+189052.5146*I*Pi*f+.1561758728e15)/(-4*Pi^2*f^2+183543.3435*I*Pi*f+.1472062680e15))
ModPPodn := .2105891607e18*Pi^3*abs(f^3/(-4*Pi^2*f^2+372595.8580*I*Pi*f+.1516247585e15)/(-4*Pi^2*f^2+189052.5146*I*Pi*f+.1561758728e15)/(-4*Pi^2*f^2+183543.3435*I*Pi*f+.1472062680e15))

>    plot(20*log10(ModPPodn),f=1.8e6..2.1e6);

[Maple Plot]