scipyは非常に便利なツールで、数学的処理がたくさんつまっているモジュールで、お世話になっています。ヒルベルト変換を用いた波形の包絡線(絶対値)を描きたいと思ったら、数行で書けてしまったので、正直あっているのかどうかとても不安。data
が、対象にしている波形とする
envelope.py
from scipy import signal
envelope = abs(signal.hilbert(data))
これで、波形の包絡線が描けている。自分の持ってるデータで描いた結果がこれ。青が実データで赤が包絡線。
波形から特徴量を抽出して、機械学習とかを用いたいので、こういった作業はscipyにお世話になりっぱなし。ウェーブレット変換なんかも、
signal.cwt(data, signal.ricker, np.arange(1, 31))
こんな感じで計算が可能らしいが本当なのだろうか。それにしてもscipyすごい