the IFFT returns zeros
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Respuesta aceptada
Matt J
el 16 de En. de 2013
Editada: Matt J
el 16 de En. de 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 comentarios
Más respuestas (1)
Ambroise WALLYN
el 16 de En. de 2013
Editada: Ambroise WALLYN
el 16 de En. de 2013
2 comentarios
Matt J
el 16 de En. de 2013
OK. If my answer helped, you are encouraged to Accept-click it formally (my Answer, not your response).
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!