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