Archive for May 22nd, 2007

How to read National Instruments HWS waveform data file in MATLAB

Tuesday, May 22nd, 2007

National Instrument High Speed DIO drivers can read and write a specialized file format HWS (Hierarchical Waveform Storage). It is actually a subset implementation of the famous HDF5, which is best data format for large scientific data (we are talking about terabytes here).

Anyway, as I started playing with .hws file a bit more, I found it quite easy to use, and because it is based on HDF5, I can use any software that supports HDF5 to open the HWS file! And, no surprise here, MATLAB, from ver 6.5, has functions to read and write HDF files.

However, MATLAB’s hdf5read() function requires an unique dataset attribute for the data that you want to load from the HDF5 file. So, to read the NI-HWS file, we need to figure out the dataset attribute. Using HDF Explorer and HDF Viewer application, I was able to find the correct attribute to read the HWS file in MATLAB. Here it is


The second paramter is the HDF5 attribute for the actual dataset in the HWS file.