古德林 发表于 2015-6-2 20:48

振动信号时域同步平均

求振动信号时域同步平均matlab程序,谢谢!

802355uu 发表于 2017-5-14 10:37

阿呦,同求呀!仿真的也行呀

Posion 发表于 2017-5-15 10:15

N=2621440;
n=1:N;
fs=131072;
t=1/fs:1/fs:N/fs;
x3=data3(n);
nfft=2^nextpow2(length(x3));
y3=fft(x3,nfft);
magy3=abs(y3(1:N/2));
figure(1);
subplot(211);plot(t,x3);title('data3 time domain before the TSA')
subplot(212);plot(magy3(1:N/2));title('data3 frequency domain before the TSA')
fs1=135168; % 数据长度
xx3=zeros(1,fs1); % 用于存储时域平均后的数据
m1=1;
m2=fs1;
nnnn=fix(N/fs1); % 确定分段数
% 将数据分成 nnnn 段,并求和,将和存储于 xx 中
for nnn=1:nnnn
xxx3=x3(1:fs1);
xx3=xx3+xxx3;
m1=m1+fs1;
m2=m2+fs1;
end
nfft1=2^nextpow2(length(fs1));
yy3=fft(xx3,fs1);
magyy3=abs(yy3);
t1=1/fs:1/fs:N/fs*fs1/N;
xx3=xx3/nnnn; % 对数据进行平均
% 绘制时域平均后的波形
figure(2)
subplot(211)
title('data3 time domain after the TSA')
plot(t1,xx3)
subplot(212)
plot(magyy3(1:fs1/2));
title('frequency domain after the TSA')
figure(3)
plot(magyy3(1:900));

cty635788032 发表于 2017-5-15 23:51


Apologize 发表于 2017-5-16 16:52

cty635788032 发表于 2017-5-15 23:51


什么?

802355uu 发表于 2017-7-29 21:50

clc
clear all
close all
N=200;
f0=10;
fs=100;
ts=1/fs;
tscale=*ts;
sig1=sin(2*pi*f0*tscale);
xmax=max(sig1);
subplot(3,2,1)
plot(tscale,sig1,'b')   
title('这是一个正弦函数');
xlabel('时间 /s');
ylabel('幅值 /mm');   
ylim([-2*xmax 2*xmax]);
sum=0;
for k=2:1:5;
    sig0=0.3*randn(N,1);
    sigk=sig1+sig0';
    sum=sum+sigk;
    subplot(3,2,k)
plot(tscale,sigk,'k')
end
sig0=sum/4;
subplot(3,2,6)
plot(tscale,sig0,'r')

802355uu 发表于 2017-7-29 21:51

802355uu 发表于 2017-7-29 21:50
clc
clear all
close all


这是个仿真,可以仿着调试
页: [1]
查看完整版本: 振动信号时域同步平均