SUBFILT - apply Butterworth bandpass
filter
subfilt <stdin >stdout [optional parameters]
Required parameters:
if dt is not set in
header, then dt is mandatory
Optional parameters: (nyquist calculated
internally)
zerophase=1 =0 for minimum phase filter
locut=1 =0
for no low cut filter
hicut=1 =0 for no high cut filter
fstoplo=0.10*(nyq) freq(Hz) in low cut stop band
astoplo=0.05 upper bound on amp at fstoplo
fpasslo=0.15*(nyq) freq(Hz) in low cut pass band
apasslo=0.95 lower bound on amp at fpasslo
fpasshi=0.40*(nyq) freq(Hz) in high cut pass band
apasshi=0.95 lower bound on amp at fpasshi
fstophi=0.55*(nyq) freq(Hz) in high cut stop band
astophi=0.05 upper bound on amp at fstophi
verbose=0 =1 for filter design info
dt = (from header) time sampling interval (sec)
Credits:
CWP: Dave
for bf.c subs and test drivers
CWP:
Jack for su wrapper
Caveat:
zerophase will not do good if trace has a spike near
the end. One could make a try at
getting the "effective"
length of the causal filter, but padding
the traces seems
painful in an already expensive
algorithm.
Trace header
fields accessed: ns, dt, trid