【发布时间】:2017-03-22 21:12:07
【问题描述】:
我陷入了这段代码中:
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 之一之后取
real值? -
实际上,起初我没有,但我读了一些地方,这将纠正答案,但不是,它没有给出正确的答案。