前提・実現したいこと
sawnによるwavelet解析
pythonでwavelet解析をしたくてsawnというライブラリを用いました。
パワースペクトル自体は出力できたのですが、COI(cone of influence)の範囲を出し方がわからなくてつまづいています。
色々と調べたのですが、なかなかswanでCOIの求め方が出てこないので質問させていただきました。
周波数帯は0~20 mHz帯を調べています。
発生している問題・エラーメッセージ
該当のソースコード
import numpy as np from swan import pycwt Fs = 1/0.001 omega0 = 2 y=[] #データファイルからデータを抽出 for line in open(ofilename1,"rt"): if line=="": break d=line.split() y.append(float(d[1])) freqs=np.arange(0.1,20,0.05) r=pycwt.cwt_f(y,freqs,Fs,pycwt.Morlet(omega0)) rr=np.abs(r)
試したこと
正直調べてもわからなかったので試しようがありませんでした。
swanでは無理なのでしょうか?
補足情報(FW/ツールのバージョンなど)
https://jp.mathworks.com/help/wavelet/ug/boundary-effects-and-the-cone-of-influence.html
のページの真ん中あたりの「predtimes」の計算式と、そのちょっと下の「predtimes」をプロットしてるところを参考にしてみてください
pythonではなくてmatlabのコードですが、簡単なことしかやってないので、よく見たらやってることは分かると思います
【追記】
不正確になる範囲は、使ってるウェーブレットの長さで変わります
上記で紹介した「predtimes」の計算式は、上記Webページで使ってるウェーブレットの条件に合わせてあるので、自分が使ってるウェーブレットの条件に合わせて「cf = 6/(2*pi)」のところを変える必要があります
あなたの回答
tips
プレビュー