the IFFT returns zeros
6 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
採用された回答
Matt J
2013 年 1 月 16 日
編集済み: Matt J
2013 年 1 月 16 日
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 件のコメント
その他の回答 (1 件)
Ambroise WALLYN
2013 年 1 月 16 日
編集済み: Ambroise WALLYN
2013 年 1 月 16 日
2 件のコメント
Matt J
2013 年 1 月 16 日
OK. If my answer helped, you are encouraged to Accept-click it formally (my Answer, not your response).
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!