|[ < ]||[ > ]||[ << ]||[ Up ]||[ >> ]||[Top]||[Contents]||[Index]||[ ? ]|
The siarray argument for
osigfopen is a pointer to an array of
objects of type
WFDB_Siginfo. The first three of these functions
fill in the
WFDB_Siginfo objects to which siarray points, but
the caller must supply initialized
WFDB_Siginfo objects to
osigfopen. Each object specifies the attributes of a
a pointer to a null-terminated string that names the file in which
samples of the associated signal are stored. Input signal files are
found by prefixing
fname with each of the components of the
database path in turn (see section The Database Path and Other Environment Variables).
fname may include
relative or absolute path specifications if necessary; the use of an
absolute pathname, combined with an initial null component in
reduces the time needed to find the signal file to a minimum. If
fname is ‘-’, it refers to the standard input or
a pointer to a null-terminated string without embedded newlines (e.g.,
‘ECG lead V1’ or ‘trans-thoracic impedance’). The length of
desc string is restricted to a maximum of
(defined in ‘<wfdb/wfdb.h>’) characters, not including the null.
a pointer to a null-terminated string without embedded whitespace. The
string specifies the physical units of the signal; if NULL, the units
are assumed to be millivolts. The length of the
units string is
restricted to a maximum of
WFDB_MAXUSL (defined in
‘<wfdb/wfdb.h>’) characters (not including the null).
the number of analog-to-digital converter units (adus) per physical unit
(see previous item) relative to the original analog signal; for an ECG,
this is roughly equal to the amplitude of a normal QRS complex. If
gain is zero, no amplitude calibration is available; in this
WFDB_DEFGAIN (defined in
‘<wfdb/wfdb.h>’) may be assumed.
the initial value of the associated signal (i.e., the value of sample number 0).
the signal group number. All signals in a given group are stored in the
same file. If there are two or more signals in a group, the file is
called a multiplexed signal file. Group numbers begin at 0;
WFDB_Siginfo structures are always kept ordered with respect
to the group number, so that signals belonging to the same group are
described by consecutive entries in siarray.
the signal storage format. The most commonly-used formats are format 8 (8-bit first differences), format 16 (16-bit amplitudes), and format 212 (pairs of 12-bit amplitudes bit-packed into byte triplets). See ‘<wfdb/wfdb.h>’ for a complete list of supported formats. All signals belonging to the same group must be stored in the same format.
the number of samples per frame. This is 1, for all except oversampled
signals in multi-frequency records, for which
spf may be any
positive integer. Note that non-integer values are not permitted (thus
the frame rate must be chosen such that all sampling frequencies used in
the record are integer multiples of the frame rate).
the block size, in bytes. For signal files that reside on Unix character
device special files (or their equivalents), the
indicates how many bytes must be read or written at a time
(see section Signals That Are Not Stored in Disk Files). For ordinary disk files,
bsize is zero.
All signals belonging to a given group have the same
the ADC resolution in bits. Typical ADCs have resolutions between 8 and 16 bits inclusive.
the ADC output given an input that falls exactly at the center of the
ADC range (normally 0 VDC). Bipolar ADCs produce two’s complement
output; for these,
adczero is usually zero. For the MIT DB,
however, an offset binary ADC was used, and
adczero was 1024.
the value of ADC output that would map to 0 physical units input.
The value of
adczero is not synonymous with that of
baseline (the isoelectric or physical zero level of the signal); the
baseline is a characteristic of the signal, while
adczero is a characteristic of the digitizer. The value
baseline need not necessarily lie within the output range of
the ADC; for example, if the
units are ‘degrees_Kelvin’,
and the ADC range is 200–300 degrees Kelvin,
baseline corresponds to
absolute zero, and lies well outside the range of values actually produced
by the ADC.
the number of samples in the signal. (Exception: in multi-frequency records,
nsamp is the number of samples divided by
spf, see above, i.e.,
the number of frames.) All signals in a given record must have the same
nsamp is zero, the number of samples is unspecified,
cksum (see the next item) is not used; this is useful for
specifying signals that are obtained from pipes, for which the length may not
a 16-bit checksum of all samples. This field is not usually accessed by
newheader records checksums calculated by
putvec when it creates a new ‘hea’ file, and
getvec compares checksums that it calculates against
at the end of the record, provided that the entire record was read
through without skipping samples.
The number of
WFDB_Siginfo structures in siarray is given by
the nsig argument of the functions that open signal files. Input
and output signal numbers are assigned beginning with 0 in the order in
which the signals are given in siarray. Note that input signal 0
and output signal 0 are distinct. Input signal numbers are supplied to
their first arguments. See section Example 5: Reading Signal Specifications, for an illustration of how to
read signal specifications from
|[ < ]||[ > ]||[ << ]||[ Up ]||[ >> ]|
George B. Moody (email@example.com)