the IFFT returns zeros
5 views (last 30 days)
Show older comments
Hi,
I'm trying to do a deconvolution with the formula from a standard (to check if it returns the same results as the function "deconv"):
ifft( fft(h1) / fft(h2) )
fft(h1) / fft(h2) gives me a NxN matrix as expected. However, only one column is different to zeros(:,1), but it can make sense.
Then, when I try to do the inverse fast Fourier transform, Matlab often returns only zeros !
Here is the part of my code:
if true
AA=fft(a(:,4),siz_ft);
BB=fft(a(:,3),siz_ft);
CC=AA/BB;
DD=ifft(CC,siz_ft);
for k=1:siz_ft
if DD(:,k)~=zeros(siz_ft,1)
DD(1:4,k)
end
end
end
It means that DD returns something only 4 times over 16 different measures.
Does anyone have an idea about my problem ?
Thank you for any help !
0 Comments
Accepted Answer
Matt J
on 16 Jan 2013
Edited: Matt J
on 16 Jan 2013
For starters, I think you need to be doing elementwise division.
CC=AA./BB
Beyond that, it's not clear from your description what you're seeing. First you say your seeing all zeros and then you say "DD returns something only 4 times over 16 different measures" which I assume to mean is not all zeros.
I'm also not sure how you're able to loop over DD(:,k) without getting an error message, because in your code DD only has 1 column.
0 Comments
More Answers (1)
Ambroise WALLYN
on 16 Jan 2013
Edited: Ambroise WALLYN
on 16 Jan 2013
2 Comments
Matt J
on 16 Jan 2013
OK. If my answer helped, you are encouraged to Accept-click it formally (my Answer, not your response).
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!