|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
我在做轴承故障诊断,用共振解调法,带通滤波想得到1k-2khz的信号,结果貌似不对啊,怎么2k以后还有那么多信号呢?我的程序和数据如下:
clc;
clear;
close all;
fs = 5120;%采样频率
N = 10240;%采样点数
n=0:N-1;
good = importdata('D:\2.TXT') %下载数据 外圈剥离
A=good(:,1); B=good(:,2)
figure(1)
subplot(211)
plot(A,B) %测点1时域图
title('测点一时域波形');
ylabel('振幅/m/s^2');
xlabel('时间/s');
grid on;
fft_plot_Hz = fs*(1:N/2)/N;
fft_result = abs(fft(B) )* 2 / N
subplot(212)
plot(fft_plot_Hz,fft_result(1:N/2))
title('测点一频域波形');
ylabel('振幅/m/s^2');
xlabel('频率/Hz');
grid on;
m=1;
data=B;
a=polyfit(A,B,m); %计算多项式待定系数向量a
y=B-polyval(a,A); %用x减去多项式系数a生成的趋势项
figure(2)
plot(A,y)
title('去除趋势项后')
xlim([0 2])
grid on;
%带通滤波
[b,a]=butter(4,[0.390625,0.78125]);
filter_data = filter(b,a,y);
fftfilter_data=abs(fft(filter_data))*2/N
figure(3)
subplot(211)
plot(A,filter_data)
xlim([0 2])
title('带通滤波后时域')
subplot(212)
plot(fft_plot_Hz,fftfilter_data(1:N/2))
title('带通滤波后频域')
|
|