振动信号的时域和频域特征保存与分析平台推荐(matlab,dataframe)

提示:振动信号的时域和频域特征保存与分析平台推荐


1,振动信号的频域分析

对振动信号的傅里叶变换和包络变换,并对各个频段的可视化与分析具有重要的意义。具体而言对振动信号的频域的分析,有利于判断故障的类型和故障的位置。

1.1,将振动信号保存为.mat文件

import numpy as np
import scipy.io as sio

# 创建一个示例变量
data = np.array([[1, 2, 3], [4, 5, 6]])
data_hang = np.array(["hang1", "hang2"])
data_lie = np.array(["lie1", "lie2", "lie3"])
# 将变量保存为.mat文件
sio.savemat('data.mat', {'data:': data, "hang:": data_hang, "lie:": data_lie})

# 从.mat文件中读取变量
mat_data = sio.loadmat('data.mat')
# 打印读取的变量值
print(mat_data['data:'])
print(mat_data["hang:"])
print(mat_data["lie:"])

1.2,用matlab读取.mat文件,并对振动信号分析

close all;

data_load = load('D:\desktop\faut_data\一棒数据1\result_health\13H_1_dev1014_ac1213.mat');

data_load_time = data_load.time(1,:);
data_load_speed = data_load.speed(1,:);
data_load_vibratory = data_load.vibratory;

% data_len = size(data_load_time,2);
[hang,lie] = size(data_load_vibratory);


% 定义x和y的值
num = 6;
x = 1:1:lie; 
x = x / 25600;
y = data_load_vibratory(num,:); 
 
% 使用plot函数绘制曲线
plot(x, y);
 
% 添加标题和轴标签
title(['时间:',num2str(data_load_time(num)),'   速度:',num2str(data_load_speed(num))]);
xlabel('s');
ylabel('mm/s^2');
 
% 显示网格
grid on;
 
% 保持图像开启,以便进一步编辑或保存
hold on;

2,振动信号的时域和频域统计特征分析

利用振动信号提取的时域和频域的统计特征可以对故障的有无做准确的判断,但是对于故障的类型的判断,可以作为辅助。

2.1,振动信号的时域和频域统计特征提取

以后补充

2.2,保存和读取.csv文件

import pandas as pd
import numpy as np
from sklearn import datasets

# 创建一个二维numpy数组
iris = datasets.load_iris()
iris_data = iris.data
iris_target = iris.target
iris_target_name = iris.target_names
iris_feature_name = iris.feature_names

# 将numpy数组转换为pandas DataFrame
df = pd.DataFrame(iris_data, columns=np.array(["特诊1", "特征2", "特征3", "特征4"]), index=iris_target)
# colums:列名,index:行名
print(df)

# 将DataFrame保存为CSV文件
df.to_csv('output.csv', encoding="utf_8_sig")
# encoding='gbk',encoding='utf-8',encoding='latin1',encoding='GBK',encoding="utf_8_sig"

# 读取CSV文件
read_df = pd.read_csv('output.csv')

# 打印读取的DataFrame
print(read_df)

read_df_data = read_df.values[:, 1:]  # 数据
read_df_colum = read_df.columns.values[1:]  # 列名
read_df_index = read_df.values[:, 0]  # 行名

print("hello world")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值