在数据分析的时候,很多人习惯使用matlab做为分析工具,matlab自带有强大的数据分析处理能力,有方便和强大的GUI绘图插件可以方便的绘制波形图、散点图、柱形图等,另外也有FFT、小波分析、神经网络等插件,给声发射的信号分析以很大的方便和提升。
1、数据的导入显示方法1,手动
声发射数据一般的厂家都有专门的格式,基本是二进制的数据保存的,如果不知道其数据格式是不能用matlab解析的。好消息是一般的厂家都提供了导出数据的功能,可以导出波形图和参数表。导出的数据可能是txt格式的、也可能是csv格式的( 可以用txt和excel打开的数据格式)。 1波形图导入导出的波形图可能是如下这样的,每行都是一个数值,每行表示一个电压点,两个点之间的时间间隔就是采集时候使用的采样率的倒数,比如用10Mpps的采样率采集数据,两个点之间的时间间隔就是1/1000000秒,0.1微秒。图:txt
操作:在界面主页导入数据->选择对应的文件->修改变量名->点击保存。图形如下,是不超简单
2、波形数据导入方法2,代码
如果文件非常多,或者要更精确的控制绘图就需要用到程序了。点击主主页新建脚本->编制如下内容%读取路径下的文件,保存到变量dataFromTxt2中dataFromTxt2 = textread('C:\Users\10580.DESKTOP-FERFBJP\Desktop\data.txt');%设置采样率,根据实际的设置sampleRate=10000000;%两点之间的时间间隔,单位是ust=1*1000000/sampleRate;%设置X轴x=t:t:size(dataFromTxt2)*t;%绘图plot(x,dataFromTxt2);xlabel('Time-us');ylabel('Amp-V');title('AE wave');
我们添加了图片的名字,添加了XY轴的标签,把X轴的坐标换成了时间
3、如果文件里面有文件头信息
有些导出数据中包含文件头,里面记录了包括采样率,到达时间,数据长度等基本信息,这些信息也是非常有用的,只需要修改读取文件的代码就可以了。%从文件读取fid=fopen('C:\Users\10580.DESKTOP-FERFBJP\Desktop\data.txt','r');%文件无法打开或者文件不存在返回if(fid==-1) return;end%将文件头的消息去掉,也可以解析之后得到有用的消息,本处示例去掉for i=1:5 fgetl(fid);end%读取一行一行的数据,写入变量dataFromTxt3dataFromTxt3=zeros(1024,1);index=1;%循环读取每一行转成数字while ~feof(fid) dataFromTxt3(index)=str2double(fgetl(fid)); index=index+1;end%后面的操作和之前一样
4、如何导入参数表
导入参数表的方式和上面一样,参数表的格式可能如下所示,每个厂家的格式可能不一样。5、根据参数表绘制散点图
%散点图% plot(count,'x')% xlabel('frame');% ylabel('count');% title('每帧的振铃计数');
6、根据参数表绘制柱形图
%柱形图% bar(energy)% xlabel('frame');% ylabel('energe');% title('每帧的能量');
7、绘制参数表之间的相关图
如下是计数和能力之间的相关图:%X计数Y能量,相关图% plot(count,energy,'or')% xlabel('count');% ylabel('energy');% title('X计数Y能量');
8、调用小波分析的功能
小波分析可以通过菜单选择,弹出小波分析的界面,有可以通过代码输入"wavemenu"弹出,这是matlab自带的小波分析工具包,功能非常的强大。