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

AI Thread Summary
The discussion centers on the use of the FFT function in MATLAB for transforming a Green function in the time domain. It is clarified that while the FFT command can be applied to a Green function, considerations such as zero-padding are important for accurate results, especially since Green functions are typically non-periodic. Zero-padding helps in interpreting the function as periodic, smoothing out discontinuities at the boundaries, which can lead to high-frequency artifacts in the output. The conversation highlights that using FFT without zero-padding may result in unexpected high-order outputs due to discontinuities in the function. Additionally, the ordering of FFT results may require the use of the fftshift command for proper analysis. The necessity of zero-padding is emphasized, particularly when the Green function is nonzero across a wide energy range.
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.
 
Thank you.
 
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.
 

Similar threads

Replies
2
Views
2K
Replies
4
Views
3K
Replies
16
Views
14K
Replies
7
Views
2K
Replies
11
Views
3K
Replies
13
Views
2K
Replies
6
Views
2K
Back
Top