Determining frequecnies from plot
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
I am working on free response of a non-linear, 2 degrees of freedom vibration system. I have developed mathematical model and implemented it in Simulink. As there are 2 DOFs, so the system's response will be something like this: x_1=10*(sin5t+cos3t) and x_2=-5*(sin5t-cos3t). I have graphs of x_1 and x_2 vs time. How can I determine the frequencies from these graphs when I don't have analytical solutions. Thanks
2 Commenti
John BG
il 22 Apr 2016
please supply a graph example so readers have an idea of the noise / interference levels that the signals have
Risposta accettata
Baltam
il 22 Apr 2016
% suppose 't' is your time vector. Ideally its length is a multiple of the periods of the signal.
% You need to try and fit an exact amount of periods into your signal to
% get good results with fft or otherwise use a very long signal
% Sampling frequency
Fs = 1/(t(2)-t(1));
% Calculate fft
x_1dft = fft(x_1);
% Only take one side of the Fourier transform
x_1dft = 2*x_1dft(1:ceil((length(x_1)+1)/2));
% Calculate the frequencies
freq = 0:Fs/length(x_1):Fs/2;
% Normalise according to length of signal
x_1dft = x_1dft/(2*length(freq));
figure,
subplot(2,1,1), plot(t,x_1), xlabel('Time [s]')
subplot(2,1,2), loglog(freq,abs(x_1dft)), xlabel('frequency [Hz]')
And the same for x_2
Good luck,
Batlam
0 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Vibration Analysis in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!