0

matlab で fft mix radix を書くように求められましたが、その前に離散フーリエ変換を簡単な方法で実行させたいと思っています。そこで、ウィキペディアで定義されているように定義された式に従ってコードを書くことにしました。

【申し訳ありませんが、画像の投稿はまだ許可されていません】

http://en.wikipedia.org/wiki/Discrete_Fourier_transform

だから私は次のように私のコードを書きました:

%Brutal Force Descrete Fourier Trnasform
function [] = dft(X)

%Get the size of A
NN=size(X);
N=NN(2);
%====================

%Declaring an array to store the output variable
 Y = zeros (1, N)
%=========================================



for k = 0 : (N-1)
    st = 0; %the dummy in the summation is zero before we add
    for n = 0 : (N-1)
        t = X(n+1)*exp(-1i*2*pi*k*n/N);
        st = st + t;
    end
    Y(k+1) = st;
end
Y
%=============================================

ただし、私のコードは、この Web サイトの結果とは異なる結果を出力しているようです: http://www.random-science-tools.com/maths/FFT.htm

問題がどこにあるかを正確に検出するのを手伝ってもらえますか?

ありがとうございました!

============私のコードが正しいように見えることを気にしない....

4

1 に答える 1