44 #include "EST_cmd_line.h"
45 #include "EST_cmd_line_options.h"
46 #include "sigpr/EST_filter_design.h"
81 int main (
int argc,
char *argv[])
84 EST_String in_file(
"-"), out_file(
"-"), op_file(
""), test;
91 EST_String(
"[input file0] -o [output file]\n") +
92 "Summary: filter waveform files\n"
93 "use \"-\" to make input and output files stdin/out\n"
95 "-forder <int> Order of FIR filter. This must be ODD.\n"
96 " Sensible values range \n"
97 " from 19 (quick but with a shallow rolloff) to 199 \n"
98 " (slow but with a steep rolloff). The default is 199.\n\n"
99 "-double Design a filter suitable for double (zero-phase)\n"
101 "-o <ofile> output filter file\n",
106 if (fresponse.
load(files.
first()) != format_ok)
109 forder = al.
present(
"-forder") ? al.
ival(
"-forder") : 199;
112 for (
int i = 0; i < fresponse.
length(); i++)
113 fresponse[i] = sqrt(fresponse[i]);
118 int l = fresponse.
length() * 2;
121 for(
int i = 0;i<fresponse.
length();i++)
123 full_fresponse[i] = fresponse(i);
124 full_fresponse[l-1-i] = fresponse(i);
127 filter = design_FIR_filter(full_fresponse, forder);
128 filter.
save(out_file,
"est_ascii");