LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

inverse Fourier transform

I have a question about inverse Fourier transform.

I want to calculate the signal in time domain by doing inverse FFT. I need calculate the signal as fast as possible. If I am only interested in the signal between time t1 and t2, could I only calculate the signal in this interested region to save computation time?

Is it possible? Which algorithm is good for this application?

Any reply will be greatly appreciated!
0 Kudos
Message 1 of 3
(3,697 Views)
Hello,

I know that from LabVIEW, computing the inverse FFT for only t1 -> t2 is not possible. The "Inverse FFT" VI only works for the entire time range.

However, from what I know about FFTs and their inverse, it would not really make sense to try to compute the inverse FFT for only a certain time range. If you are converting from frequency to time domain, you have to take all data into account (just like going from time to frequency domain) to have an accurate representation of the amplitude of the signal over all time intervals.

You could save some computation time by removing the unwanted time intervals after the inverse FFT before graphing them (if you are graphing the result). You could use the "Array Subset" VI to easily accomplish this. This will
save execution time due to the CPU required to render the graphed image.

I hope this helps!

Liz Fausak
National Instruments
Message 2 of 3
(3,697 Views)
The simple answer to your question is really "don't bother". You'll get in a lot of troubles to save very little computation.

What you are asking for is basically equivalent to a non-destructive zoom performed on the IFFT instead of the usual FFT. If the time interval your are interested in [t1, t2] is more than, say 10% of the entire time record returned by the direct IFFT, the saving in processing time will be insignificant. If your interval is very small, the processing time needed will converge toward approximatelly half the standard IFFT processing time. So you won't save more than, at best, 50% of your computation time anyway. Is it worth the trouble?

The "zoom IFFT" concept could save you some memory, but in your case it doesn't sound like it is an
issue.

Finally, the FFT and IFFT routines have been highly optimized in LabVIEW 7.0 with significant performance increases as a result, so if you are not using 7.0 you may consider upgrading. Also make sure you are using the Inverse Real FFT.vi
Message 3 of 3
(3,697 Views)