Is FFT the Proper Method for Transforming Green Function in MATLAB?

Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
6 replies · 3K views
Zahra G
Messages
6
Reaction score
0
Hi everybody.
I have a (1×N) Green function in MATLAB. I want to use the FFt function for Green function to transform the time domain. Does the FFT command work correctly for Green function using: A=fft(Green function, nfft). Here nfft is the number of transformed points. Is it necessary that N=nfft ?
 
Physics news on Phys.org
Why don't you try and tell us the result? Then we can analyze if something goes as not expected.
 
I tried and I wanted to be sure that using fft command is true for non-periodic function like Green function or not?
 
The FFT function in Matlab is really no different than other implementations of discrete Fourier transform. Hence, when you are using if for a non-periodic function (which in real life is almost always) you need to consider things like zero-padding (which is usually a good idea for non-periodic functions) and windowing ( should not really be needed here). One common -and not so obvious- problem is the way the elements in the resulting FFT are ordered. You may or mat not have to use the fftshift command, depending on what you are doing.
 
I would like to know that if my Green function was nonzero in almost energies (because the energy interval is from -infinity to infinity) is it necessary that I have zero padding?
Another question is that when I use the FFT without zero padding, my function goes to high orders. For example, if the value of the function is 0.4 the fft goes it to 10e03. Is it ordinary or not?
 
The proper use of the FFT implies that the function is periodic. The zero padding ensure that the function can be interpreted as "periodic" because when you shift the computational windows you can match them because they all go to zero at the boundary. Using FFT without padding implies that you function is truly periodic, it is continuous across the left-right boundary, left boundary value is equal to the right boundary value. When you have jumps in the function, inside the computational domain or because the left boundary values is different from the right one, then you will see those high order components.