Main Content

La traduction de cette page n'est pas à jour. Cliquez ici pour voir la dernière version en anglais.

Synchrosqueezing des ondelettes

Qu’est-ce que le synchrosqueezing des ondelettes ?

La transformée par synchrosqueezing en ondelettes est une méthode d'analyse temps-fréquence utile pour analyser les signaux à composantes multiples avec des modes d’oscillation. Les formes d'onde de la parole, les vibrations des machines et les signaux physiologiques sont des exemples de signaux présentant des modes d'oscillation. Beaucoup de ces signaux du monde réel avec des modes oscillants peuvent être écrits comme une somme de composantes modulées en amplitude et en fréquence. Une expression générale pour ces types de signaux à composantes additionnées est

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

Ak(t) est l'amplitude à variation lente et ϕk(t) est la phase instantanée. Une série de Fourier tronquée, où l'amplitude et la fréquence ne varient pas dans le temps, est un cas particulier de ces signaux.

La transformée en ondelettes et d'autres méthodes d'analyse linéaire temps-fréquence décomposent ces signaux en leurs composantes en corrélant le signal avec un dictionnaire d'atomes temps-fréquence [1]. La transformée en ondelettes utilise des versions traduites et mises à l'échelle d'une ondelette mère comme atome temps-fréquence. Un certain étalement de la fréquence temporelle est associé à tous ces atomes de fréquence temporelle, ce qui affecte la netteté de l'analyse du signal.

La transformée de synchrosqueezing en ondelettes est une méthode temps-fréquence qui réaffecte l'énergie du signal en fréquence. Cette réaffectation compense les effets d'étalement causés par l'ondelette mère. Contrairement à d'autres méthodes de réaffectation temps-fréquence, le synchrosqueezing réaffecte l'énergie uniquement dans la direction de la fréquence, ce qui préserve la résolution temporelle du signal. En préservant le temps, l'algorithme de synchrosqueezing inverse peut reconstruire une représentation précise du signal original. Pour utiliser le synchrosqueezing, chaque terme de l'expression du signal des composantes additionnées doit être une fonction de type mode intrinsèque (IMT). Pour plus de détails sur les critères qui constituent les IMT, voir [2].

Algorithme

L'algorithme de synchrosqueezing utilise les étapes suivantes.

  1. Obtenir la CWT du signal d'entrée. Pour être utilisé avec le synchrosqueezing, la CWT doit utiliser une ondelette analytique pour capturer les informations de fréquence instantanée.

  2. Extraire les fréquences instantanées de la sortie CWT, Wf, en utilisant une transformée de phase, ωf. Cette transformée de phase est proportionnelle à la première dérivée de la CWT par rapport à la translation, u. Dans cette définition de la transformée de phase, s est l'échelle.

    ωf(s,u)=tWf(s,u)2πiWf(s,u).

    Les échelles sont définies comme s=fχf, où fχ est la fréquence de crête et f la fréquence.

    Pour extraire la fréquence instantanée, on considère une simple onde sinusoïdale, ei2πf0t.

    1. Obtenir la transformée en ondelettes,

      Wf(ei2πf0t)=ei2πf0u,

      χ^(sf0) est la transformée de Fourier de l'ondelette à sf0.

    2. Prendre la dérivée partielle de l'équation précédente par rapport à la translation, u:

      uWf(ei2πf0t)=i2πf0χ^(fχ)ei2πf0u

    3. Diviser la dérivée partielle par la transformée en ondelettes et i2π pour obtenir la fréquence instantanée, f0.

  3. « Squeezer» la CWT sur les régions où la transformée de phase est constante. La valeur de fréquence instantanée qui en résulte est réaffectée à une valeur unique au centroïde de la région temps-fréquence CWT. Cette réaffectation se traduit par une sortie plus nette de la transformée par synchrosqueezing par rapport à la CWT.

Comme décrit, le synchrosqueezing utilise la transformée en ondelettes continue (CWT) et sa première dérivée par rapport à la translation. La CWT est inversible et comme la transformée de synchrosqueezing hérite de la propriété d'inversibilité de la CWT, le signal peut être reconstruit.

Séparation requise des composantes

Dans le cas du synchrosqueezing, les composantes du signal doivent être des IMT bien séparés dans le plan temps-fréquence. Si cette condition est remplie, vous pouvez suivre la trajectoire des fréquences instantanées le long d'une courbe. Les courbes montrent l'emplacement de l'énergie maximale telle qu'elle varie dans le temps pour chaque mode de signalisation. Voir wsstridge pour une description de l'algorithme des courbes de trajectoire.

Cette inégalité définit le critère de séparation requis :

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

ϕ' est la fréquence instantanée et d est une constante de séparation positive [2]. Pour déterminer cette séparation requise, supposons qu'une ondelette bump, x, a une transformée de Fourier avec un support dans la plage [εxΔ,εx+Δ]. L’ondelette bump ayant une fréquence centrale de 52π Hz, utilisez [52π12,52π+12] comme intervalle. Ensuite, résolvez Δ<εxd1+d pour d pour obtenir d>14 pour l'ondelette bump.

Pour illustrer cette exigence de séparation pour l'ondelette bump, considérons un signal composé de cos(2π(0.1t))+sin((2π(0.2t)). En utilisant l'ondelette bump pour obtenir le CWT, la phase instantanée du cosinus est ϕ1(t)=0.1t, et la fréquence instantanée est la première dérivée, 0,1. De même, pour la composante sinus, la fréquence instantanée est de 0,2. L'inégalité de séparation, |0.1|14|0.3|, est vraie. Par conséquent, les deux composantes du signal sont des fonctions d'IMT et sont suffisamment séparées pour utiliser la transformée de synchrosqueezing.

Si vous utilisez des fréquences plus élevées, comme 0,3 et 0,4 pour les fréquences instantanées, l'inégalité est |0.1|14|0.7|, ce qui est faux. Ces composantes du signal n’étant pas des IMT bien séparés, le signal, cos(2π(0.3t))+sin((2π(0.4t)), n'est pas approprié pour être utilisé avec la transformée de synchrosqueezing.

Exemples

Étalement par CWT ou transformée de synchrosqueezing

La comparaison de la CWT avec la transformée de synchrosqueezing d'un chirp quadratique montre un étalement d'énergie réduit pour le résultat de la transformée de synchrosqueezing.

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 contains an object of type surface. Axes object 2 with title Wavelet Synchrosqueezed Transform contains an object of type surface.

Séparation des composantes basse et haute fréquences

Cet exemple montre la séparation nécessaire entre les composantes du signal pour obtenir des résultats utilisables à partir de la transformée de synchrosqueezing. Les composantes du signal sont de 0,025, 0,05, 0,20 et 0,225 cycles par échantillon. Les composantes haute fréquence, 0,20 et 0,225, ne sont pas suffisamment séparées, de sorte que vous ne pouvez pas exprimer le signal entier comme une somme d'IMT bien séparés.

Définissez le signal et tracez les composantes de synchrosqueezing.

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 contains an object of type contour.

Augmenter la séparation des composantes haute fréquence, puis tracer à nouveau les composantes de synchrosqueezing.

x4 = cos(2*pi*.3*t);
x =x1+x2+x3+x4;
[sst,f] = wsst(x);
figure
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 contains an object of type contour.

Toutes les composantes du signal sont maintenant des IMT bien séparés et sont suffisamment séparées pour être distinguées les unes des autres. Ce signal est approprié pour être utilisé avec l'algorithme de synchrosqueezing.

Région avec une séparation inadéquate

Cet exemple montre un signal avec deux chirps linéaires. Un chirp linéaire est défini comme

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

Sa première dérivée, f0+mt, définit la ligne de fréquence instantanée. Utilisez l'ondelette bump et sa constante de séparation de 0,25. Pour déterminer la région où les deux signaux chirp avec des fréquences instantanées de 0,4 et 0,1 cycles par échantillon ne sont pas suffisamment séparés, résolvez cette équation :

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

y1=-0.151000x+0.4 et y2=0.151000x+0.1 sont les lignes de fréquence instantanée des chirps.

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 contains 3 objects of type surface, line.

Les lignes verticales sont les limites de la région. Elles indiquent qu'il n'y a pas assez de séparation aux échantillons 583 et 1417. Dans la région entre les lignes verticales, le signal n'est pas constitué d'IMT bien séparés. Dans les régions situées en dehors des lignes verticales, le signal présente des IMT bien séparés. Vous pouvez obtenir de bons résultats avec la transformée de synchrosqueezing dans ces régions.

Références

[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.

Sujets associés