13. Data Formats¶
Name | Extension | Read | Write |
---|---|---|---|
APEX Data Acquisition | *.pkx, *.rwx | Yes | Yes |
DATX Data Acquisition | *.datx_index,*.datx_* | Yes | Yes |
Pacific Instruments | *.raw | Yes | No |
National Instruments | *.tdms, *.tdm | Yes | No |
MATLAB Binary | *.mat | Yes | Yes |
Universal File Format | *.uff, *.unv, *.bin | Yes | Yes |
Sony Data Acquisition | *.BIN | Yes | No |
TEAC Data Acquisition | *.DAT | Yes | No |
ATFX Data Format | *.atfx | Yes | No |
CDF Data Format | *.cdf | Yes | No |
APEX RAW CSV Format | *.csv | Yes | No |
Simple CSV Format | *.csv | Yes | No |
Dewesoft Format | *.d7d, *.dxd | Yes | No |
DEWETRON Format | *.dmd | Yes | No |
HDF5 Format | *.h5 | Yes | No |
APEX CSV Export Formats |
---|
Time |
Time w/ Parameters |
Parameters |
Spectrum CSV |
Spectrum Envelope |
Spectrum Average |
Extended Envelope |
Peaks |
Order Peaks |
13.1. APEX Data Acquisition¶
Peak Domain (*.pkx, *.pks)
Time domain data may or may not be available. If time domain data is available it is on a decimated basis. PKX files support channel dependent sample rates.
Time Domain (*.rwx, *.raw)
RWX files support channel dependent sample rates
13.2. DATX Data Acquisition¶
CATS (*.cats_index, *.c*) Time Domain
All associated individual channel files are supported directly through the index file. Individual channel files are also supported by selecting the channel file(s) desired.
DATX (*.datx_index, *.datx_*) Time Domain
All associated A/D brick files are supported directly through the index file. Individual A/D brick files are also supported by selecting the A/D brick file(s) desired.
Channels in CATS/DATX files are assigned the following processing options by default:
- Channels that have a valid tach ratio are interpreted as a rotational velocity and are processed as parameters.
- All signals are AC coupled.
- Signals are processed with a Base Block Rate of 2048.
- Signals are processed with the Blackman-Harris FFT window.
Note
All information from a datx file is extracted from the binary datx files not the datx_index
DATX Keyword Mappings to APEX Datapoint Information | ||
DATX Keyword(s) | DATX Example | Apex Setting |
channel_# | channel_#=1 | Channel # |
channel_label | channel_label=N1 | Signal or Parameter Name |
display_units | display_units=RPM | Units |
display_scale_type | display_scale_type=Peak-Peak | FFT Scaling |
cal_coeff_1 | cal_coeff_1=0 | EUB (offset) |
cal_coeff_2 | cal_coeff_2=7.8242 | EUA (scalar) |
sample_rate | sample_rate=65536 | Channel sample rate |
test_date_time | test_date_time=20-Nov-2015 19:37:49.382 | Start Time |
test_description | test_description=sample_tes | Data Point Info, “dplnfo” |
test_id | test_id=1423 | Data Point Number (if numeric), “dpNumber” |
test_number | test_number=1423 | Data Point Number (if numeric) |
test_operator | test_operator=t1166_r02 | Operator Name |
test_location | test_location=VILLAROCHE | Test Site |
YYYYMMDD HHMMSS+engine_type | 20141125-171904A | Test ID, “testld” |
specimen_model | X848 | Test Article Model, “model” |
specimen_name specimen_build | SILVERCREST-1A | Serial Number |
config_description | APEX 64-CHANNEL SYSTEM | Test Info, “testInfo” |
part_no/id | ABC-123 | Test Article, “testArticle” |
specimen_buile | 01 | Build, “build” |
13.3. Pacific Instruments¶
RAW (*.RAW) Time Domain
13.4. National Instruments¶
The NI TDMS File Format
TDM (*.tdms, *.tdm) Time Domain
Note
DX does not support multi sample rate tdms files and the ‘wf_increment’ property is required for processing
13.5. MATLAB Binary¶
Note
A installation of the MATLAB runtime is required to use MATLAB files. Visit https://www.mathworks.com/products/compiler/mcr.html to download. R2015b 9.0 64bit is the recommended version and has been tested on Windows and Linux. Other versions may or may not work.
Note
Multiple sample rates are supported however they must be power of two multiple of each other.
MAT (*.mat) Time Domain
Binary MATLAB files are supported, however, the format defined below is required. MAT signal files are not required to have all channels sampled at the same rate.
Note
For MATLAB files to be supported you must provide the MATLAB dlls, DX will look for the dlls in the default locations and if they are available load them.
Each channel must be defined within a structure with the name “Signal”. The size of the structure is equal to the number of channels., i.e., Signal(1), Signal(2), …, Signal(n) where n is the number of signals. The SampleRate and Data fields are required, all other fields are optional.
The fields defined below are imported, however, additional fields are permitted to be defined in the Signal structure.
.SampleRate (required)
- Property: Sample rate
- Format: Integer
- Default: N/A
- Notes: none
.Data (required)
- Purpose: Data vector
- Format: Double, int16, int32
- Default: N/A
- Notes: EUA & EUB (if applicable) are applied to convert to engineering units
.BlockSize (optional)
- Purpose: Set the base block size
- Format: Integer
- Default: 1024
- Notes: Must be a power of 2 and only read from first signal in file, field is ignored for all subsequent signals.
.Name (optional)
- Purpose: Channel name
- Format: Character
- Default: ChannnelXXX where XXX represents a 3 digit integer automatically sequenced
- Notes: none
.Type (optional)
- Purpose: Channel type: AC or DC
- Format: Character.
- Default: DC
- Notes: none
.EUA (optional)
- Purpose: Coefficient for converting the channel from voltage to engineering units
- Format: Double
- Default: 1.0
- Notes: none
.EUB (optional)
- Purpose: Channel offset for converting from voltage to engineering units.
- Format: Float
- Default: 0.0
- Notes: Only applicable for channels of type “DC”
.Range (optional)
- Purpose: Response range of the channel in engineering units
- Format: Double
- Default: Set individually for each channel
- Notes: none
.Threshold (optional)
- Purpose: Threshold for peak extraction in engineering units
- Format: Double
- Default: 0.0
- Notes: none
.FFTwindow (optional)
- Purpose: FFT window
- Format: Character
- Default: BlackmanHarris
- Notes: Rectangular, FlatTop, Hanning, Hamming, Rectangular, BlackmanHarris are valid entries and are not case sensitive
.FFTscaling (optional)
- Purpose: Scaling for reporting of peak values
- Format: Character
- Default: Pk2Pk
- Notes: Pk2Pk, Pk and RMS are valid entries and are not case sensitive
.Label (optional)
- Purpose: Label for plotting
- Format: Character
- Default: Volts
- Notes: This is typically the units, i.e., volts, psi, ksi, gs, etc.
The following MATLAB code generates a valid structure for import within DX:
Signal(1).BlockSize = 2048;
Signal(1).SampleRate = 8192;
Signal(2).SampleRate = 8192;
Signal(3).SampleRate = 8192;
%
Signal(1).Name = 'Channel000';
Signal(2).Name = 'Signal 2';
Signal(3).Name = 'Signal 3';
%
Signal(1).Type = 'DC';
Signal(2).Type = 'AC';
Signal(3).Type = 'DC';
%
Signal(1).EUA = 1.0;
Signal(2).EUA = 10.0;
Signal(3).EUA = 100.0;
%
Signal(1).EUB = 6;
Signal(2).EUB = 0;
Signal(3).EUB = 0;
%
Signal(1).Range = 10;
Signal(2).Range = 12;
Signal(3).Range = 7;
%
Signal(1).Threshold = 0;
Signal(2).Threshold = 0;
Signal(3).Threshold = 0;
%
Signal(1).FFTwindow = 'BlackmanHarris';
Signal(2).FFTwindow = 'FlatTop';
Signal(3).FFTwindow = 'Rectangular';
%
Signal(1).FFTscaling = 'Pk2Pk';
Signal(2).FFTscaling = 'Pk';
Signal(3).FFTscaling = 'RMS';
%
Signal(1).Label = 'Volts';
Signal(2).Label = 'MicroStrain';
Signal(3).Label = 'MPa';
%
Signal(1).Data = data(:,1);
Signal(2).Data = data(:,2);
Signal(3).Data = data(:,3);
13.6. Universal File Format¶
UFF (*.uff, *.unv, *.bin)
Only files of type 58 and 58b.
Note
DX does not support multi sample rate UFF files, or files with complex numbers.
13.7. Sony Data Acquisition¶
Binary (*.BIN) Time Domain
13.8. TEAC Data Acquisition¶
Binary (*.DAT) Time Domain
13.9. CDF Data Format¶
Binary (*.cdf) Common Data Format
13.10. ATFX Data Format¶
ASAM Transport Format in XML (*.atfx)
13.11. APEX RAW CSV Format¶
APEX Raw CSV Format (*.csv)
Note
The example csv and those exported by DX contain the columns IRIG, Time and Block. These are created as a convenience for the exported CSV. Upon re-import these columns are not used in any way to determine the time stamp or time delta between samples. The initial time is set by the Test Date field and the subsequent samples are calculated based on the Sample Frequency and number of samples.
Note
Additional text (comments or related) can be appended to a keyword line so long as the Data Type is not a List (csv), Option List excluded.
The Raw CSV format defines the file meta data at the begining of the file using keyword value pairs. This section (the header) is indicated by the ‘#’ character. It is expected that there exists a contiguous set of lines that begin with the ‘#’ character. After the last ‘#’ it is expected that the comma seperated values to start. The keyword value pairs are not read in a specific order and can occur in any order in the header. Any lines starting with the ‘#’ character that do not match a keyword as specified will be ignored.
Keyword | Data Type | Example | Note |
---|---|---|---|
Version | Float | 1.0 | Must be 1.0 |
Test ID | String | T10001 | |
Test Date | Custom | 02-Feb-2014 15:15:15.125 | sscanf(string, “%2d-%3c-%4d %2d:%2d:%lf”, &day, mon, &year, &hour, &mins, &secs); |
Datapoint | Integer | 1000 | |
Datapoint Info | String | My test point | |
Article Model | String | XF10191 | |
Serial Number | String | 0010571A | |
Stand | String | TS011 | |
Operator | String | Joe | |
Sample Frequency | Float | 10240 | This determines absolute time of sample when combined with Test Date (See Note) |
Block Size | Integer | 1024 | Must be a power of 2 and only read from first signal in file, field is ignored for all subsequent signals. |
Data Start Column | Integer | 4 | Count starts at 1 not 0 |
Num Blocks | Integer | 899 | Determines how many samples are read when combined with Block Size |
Parameter Count | Integer | 2 | Number of parameters defined, these must begin a the Data Start Column |
Parameter Names | String List | P0001,P0002 | List must match Parameter count length |
Parameter Units | String List | PSI,PSI | List must match Parameter count length |
Parameter Range | Int List | 0-100,0-1000 | List must match Parameter count length, sscanf(string, “%d-%d”, &min, &max) |
Channel Count | Integer | 2 | Number of channels (signals) defined, these must begin after the parameters. |
Channel Names | String List | CH0,CH1 | List must match Channel count length |
Channel Units | String List | g,g | List must match Channel count length |
Channel EUA | Float List | 1.0,1.0 | List must match Channel count length |
Channel EUB | Float List | 0.0,0.0 | List must match Channel count length |
Channel Mode | String Option List | Counts, Counts | Must be either “Volts” or “Counts” |
Channel Scaling | String Option List | Single Peak,Single Peak | Must be either “Single Peak” or “P2P” or “RMS” |
Channel Range | Float List | 10,10 | List must match Channel count length, range will be set to +- value specified |
Channel Type | String Option List | DC,DC | List must match Channel count length, must be “AC” or “DC” |
Channel Window | String Option List | flattop, flattop | List must match Channel count length, must be “flattop” or “rectangular” or “gaussian” or “hamming” or “blackman harris” |
** EXAMPLE **
# APEX CSV Format
# Version, 1.0
# Datapoint info:
# Test ID,"Test Data"
# Test Date,"02-Feb-2014 15:15:15.125"
# Datapoint,"000001A"
# Datapoint Info,"Ambient P2"
# Article Model,""
# Serial Number,""
# Stand,""
# Operator,"joeuser"
# File Info
# Sample Frequency,20480.00
# Block Size,2048
# Num Blocks,1200
# Data Column Start,4 // CSV column where the first parameter or channel data begins
# Parameter info:
# Parameter Count,2
# Parameter Names,"N","P2A"
# Parameter Units,RPM,PSI
# Parameter Range,0-15000,10-20
# Channel info:
# Channel Count,8
# Channel Names,"SG01A","SG01B","SG05C","SG05D","SG10A","SG10B","SG15C","SG15D"
# Channel Units,KSI,KSI,KSI,KSI,KSI,KSI,KSI,KSI
# Channel EU Mode,Counts,Counts,Counts,Counts,Counts,Counts,Counts,Counts // Options Counts or Volts
# Channel Type,DC,DC,DC,DC,DC,DC,DC,DC // AC
# Channel EUA,1,1,1,1,1,1,1,1
# Channel EUB,0,0,0,0,0,0,0,0
# Channel Window,BlackmanHarris,BlackmanHarris,BlackmanHarris,BlackmanHarris,BlackmanHarris,BlackmanHarris,BlackmanHarris,BlackmanHarris // Rectangular, FlatTop, Hanning, Hamming, Rectangular, BlackmanHarris
# Channel Range,200,200,200,200,200,200,200,200
# Channel Scaling,Single Peak,Single Peak,Single Peak,Single Peak,Single Peak,Single Peak,Single Peak,Single Peak // Options 'Single Peak', 'P2P', 'RMS'
#IRIG, Time, Block,N (RPM),P2A (PSI),SG01A (KSI),SG01B (KSI),SG05C (KSI),SG05D (KSI),SG10A (KSI),SG10B (KSI),SG15C (KSI),SG15D (KSI)
2014:059:15:12:36.000000, 0.000000, 0, 1513.300537,15.000000,-2.294922,-0.903320,-1.098633,-2.087402,-2.227783,-0.915527,-1.177979,-2.099609,
2014:059:15:12:36.000048, 0.000049, 0, 1513.300537,15.000000,-2.075195,-0.738525,-0.891113,-1.647949,-2.008057,-0.744629,-0.952148,-1.647949,
2014:059:15:12:36.000097, 0.000098, 0, 1513.300537,15.000000,-1.770020,-0.500488,-0.585938,-1.013184,-1.702881,-0.506592,-0.622559,-0.988770,
...
13.12. Simple CSV Format¶
Simple CSV Format (*.csv)
A simplified CSV reader, first line is the header which the first column must be “Time” followed by channel names.
Example
Time,Chan1,Chan2,Chan3
0.0,0,0.112842,0.174073
0.15,0.0212,0.090273,0.108795
0.30,0.0212,0.067705,0.043518
0.45,-0.042401,0.157979,0.065277
13.13. APEX CSV Export Formats¶
- Time CSV - outputs signal data in CSV format at each time sample.
- Time w/ Parameters CSV file - outputs signal and parameter data in CSV format. Parameters are processed block-by-block, therefore all parameters are constant over a block.
- Spectrum CSV - Outputs the spectrum for all magnitudes above the threshold for each block. Spectra are are at the lines of resolution and not parabolically interpolated.
- Spectrum Envelope CSV - Single spectra for the entire data point. Spectra are are at the lines of resolution and not parabolically interpolated.
- Spectrum Average CSV
- Extended Envelope CSV - Same as Spectrum Envelope with the additional information: Time at which peak occurs, Time domain Pk-to-Pk value for the block at which the peak occurs, Time domain Mxi (Max Instantaneous, if available) peak value for the block at which the peak occurs, Time domain RMS peak value for the block at which the peak occurs.
- Parameters CSV - Parameters only
- Peaks CSV - Parabolically interpolated peaks.
13.14. Dewesoft Data Acquisition¶
d7d (*.d7d) Time Domain dxd (*.dxd) Time Domain
13.15. DEWETRON DMD Format¶
dmd (*.dmd) Time Domain
DEWETRON OXYGEN DMD data format
Data Types | Supported |
---|---|
DMDReader_SAMPLETYPE_DOUBLE | Yes |
DMDReader_SAMPLETYPE_REDUCED | No |
DMDReader_SAMPLETYPE_SINT32 | No |
DMDReader_SAMPLETYPE_DOUBLE_VECTOR | No |
DMDReader_SAMPLETYPE_COMPLEX_VECTOR | No |
Note
Windows Only
13.16. Hierarchical Data Format 5¶
HDF5 (*.h5) Time Domain
File Metadata:
[“multi” indicates auto conversion of H5T_INTEGER”, H5T_FLOAT or H5T_STRING]
Field | HDF5 Type | Usage in APEX Setup | Notes |
---|---|---|---|
DELTA_SEC | H5T_INTEGER | Sets sample rate | |
ACQUISITION_DATE | H5T_INTEGER | Sets year month day | %4d%2d%2d, &year, &month, &day |
ACQUISITION_TIME | H5T_INTEGER | Sets hour minute second | %2d%2d%2d, &hour, &minute, &second |
TEST_ARTICLE | multi | Sets File Data Point “Engine” | |
TEST_ARTICLE_SN | multi | Sets File Data Point “Engine Info” | |
TEST_CELL | multi | Sets File Data Point “Test Cell” | |
TEST_CENTER | multi | Sets File Data Point “Test Facility” | |
TEST_NUM | multi | Sets File Data Point “DP Number” |
Channel Metadata:
UNITS | H5T_STRING | Sets Unit Name |
---|---|---|
MAX | H5T_STRING | Sets Max Range |
MIN | H5T_STRING | Sets Min Range |
Channel Data Types:
HDF5 Type | Byte order |
---|---|
H5T_FLOAT | H5T_ORDER_LE |
H5T_FLOAT | H5T_ORDER_BE |
H5T_INTEGER | H5T_ORDER_LE |
H5T_INTEGER | H5T_ORDER_BE |