FFT IFFT (single and double spectrum)

35 Ansichten (letzte 30 Tage)
ckaeel
ckaeel am 11 Dez. 2013
Bearbeitet: Muhammad Waqar am 10 Dez. 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

Antworten (2)

Wayne King
Wayne King am 11 Dez. 2013
Bearbeitet: Wayne King am 11 Dez. 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 Kommentare
Wayne King
Wayne King am 11 Dez. 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 am 12 Dez. 2013
The "artificial" signals can be generated in time or frequency domain, while the measured signal is only in frequency domain.

Melden Sie sich an, um zu kommentieren.


Muhammad Waqar
Muhammad Waqar am 10 Dez. 2021
Bearbeitet: Muhammad Waqar am 10 Dez. 2021
Hi there,
Here is a link to an easy-to-use function to perform fft or ifft along with an example:

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by