• 締切済み

スペクトル解析におけるコヒーレンス

2つの変動している時系列をFFTによって複素フーリエ成分に分解し、それぞれの周波数成分での実部と虚部(2つの時系列なので4つの数値)の組み合わせからコヒーレンスとかフェイズを算出できるようになっています。クロススペクトルからの処理とも言えると思いますが。 実際に計算してみるとコヒーレンスの値がどの周波数成分でも1ばかりになっており、どうしたことかと思っています。コヒーレンスの差異は非常にケタの小さいところに出るのだろうかとか、計算が間違ってないかなとチェックしていますが、原因がわかりません。また、全く無相関なはずのランダムデータを2つで調べてもコヒーレンスが1になってしまい、お手上げです。 どのようなものでしょうか。また、ネットで調べてみるとコヒーレンスを計算する場合、特殊な処理が必要との記述もありました。その説明はMatlabによるものなので当方の環境(Fortran)と一致しません。コヒーレンスは1に近い値になるものでしょうか(つまり計算は正しい)。あるいはそれは間違いで何かの処理をしたら正しく(?)計算できるものでしょうか。コヒーレンスの計算はその定義どおりに計算しているので今でも間違っているはずはないのですが。 よろしくお願いします。

みんなの回答

  • kiyos06
  • ベストアンサー率82% (64/78)
回答No.1

1)以下のものを比較する必要がある。 1.1)あなたが考えるコヒーレンス 1.2)計算するソフトのコヒーレンス 2)以下の二つの単純な波で(1.1) (1.2)を比較する。 2.1)a sin(ωt) 2.2)b sin(ωt +φ) 3)これの結果で(1.1),(1.2)が異なる場合には、(1.2)の使い方やオプション等で自分が考えるコヒーレンスに合わせる。

関連するQ&A