0
让h
是5x5矩阵,如使用手动padarray
为什么使用fft2
零填充在零填充在FFT
H = fft2(h,250,250);
没有给予同样的结果,在
H = fft2(padarray(H,[122 122]));
是这是因为在我的第二个例子中,填充矩阵只有249列和行?我应该添加一个额外的列/零行吗?
让h
是5x5矩阵,如使用手动padarray
为什么使用fft2
零填充在零填充在FFT
H = fft2(h,250,250);
没有给予同样的结果,在
H = fft2(padarray(H,[122 122]));
是这是因为在我的第二个例子中,填充矩阵只有249列和行?我应该添加一个额外的列/零行吗?
这不是填充与傅立叶变换的工作方式。这里是如何复制手动什么fft2
并在指定填充输入一个例子:
>> a=rand(5); b=zeros(250); b(1:5,1:5)=a;
>> A=fft2(a,250,250); B=fft2(b);
>> max(abs(A(:)-B(:)))
ans =
0
把这个交给这个正确答案多一点的解释,您可以通过创建一个二维数组,这是所需的大小零填充,然后将原始信号放在填充结果的左上角。这就是你为2D FFT填充的方式。 – rayryeng
感谢@ Sh3ljohn代码! – Navdeep
感谢@rayryeng对这样一个很好的解释。有效!! – Navdeep