2016-10-27 10 views
0

私は、垂直線のMatlabでフーリエ変換を試みました。行列Aを100x100の大きさにし、特定の数の列ベクトルに値1を渡しますが、その他は0です。ここで 数学的に垂直線のフーリエ変換を証明する方法は?

はスクリプトです(あなたは下のスクリーンショットにプロットした結果を見ることができます):

A = zeros(100,100); 
A(:,10)=1; 
A_FFT = abs(fft2(A)); 
figure, imshow(A,[]); 
title('vertical line (A)'); 
figure, imshow(A_FFT,[]); 
title('FFT of Vertical Line (A)'); 

を結果から、私は水平線のマトリックスA_FFTを取得する(u、v)は(1 ,: A_FFTであります)= 100であり、他の行列成分は0である。理論から、はい、私はなぜ結果がそうであるか理解することができます。しかし、私はそれを数学的に証明する必要があります。行列AのDFT方程式を書いて解決しようとしましたが、正しい結果を得られません。誰も私が数学的にこれを証明する方法を助けることができますか?

スクリーンショット:

img

左:元の縦線、行列A。右:垂直変換(列に沿って一定の値で)ゼロ番目のものを除いゼロに全ての係数を設定しながら、水平変換FFT2

+0

これは、この性質の数学的証明を議論するための適切なフォーラムであるとは確信していません。math.stackexchange.comはより良いでしょう。しかし、必要な方向にヒントを与えるには、f(x、y)= 1とし、それを2Dフーリエ変換の定義に差し込みます。この場合、結果はDiracデルタ関数を使用します。 – andand

+0

はい、1のDFTはデルタ関数を減じます。私は再び計算しようとする.. – Ardian

答えて

0

を取ることによって、AのDFTは、(に比例する)値

exp(i * (2*pi)/100 *10*k) 

を与えます。

abs(exp(i*whateverreal)) == 1 

ので、あなたは、白色固体の水平ラインを取得します。