对齿轮箱数据进行故障分析【matlab】
1. 对齿轮箱数据做了hilbert分析和fft,得到包络谱,但结果不是很理想,是不是需要对信号做预处理——去趋势项,滤波一下,具体怎么做呢?2. 听说做fft前去均值效果好点,,但我做的时候怎么出现下面这种情况啊,,求高手指点,,在此感激!!
Error using-
Matrix dimensions must agree.
Error in baoluo1 (line 10)
a=a-mean(a);
代码:
clc;clear;Xt=load('F:Run_280.csv');Fs=8000;dt=1/Fs;N=length(Xt);y=hilbert(Xt);a=abs(Xt+j*y);%包络p=mean(a);a=a-mean(a);Xf=fft(a);
figure(1)subplot(2,1,1),plot(/Fs,Xt);xlabel('Time/s'),title('Time domain');grid on;
subplot(2,1,2),plot(/(N*dt),abs(Xf)*2/N);xlabel('frequency/Hz'),title('amplitude frequency diagram');ylabel('amplitude');xlim();grid on;
1.你的信号先在时域上放大看一看,求一下均值,再确定要不要做均值;
2.分段求取均值,均值变化比较大,才有可能需要去除趋势项;
3 关于代码的报错。先用一个用你说的包络算法效果很好的仿真信号,验证一下你的代码,确定代码正确表达了你的意图,然后再用实际数据去做。 maple1520 发表于 2013-5-9 17:09 static/image/common/back.gif
1.你的信号先在时域上放大看一看,求一下均值,再确定要不要做均值;
2.分段求取均值,均值变化比较大,才 ...
好的,谢谢您的提示,我试试。。。。 不知道你这个a是单通道的数据还是多通道的数据 chybeyond 发表于 2013-5-10 09:05 static/image/common/back.gif
不知道你这个a是单通道的数据还是多通道的数据
是三个通道的数据,包括输入/输出/键相信号,,,是不是要每一个通道的数据单独分析。。 本帖最后由 chybeyond 于 2013-5-10 09:24 编辑
三个通道的话就会出错,因为mean(a)最后得到的结果是一个向量,a是一个m×n的矩阵。你每个通道单独分析下。也可以用bsxfun函数,假设a的列代表通道数。x = bsxfun(@minus, a, mean(a)) chybeyond 发表于 2013-5-10 09:19 static/image/common/back.gif
三个通道的话就会出错,因为mean(a)最后得到的结果是一个向量,a是一个m×n的矩阵。你每个通道单独分析下。 ...
x = bsxfun(@minus, a, mean(a))这个是干嘛用的啊,单独分析怎样调出一组数据分析啊
华电机械 发表于 2013-5-10 09:48 static/image/common/back.gif
x = bsxfun(@minus, a, mean(a))这个是干嘛用的啊,单独分析怎样调出一组数据分析啊
我想着几个通道数据同时去均值 chybeyond 发表于 2013-5-10 09:50 static/image/common/back.gif
我想着几个通道数据同时去均值
这样做出来的得出了一大摞数据,,也有三组什么情况,能帮忙试一下吗
华电机械 发表于 2013-5-10 11:25 static/image/common/back.gif
这样做出来的得出了一大摞数据,,也有三组什么情况,能帮忙试一下吗
RNG=;
m=csvread('280.csv',0,0,RNG);用这个命令导出了第一组数据,,要用图表示怎么画出来啊,这样行吗?
clc
clear
RNG=;
m=csvread('280.csv',0,0,RNG);
x=linspace(0,1024,100);
subplot(3,1,1)
plot(x,m)
页:
[1]