signal processing of vibration signal
8 views (last 30 days)
Show older comments
I have one vibration signal with sampling frequency of 1000 Hz i want to do signal processing of that when i did it my amplitude of signal after FFT is not same.
please help
clc;
clear;
close all;
%%Time Domain Plot
vib1=readtimetable("ks.csv","SampleRate",1000);
tiledlayout(3,1)
nexttile
plot(vib1.Time,vib1.Var2)
L=length(vib1.Var2);
N=2^nextpow2(L);
xlabel("Time(s)")
ylabel("Ampl(mm/s^2)")
title("Time domain analysis")
% % FFt
t=vib1.Time;
fs=1000;
delt=seconds(1/fs); %time step
Totaltime=t(end,end);
my_fft=2/N*(fft(vib1.Var2));%FFT of Signal
abs_fft=abs(my_fft); %Absolute value of fft
delf=fs/N; %Frequency Resolution
n2=0:1:N/2-1; %fft results are plotted for N/2 data points
fk=delf*n2;% frequency values
% abs_fft(1:N/2);
nexttile
plot(fk,abs_fft(1:N/2))
[v,p]=findpeaks(abs_fft(1:N/2),fk,'MinPeakHeight',1);
findpeaks(abs_fft(1:N/2),fk,'MinPeakHeight',1)
xlabel("Frequency (Hz)")
ylabel("Ampl(mm/s^2)")
title('Frequency domain analysis')
% % Spectral density
% nexttile
% pspectrum(vib1.Var2,vib1.Time,"spectrogram")
0 Comments
Answers (1)
dpb
on 4 Feb 2023
Have gone through this innumerable times -- and the fft doc gives an example of normalizing the one-sided PSD to match the time series amplitude. See the following links and discussion/examples therein --
Somewhere there's a very long conversation in which I give a myriad of examples of the effects of sampling rate and time in output resolution of both frequency and amplitude. Real world signals rarely match the sampling rate identically so that the even with a pure tone without noise the total amplitude of a single frequency bin in the FFT/PSD may not match -- the energy is spread across the nearest bins if the bin center doesn't match precisely; hence to get the total energy estimate one must integrate the peak, not just pick the peak magnitude.
1 Comment
See Also
Categories
Find more on Spectral Measurements in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!