How to read National Instruments HWS waveform data file in MATLAB
Tuesday, May 22nd, 2007National 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
hdf5read('test.hws','/wfm_group0/axes/axis1/data_vector/data');
The second paramter is the HDF5 attribute for the actual dataset in the HWS file.