【发布时间】:2014-02-13 23:09:06
【问题描述】:
我正在尝试理解 FTT 和卷积(互相关)理论,因此我创建了以下代码来理解它。代码是 Matlab/Octave,但我也可以在 Python 中完成。
在一维中:
x = [5 6 8 2 5];
y = [6 -1 3 5 1];
x1 = [x zeros(1,4)];
y1 = [y zeros(1,4)];
c1 = ifft(fft(x1).*fft(y1));
c2 = conv(x,y);
c1 = 30 31 57 47 87 47 33 27 5
c2 = 30 31 57 47 87 47 33 27 5
在 2D 中:
X=[1 2 3;4 5 6; 7 8 9]
y=[-1 1];
conv1 = conv2(x,y)
conv1 =
24 53 89 29 21
96 140 197 65 42
168 227 305 101 63
这是我发现问题的地方,填充矩阵和向量?我该怎么做?我可以用零填充x 吗?还是仅在一侧?那么y呢?我知道当x 和y 是向量时,卷积的长度应该是M+L-1,但是当它们是矩阵时呢?
我怎样才能在这里继续我的例子?
【问题讨论】:
标签: python matlab signal-processing fft convolution