Note that the real and imaginary fft plots look correct. So I guess there is something about ifft that I am missing.
ifft and fft problem
5 views (last 30 days)
Show older comments
Hi all, this is probably very trivial but I am not understanding what the source of discrepancy is:
I have a gamma distribution (h1), I take its fft and then ifft. I should get the same thing (h1), but there is a factor 2 difference. Why?
k1 = 3; theta1 = 3;
% sparse sampling
dts = 1;
ts = (0:dts:359); % time
Ts = length(ts);
fs_s = 1/dts; % sampling frequency
dfs = fs_s/Ts;
f_s = (-fs_s/2:dfs:fs_s/2-dfs); % frequency
h1_s = (1/gamma(k1)) .* (ts.^(k1-1)) .* exp(-ts/theta1)/(theta1^k1);
h1_s_FT = dts*fftshift(fft(h1_s));
h1_s_hat = abs(f_s.*ifft(ifftshift(h1_s_FT)));
I am missing a factor 2 somewhere. Thanks.
Dr. Seis on 23 Jul 2012
Edited: Dr. Seis on 23 Jul 2012
Did you mean to use "fs_s" instead of "f_s" here:
h1_s_hat = abs(fs_s.*ifft(ifftshift(h1_s_FT)));
I guess that's why you needed ".*" instead of "*" to get it to work.
More Answers (0)
Find more on Time-Frequency Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!