----- From here -----
13
4.036409219416838e-03
-2.208366021329011e-18
-2.346162858786038e-02
-3.367761421639100e-02
7.203267485172524e-02
2.840739092673040e-01
4.000000000000000e-01
2.840739092673040e-01
7.203267485172524e-02
-3.367761421639100e-02
-2.346162858786038e-02
-2.208366021329011e-18
4.036409219416838e-03
Filter type : LPF
Window type : Hamming
Filter length : 13
Normalized cut-off freq : 0.200000
Date and time : 2015/12/15 18:47
----- End -----
kill(all)$
a0: 4.036409219416838e-03 ;
a1: -2.208366021329011e-18 ;
a2: -2.346162858786038e-02 ;
a3: -3.367761421639100e-02 ;
a4: 7.203267485172524e-02 ;
a5: 2.840739092673040e-01 ;
a6: 4.000000000000000e-01 ;
a7: 2.840739092673040e-01 ;
a8: 7.203267485172524e-02 ;
a9: -3.367761421639100e-02 ;
a10: -2.346162858786038e-02 ;
a11: -2.208366021329011e-18 ;
a12: 4.036409219416838e-03 ;
a0+a1*exp(-j*omega*T)+a2*exp(-2*j*omega*T)+a3*exp(-3*j*omega*T)+a4*exp(-4*j*omega*T)+a5*exp(-5*j*omega*T)+a6*exp(-6*j*omega*T)+a7*exp(-7*j*omega*T)+a8*exp(-8*j*omega*T)+a9*exp(-9*j*omega*T)+a10*exp(-10*j*omega*T)+a11*exp(-11*j*omega*T)+a12*exp(-12*j*omega*T);
subst(%i,j,%);
subst(2*%pi*f,omega,%);
subst(0.001,T,%);
H:%;
plot2d(cabs(H),[f,0,1000],[logy]);
plot2d(carg(H),[f,0,1000]);
sum(a[k]*exp(-k*j*\omega*T),k,0,N-1);
kill(all)$
array(a,13);
a[0]: 4.036409219416838e-03 ;
a[1]: -2.208366021329011e-18 ;
a[2]: -2.346162858786038e-02 ;
a[3]: -3.367761421639100e-02 ;
a[4]: 7.203267485172524e-02 ;
a[5]: 2.840739092673040e-01 ;
a[6]: 4.000000000000000e-01 ;
a[7]: 2.840739092673040e-01 ;
a[8]: 7.203267485172524e-02 ;
a[9]: -3.367761421639100e-02 ;
a[10]: -2.346162858786038e-02 ;
a[11]: -2.208366021329011e-18 ;
a[12]: 4.036409219416838e-03 ;
sum(a[k]*exp(-k*j*\omega*T),k,0,N-1);
subst(13,N,%);
subst(%i,j,%);
subst(2*%pi*f,\omega,%);
subst(0.001,T,%);
H:%;
plot2d(cabs(H),[f,0,1000],[logy]);
plot2d(carg(H),[f,0,1000]);
kill(all)$
a: [
4.036409219416838e-03,
-2.208366021329011e-18,
-2.346162858786038e-02,
-3.367761421639100e-02,
7.203267485172524e-02,
2.840739092673040e-01,
4.000000000000000e-01,
2.840739092673040e-01,
7.203267485172524e-02,
-3.367761421639100e-02,
-2.346162858786038e-02,
-2.208366021329011e-18,
4.036409219416838e-03];
sum(a[k+1]*exp(-k*j*\omega*T),k,0,12);
subst(%i,j,%);
subst(2*%pi*f,\omega,%);
subst(0.001,T,%);
H:%;
wxplot2d(cabs(H),[f,0,1000],[logy]);
wxplot2d(carg(H),[f,0,1000]);
x: makelist(n,n,0,12);
wxplot2d([discrete,x,a],[style,impulses]);
x: makelist(n,n,0,12);
wxplot2d([discrete,x,a],[style,[points,2,1,1]]);
----- From here -----
3
2.23801748954850749e-01
1.04793004180597144e-01
0.00000000000000000e+00
2.46824032729850495e+00
2.46824032729850495e+00
0.00000000000000000e+00
5.53109465901169481e-02
2.31444265788747300e-01
1.16419411230618330e-01
6.09221031330263063e+00
1.21844206266052613e+01
6.09221031330263063e+00
7.60854166202676457e-02
3.18373386689702720e-01
5.35740052613985052e-01
6.09221031330263063e+00
1.21844206266052613e+01
6.09221031330263063e+00
Filter type : LPF(IIR Butterworth)
Order of transfer function : 5
Number of sections : 3
Sampling freq. [Hz] : 1000.000000
Passband edge freq. [Hz] : 250.000000
Stopband edge freq. [Hz] : 400.000000
Passband attenuation[dB] : 0.500000
Stopband attenuation[dB] : 35.000000
----- End -----
kill(all)$
(a0+a1*exp(-j*omega*T)+a2*exp(-2*j*omega*T))/(1/k+b1*exp(-j*omega*T)+b2*exp(-2*j*omega*T));
subst(%i,j,%);
subst(2*%pi*f,omega,%);
subst(0.001,T,%);
define(H(f,k,b1,b2,a0,a1,a2),%);
H1(f):=H(f,
2.23801748954850749e-01,
1.04793004180597144e-01,
0.00000000000000000e+00,
2.46824032729850495e+00,
2.46824032729850495e+00,
0.00000000000000000e+00);
H2(f):=H(f,
5.53109465901169481e-02,
2.31444265788747300e-01,
1.16419411230618330e-01,
6.09221031330263063e+00,
1.21844206266052613e+01,
6.09221031330263063e+00);
H3(f):=H(f,
7.60854166202676457e-02,
3.18373386689702720e-01,
5.35740052613985052e-01,
6.09221031330263063e+00,
1.21844206266052613e+01,
6.09221031330263063e+00);
plot2d(cabs(H1(f)*H2(f)*H3(f)),[f,0,499],[logy]);
plot2d(carg(H1(f)*H2(f)*H3(f)),[f,0,499]);
Maxima encountered a Lisp error:
Error in PROGN [or a callee]: Zero is the logarithmic singularity.
Automatically continuing.
To enable the Lisp debugger set *debugger-hook* to nil.
kill(all)$
(a0+a1*exp(-j*omega*T)+a2*exp(-2*j*omega*T))/(1/k+b1*exp(-j*omega*T)+b2*exp(-2*j*omega*T));
subst(%i,j,%);
subst(2*%pi*f,omega,%);
subst(0.001,T,%);
define(H(f,k,b1,b2,a0,a1,a2),%);
H1(f):=H(f,
9.115605050469990e-02,
-2.503362204683822e-01,
4.504947873400970e-01,
1.000000000000000e+00,
0.000000000000000e+00,
-1.000000000000000e+00);
H2(f):=H(f,
1.000000000000000e+00,
2.503362204683819e-01,
4.504947873400968e-01,
1.000000000000000e+00,
0.000000000000000e+00,
-1.000000000000000e+00);
H3(f):=H(f,
1.189175782425170e-01,
-6.445233834458046e-01,
7.545210372320261e-01,
1.000000000000000e+00,
0.000000000000000e+00,
-1.000000000000000e+00);
H4(f):=H(f,
1.000000000000000e+00,
6.445233834458044e-01,
7.545210372320261e-01,
1.000000000000000e+00,
0.000000000000000e+00,
-1.000000000000000e+00);
plot2d(cabs(H1(f)*H2(f)*H3(f)*H4(f)),[f,1,499],[logy]);
plot2d(carg(H1(f)*H2(f)*H3(f)*H4(f)),[f,1,499]);