Inverse Fourier Transform ignores oscillations

Hi. I am doing some time and freq analysis. So lets say I have some x-t data, I use fft to take them in freq domain, do some calculations and finally do ifft to return them back into the time domain. But after getting the ifft, I get the red plot, while the blue plot is obtained from another source (which appranely should be true).
I am not sure which one is correct? How come the ifft is ignoring the oscilaltions?
Thanks in advance.

8 Commenti

Are you using exactly the same parameterisation as the other source and the same input data? If your data is not sampled at a high enough frequency (or you do something in the frequency domain to remove those high frequencies) then the final data will not be high enough resolution to include the highest frequency oscillations if they are above the Nyquist frequency
Either you are very much under sampling or else you are filtering out high frequencies.
Steven
Steven il 18 Ott 2019
Modificato: Steven il 22 Ott 2019
Thanks for your comments guys.
I am not sure what the other source does, as I only have the result, but I am sure that the input data are the same.
How do I know if I am filtering out high frequencies?
What I use in my code is like:
y1 = fft(x)
y2 = y1.*y3;
y4 = ifft(y2);
I do not know if there is anything there filtering out high frequencies or under sampling?
Thanks again
If y3 is near 0 in the middle of it then that would filter out high frequencies.
If you plot x by itself do you see a lot of high frequency in the plot?
Steven
Steven il 18 Ott 2019
Modificato: Steven il 18 Ott 2019
Thanks.
1. If y3 is close to zero (it is very small), then what can I do?
2. x plot (original time dependent data) would be similar to the red plot (so not so high freq, I guess). What does this mean?
3. Also, in the meantime, conversion between two-sided and one-sided spectrum is done, could it be the reason as well?
Thanks Walter
If you wanted to force that kind of result, you could perhaps boost the high frequencies (the ones near the middle of the vector.) It would take some experimenting to work it out. But I do not think this is the right situation for you -- I do not expect that ti would be justifiable for your purposes.
Sorry, I do not know anything about converting between sides of spectra.
fftshift() to convert fft representations.
Based on your question and comments it is clear (this will come off as a bit abrasive) that you should read up on what you do when Fourier-transforming data and what happens with the Fourier-transform when you do operations on it (what multiplication in the Fourier-domain corresponds to in the time-domain etc).

Accedi per commentare.

Risposte (0)

Categorie

Scopri di più su Fourier Analysis and Filtering in Centro assistenza e File Exchange

Richiesto:

il 18 Ott 2019

Modificato:

il 22 Ott 2019

Community Treasure Hunt

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

Start Hunting!

Translated by