基于表格化参数输入的随机振动数据分析

2024-03-08 11:16张青虎高贵福庞勇
环境技术 2024年1期
关键词:绘图时域表格

张青虎,高贵福,庞勇

(北京机电工程研究所,北京 100074)

引言

在工程中经常使用MATLAB 进行随机振动数据时域和频域分析,利用MATLAB 绘图功能将振动时域数据曲线、振动功率谱密度曲线等通过图形窗口直观显示,并在图形窗口显示数据的测量工况、通道代号、通道名称、数据说明等相关数据描述参数。

随机振动数据本质上是数字信号的一种,可利用MATLAB 数字信号处理工具箱和函数,根据具体需要编制程序进行处理。MATLAB 软件的帮助文档对数字信号处理工具箱和函数有详细的说明,可供工程技术人员参考;也有大量相关教材和书籍[1]可供参阅。各行业的工程技术人员已经总结了利用MATLAB 进行随机振动数据分析的相关经验和程序[2]。

对于少量数据、通道数不多的情况,可以直接在MATLAB 程序代码中写入需要显示的数据描述参数。对于大量的、多通道振动数据,人工输入这类数据描述参数的工作量很大,效率很低,而且程序代码很臃肿、可读性差、容易出错。

本文介绍了一种方法,利用表格软件快速高效的输入编辑功能,将相关数据描述参数保存为表格文件,在MATLAB 数据分析程序中利用专用函数,自动读取表格文件,获取相关数据描述参数并在图形窗口显示,提高了随机振动数据分析工作的效率。

该方法可广泛应用于装备环境工程、振动工程、测量与数据处理等专业领域的随机振动数据及类似数据分析,提高数据分析及数据管理[5]的工作质量,减少大量数据处理过程中的人因错误率。

1 MATLAB 随机振动数据分析基本过程

1.1 数据的整理与读取

随机振动原始数据,是随机振动加速度随时间变化过程的时域数据,由振动传感器测量,经数据采集系统记录和保存,其保存文件格式一般有mat、txt、dat、csv、xls(含xlsx)等。

在MATLAB 中可以通过Import Data 工具手动导入数据文件,也可以通过dlmread、xlsread 等函数自动读取数据文件。

load(‘*.mat’)用于读取mat 格式的数据文件。 mat格式是MATLAB 自身的数据文件存储格式,可直接读取使用。

data = dlmread(‘*.txt’,’’,1,0) 用于读取基于ASCII 码的txt、dat 格式的数据文件。需要设置参数跳过数据头部的表头、文字说明等非数据部分。

data = xlsread(‘*.xlsx’,1) 用于读取csv、 xls(含xlsx)等表格格式的数据文件。需要设置读取页数和范围。

dlmread、xlsread 读取数据文件后,生成数据矩阵用于后续分析和绘图,同时保存为mat 格式文件方便再次使用。

1.2 时域和频域分析

对随机振动数据的时域处理,主要是对数据进行预处理,包括数据有效性的确认、零漂处理、滤波、异常数据剔除等。

对随机振动数据的频域处理,选取一定时间段的时域数据,计算其功率谱密度(PSD)及总均方根值(RMS)。可用pwelch 函数计算功率谱密度,用通用公式计算总均方根值(RMS)。

计算其功率谱密度(PSD)一般用pwelch 函数,调用格式如下:

其中输入参数: x-时域信号列向量,是前述数据data 经预处理后按时间范围截取得到的数据;window-窗函数;noverlap-重叠率;nfft-FFT 变换点数;fs-采样频率;

输出参数: Pxx -PSD 列向量,f-频率列向量;

计算总均方根值(RMS)函数如下:

其中:pxxc 为Pxx 在给定频率上下限范围内的值。

将功率谱密度(PSD)及总均方根值(RMS)分析结果生成数据矩阵用于后续分析和绘图,同时保存为mat格式文件方便再次使用。

根据环境数据信息化管理的要求,将原始数据和分析结果数据进行标准化存储。

1.3 数据分析结果的图形显示

利用MATLAB 绘图功能将时域数据曲线、功率谱密度曲线通过图形窗口直观显示,并在图形窗口显示数据的测量工况、通道代号、通道名称、数据说明等相关数据描述参数。

时域数据用线性坐标显示,可用plot 函数绘图;功率谱密度属于频域数据,需要用对数坐标显示,可用loglog 函数绘图。

通过MATLAB 的图形控制函数在图形窗口显示数据描述参数。例如:

xlabel(‘频率(Hz)')显示绘图横轴名称;

ylabel(‘PSD(g^2/Hz)’)显示绘图纵轴名称;

title(‘Title’)绘制图题;

legend(‘通道功率谱xxx','参考谱xxx')绘制数据曲线说明图例;

xlim([5 500])设置横轴坐标范围;

ylim([1e-12 1e0])设置纵轴坐标范围;

text(‘谱峰值1 xxxx’)在绘图制定位置添加文字说明;

最终绘图显示效果如图1 所示。

图1 随机振动PSD 图和时域图

为实现图形窗口显示数据描述参数的功能,可以编写MATLAB 代码利用图形控制函数来实现,也可以在绘图后手动编辑绘图窗口来添加。对于少量数据、通道数不多的情况,这两种方法具有简单、灵活的优势;而对于大量的、多通道振动数据的绘图显示,则需要寻求更加快速高效的方法。

2 基于表格化参数输入的振动数据分析结果图形显示

2.1 振动数据描述参数图形显示的困难

对于少量数据、通道数不多的情况,可以直接在MATLAB 程序代码中写入需要显示的数据描述参数,甚至可以可以在绘图后手动编辑绘图窗口来添加。对于大量的、多通道振动数据,手动添加肯定是不可取的,而直接将数据描述参数写入程序代码来实现输入和显示,则工作量很大,效率很低,而且程序代码大量重复、臃肿低效、可读性差、容易出错。

如图2 所示,需要同时绘制9 个(实际工程中可多达几十个以上)测量通道的振动功率谱密度(PSD)曲线,以及一条振动参考谱曲线。不指定曲线名称时,图例中每条曲线被自动标识为data1、data2、data3……data9,可读性差。

图2 多通道汇总PSD 图

工程中测量得到的振动数据,除了每条数据中通道数量多,数据条数也很多。通常会在多种工况、多次试验中进行振动测量,每个工况、每次试验中也可能进行多次测量,或者将测量数据分成多段分别处理。可能需要处理数十条甚至数百条振动数据,每条数据中的通道名称和顺序是一致的,但是为了方便区分不同工况、试验、时段的数据,还需要在绘图中标识出每条数据的相关描述参数。通常将图2 中的图题即Title 替换为数据的工况、试验、时段等相关描述参数。

在绘图中手动添加需要的通道名称、工况、试验、时段等信息,费时费力,效率很低;而直接将数据描述参数写入程序代码,将导致代码臃肿、可读性差;而且MATLAB 代码编辑器并不擅长编辑大量字符串类型的数据描述参数,远不如专业文字或表格编辑器软件功能完善、方便高效。

因此,对于大量的、多通道振动数据的绘图显示,则需要寻求更加快速高效的方法。

经过大量振动数据分析的实践尝试和工程应用,形成了一种方法,利用表格软件快速高效的输入编辑功能,将相关数据描述参数保存为表格文件,在MATLAB 数据分析程序中利用专用函数,自动读取表格文件,获取相关数据描述参数并在图形窗口显示。

2.2 参数表格化处理

利用表格软件快速高效的输入编辑功能,将相关数据描述参数保存为表格文件。

Excel 是一种用于电子表格创建和编辑的专业软件,功能丰富,应用广泛,也可以方便地与MATLAB 软件实现交互。因此采用Excel 将相关数据描述参数保存为表格文件。

图3 为包含测量通道编号、分析通道编号、通达代号、通道名称等数据描述参数的表格文件。图4 为包含每条振动数据的工况、试验、时段等数据描述参数的表格文件。Excel 中自动扩展、自动填充等丰富的功能,便于快速高效的生成和编辑数据描述参数表格文件。将生成的表格文件以文件名“chnname.xlsx” 保存,上述两个表格分别为该文件中的Sheet1、Sheet2。

图3 数据描述参数表格文件(通道)

图4 数据描述参数表格文件(工况)

2.3 自动读取表格文件

在MATLAB 数据分析程序中利用相关函数,自动读取表格文件,获取相关数据描述参数。

在振动数据分析程序中,使用xlsread 函数读取excel表格内容,其调用格式如下:

其中输入参数:filename-表格文件名称,sheet-表格文件中的页号(sheet);

输出参数:num-表格文件中的数字,txt-表格文件中的文字内容,raw-表格文件中的所有内容。

分别读取之前创建的表格文件 “chnname.xlsx” 中的Sheet1、Sheet2,从表格中约定的列读取信息,并按照通道序号生成通道名称数组CHNNAME,按照工况序号生成工况名称数组CASENAME 等,供下一步绘图显示使用。

2.4 参数图形显示

将相关数据描述参数在图形窗口显示。

在振动分析和绘图程序中,按照通道序号读取通道名称数组CHNNAME 中对应的通道名称变量chnname,按照工况序号读取工况名称数组中的CASENAME 中对应的工况名称变量CaseName,调用title、legend、text 等图形控制函数在图形窗口的相应位置显示。

显示数据描述参数的多通道汇总时域图显示效果见图5,多通道汇总PSD 图显示效果见图6。

图5 显示数据描述参数的多通道汇总时域图

图6 显示数据描述参数的多通道汇总PSD 图

3 结论与改进

本文利用表格软件快速高效的输入编辑功能,将相关数据描述参数保存为表格文件,在MATLAB 数据分析程序中利用专用函数,自动读取表格文件,获取相关数据描述参数并在图形窗口显示,提高了随机振动数据分析工作的效率。

该方法可广泛应用于装备环境工程、振动工程、测量与数据处理等专业领域的随机振动数据及类似数据分析,提高数据分析及数据管理[5]的工作质量,减少大量数据处理过程中的人因错误率。

猜你喜欢
绘图时域表格
来自河流的你
“禾下乘凉图”绘图人
《现代临床医学》来稿表格要求
《现代临床医学》来稿表格要求
统计表格的要求
基于时域信号的三电平逆变器复合故障诊断
基于HTML5 Canvas绘图技术应用
基于极大似然准则与滚动时域估计的自适应UKF算法
基于时域逆滤波的宽带脉冲声生成技术
Surfer和ArcView结合在气象绘图中的应用