Navigation:  Menu Commands > File Menu > Open command >

Nicolet Waveform File Specification Format

Print this Topic Previous pageReturn to chapter overviewNext page

This file format is created with the the Nicolet System 400 Digital Oscilloscope.

These files consist of a header block followed by data representing measured voltage. The header structure used in these files is defined below:

typedef struct tagHEADER {

char    Nic_id0[2];              /* 3 indicates Intel

                                    byte ordering     */

char    Nic_id1[2];              /* 1 indicates time domain

                                   (rather than frequency */

char    Nic_id2[2];

char    User_id[2];

char    Header_size[12];

char    File_size[12];

char    File_format_version[12];

char    Waveform_title[81];

char    Date_year[3];

char    Date_month[3];

char    Date_day[3];

char    Time[12];

char    Data_Count[12];          /* Number of raw data values */

char    Vertical_zero[12];

char    Vertical_norm[24];

char    User_vertical_zero[24];

char    User_vertical_norm[24];

char    User_vertical_label[11];

char    User_horizontal_zero[24];

char    User_horizontal_norm[24];

char    User_horizontal_label[11];

char    User_Notes[129];

char    Audit[196];

char    Nicolet_Digitizer_Type[21];

char    Bytes_per_data_point[3]; /* Must be 2 for DPlot */

char    Resolution[3];

char    Forward_link[81];

char    Backward_link[81];

char    Process_flag[3];

char    Data_compression[3];

char    Number_of_segments[12];

char    Length_of_each_segment[12];

char    Number_of_timebases[12];

char    Reserved_1[156];

char    Length_of_zone_1[12];

char    Horiz_norm_zone_1[24];

char    Horiz_zero_zone_1[24];

char    Length_of_zone_2[12];   /* Must be null char for DPlot */

char    Horiz_norm_zone_2[24];

char    Horiz_zero_zone_2[24];

char    Length_of_zone_3[12];   /* Must be null char for DPlot */

char    Horiz_norm_zone_3[24];

char    Horiz_zero_zone_3[24];

char    Reserved_2[332];

char    End_of_HDELTAS[1];

char    End_of_readable_file[1];


Raw data starts immediately after the header, or at the offset specified by the Header_size member of the header. Time values and Engineering units for the i'th data point are determined by:

Time = ((float(i)*Horizontal_Norm) + Horizontal_Zero ) *

       User_Horizontal_Norm + User_Horizontal_Zero;

Y    = ((float(RawData)-Vertical_Zero ) * Vertical_Norm ) *

       User_Vertical_Norm + User_Vertical_Zero;

where Horizontal_Norm, Horizontal_Zero, User_Horizontal_Norm, User_Horizontal_Zero, Vertical_Norm, Vertical_Zero, User_Vertical_Norm, and User_Vertical_Zero have been translated from the corresponding character strings in the header to floating point numbers.



Page url: