#author("2021-04-10T22:27:04+09:00","default:LabMember","LabMember")
[[PythonTutorial]]

* Pythonを使ったデータ解析その3 [#xc25415b]

#contents

** 準備 [#d44aa4e0]
[[ex3.zip>https://granite.phys.s.u-tokyo.ac.jp/wiki/Lab/?plugin=attach&pcmd=open&file=ex1.zip&refer=PythonTutorialExample1]]
をダウンロードして展開し,ex3.ipynbを開く

*** 中身について [#y6c67512]
今回は地震計(geophone)から取得した時系列データから地面振動のスペクトルを求める.
- ex3.ipynb: メインのデータ解析をするnotebook
- [x/y/z]_timetrend.txt: [x/y/z]軸方向の地震計の信号

** FFTの計算 [#e854f6f1]
scipy.signalモジュールを使ってFFTをする.

*** パワースペクトル密度 [#h3d4f719]
パワースペクトル密度を計算するには, scipy.signal.welch を使う.
 scipy.signal.welch(時系列データ, fs=サンプリングレート, window=窓関数(デフォルトはハニング), nperseg=1セグメントの長さ, noverlap=オーバーラップする長さ(デフォルトはnperseg/2))
welch はウェルチ法によるパワースペクトルの推定を行う関数.ウェルチ法は,
+ 時系列をいくつかのセグメントに分ける
+ それぞれのセグメントに窓関数をかける
+ それぞれのセグメントについてFFTをしてパワースペクトル密度を計算する
+ 求めたパワースペクトル密度の平均をとる
という手順でパワースペクトル密度を推定する方法.特徴的なのは,セグメントをオーバーラップして分けていること.
オーバーラップは50%にすることが多い.この時,例えばセグメント長全データ長の半分に取ればセグメント数は3,
セグメント長全データ長の1/3に取ればセグメント数は5,といった感じになる.



トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS