FFT IFFT (single and double spectrum)

조회 수: 27 (최근 30일)
ckaeel
ckaeel 2013년 12월 11일
편집: Muhammad Waqar 2021년 12월 10일
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

답변 (2개)

Wayne King
Wayne King 2013년 12월 11일
편집: Wayne King 2013년 12월 11일
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
Wayne King
Wayne King 2013년 12월 11일
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 2013년 12월 12일
The "artificial" signals can be generated in time or frequency domain, while the measured signal is only in frequency domain.

댓글을 달려면 로그인하십시오.


Muhammad Waqar
Muhammad Waqar 2021년 12월 10일
편집: Muhammad Waqar 2021년 12월 10일
Hi there,
Here is a link to an easy-to-use function to perform fft or ifft along with an example:

카테고리

Help CenterFile Exchange에서 Fourier Analysis and Filtering에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by