Frf,Modal analysis, Naturel frequencies

7 views (last 30 days)
Gloria
Gloria on 30 Dec 2020
Commented: Gloria on 31 Dec 2020
Hi;
I have experiment data for time depending force and displacement values.
I need to plot Displacement (dB) - frequency grapf. what should be my x-axis?
B1=xlsread('frf.xlsx',1);
a = B1(1:50001,5:5);
ffa = fft(a);
F = B1(1:50001,6:6);
fff = fft(F);
H=ffa./fff;
aH =abs(H);
t_step=0.0002;
ts=1/t_step;
semilogy(aH)
  1 Comment
Mathieu NOE
Mathieu NOE on 30 Dec 2020
hello
your method for converting from time to frequency is not the best
consider using tfestimate
[Txy,F] = tfestimate(X,Y,WINDOW,NOVERLAP,NFFT,Fs) returns the transfer
function estimate as a function of physical frequency. Fs is the
sampling frequency specified in hertz. If Fs is empty, it defaults to
1 Hz.
you will get the frequency vector F that is your x axis vector
Txy is a complex (vector) that you can convert to magnitude and phase like a Bode plot

Sign in to comment.

Answers (1)

Gloria
Gloria on 31 Dec 2020
I appreciate your help, thank you!
It didn't work. I guess I have a mistake.
Txy values seem as a Nan+Nani
It is also good to know Fs can be 1 Hz. I also have data with 1 Hz
B1=xlsread('frf.xlsx',1);
Y = B1(1:50001,5:5);
X = B1(1:50001,6:6);
Fs=2500;
[Txy,F] = tfestimate(X,Y,50001,[],[],Fs) ;
% to plot the magnitude plot you need to take the magnitude
semilogy(F,abs(Txy))
  2 Comments
Gloria
Gloria on 31 Dec 2020
Thanks again, I am not familiar with frf. If you can help me for both sample , I appreciate ;
first column is force , second column acceleration and Fs is 1 Hz. I wonder this experiment sample because I always obtain frequency range from time_step^-1/2. If Fs is 1 Hz, how can I see acceleration for range of frequency?
For the second sample; 6. column is displacement and 7. column is force time step=0.0002; Length of data is=50001

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by