Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

ウェーブレット シンクロスクイージング

ウェーブレット シンクロスクイージングとは

ウェーブレット シンクロスクイーズド変換は、振動モードをもつ複数成分信号を解析するのに役立つ時間-周波数解析手法です。振動モードをもつ信号の例には、音声波形、機械の振動、生体信号などが含まれます。振動モードをもつこれら実際の信号の多くは、振幅変調成分および周波数変調成分の和として記述できます。成分の和をもつこれらの種類の信号の一般的な式は、次になります。

k=1KAk(t)cos(2πϕk(t)),

ここで Ak(t) はゆっくりと変化する振幅、ϕk(t) は瞬間的な位相です。打ち切られたフーリエ級数は、振幅および周波数が時間と共に変化しない、これらの信号の特殊なケースです。

ウェーブレット変換および他の線形時間-周波数解析手法は、時間-周波数原子のディクショナリ[1]をもつ信号に相関させることで、これらの信号をその成分に分解します。ウェーブレット変換は、平行移動されスケーリングされたマザー ウェーブレットのバージョンを、時間-周波数原子として使用します。一部の時間-周波数拡散は、これらすべての、信号解析の鮮鋭度に影響する時間-周波数原子と関係しています。

ウェーブレット シンクロスクイーズド変換は、信号エネルギーを周波数で再代入する時間-周波数手法です。この再代入は、マザー ウェーブレットによって生じる拡散効果を補正します。他の時間-周波数再代入手法と異なり、シンクロスクイーズは周波数方向にのみエネルギーを再代入し、信号の時間分解能を保持します。時間を保持することで、逆シンクロスクイージング アルゴリズムが元の信号の正確な表現を再構成できます。シンクロスクイージングを使用するには、合算される信号の式の成分の各項は、固有のモード タイプ (IMT) 関数でなければなりません。IMT を構成する基準の詳細については、[2]を参照してください。

ウェーブレット シンクロスクイージング アルゴリズム

シンクロスクイージング アルゴリズムは次のステップを使用します。

  1. 解析ウェーブレット ψ(t) を選択します。シンクロスクイージングで使用する場合、CWT は複素数値のウェーブレットを使用して瞬時周波数情報を取得しなければなりません。

  2. ウェーブレットを使用して入力信号 f(t): Wψf(s,u) の CWT を求めます。変数 s と u は、それぞれスケールと平行移動パラメーターを示します。

  3. 位相変換 ωf を使用して、CWT 出力から瞬時周波数を抽出します。この位相変換は、u に対する CWT の 1 階微分に比例します。

    ωf(s,u)=i[2πWψf(s,u)]1uWψf(s,u).

    スケールは、s=ω0ω として定義されます。ここで、ω0 はウェーブレットのピーク周波数で、ω は周波数です。

  4. 位相変換が定数である領域で CWT を "スクイーズ" します。結果の瞬時周波数の値は、CWT の時間-周波数領域の重心における単一の値に再代入されます。この再代入は、結果として、CWT と比較すると、シンクロスクイーズされた変換からの先鋭化された出力となります。

説明したように、シンクロスクイージングは、平行移動に対して、連続ウェーブレット変換 (CWT) とその 1 階微分を使用します。CWT は可逆性があり、シンクロスクイーズド変換は CWT の可逆性という性質を継承するため、信号は再構成できます。

図: 瞬時周波数抽出

ウェーブレット ψ(t) に関する関数 f(t) の CWT は、関数のフーリエ変換とウェーブレットのフーリエ変換の積の逆フーリエ変換で表すことができます。

Wψf(s,u)=e2πiωuf^(ω)ψ^(sω)¯dω,

ここで、ψ^(sω) の上の横線は複素共役を表します。

単純な複素指数 f(t)=e2πiαt について考えます。f(t) の瞬時周波数を抽出するには、次のようにします。

  1. 関数のウェーブレット変換を求めます。

    Wψf(s,u)=e2πiαuψ^(sα)¯,

    ここで、ψ^(sα) は、sα におけるウェーブレットのフーリエ変換です。

  2. 次の平行移動 u に対して、前の方程式の偏微分をとります。

    uWψf(s,u)=2πiαe2πiαuψ^(sα)¯.

  3. 位相変換 ωf(s,u) の定義を適用して (ウェーブレット シンクロスクイージング アルゴリズムの手順 3)、瞬時周波数 ωf(s,u)=α を求めます。

必要な成分の分離

シンクロスクイージングでは、信号成分は、時間-周波数平面で適切に分離されている IMT でなければなりません。この要件が満たされていれば、瞬時周波数の軌跡を曲線に沿って追跡できます。この曲線は各信号のモードについて時間の経過と共に変化する最大エネルギーの位置を示します。軌跡曲線アルゴリズムの説明については、wsstridge を参照してください。

この不等式は必要な分離の基準を定義しています。

|ϕk'(t)ϕk1'(t)|14|ϕk'(t)+ϕk1'(t)|

ここで、ϕ' は瞬時周波数、d は正の分離定数[2]です。この必要な分離を決定するには、たとえば、Bump ウェーブレット x が [εxΔ,εx+Δ] の範囲でサポートされるフーリエ変換をもっているとします。Bump ウェーブレットが中心周波数 52π Hz をもっているため、[52π12,52π+12] を区間として使用します。次に、Bump ウェーブレットについて d が d>14 になるように Δ<εxd1+d を解きます。

Bump ウェーブレットの分離要件を示すため、cos(2π(0.1t))+sin((2π(0.2t)) で構成される信号を考えます。CWT を求めるために Bump ウェーブレットを使用すると、余弦の瞬間位相は ϕ1(t)=0.1t で、瞬時周波数は 1 階微分 0.1 です。同様に、正弦成分では、瞬時周波数は 0.2 になります。分離不等式 |0.1|14|0.3| は真です。したがって、2 つの信号成分は IMT 関数であり、シンクロスクイーズド変換を使用するのに十分に分離されています。

瞬時周波数に 0.3 や 0.4 などのより高い周波数を使用すると、不等式は |0.1|14|0.7| となり、真ではありません。これらの信号成分は十分に分離されていない IMT であるため、信号 cos(2π(0.3t))+sin((2π(0.4t)) はシンクロスクイーズド変換での使用に適していません。

CWT とシンクロスクイーズド変換の不鮮明化

CWT と二次チャープのシンクロスクイーズド変換とを比較すると、シンクロスクイーズド変換の結果について、減少したエネルギーの不鮮明さが見られます。

load quadchirp
Fs = 1000;
[wt,f] = cwt(quadchirp,"bump",Fs);
subplot(2,1,1)
hp = pcolor(tquad,f,abs(wt));
hp.EdgeColor = "none";
xlabel("Time (secs)")
ylabel("Frequency (Hz)")
title("CWT of Quadratic Chirp")
subplot(2,1,2)
wsst(quadchirp,Fs,"bump")

Figure contains 2 axes objects. Axes object 1 with title CWT of Quadratic Chirp, xlabel Time (secs), ylabel Frequency (Hz) contains an object of type surface. Axes object 2 with title Wavelet Synchrosqueezed Transform, xlabel Time (secs), ylabel Frequency (Hz) contains an object of type surface.

低周波数と高周波数成分の分離

この例では、シンクロスクイーズド変換から有用な結果を得るために信号成分間で必要な分離を示します。信号成分はサンプルごとに 0.025 サイクル、0.05 サイクル、0.20 サイクル、および 0.225 サイクルです。0.20 および 0.225 の高周波数成分は十分に分離されていないため、十分に分離された IMT の和として信号全体を表現できません。

信号を定義し、シンクロスクイーズされた成分をプロットします。

t = 0:2000;
x1 = cos(2*pi*.025*t);
x2 = cos(2*pi*.05*t);
x3 = cos(2*pi*.20*t);
x4 = cos(2*pi*.225*t);
x =x1+x2+x3+x4;
[sst,f] = wsst(x);
contour(t,f,abs(sst))
xlabel("Time")
ylabel("Normalized Frequency")
title("Inadequate High-Frequency Separation")

Figure contains an axes object. The axes object with title Inadequate High-Frequency Separation, xlabel Time, ylabel Normalized Frequency contains an object of type contour.

高周波数成分の分離を増やし、シンクロスクイーズされた成分を再度プロットします。

x4 = cos(2*pi*.3*t);
x =x1+x2+x3+x4;
[sst,f] = wsst(x);
contour(t,f,abs(sst))
xlabel("Time")
ylabel("Normalized Frequency")
title("Adequate High-Frequency Separation")

Figure contains an axes object. The axes object with title Adequate High-Frequency Separation, xlabel Time, ylabel Normalized Frequency contains an object of type contour.

すべての信号成分が適切に分離された IMT となり、それぞれ互いを区別できるほど十分に分離されています。この信号はシンクロスクイージング アルゴリズムでの使用に適しています。

不適切な分離のある領域

この例では、2 つの線形チャープをもつ信号を示します。線形チャープは次のように定義されます。

f(t)=cos(ϕ+2π(f0t+mt22)).

その 1 階微分 f0+mt は、瞬時周波数線を定義します。Bump ウェーブレットおよびその分離定数 0.25 を使用します。サンプルごとに 0.4 サイクルおよび 0.1 サイクルの瞬時周波数をもつ 2 つのチャープ信号が十分に分離されていない領域を特定するには、この方程式を解きます。

|y1-y2|=0.25|y1+y2|.

y1=-0.151000x+0.4y2=0.151000x+0.1 は、チャープの瞬時周波数線です。

t = 0:2000;
y1 = chirp(t,0.4,1000,0.25);
y2 = chirp(t,0.1,1000,0.25);
y = y1+y2;
wsst(y,'bump')
xlabel('Samples')
h1 = line([583 583], [0 0.5]);
h2 = line([1417 1417], [0 0.5]);
h1.Color='white';
h2.Color='white';

Figure contains an axes object. The axes object with title Wavelet Synchrosqueezed Transform, xlabel Samples, ylabel Normalized Frequency (cycles/sample) contains 3 objects of type surface, line.

垂直方向の線は領域の範囲です。サンプル 583 およびサンプル 1417 で不十分な分離が発生していることを示しています。垂直方向の線の間の領域では、信号は十分に分離された IMT で構成されていません。垂直方向の線の外側の領域では、信号は十分に分離された IMT をもっています。これらの領域では、シンクロスクイーズド変換から良好な結果を得ることができます。

参照

[1] Mallet, S. A Wavelet Tour of Signal Processing. San Diego, CA: Academic Press, 2008, p. 89.

[2] Daubechies, I., J. Lu, and H. T. Wu. "Synchrosqueezed Wavelet Transforms: an empirical mode decomposition-like tool." Applied and Computational Harmonic Analysis. Vol. 30(2), pp. 243–261.

[3] Thakur, G., E. Brevdo, N. S. Fučkar, and H. T. Wu. "The synchrosqueezing algorithm for time-varying spectral analysis: robustness properties and new paleoclimate applications." Signal Processing. Vol. 93, pp. 1079–1094.

関連するトピック