FFT of bearing signal

15 ビュー (過去 30 日間)
Eris Prifti
Eris Prifti 2023 年 8 月 2 日
コメント済み: Jon 2023 年 8 月 15 日
Hi everyone, i have a problem : when i do the fft of a signal i don't see the first harmonic , instead the fft show the first harmonic multiplied for 3. In fact my fundamental harmonic is 16,66 Hz e when i do the FFT it show 49,80 Hz. Is possible this? I insert the code and the signal on this. Also the sampling frequency is 10kHz.
S=size(N);
L2=S(1,1);
NFFT= 2^nextpow2(L2);
Y=fft(N,NFFT)/L2;
f1=f/2*linspace(0,1,NFFT/2+1);
f2=2*abs(Y(1:NFFT/2+1));
  4 件のコメント
Jon
Jon 2023 年 8 月 2 日
I'm not seeing anything in either your attached code or data file that indicates what the sampling frequency is. I don't know how you can scale the fft in Hz without knowing the sampling frequency.
Also in your attached code, you reference a variable called N, but the attached data file only has one column of data named x11. You also don't tell us the value of f in your code, is that the sampling frequency? If so what is it's value?
Eris Prifti
Eris Prifti 2023 年 8 月 2 日
Sorry,
for fs is 10Khz and N indicate the size of the column named x11. I hope this is sufficiente
S=size(x11);
Unrecognized function or variable 'x11'.
L2=S(1,1);
NFFT= 2^nextpow2(L2);
Y=fft(x11,NFFT)/L2;
f1=fs/2*linspace(0,1,NFFT/2+1);
f2=2*abs(Y(1:NFFT/2+1));

サインインしてコメントする。

採用された回答

Jon
Jon 2023 年 8 月 2 日
In the attached code, I independently calculated the spectrum and compared to your calculation. It seems correct that your data has a very strong component at 50 Hz and higher harmonics of 50 Hz. Note also in the time domain plot, the 0.02 second period (50 Hz) oscillation is clearly visible. This gives added confidence that the scaling is correct. I also see a smaller peak at approx. 28 Hz. I agree that there is nothing significant at harmonics of the rotating frequency, which you report as 1000rev/min*1 min/60s = 16.667 Hz.
So either there is extremely little imbalance in the shaft, or perhaps the shaft frequency is not actually 1000 rpm. Regarding the 50Hz component, are you in a country where the electrical line frequency is 50 Hz. If so you are likely picking up "hum" from the power supply, or nearby power lines.
% % % S=size(N);
% % % L2=S(1,1);
% % % NFFT= 2^nextpow2(L2);
% % % Y=fft(N,NFFT)/L2;
% % % f1=f/2*linspace(0,1,NFFT/2+1);
% % % f2=2*abs(Y(1:NFFT/2+1));
% Assign parameters
fs = 10e3; % sampling frequency
% Load data from data file, data is in x11
load('vettore.mat')
% Find the length of the signal
L = numel(x11);
% Make sure that length of signal is even, if it isn't throw away last
% value to make it even
if rem(L,2)~=0
x11 = x11(1:end-1);
L = L-1;
end
% Compute the fft
Y = fft(x11);
% Compute the two sided spectrum P2
P2 = abs(Y/L);
% Compute the single sided spectrum P1
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);
% Define the frequency domain f and plot the single sided spectrum, P1
f = fs*(0:(L/2))/L;
% Plot results
% Plot the time domain signal
t = (0:L-1)*1/fs;
figure
plot(t,x11)
xlabel("time [s]")
ylabel("x11")
title("time domain signal x11")
xlim([0,0.1]); % zoom in
% Plot spectrum
figure
plot(f,P1)
title("Single-Sided Amplitude Spectrum of X(t)")
xlabel("f [Hz]")
ylabel("|P1(f)|")
xlim([0,300])
% Compare to OP's code
S=size(x11);
L2=S(1,1);
NFFT= 2^nextpow2(L2);
Y=fft(x11,NFFT)/L2;
f1=fs/2*linspace(0,1,NFFT/2+1);
f2=2*abs(Y(1:NFFT/2+1));
figure
plot(f1,f2)
title("OP's Spectrum")
xlabel("frequency [Hz]")
ylabel("Magnitude")
xlim([0,300])
  16 件のコメント
Eris Prifti
Eris Prifti 2023 年 8 月 11 日
Hi jon,
i have another question : is possible to impement a Homomorphic filtering demodulation for signal like bearing in matlab and can you write the code if possible pls?
Jon
Jon 2023 年 8 月 15 日
Sorry, I'm not familiar with that technique. In general, I can offer you advice on particular problems you are having, but don't have time to write actual applications for people. If you start to work on your Homomorphic demodulation, and have specific MATLAB problems please open up a new question so others can see it and help you.

サインインしてコメントする。

その他の回答 (1 件)

Eris Prifti
Eris Prifti 2023 年 8 月 3 日
Hi david,
the 50 Hz is the hum frequency of my electrical line frequency . Is possible to filter this harmonic and its harmonics?
  1 件のコメント
Jon
Jon 2023 年 8 月 3 日
To keep the flow of this thread, it would be better to please put this as a comment to an anwer, rather than as an answer to your own question.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeSingle-Rate Filters についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by