-
FlexPro
- At a Glance
- Features & Options
- Applications
- All Advantages
- What’s New in FlexPro 2021
- Try FlexPro For Free
- FlexPro View OEM Freeware
- Buying Guide
- Login
- Language
- +49 6894 929600
- infoweisang.com
- Google Maps
- Products
- News
- Support
- Company
- Contact
- Login
- Language
- +49 6894 929600
- infoweisang.com
- Google Maps
FFT and IFFT
- This topic has 4 replies, 2 voices, and was last updated 20 years ago by paulwarshawsky@yahoo.com.
-
AuthorPosts
-
December 1, 2004 at 8:20 am #12671paulwarshawsky@yahoo.comMember
I’m experiencing some strange behaviour, and I wonder if someone could explain it to me.
1) Take a signal with only real values (the ultrasonic burst used in “The first document”, for example)
2) Create a formula FFT(Burst)
3) Evaluate the formula – you now have a complex signal
4) Do an inverse FFT on that signal IFFT(Formula)This should return the original signal, but does not! Due to rounding errors in the calculations I would expect a small imaginary component to the results, but the magnitude of the imaginary component is not small at all!
What am I missing here?
Paul Warshawsky
December 1, 2004 at 9:05 pm #9102Bernhard KantzParticipantSince the input signal has only real values you must use IRFFT-function instead of the IFFT-function.
IFFT Function calculates the complex time signal as the inverse transform of a complex Fourier spectrum.
IRFFT Function calculates the real time signal as the inverse transform of a complex Fourier spectrum.Please look at:
FFT Function (FPScript)
IFFT Function (FPScript)
IRFFT Function (FPScript)
Fourier Transform Analysis ObjectDecember 2, 2004 at 2:06 am #9103paulwarshawsky@yahoo.comMemberThank you for the response, and I shall definitely use the IRFFT function. Nonetheless, IFFT(FFT(F(x))) should be the same as F(x). The imaginary component should be near 0. Using the IRFFT function will fix my application, but I would suggest someone look into the IFFT algorhythm to make sure it is correct.
Paul
December 3, 2004 at 4:32 am #9104paulwarshawsky@yahoo.comMemberAhh… I understand why this doesn’t work. When you do an FFT on a signal that is entirely real, because of the symetry of the FFT result, only the first half of the spectrum is returned (the remainder being the negative complement of the first half.) Thus you have to tell the reverse FFT algorithm whether you have the entire spectrum or just the first half.
Paul
December 3, 2004 at 6:09 pm #8334paulwarshawsky@yahoo.comMemberI’m experiencing some strange behaviour, and I wonder if someone could explain it to me.
1) Take a signal with only real values (the ultrasonic burst used in “The first document”, for example)
2) Create a formula FFT(Burst)
3) Evaluate the formula – you now have a complex signal
4) Do an inverse FFT on that signal IFFT(Formula)This should return the original signal, but does not! Due to rounding errors in the calculations I would expect a small imaginary component to the results, but the magnitude of the imaginary component is not small at all!
What am I missing here?
Paul Warshawsky
-
AuthorPosts
- You must be logged in to reply to this topic.