1 | |
---|
2 | /* file RFUSRDEF.H |
---|
3 | * ========== |
---|
4 | * |
---|
5 | * version 4, 22-May-2006 |
---|
6 | * |
---|
7 | * prototypes of module RECFILTR.C |
---|
8 | * K. Stammler, 22-MAY-91 |
---|
9 | */ |
---|
10 | |
---|
11 | |
---|
12 | /* |
---|
13 | * |
---|
14 | * SeismicHandler, seismic analysis software |
---|
15 | * Copyright (C) 1996, Klaus Stammler, Federal Institute for Geosciences |
---|
16 | * and Natural Resources (BGR), Germany |
---|
17 | * |
---|
18 | * This program is free software; you can redistribute it and/or modify |
---|
19 | * it under the terms of the GNU General Public License as published by |
---|
20 | * the Free Software Foundation; either version 2 of the License, or |
---|
21 | * (at your option) any later version. |
---|
22 | * |
---|
23 | * This program is distributed in the hope that it will be useful, |
---|
24 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
25 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
26 | * GNU General Public License for more details. |
---|
27 | * |
---|
28 | * You should have received a copy of the GNU General Public License |
---|
29 | * along with this program; if not, write to the Free Software |
---|
30 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
---|
31 | * |
---|
32 | */ |
---|
33 | |
---|
34 | |
---|
35 | #ifndef __RFUSRDEF |
---|
36 | #define __RFUSRDEF |
---|
37 | |
---|
38 | #ifndef __SHCONST |
---|
39 | #include "shconst.h" |
---|
40 | #endif |
---|
41 | |
---|
42 | typedef struct { |
---|
43 | BOOLEAN use_lpc; /* use lin pred coding */ |
---|
44 | int pred_length; /* prediction length in samples */ |
---|
45 | int pred_order; /* prediction order */ |
---|
46 | int src_length; /* length of source array */ |
---|
47 | BOOLEAN demean; /* remove mean value on each stage */ |
---|
48 | } RFT_STARTUP; |
---|
49 | |
---|
50 | #define RFC_MAXFILTER 8 |
---|
51 | /* maximum number of filters */ |
---|
52 | |
---|
53 | /*------------------------------------------------------------------------*/ |
---|
54 | |
---|
55 | |
---|
56 | void rf_filter_input( int list_lth, char *flt_list[], int pos_list[], |
---|
57 | int *status ); |
---|
58 | |
---|
59 | /* reads one or more filters into memory |
---|
60 | * |
---|
61 | * paramters of routine |
---|
62 | * int list_lth; input; number of filters to read |
---|
63 | * char *flt_list[]; input; list of filter names |
---|
64 | * int pos_list[]; input; positions of filters in files |
---|
65 | * int *status; output; return status |
---|
66 | */ |
---|
67 | |
---|
68 | |
---|
69 | /*------------------------------------------------------------------------*/ |
---|
70 | |
---|
71 | |
---|
72 | void rf_filter( SAMPLE src[], long trclth, REAL dt, RFT_STARTUP *lpc, |
---|
73 | SAMPLE dst[], STATUS *status ); |
---|
74 | |
---|
75 | /* filters the seismogram "src" from index "start" to index "end" |
---|
76 | * with all the filters in rfv_fct. The result is returned in "dst" |
---|
77 | * |
---|
78 | * parameters of routine |
---|
79 | * SAMPLE src[]; input; input signal to be filtered |
---|
80 | * long trclth; input length of trace in samples |
---|
81 | * REAL dt; input; sample distance in sec |
---|
82 | * RFT_STARTUP *lpc; input; use special startup routine |
---|
83 | * SAMPLE dst[]; output; output signal |
---|
84 | * STATUS *status; output; return status |
---|
85 | */ |
---|
86 | |
---|
87 | |
---|
88 | /*------------------------------------------------------------------------*/ |
---|
89 | |
---|
90 | #endif /* __RFUSRDEF */ |
---|