filtertype | = | Chebyshev |
passtype | = | Lowpass |
ripple | = | -0.12 |
order | = | 7 |
samplerate | = | 48000 |
corner1 | = | 10300 |
corner2 | = | |
adzero | = | |
logmin | = |
Command line: /www/usr/fisher/helpers/mkfilter -Ch -1.2000000000e-01 -Lp -o 7 -a 2.1458333333e-01 0.0000000000e+00 raw alpha1 = 0.2145833333 raw alpha2 = 0.2145833333 warped alpha1 = 0.2543309211 warped alpha2 = 0.2543309211 gain at dc : mag = 3.834721196e+02 phase = 0.0000000000 pi gain at centre: mag = 3.782106849e+02 phase = -0.1600415182 pi gain at hf : mag = 0.000000000e+00 S-plane zeros: S-plane poles: -0.1290412744 + j 1.6573550202 -0.3615656161 + j 1.3290955323 -0.5224774533 + j 0.7375923740 -0.5799062231 + j 0.0000000000 -0.5224774533 + j -0.7375923740 -0.3615656161 + j -1.3290955323 -0.1290412744 + j -1.6573550202 Z-plane zeros: -1.0000000000 + j 0.0000000000 7 times Z-plane poles: 0.1698603608 + j 0.9106793585 0.2863456209 + j 0.7239588035 0.4608375198 + j 0.4271604540 0.5504439519 + j 0.0000000000 0.4608375198 + j -0.4271604540 0.2863456209 + j -0.7239588035 0.1698603608 + j -0.9106793585 Recurrence relation: y[n] = ( 1 * x[n- 7]) + ( 7 * x[n- 6]) + ( 21 * x[n- 5]) + ( 35 * x[n- 4]) + ( 35 * x[n- 3]) + ( 21 * x[n- 2]) + ( 7 * x[n- 1]) + ( 1 * x[n- 0]) + ( 0.1130488058 * y[n- 7]) + ( -0.6208360469 * y[n- 6]) + ( 1.7554209098 * y[n- 5]) + ( -3.2416570827 * y[n- 4]) + ( 4.1799016509 * y[n- 3]) + ( -3.9042013855 * y[n- 2]) + ( 2.3845309549 * y[n- 1])
/* Digital filter designed by mkfilter/mkshape/gencode A.J. Fisher Command line: /www/usr/fisher/helpers/mkfilter -Ch -1.2000000000e-01 -Lp -o 7 -a 2.1458333333e-01 0.0000000000e+00 -l */ #define NZEROS 7 #define NPOLES 7 #define GAIN 3.834721196e+02 static float xv[NZEROS+1], yv[NPOLES+1]; static void filterloop() { for (;;) { xv[0] = xv[1]; xv[1] = xv[2]; xv[2] = xv[3]; xv[3] = xv[4]; xv[4] = xv[5]; xv[5] = xv[6]; xv[6] = xv[7]; xv[7] = next input value / GAIN; yv[0] = yv[1]; yv[1] = yv[2]; yv[2] = yv[3]; yv[3] = yv[4]; yv[4] = yv[5]; yv[5] = yv[6]; yv[6] = yv[7]; yv[7] = (xv[0] + xv[7]) + 7 * (xv[1] + xv[6]) + 21 * (xv[2] + xv[5]) + 35 * (xv[3] + xv[4]) + ( 0.1130488058 * yv[0]) + ( -0.6208360469 * yv[1]) + ( 1.7554209098 * yv[2]) + ( -3.2416570827 * yv[3]) + ( 4.1799016509 * yv[4]) + ( -3.9042013855 * yv[5]) + ( 2.3845309549 * yv[6]); next output value = yv[7]; } }
For an expanded view, enter frequency limits (as a fraction of the sampling rate) here:
For a view on a different scale, enter upper time limit (integer number of samples) here: