SIGLENT (シグレント)SDS7000A シリーズ デジタル・オシロスコープ

コヒーレンス、パワースペクトル、クロスパワースペクトルは、信号処理において2つの信号の関係性を周波数領域で分析するための重要な概念です。それぞれの計算方法を以下にまとめます。

 

パワースペクトル ()

 

パワースペクトルは、1つの信号が各周波数にどれだけの「パワー」(エネルギー)を持っているかを示すものです。信号の自己相関をフーリエ変換することで得られます。

 

クロスパワースペクトル ()

 

クロスパワースペクトルは、2つの異なる信号$x(t)y(t)

クロスパワースペクトルは一般的に複素数となり、その絶対値が両信号の共通の周波数成分の強さを示し、偏角(位相)が両信号間の位相差を示します。


 

コヒーレンス ()

 

コヒーレンスは、2つの信号間の線形相関の度合いを周波数ごとに0から1の間の値で示す指標です。 言い換えれば、周波数領域における「相関係数の2乗」のようなものです。信号$x(t)y(t)Cohxy(f)は、パワースペクトルとクロスパワースペクトルを使って以下の式で計算されます。

 
   

ここで、Pxx(f)Pyy(f)x(t)y(t)のパワースペクトルです。

  • コヒーレンスが1に近い場合: その周波数で2つの信号の関連性が非常に高いことを意味します。

  • コヒーレンスが0に近い場合: その周波数で2つの信号間に線形な関係性がほとんどないことを意味します。

 

計算手順の例 💻

 

  1. 2つの時系列信号$x(t)y(t)$を収集する。

  2. 各信号を複数のセグメントに分割する。(ウェルチ法など)

  3. 各セグメントに対して離散フーリエ変換(DFT/FFT)を実行し、周波数スペクトル$X(f)Y(f)$を得る。

  4. 各セグメントの以下の値を計算し、セグメント間で平均化する。

    • パワースペクトル:

    • パワースペクトル:

    • クロスパワースペクトル:

  5. 平均化されたパワースペクトルとクロスパワースペクトルを用いて、上記のコヒーレンスの式を計算する。

多くのプログラミング言語(Pythonのscipy.signal.coherenceなど)には、これらの計算を行うための便利な関数が用意されています。