Damped sinusoidal form FFT of signal I'm doing an assignment for the course Signal analysis where I have to analyse a signal. I've tried quite some things now but it's still bothering me that the FFT is looking weird, and not looks like the 'normal look' FFT's we learned in class.

FFT (absolute values of complex values):



FFT (no absolute values):


The FFT seen in the image above is zoomed in on the frequency range 0-30Hz. The rest of the frequency range does not show a lot of (high) peaks, which probably are caused by noise.

The signal is created during a method of welding, using an oscilloscope with a sampling frequency of 1000Hz. I've filtered the signal to remove noise, and after that the signal is converted to the frequency spectrum using the fft function of MATLAB.

Signal before and after filtering:


My general question is, can the shown FFT be valid or did I make a mistake? I estimated the ground frequency to be around 5.5Hz, can I say this when I take one period of the big sinusoidal wave? I also noticed there are about 64 little sinusoidal waves inside one (ground??) period, is this an high harmonic wave form?.

If my theory is right, what causes the fft to be a damped sinusoidal form?

The code I use is basically the following. I leave the part of the noise filtering out because I don't think it's necessary for this question. The dataset is an matrix of 40100 rows.

fs = 1000;
cleanSignaal = data(:,4);
fftSignal = fft(cleanSignaal)/lenght(cleanSignaal);
f = fs/(2*length(fftSignal)):fs/length(fftSignal):fs;
plot(f,abs(fftSignal));
xlim([0 fs(m)/2]);
title('Fast Fourier Transform')
xlabel('Frequentie (Hz)')
ylabel('Magnitude')
What you have is a very sharp rectangular boxcar shaped function.  It is approximately centered at the mid point of your data set.  Your magnitude spectrum looks correct, in that it is a really low fundamentally frequency with a ton of harmonics.  Your FFT without ‘absolute values’ is presumably plotting just either the real or imaginary values.  The oscillation in that plot occurs because of where that pulse is centered in the data set.  It’s unlikely that plot has any useful information.  I have no idea what you are trying to find from this endevour, but if you were interested in the period of the pulse you could zero of the end of the data set, providing more granular frequency data that you could use to measure the fundamental.  That or you could just measure it directly, which is probably a lot easier.