Pythonはデータ分析に非常に便利な言語で、その中でもFFT(高速フーリエ変換)は信号処理や音声解析など様々な場面で利用されます。ここでは、PythonでFFTを使う基本的な方法を紹介します。

FFTとは

FFTは高速フーリエ変換のことで、周期的な波形を異なる周波数の正弦波の和として表現することができます。これにより、複雑な波形がどのような周波数成分から構成されているかを解析することが可能になります。

PythonでのFFTの使い方

Pythonではnumpyライブラリのfft関数を使ってFFTを計算することができます。以下に具体的なコードを示します。

import numpy as np
import matplotlib.pyplot as plt

# データ生成
t = np.arange(0, 1, 0.001)
y = np.sin(2 * np.pi * 10 * t) + np.sin(2 * np.pi * 20 * t)

# FFT実行
yf = np.fft.fft(y)
freq = np.fft.fftfreq(len(t), 0.001)

# 結果のプロット
plt.plot(freq, np.abs(yf))
plt.show()

このコードでは、10Hzと20Hzの2つの正弦波を合成したデータに対してFFTを実行し、その結果をプロットしています。結果のグラフから、このデータが10Hzと20Hzの成分から構成されていることが分かります。

注意点

FFTを使う際にはいくつか注意が必要です。特に、FFTはサンプル数が2の累乗の場合に最も効率的に動作します。また、FFTの結果は周波数領域で対称性を持つため、通常は結果の半分だけを解析に使用します。

以上がPythonでFFTを使う基本的な方法です。これを基に、さらに複雑なデータ解析に挑戦してみてください。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です