Determining FIR filter information from GCF data
It is useful to be able to find out, for a given block of seismic data, what filters have been applied to it to get it into its present form.
DM24, CD24 and Affinity digitisers set a byte within every block of GCF data, which identifies the sequence of filters in use. The exact filter coefficients will depend on the model of digitiser you are using. Filter coefficients for Güralp equipment can be found at the following pages:
Minimus digitisers do not populate the TTL byte when generating GCF data. The FIR filter information for a Minimus is available directly from its web page, on the Data Flow tab. Please see the Minimus manual for more details.
Filter information directly from DM24 digitisers
To obtain the filter information directly from a DM24, issue the commands:
The digitiser will respond with a line like
Filter Sequence #20 1000 200 100 50 10 5
in which "20" is the TTL value, corresponding to the filter sequence
(2000) ÷2 (→1000) ÷5 (→200) ÷2 (→100) ÷2 (→50) ÷5 (→10) ÷2 (→5)
There is no equivalent method for CD24 digitisers.
Filter information in GCF files
GCF files and data streams include a TTL (tap table lookup) value located at byte 12 (starting from 0) in the header, which is used to transmit filter information. Earlier firmware revisions did not implement this byte, and you can expect it to be set to zero.
Status blocks and auxiliary (Mux) data channels do not include filter information, and in these blocks the reserved byte is also expected to be zero.
The meaning of other values of this byte depends on which digitiser type you are using. The digitiser type can also be determined from the GCF header. See Guralp Compressed Format (GCF) for more information.
Consult the individual filter coefficient pages (links above) for the details of the meaning of the TTL byte for each type of digitiser.
Filter information in MiniSEED files
MiniSEED files produced by Scream have the TTL encoded into the first byte of the padding in the Blockette 1000 MiniSEED packets. This is not part of the SEED standard: it was implemented after a request from IRIS in 2007.
Retrieving the TTL byte
If you are using an Affinity, an EAM, a DM24SxEAM or an instrument with an integrated EAM, such as a 40TDE, you can retrieve the TTL bytes via the web interface by navigating to:
Tools → GCF audit log
Select the required program (service) by clicking on the View button. This will display the log viewer and a list of recent entries. Scroll down the list until you find the required GCF block. In the details column is the TTL byte.
If you are not using an EAM, Guralp Systems provides some software for Linux and for Microsoft Windows that allows you to determine the stored filter information directly from the GCF data.
Linux: Using data-gcf-dump
Download and install the guralp builder installation framework, which you can then use to install the libdata-gcf package. Then simply run data-gcf-dump with the name of the .gcf file you would like to scan, e.g.:
$ data-gcf-dump /path/to/gcf/file 2006-04-10T00:21:04.000Z | LW -A83000 | CMG-DM24mk3 | data | 4Hz | TTL: 4 | 8-bit | 1000 samples
The program exposes the digitiser type and the TTL (tap table lookup) value.
Windows: Using GCFinfo
The easiest way to examine GCF files under Microsoft Windows is the shell extension GCFinfo, which is free to download from this site (see the GCFInfo page). Full documentation for GCFinfo is also available.
To retrieve filter information from a GCF format file:
- Obtain gcfinfo.exe and, if necessary, the library file qtintf.dll which it requires. Place these files in the same directory as each other and run gcfinfo.exe to install the shell extension.
- Navigate to the GCF file you want to examine, and right-click on it.
You will see two new options in the context menu:
- Click Open to open the file in GCFinfo:
The program lists all the streams available in the file, with their System and Stream IDs, Startand End times, sample rate (Sps) and length (# Blocks).
- Double-click on the stream you are interested in, to bring up a new
window with block details:
This table shows the header information for each block in the stream you selected.
The byte used for filter information is the Reserved byte in column 5. In the example above, it is 53.
- With this information, along with the digitiser type, you can then
select the appropriate link to determine the filter coefficients:
A special case for MiniSEED data
If Scream 4.5 or later is used to generate MiniSEED data, the TTL value is copied into the first byte of the padding in the Blockette 1000 MiniSEED packets. This is not part of the SEED standard: it was implemented after a request from IRIS in 2007.