void main (int argc, char ** argv) { struct f_context c; filter f; if (argc != 5) usage (); (c.m) = (convert_index_arg ((argv[1]), 8196)); (c.delay) = (convert_index_arg ((argv[3]), 8196)); (c.mu) = (convert_real_arg (argv[2])); (c.h) = (xmalloc ((c.m) * (sizeof (REAL)))); { REAL * sh = (c.h); REAL * eh = (sh + (c.m)); while (sh < eh) (*sh++) = 0.; } switch (convert_index_arg ((argv[4]), 2)) { case 0: f = cancel_noise; break; case 1: f = cancel_tones; break; } apply_filter ((make_filter_state ((fileno (stdin)), (fileno (stdout)), 8000, ((c.m) + (c.delay)))), f, (&c)); exit (0); }
void main (int argc, char ** argv) { REAL fr = ((atan2 (1., 1.)) / 1000.); struct f_context c; if (argc != 4) usage (); (c.h) = (kaiser_bandpass_coefficients (((convert_real_arg (argv[1])) * fr), ((convert_real_arg (argv[2])) * fr), (convert_real_arg (argv[3])), .001, (& (c.m)))); fprintf (stderr, "Filter order = %d\n", ((c.m) - 1)); fflush (stderr); apply_filter ((make_filter_state ((fileno (stdin)), (fileno (stdout)), 8000, (c.m))), bandpass, (&c)); exit (0); }