(time, acceleration_longitudinal,acceleration_lateral,acceleration_dorso_ventral) を含むデータ(data.csv)*読み込み、3軸の加速度を元にODBAを計算し、それを元に以下のような連続ウェーブレット変換による周波数スペクトルを表示するプログラムです。このコードはメモリの制約からJupyterLiteでは動作しません。以下にはローカル環境やクラウド環境で動作するJupyter Notebookでの実行手順を説明します。
*BiPでOpenデータとなっているKatsufumi Sato (Atmosphere and Ocean Research Institute, University of Tokyo) 提供のオオミズナギドリのデータ (title: 9B41870_TS-AxyTrek_Movebank_YNo.6_release20210824)の一部を使用しています。
実行方法
使用するPython環境に必要なライブラリ(matplotlib numpy pywavelets)をインストールしてください。
pip install matplotlib numpy pywavelets
プログラム(CWT_Acc.py)とデータ(data.csv)をダウンロードします。連続ウェーブレット変換(CWT)では以下のように設定しているのでプログラムを適宜調整してください。
# 使用するウェーブレットとスケールの設定(具体的なパラメータを指定) wavelet = 'cmor1.5-6.0' # 複素モルレウェーブレット(帯域幅1.5、中心周波数6.0) scales = np.arange(1, 256) # スケール範囲(調整して周波数を0-8Hzに合わせる) # 連続ウェーブレット変換 coefficients, frequencies = pywt.cwt(odba, scales, wavelet, sampling_period=1/20) # サンプリング周波数20Hzと仮定
Pythonのプロンプト上、プログラムを保存したディレクトリに移動して、以下のコマンドを実行します。
python CWT_Acc.py