2015-11-07 179 views
0

h是5x5矩陣,如使用手動padarray爲什麼使用fft2零填充在零填充在FFT

H = fft2(h,250,250); 

沒有給予同樣的結果,在

H = fft2(padarray(H,[122 122])); 

是這是因爲在我的第二個例子中,填充矩陣只有249列和行?我應該添加一個額外的列/零行嗎?

回答

4

這不是填充與傅立葉變換的工作方式。這裏是如何複製手動什麼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 
+4

把這個交給這個正確答案多一點的解釋,您可以通過創建一個二維數組,這是所需的大小零填充,然後將原始信號放在填充結果的左上角。這就是你爲2D FFT填充的方式。 – rayryeng

+1

感謝@ Sh3ljohn代碼! – Navdeep

+1

感謝@rayryeng對這樣一個很好的解釋。有效!! – Navdeep