the IFFT returns zeros
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Akzeptierte Antwort
Matt J
am 16 Jan. 2013
Bearbeitet: Matt J
am 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 Kommentare
Weitere Antworten (1)
Ambroise WALLYN
am 16 Jan. 2013
Bearbeitet: Ambroise WALLYN
am 16 Jan. 2013
2 Kommentare
Matt J
am 16 Jan. 2013
OK. If my answer helped, you are encouraged to Accept-click it formally (my Answer, not your response).
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!