MATLAB Answers

FFT of wave packet, strange phase behaviour

4 views (last 30 days)
David on 18 Nov 2015
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:
  1. The phase results of the fft jumps continuously between 2*pi and -2*pi.
  2. 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)));
plot(fVals, abs(Y3));
plot(fVals, angle(Y3));
Thanks in advance!
Fourier Transform Left side is the absolute value of the fourier transform. Right side is the angle.

Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by