I’m a student studying on vibration analysis & testing. I’ve performed low level sine sweep test of a simple rectangular PCB with clamped boundary conditions on two ends of it. That test was performed with an amplitude of 0.5 g (g=9.8m/s^2) and a frequency range was from 20 to 500Hz).
From the accelerometer attached at the center of the PCB, I obtained following time profile (Sampling frequency: Approx. 1600 Hz) (see Fig. 1).
Then, I’ve created this MATLAB code to perform the FFT, to find amplitudes at 1st and 2nd eigenfrequencies of the tested PCB.
clear all; close all; clc; acc=load('acc.txt'); t=acc(:,1); % input t (time) data x=acc(:,2); % input x (magnitude) data dt=(t(2)-t(1)); % sampling frequency fs=1/dt; L=length(t); % time data length X=fft(x,L)/L; % fft of magnitude x amp=2*abs(X(1:L/2)); freq=fs/2*linspace(0,1,L/2); figure plot(t,x); % accelerattion x (time domain) xlabel('Time (s)'); ylabel('Acceleration (g)'); hold figure loglog(freq,amp); % accelerattion X (freq domain) xlabel('Frequency (Hz)'); ylabel('Acceleration (g)'); xlim([20 500]) hold
The result of FFT shows unreasonably low amplitude of 0.1352 g at 1st eigenfrequency. In addition, there is many unidentified errors in the FFT processed signal (see Fig. 2).
I believe that I’ve implemented basic FFT functions required to perform a correct amplitude in frequency domain. So, I tried again by using following combination of cosine functions as an input:
t=0:1/1000:200-1/1000; % input t (time) data x=36*cos(2*pi*50*t)+100*cos(2*pi*100*t)+150*cos(2*pi*200*t); % input x (magnitude) data
In this case, however, the results give the correct amplitudes for each peak of the spectrum (see Fig. 3).
So there are two questions to improve the FFT results; 1) Why the FFT results from my accelerometer signal produces unreasonably low amplitude, even if those of cosine function gives correct results? 2) How to get rid of the dirty noise signals, in order to obtain clear signal (Does the window function is effective to reduce such kind of error?). Thank you for your advice in advance.