質問: フーリエ変換の分解能 横軸が時間のデータを扱っています。 フーリエ変換することで周波数を横軸にとるスペクトルが得られるわけですが、このスペクトルの周波数分解能をどうやって求めればよいかわかりません。 教科書を読むと1/(n*dt) n:データ数,dt:データ取り込み時の時間幅 で決まると書かれていますが、実際には周波数の大小に応じて分解能が異なるように思います。 周波数に応じた分解能、どうやって求めればよいのでしょうか? ご教示、どうぞよろしくお願いいたします。
回答: 時間間隔 δt [s] で取った波形 a(1)~a(n) をfftにかけて、b(1)~b(n)というデータ列(複素数)が得られたとき、b(1)に対応する周波数 f1 [hz]は、f1 = 1/(n*δt)、b(2)の周波数は f2 = 2/(n*δt)、・・・、b(n)の周波数は fn = 1/(δt) となります。 例えば、δt = 1ms でとった1024点からなる波形をfftにかけたとき、周波数範囲は 1/1.024 hz、2/1.024 hz、・・・、1000 hz になります。波形取り込み時間 (n*δt) が 1s なら f1 = 1hz から 1hz きざみのスペクトルになります。0.1hzの分解能のスペクトルを得たいのなら、10秒間の波形データを取る必要があります。