サンプリング数Nの離散時間信号をフーリエ変換したい。
引用:6. 離散フーリエ変換 (やる夫で学ぶディジタル信号処理)
入出力が離散信号でないといけないので、離散フーリエ変換を利用する。
本来、離散フーリエ変換は周期時間信号にしか適用できないが、周期Nとして適用。
周波数領域(角速度)の間隔は2πf=2π/N。周期はNに依らず2π。
周波数f[Hz]のsin波をサンプリングして入力したい。
サンプリングレートをrとすると、y=sin(w*t)=sin(2πf*t)=sin(2πf*r*n)
コードは以下参照。
【NumPy】高速フーリエ変換 (FFT)で振幅スペクトルを計算 | 西住工房
最後に、周波数領域を角速度ではなく、周波数[Hz]で表したい。
角速度の範囲は[0, 2π]、角速度2πということは1サンプル(r)で1周期。
f=1/T=1/r。r=0.01[秒]だとすると、周波数の最大値は1/0.01=100[Hz]。