Go to the first, previous, next, last section, table of contents.


Multi-Segment Records

A multi-segment record consists of two or more concatenated segments. Each segment is an ordinary DB record, with its own header file and signal file(s). In any given multi-segment record, all signals must appear in the same order within each segment (signals may not be omitted), and the sampling frequency of any given signal must be the same in each segment. Segments of multi-segment records must be ordinary records (it is not permitted to nest one multi-segment record within another, for example), and the length of each segment must be specified (the DB library does not impose this requirement on ordinary records that are not part of a multi-segment record). There are no other restrictions on segments; specifically, it is permitted to mix segments with different storage formats, and for any segment to appear more than once. A special header file (created either manually or by using setmsheader) specifies the record name for each segment in a multi-segment record. Once this special header exists, the multi-segment record can be read by any DB application. Note that only the signal files of the segments are "linked" by the multi-segment record's header; annotation files associated with the individual segments are not readable as part of the multi-segment record (although an annotation file associated directly with the multi-segment record can be created and read just as for an ordinary record). From the point of view of a DB application, reading a multi-segment record is exactly like reading an ordinary record; specifically, isigsettime works as expected, permitting jumps forward and backward between as well as within segments. Version 9.1 of the DB library is the first to support reading and writing multi-segment records.


Go to the first, previous, next, last section, table of contents.



George B. Moody (george@hstbme.mit.edu)