• 締切済み

MATLABでのFFTについて

MATLAB という汎用数値解析プログラムを使って、人でとった心電図のRR間隔の周波数解析を試みております。R波の検出し、512ポイントのRR間隔(RRI)のデータを得ました{R波をとるときの時間をtとし、RRI(n) = t(n+1)-t(n)}。ここからデータを補完してリサンプリングし、データポイントを2のべき乗にそろえ、FFTに持っていきたいと思います。 そこで質問は、#1.RRIを得る時点で、512ポイントにする意味はありますか? #2.最終的にFFTに行く前に2のべき乗のポイント数になれば問題ないでしょうか?

みんなの回答

noname#105027
noname#105027
回答No.1

こんにちは。少しですが、同じようなことをしたことがありますので、参考になれば。 #1について RRIを出すための時系列データ(つまり心電図データ)はもっと長いのですか?だとしたら、あえてデータ長を短くする必要はないと思います。結果の周波数分解能も下がりますしそんなに良いことはないと思います。解析が3秒ぐらい早くなる、ぐらいでしょうか? #2について これもマトラボのFFTだったらその必要はありません。もしもスペクトル密度を出したいのであればデータ長を2のべき乗にそろえる必要があると思いますが、FFTでは与えられたすべての時系列データ(この場合はRRI)から周波数解析をするようです。逆に言うと、もしも時系列データにトレンドがある場合は、先にフィルタを使ってdetrendしないといけませんが。