離散フーリエ変換とは

りさんふーりえへんかん

N個のサンプル x[0]〜x[N − 1] を、N個の周波数の成分 X[0]〜X[N − 1] に変換する計算。X[k] = Σx[n]e^(−j2πkn/N) で定義され、k番目の成分は周波数 k·fs/N に対応する。ビンの間隔 fs/N は観測時間の逆数で、周波数分解能の目安になる。実数の信号では X[N − k] が X[k] の複素共役になるので、k = 0〜N/2 で情報がそろう。定義どおりに計算すると約 N² 回の演算が必要だが、高速フーリエ変換(FFT)で約 N log₂N 回に減らせる。略称はDFTで、テスト容易化設計のDFTとは別の語である。

「離散フーリエ変換」は、2分野の2問の練習問題に出てきます(デジタル信号処理の基礎, 無線通信の基礎など)。

この用語の分野: デジタル信号処理の基礎

DFTが前提としていること

DFTは、観測した N 点の区間が周期的にくり返す信号を前提にしています。正弦波の周期が区間にちょうど整数個入っていれば、その成分は1つのビンに収まりますが、半端な場合は区間の両端が不連続につながったものとして扱われ、エネルギーが周りのビンに広がります(スペクトル漏れ)。そのため、測定ではDFTの前に窓関数を掛けて、区間の両端をなめらかにすることがよくあります。

周波数のビンの読み方

k = 0 は直流(全サンプルの和)、k = N/2 はナイキスト周波数に当たります。k が N/2 を超えるビンは負の周波数に対応し、実数の信号では k のビンと鏡像の関係になります。例えば fs = 48 kHz、N = 1024 なら、ビンの間隔は 46.875 Hz で、1 kHz の成分は k ≈ 21.3、つまり k = 21 と22 の間に現れます。

逆変換とパーセバルの定理

逆変換 x[n] = (1/N)ΣX[k]e^(j2πkn/N) で、元のサンプルに正確に戻せます。係数 1/N をどちらに付けるかは流儀によって異なり、1/√N ずつ両方に分ける定義もあります。X[k] を上のように定義した場合、時間の側と周波数の側のエネルギーの間には Σ|X[k]|² = N·Σ|x[n]|² の関係(パーセバルの定理)が成り立ちます。

離散フーリエ変換の練習問題に挑戦

サンプリング周波数48 kHzの信号を、1024点の離散フーリエ変換(DFT)で解析する。周波数ビンの間隔として正しいものはどれか。

  1. A約23.4 Hz
  2. B約46.9 Hz
  3. C約93.8 Hz
答えと解説を見る

正解:B. 約46.9 Hz

N点のDFTのビンの間隔は Δf = fs/N で、48000 ÷ 1024 = 46.875 Hz ≈ 46.9 Hz です。k番目のビンは周波数 k × Δf に対応し、k = 0 が直流、k = N/2 = 512 がナイキスト周波数の24 kHz です。Δf は観測時間 T = N/fs ≈ 21.3 ms の逆数でもあり、ビンの間隔を細かくするには観測時間を長くする必要があります。

よくある質問

離散フーリエ変換とFFTは何が違いますか?

DFTは「何を計算するか」という変換の定義で、FFTはそれを「速く計算する方法(アルゴリズム)」です。FFTの結果は、丸め誤差を除いてDFTの定義どおりの値と一致します。N = 1024 なら、演算の回数はおよそ100分の1になります。

ゼロパディングをすると周波数分解能は上がりますか?

上がりません。0を付け足すとビンの間隔は細かくなり、スペクトルを補間した値が得られますが、新しい情報は加わらないので、近い周波数を見分ける能力は、実際に観測したデータの長さで決まったままです。見分ける能力を上げるには、より長い時間のデータを取る必要があります。

解説の中の「離散フーリエ変換」

「離散フーリエ変換」が出てくる問題(2問)

  1. サンプリング周波数48 kHzの信号を、1024点の離散フーリエ変換(DFT)で解析する。周波数ビンの間隔として正しいものはどれか。
  2. 4G LTEの上りリンク(端末から基地局への送信)で、下りリンクのOFDMAではなく、SC-FDMA(DFT拡散OFDM)が採用された主な理由として、最も適切なものはどれか。

デジタル信号処理の基礎の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

関連する用語

ナイキスト周波数 OFDM(直交周波数分割多重) IIRフィルタ 移動平均フィルタ インパルス応答 FIRフィルタ 群遅延 高速フーリエ変換(FFT) 差分方程式 周波数分解能

用語集の一覧へ