我被困在此代碼:用fft實現去卷積和MATLAB中的去卷積函數有什麼不同?
function [ y ] = mydeconv(c,x)
lx=length(x);
lc=length(c);
%lt=lx+lc;
c=[c zeros(1,lx)];
x=[x zeros(1,lc)];
y = ifft(real((fft(c)) ./(fft(x))));
end
,其結果是:
mydeconv([1 2 3 3 2 1],[1 1 1])
ans =
Column 1
NaN + 0.000000000000000i
Column 2
NaN + NaNi
Column 3
NaN + NaNi
Column 4
NaN + 0.000000000000000i
Column 5
NaN + NaNi
Column 6
NaN + NaNi
Column 7
NaN + 0.000000000000000i
Column 8
NaN + NaNi
Column 9
NaN + NaNi
和deconv
函數的結果簡單地說就是:
deconv([1 2 3 3 2 1],[1 1 1])
ans =
1 1 1 1
原則上應工作,我不明白它有什麼問題。
你爲什麼要在一個FFT之後得到'真實'值? – mpaskov
實際上,起初我沒有,但我讀了一些在那裏,這將糾正答案,但不ddin't,它沒有給出正確的答案,但沒有真正的,但。 – MAh2014