bfil - BSU program which applies an ARMA filter in the time domain
bfil [ -h | infile | itype | npoles | fcenter | bwidth | ifaz ]
Basic Seismic Utilities (BSU) filters seismic traces in the time domain with an ARMA operator. Either minimum-phase or zero-phase filters may be realized, the latter by the usual time reversal trick. Filters are designed in the Laplace Transform domain and then converted to Z-transform with a Bilinear Transform. While the basic design is for 2-poles, the algorithm achieves higher order filters by simply cascading the sampe filter (stacking poles on top of each other, but the pole locations are adjusted to maintain the desired cut-off frequencies). Filter design details (both in the S-plane and Z-plane) as well as frequency response and impulse response plots are provided in the listing file. Code is Fortran 77.
Options
-h |
Online help giving details on command line arguments | ||
infile |
Input file name | ||
itype |
Switch to select filter type. |
0=low-pass
1=band-pass
2=high-pass
npoles |
Number of poles in the filter (even number) |
fcenter
Center frequency of filter.
bwidth |
Band width of filter (cut-off frequencies= fcenter +/- bwidth/2) |
WARNING: Only include bandwidth for BANDPASS filter, itype=1 (or else will abort)
ifaz |
Switch to select filter phase property. |
0=zero-phase (forward-reverse trick)
1=minimum phase
NOTE:
If invoked with no options, will prompt user for input
parameters.
EXAMPLE:
bfil twave.seg 0 12 200. 1
Data are filtered by a 200 Hz low-pass filter, minimum phase. Note that the bandwidth SHOULD NOT be specified on the command line unless a band-pass filter is selected (itype=1).
bfilxxxx.seg
Named according to convention (first 4char bfil, the next 4char are the first 4char of the input file name, suffix .seg)
standard output
produces a progress bar
bfilxxxx.lst
echo check of input parameters
bhelp(1)
No known bugs
Copyright © 2024 by Paul Michaels
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
P. Michaels, PE. <[email protected]>