FFT IFFT (single and double spectrum)

16 visualizzazioni (ultimi 30 giorni)
ckaeel
ckaeel il 11 Dic 2013
Modificato: Muhammad Waqar il 10 Dic 2021
Dear All,
I'm trying to figure out how it's correct to use the ifft: doubling or not the spectrum. Applying a fft on a signal in time domain will provide a double sided spectrum signal in frequency domain. Then, suppose that I keep only one side of the spectrum (applying all the necessary scaling factors). Later, if I want to go back in time domain, I double again the spectrum and then, using other scaling factors, I apply the ifft transform. Everything works fine.
The problem arises when I have a signal measured in frequency domain. This signal is a complex single sided signal. Do I still have to double its spectrum in order to apply correctly the ifft? The signal is measured using a VNA. The VNA has also the option to evaluate the time signal using an iCZT. I implemented this transform in Matlab and using the measured signal in frequency domain (one sided spectrum) I obtained the same results as the one given by the VNA. I've also used an ifft (and one sided spectrum signal), and again I obtained the same result. My question is: who is right and who is wrong - one side or two side spectrum ?
Regards,
AndMJ

Risposte (2)

Wayne King
Wayne King il 11 Dic 2013
Modificato: Wayne King il 11 Dic 2013
What are you doing to the signal that you have to use the inverse Fourier transform?
If you are trying to filter the signal, then it's better to filter a different way.
Scaling the output of fft() is only necessary when you are trying to conserve power or energy and you are throwing away 1/2 the information because your signal is real-valued.
Depending on what you are trying to do, it may be absolutely unnecessary to scale the output.
  3 Commenti
Wayne King
Wayne King il 11 Dic 2013
but you've acquired the data in the time domain, so why not use that? Why is there a need to get the time domain data from inverse Fourier transforming the frequency data?
ckaeel
ckaeel il 12 Dic 2013
The "artificial" signals can be generated in time or frequency domain, while the measured signal is only in frequency domain.

Accedi per commentare.


Muhammad Waqar
Muhammad Waqar il 10 Dic 2021
Modificato: Muhammad Waqar il 10 Dic 2021
Hi there,
Here is a link to an easy-to-use function to perform fft or ifft along with an example:

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by