フィルターのクリア

FFT IFFT (single and double spectrum)

23 ビュー (過去 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 Center および File ExchangeTransforms についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by