I'm computing the fft of a wave packet (centred at t= 0, odd number of entries!) to determine its frequency and phase. For this example I created a packet with a frequency of 10Hz and a phase of 1*pi. Waveform plot:
When plotting the fft results I can easily spot the frequency but two things bewilder me:
- The phase results of the fft jumps continuously between 2*pi and -2*pi.
- The amplitude also jumps between 0 and positive values. I would expect a lorentz peak centred at my frequency and continuously going down with its width being a measurement for the decay time of the waveform.
Anyone have an explanation for these two things? Is there an error in my code?
Y3 = fftshift(fft(ifftshift(waveform)));
Thanks in advance!
Fourier Transform Left side is the absolute value of the fourier transform. Right side is the angle.