Frequency Response Function and FFT for Modal Analysis

63 views (last 30 days)
I am experimentally testing a material to retrieve its natural frequencies through modal analysis. The type of testing is based around impulse response. My sampling frequency was 10kHz. My acccelerometer's sensisitivty was 100mV/g and my impact hammer's sensitivity was 2.25mV/N. My aim is to obtain an accurate FRF graph. My entire code:
%reading excel file
dataset = xlsread('BrassFRF.xlsx','Sheet1','A1:C50000');
%%Creating and filling data variables
a=dataset(:,2);
n=dataset(:,3);
%%Converting acceleraltion voltages into acceleration (mm/sec^2)
a=a.*((1/0.1)*9.81);
%%Converting force voltages into Newton (N)
n=n.*(1/0.00225);
%%Creating FFT using acceleration
L=length(a);
NFFT=2.^nextpow2(L);
V=fft(a,NFFT)/L;
Fs=10000;
freq=Fs/2*linspace(0,1,NFFT/2+1);
subplot(3,1,1)
plot(freq,2*abs(V(1:NFFT/2+1)))
xlabel('Frequency (Hz)');
title('Velocity FFT ')
%%Creating FFT for using force
F=fft(n,NFFT)/L;
subplot(3,1,2)
plot(freq,2*abs(F(1:NFFT/2+1)))
xlabel('Frequency (Hz)');
title('Impulse FFT ')
%%FRF
FRF=V./F;
subplot(3,1,3)
plot(abs(FRF))
xlabel('Frequency (Hz)');
title('FRF')
Please tell me if you find any errors that can be the cause of an incorrect FRF. My suspect is the impulse FFT.
  1 Comment
Lingyuan Kong
Lingyuan Kong on 22 Jan 2021
The last section is wrong, it should be:
FRF=V./F;
subplot(3,1,3)
plot(freq, abs(FRF(1:NFFT/2+1)))
xlabel('Frequency (Hz)');
title('FRF')

Sign in to comment.

Answers (3)

durukan dilek
durukan dilek on 1 Nov 2017
Edited: durukan dilek on 1 Nov 2017
did you obtain frf of acceleration/force? why did you write V/F? why did you use velocity?
L=length(a); NFFT=2.^nextpow2(L); V=fft(a,NFFT)/L; Fs=10000; freq=Fs/2*linspace(0,1,NFFT/2+1); subplot(3,1,1) plot(freq,2*abs(V(1:NFFT/2+1))) xlabel('Frequency (Hz)'); title('Velocity FFT ') set(gca, 'YScale','log')

Deniz Kny
Deniz Kny on 6 Mar 2019
how did you know your sampling frequency was 10khz? I have a accelerometer data and, trying to obtain fft like you. i need a Fs but i dont know how can i get this info.
  1 Comment
imthiyas manarikkal
imthiyas manarikkal on 8 Nov 2019
You can actually check your resonance frequency or natural frequency. The sampling frequency must be twice of your natural frequency (Nyquiste Theorem)

Sign in to comment.


Jose Ordaz
Jose Ordaz on 19 Dec 2019
Hello,
i'm working in the same way, trying to obtain the natural frequency and damping of some materiales using the information from a hammer and a accelerometer. Can you please help me with this?, how you solve your problem with the FRF?.
thanks

Community Treasure Hunt

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

Start Hunting!