名前

       spectrum1d  - 1つ[または2つ]の時系列からパワースペクトル[お
よびクロススペクトル]を計算します


概要

       spectrum1d [ x[y]file ] -Ssegment_size] [ -C[xycnpago] ] [
-Ddt ] [ -Nname_stem ] [ -V ] [ -W ] [ -bi[s][n] ] [
-bo[s][n] ]


記述

       spectrum1d は X [および Y ]の値を標準入力[または x[y]file ]
の1列目[および2列目]から読みます。これらの値は等しい時間間
dt を持つ時系列 X(t) [Y(t)] として扱われます。入力の行数
は何行でもかまいません。 spectrum1d は Bendat and Piersol
 の標準誤差の推定法を用い複数のオーバーラップする窓のアンサ
ンブル平均をとるという Welch の方法によるパワースペクトル密
度[およびクロススペクトル密度]の推定値を含むファイルを作り
ます。

出力ファイルには3列のデータが入ります: f または w, p, e で
す。 f または w は周波数または波長、 p は推定スペクトル密度、
e は1標準偏差でエラーバーのサイズです。これらのファイルは
 name_stem に基づいて名付けられます。 -C オプションが使われ
たときは、最大8つのファイルが作られます; そうでないときは1
つ (xpower) だけが出力されます。ファイル( -bo が設定されな
い限り ASCII )は以下のようになります:

name_stem.xpower
X(t) のパワースペクトル密度。 X * X * dt の単位。

name_stem.ypower
Y(t) のパワースペクトル密度。 Y * Y * dt の単位。

name_stem.cpower
干渉出力のパワースペクトル密度。 ypower と同じ単位。

name_stem.npower
ノイズ出力のパワースペクトル密度。 ypower と同じ単位。

name_stem.gain
ゲイン出力、伝達関数の絶対値。 (Y / X) の単位。

name_stem.phase
位相スペクトル、伝達関数の位相。単位はラジアン。

name_stem.admit
アドミッタンススペクトル、伝達関数の実部。 (Y / X)
 の単位。

name_stem.coh
(2乗)干渉スペクトル、周波数の関数としての線形相関係
数。 [0, 1] の範囲の無次元数。 Signal-to-Noise-Ratio
(SNR) は coh / (1 - coh) である。 coh = 0.5 のとき
 SNR = 1 となる。


必要な引数

       x[y]file
最初の1[または2]列に X(t) [Y(t)] のサンプルを持つ ASCII
 (またはバイナリ、 -bi 参照)ファイル。ファイルを指定
しないときは、 spectrum1d は標準入力から読みます。

-S segment_size はアンサンブル平均の窓に含まれるサンプ
ルの数で、2のべき乗の数です。推定される最小の周波数
は 1.0/(segment_size * dt) で、最大は 1.0/(2 * dt)
 です。パワースペクトル密度の標準偏差はおよそ 1.0 /
sqrt(n_data / segment_size) になるので、もし segment_size
 = 256 なら、 10% の標準エラーバーを得るには 25,600
 のデータが必要になります。クロススペクトルのエラー
バーはより大きくより複雑で、干渉の関数にもなってい
ます。


オプション

       -C     入力の最初の2列を、2つの時系列 X(t) と Y(t) のサンプ
ルとして読みます。
ノイズのある線形システムにおいて Y(t) が出力で X(t)
 が入力であると考えます。ノイズ出力が最小になり干渉出
力とノイズ出力が相関を持たないような、最適な周波数応
答関数を最小自乗法で推定します。オプションで、任意の
順序で文字をセット{ x y c n p a g o }から最大8つまで
指定し、デフォルト[すべて]の代わりにこれらの出力ファ
イルだけを作ることができます。 x = xpower, y = ypower,
 c = cpower, n = npower, p = phase, a = admit, g = gain,
 o = coh.

-D dt に時系列のサンプルの間隔を設定します[デフォルト
 = 1]。

-N name_stem に出力ファイルに使われる名前の主部を与えま
す[デフォルト = "spectrum"]。

-V 冗長モードを選択します。標準エラー出力に経過報告を
送ります[デフォルトでは"静かに"走ります]。

-W 出力ファイルの1列目に周波数でなく波長を書きます[デ
フォルト = 周波数(サイクル / dt)]。

-bi バイナリ入力を選択します。単精度に対しては s を付け
加えます[デフォルトは倍精度です]。バイナリファイルの
列数に応じて n を付け加えてください[デフォルトは2で
す]。

-bo バイナリ出力を選択します。単精度に対しては s を付け
加えます[デフォルトは倍精度です]。


用例

       data.g は mGal 単位の重力データで、 1.5 km 間隔にサンプルさ
れているものとします。このパワースペクトルを単位 mGal**2-km
 で、ファイル data.xpower に書き出します。

spectrum1d data.g -S256 -D1.5 -Ndata

data.g に加えてyou have data.g と同じ位置でサンプルされた
 m 単位の地形データ data.t があるとします。 data.t を入力、
data.g を出力と考えて、その伝達関数の様々な特徴を推定します。

paste data.t data.g | spectrum1d -S256 -D1.5 -Ndata -C

関連事項

       gmt(l), grdfft(l)


参考文献

       Bendat, J. S., and A. G. Piersol, 1986, Random  Data,  2nd
revised ed., John Wiley & Sons.
Welch, P. D., 1967, "The use of Fast Fourier Transform for
the estimation of power spectra: a method based on time
averaging over short, modified periodograms"
,
IEEE Transactions on Audio and Electroacoustics, Vol
AU-15, No 2.



1 May 2003 SPECTRUM1D(l)

Man(1) output converted with man2html