1 数据读取程序设计

对于大多数用户,MATLAB函数load和save为装载和存储数据提供了足够的工具。利用以扩展名为.mat结尾的文件名,load和save假定数据是以与平台无关的二进制格式保存,或者用称之为flat的ASCII文件格式保存。当文件格式非flat ASCII或.mat时,MATLAB提供了基于C语言的低级文件I/O函数。用这些低级文件I/O函数,MATIAB可以读写任意文件格式。

该压力仪的数据处理软件默认采集数据的存储格式为.dpr格式,此数据格式并不是MATLAB可以直接读取的数据格式,因此需要用MATLAB的低级文件I/O函数对采集数据进行读取。通常情况下,在使用MATLAB对文件进行读取时,需要知道所读取文件数据的长度和存储精度,而.dpr格式测试数据的存储状态事先并不清楚,所以需要用不同精度格式对此文件进行尝试性判读。通过判读可知:此文件需要分别用‘*char’、‘long’和‘short’三种格式进行读取,其中用‘short’格式读取的数据是采集到的4 194 304个超压信号数据。图1为.dpr文件的读取流程。其中,P为压力仪采集到的超压数据,T为超压数据所对应的采集时刻。

基于MATLAB7.0中GUIDE模板编制实现爆炸冲击波超压测试仪的GUl开发

图2为用该程序读取的超压数据和用压力仪自带软件读取的超压数据对比图。其中,上部分为用压力仪自带程序读出的超压数据,下部分为用MATLAB编程读取到的超压数据。可以看到用MATLAB程序读取到的超压数据和压力仪自带软件读取的超压数据完全一致,这样就町以对采集到的超压数据进行进一步分析处理。