↑に戻る www.madlabo.com  管理者:mad@mail.wind.ne.jp 

DFT(離散フーリエ変換)の特徴

数理設計研究所 玉置晴朗 2002/04/07-2004/12/13

Index

実数波形データをDFTしたときの意味

項の説明 実数値→32点FFT K=32

項番号 単純バタフライ、係数無しDFT  
0 32点実数の全加算値=DC成分   項番号   
1 スペクトル1 ←の共役 31 それぞれスペクトル振幅の50%
2 スペクトル2 ←の共役 30 それぞれスペクトル振幅の50%
3 スペクトル3 ←の共役 ... それぞれスペクトル振幅の50%
... .... ←の共役 17 それぞれスペクトル振幅の50%
16 スペクトル16 ←の共役 16 スペクトル16が遇関数のときに値があり100%値
説明:
 K=32でDFTすると
  • 項番号0 は直流成分で対になるものが無いのでDC成分の100%値
  • 項番号1〜15 まではその周波数スペクトルの振幅の50%が得られる。値は1と31、2と30の組で共役表現されるので逆DFTすると元の波形が得られる。
    • 考え方1:ナイキスト周波数の上側が折り返して見えていて、両方に値が分配するから50%
  • 項番号16 は対になる部分が無いので周波数スペクトルの100%値になる。ただし仮想的に共役になるものと加算されるので奇関数では加算結果がゼロになる。

基本矩形波の実例 実数値→32点FFT 0-15=1、16-31=-1

項番号 単純バタフライ、係数無しDFT  
0 0      
1 2.000-20.306i 2.000+20.306i 31  
2 0 0 30  
3 2.000-6.593i 2.000+6.593i ...  
... .... ←の共役 17  
16 0.000+0.000i 0.000+0.000i 16 スペクトル16が奇関数なので零

DFT中央項の意味 実数値→32点FFT

項番号 単純バタフライ、係数無しDFT  
0 0 0    
1 0 0 31  
2 0 0 30  
3 0 0 ...  
... .... ←の共役 17  
16 32 32 16 スペクトル16が遇関数なので値がある

MATHCAD8の関数

CFFT ICFFT 任意個数、または2次元
fft ifft 2^mの実数
FFT IFFT 2^mの実数

自己相関 Self correlation

元信号 x(t) → DFT結果を S(f) とすれば、自己相関は
S(f)に共役を乗算して逆フーリエ変換したものとなる →  RF[S(f)*conj(S(f))]
★自己相関値は実数になる

相互相関 Mutual correlation

自己相関に準じる
★相関値は実数になる

窓関数

name 名前 C関数表現
Rectangle 矩形 なし
Triangle 三角 for(i=0, j = FFT_N/2; i < FFT_N/2; i++) Mask_d[i+j] = 1.0-(Mask_d[i] = (double)i/j);
Sine 正弦 for(int i=0; i < FFT_N; i++) Mask_d[i] = sin(PI*(double)i/FFT_N);
Hunning ハニング for(int i=0; i < FFT_N; i++) Mask_d[i] = 0.54-0.46*cos(2.0*PI*(double)i/FFT_N);
Humming ハミング for(int i=0; i < FFT_N; i++) Mask_d[i] = 0.5-0.5*cos(2.0*PI*(double)i/FFT_N);

..end