一つの時系列データに対してスペクトル解析を行う。
spec = specx_anal(x, iopt, jave, pct)
〔入力変数〕
x([*])
時間方向に並んだデータの1次元配列。ただし欠損値を含んではならない。
iopt([1])
トレンド除去の方法を指定するオプション。"0"で時系列平均を除去し、"1"で最小二乗法で求められる線形トレンドを除去する。
jave([1])
平滑化(修正ダニエル法に基づく)する際に用いるデータ幅を指定する。必ず奇数でなければならない。jave = 1 で生のパワースペクトルが得られ、jave >= 3 で、両端について1/2の重みがかかった移動平均による平滑化が実行される。
pct([1])
時系列データに窓をかける割合0.0〜1.0の間で指定する。通常は0.10が推奨される。
〔出力変数〕
spec
本解析による自由度が得られる。また、適宜attribute(@)を付加すると、以下の値も出力される。
@spcx
パワースペクトル。N個の時系列データに対して周波数分解能はもちろん1/Nで、N/2の大きさをもつ1次元配列。
@frq
周波数 [cycle/time]。N/2の大きさをもつ1次元配列。
@bw
スペクトルバンドの幅。スカラー量である。
@xavei
x([*])の平均。
@xvari
x([*])の分散。
@xvaro
トレンドを除去した後のxの分散。
@xlag1
トレンドを除去した後のxに対するラグ1の自己相関。
@xslope
iopt=1の場合に得られるxの線形トレンドの傾き。