MATLAB Answers

What's wrong with my FRF?

9 views (last 30 days)
Manuel Lozano
Manuel Lozano on 23 May 2020
Edited: Alberto Mora on 23 May 2020
Hello,
From a time domain response and excitation signal, I'm trying to compute and plot an FRF function. I've tried using both FFT and the built-in function modalfrf to compute the FRF. However the resulting FRFs look slightly different and differ greatly in magnitude. Notice how the modalfrf curve has a somewhat "downhill" look (orange one) while the one I computed using my code (blue) looks more "flat". Does anyone know what might be the issue here?
%% My FRF code using FFT
tempx=fft(a5);
tempf=fft(F);
x1=(tempx);
f1=(tempf);
L=length(x1)/2;
X=x1(1:L);
Fu=f1(1:L);
FRF=abs(X./Fu);
freq=linspace(0,Nq,length(FRF));
figure
loglog(freq,FRF);
grid on
xlabel('Frecuencia (Hz)')
ylabel('FRF (dB)')
xlim([3 70])
ylim([yinf ysup])
%% Using modalfrf function
[FRF,f]=modalfrf(F,a5,Fs,hann(50000),0.1*50000);
xlim([3 70])
FRF=abs(FRF);
loglog(f,FRF,'Linewidth', 1)
xlim([3 70])
ylim([yinf ysup])
xlabel("Frecuencia (Hz)")
ylabel("FRF (g/N)")
Thank you in advance.

  0 Comments

Sign in to comment.

Accepted Answer

Alberto Mora
Alberto Mora on 23 May 2020
Edited: Alberto Mora on 23 May 2020
The average slope of the two lines suggest that in one case you are integrating the accelartion into velocity (orangeFRF) so you are plotting somthing like (m/s)/N (this aspect could be confimed also by the 3 order of magnitude).
While in the second case (blueFRF) it seems that you are plotting the "accelerance" in g/N.
If you want to check this aspect, just compute this:
blueFRF / ( j*omega ) % Integrate the accelerance (blueFRF) [(m/s^2)] once in order to get the velocity (orangeFRF) measured in [(m/s)/N]
Theoretically you should get the orangeFRF. You can also compute the viceversa, so orangeFRF * ( j*omega )
I check my theory at 10Hz by hands, and the result confirm what I suspect:
2e-2/(2*pi*10)^2 = 5.0661e-006 % Since we are working on the magnitude, we can don consider j. If you are interested also in phase, consider j.
So probably, you have to take care about such integration of the acceleranceFRF into velocityFRF.
Check more carefully this aspect and let me know.
Morover, when you compute FRF, don't forget to apply windows to the raw signals. I notice that you are using hann window, but check in the State of the Art if you are choosing the correct window. Usually for FRF with impact hammer, it is better to apply exponential windows on both signals. Probably hann window is better to use if you are using a random noise coming from a constant source (e.g. electrodynamic shaker).
Last point, don't forget to check the coherence of your FRF that gives you info about the quality of your measurements. The command "modalfrf" also give you this output. See doc for more info.
If this answer help you to solve you problem, please consider to accept the answer as a sign of gratitude.
Best regards

  1 Comment

Manuel Lozano
Manuel Lozano on 23 May 2020
That solved the problem! Thank you very much for your time and clear explanation! With respect to the windows, the data was aquired from a shaker test and that is why I am using a Hanning window. I will check the coherence function as well.
Best regards.

Sign in to comment.

More Answers (0)


Translated by