#include <filter.h>
Also general-purpose frequency filter operator.
Public Member Functions | |
FILTER () | |
no filters | |
FILTER (double f_locut, double f_lopass, double f_hipass, double f_hicut, boolean bandpass=TRUE) | |
Trapezoidal 0-1-1-0 bandpass (when bandpass=TRUE) or 1-0-0-1 bandcut (for bandpass=FALSE) filter with cosine tapers. | |
FILTER (double f_locut, double f_lopass, boolean highpass=TRUE) | |
Trapezoidal 0-1 bandpass (when highpass=TRUE) or 1-0 bandcut (for highpass=FALSE) filter with cosine taper. | |
FILTER (const ARRAY< POINT > &shape) | |
Zero-phase shaping filter with cosine tapers. | |
FILTER (FILTER_TRANGE *f) | |
filter using custom FILTER_TRANGE | |
void | add_filter (FILTER_TRANGE *f) |
add filter 'f' (with time range) | |
void | build (GATHER *g) |
build all non-individual filters using the sampling parameters of g | |
void | build (TRACE *t) |
build all filters using the sampling parameters of t | |
void | allocate (int num_samples) |
allocate work memory for in-place prime factor FFT | |
boolean | apply (TRACE *t, int count=-1) |
Apply the filter to trace. | |
boolean | apply (DATA_SAMPLE *srray, int num_samples) |
Apply the filter to an arbitrary array (time series). | |
void | show (const char *title=NULL) const |
print out current filter parameters | |
void | plotmtv_filter (const char *file_name, const char *heading=NULL, const char *line_color="1", boolean append=FALSE) const |
Output filter shape into PLOTMTV file 'file_name'. | |
CHARSTR | module_name (boolean active) |
name for gui | |
int | edit () |
edit phase | |
boolean | process () |
process phase | |
COMPLEX * | ct () const |
complex trace for FFT (pocast or pointer rt) | |
Public Attributes | |
boolean | time_domain |
mode of operation for all filters | |
boolean | panels |
TRUE if doing filter panels. | |
AHEADER | panel_count |
panel counter | |
HEADER_PARAM | panel_count_start |
starting value of panel_count | |
FILTER_TRANGE * | trange |
filtering time range | |
int | max_allocated |
max number of samples on which the filter currently works | |
double | sample_interval |
time sampling interval set by the most recent calll to build() | |
DATA_SAMPLE * | rt |
real trace for FFT | |
int * | work_n |
integer trace for spectral balancing | |
double * | work |
Private Member Functions | |
boolean | remove_trange () |
remove (deallocate) the last filter time range |
|
Trapezoidal 0-1-1-0 bandpass (when bandpass=TRUE) or 1-0-0-1 bandcut (for bandpass=FALSE) filter with cosine tapers. Frequencies should be given in Hz |
|
Trapezoidal 0-1 bandpass (when highpass=TRUE) or 1-0 bandcut (for highpass=FALSE) filter with cosine taper. Frequencies should be given in Hz |
|
Zero-phase shaping filter with cosine tapers. Frequencies should be given as POINT::x, and filter amplitudes - as POINT:y |
|
Apply the filter to trace. 'count' is the number of filter to apply. can b ethe number of the trace within the sequence of panels. with count < 0, all filters are applied |
|
Output filter shape into PLOTMTV file 'file_name'. If apppend=TRUE, appends to an existing file, otherwise overwrites |