La traduction de cette page n'est pas à jour. Cliquez ici pour voir la dernière version en anglais.
Les trames de Gabor non stationnaires et la transformée à Q constant
Les trames de Gabor non stationnaires vous permettent d'implémenter une analyse de signaux adaptative en temps ou en fréquence. Les fonctions cqt
et icqt
utilisent des trames de Gabor non stationnaires pour obtenir une transformée à Q constant (adaptative en fréquence) (CQT) d'un signal. Une force notable des trames de Gabor non stationnaires est qu'elles permettent la construction d'inverses stables, donnant lieu à une reconstruction parfaite.
La théorie des trames de Gabor non stationnaires et les algorithmes efficaces pour leur implémentations sont dûs à Dörfler, Holighaus, Grill et Velasco [1][2]. Les algorithmes de [1] et [2] implémentent une version à verrouillage de phase de la CQT qui ne préserve pas les mêmes phases que celles qui seraient obtenues par convolution naïve. Dans [3], Schörkhuber, Klapuri, Holighaus et Dörfler développent des algorithmes efficaces pour la CQT et la CQT inverse qui imitent les coefficients obtenus par convolution naïve. Large Time-Frequency Analysis Toolbox [4] propose un ensemble complet d'algorithmes pour l'analyse et la synthèse de Gabor non stationnaire.
Dans l'analyse de Gabor standard, une fenêtre de taille fixe forme le plan temps-fréquence. Une trame de Gabor non stationnaire est une collection de fonctions de fenêtrage de différentes tailles qui sont utilisées pour former le plan temps-fréquence. L'analyse par ondelettes forme le plan temps-fréquence de manière similaire. Vous avez la possibilité de modifier la densité d'échantillonnage en temps ou en fréquence. Les trames de Gabor non stationnaires sont utiles dans des domaines tels que le traitement de signal audio, où les fenêtres temps-fréquence de taille fixe ne sont pas optimales. Contrairement à la transformée de Fourier à court terme, les fenêtres utilisées dans la transformée à Q constant ont une largeur de bande et une densité d'échantillonnage adaptables. Dans l'espace des fréquences, les fenêtres sont centrées sur des fréquences centrales espacées de façon logarithmique.
Décomposition du plan temps-fréquence
La transformée de Fourier de f(t) est la corrélation de f(t) avec ej ω t :
Commeej ω t n'a pas de support compact, la transformée de Fourier ne constitue pas un choix idéal pour étudier les signaux non stationnaires. Si le contenu en fréquence d'un signal change au fil du temps, la transformée de Fourier ne permet pas de savoir quels sont ces changements ni quand ils se produisent. La partition du plan temps-fréquence illustrée ici représente ce comportement de la transformée de Fourier.
Pour effectuer une analyse temps-fréquence d'un signal non stationnaire, on commence par une fonction de fenêtrage paire à valeur réelle, , qui est effectivement non nulle sur seulement un intervalle fini et dont la norme est égale à un. De plus, la transformée de Fourier de est centrée sur zéro et est passe-bas. Ensuite, faites glisser la fenêtre de sur f(t) et prenez la transformée de Fourier du résultat
La corrélation de f(t) avec les atomes de Gabor, , est une analyse de Gabor standard. En faisant varier u, on ne considère que les valeurs de f(t) proches du temps u. Le support de détermine la taille du voisinage proche du temps u. La transformée de Fourier de est la translation par ζ de la transformée de Fourier de et est donnée par
La concentration d'énergie de a une variance σω et est centrée sur ζ. Si la fenêtre, , se déplace sur une grille régulière, la transformée de Fourier du produit de la fenêtre décalée et de f(t) est la transformée de Fourier à court terme (STFT). Le pavage STFT du plan temps-fréquence peut être représenté comme une grille de rectangles, chacun centré sur (u, ζ) :
L'ensemble des fonctions est connu comme une trame de Gabor. Les éléments de cet ensemble sont appelés atomes de Gabor. Une trame est un ensemble de fonctions, {hk(t)}, qui satisfait la condition suivante : il existe des constantes 0 < A ≤ B < ∞ telles que pour toute fonction f(t),
La concentration d'énergie de , dans le temps, a une variance σt. La concentration d'énergie de , en fréquence, a une variance σω. La concentration d'énergie détermine la capacité de la fenêtre à localiser le signal en temps et en fréquence. En vertu du principe d'incertitude temps-fréquence, il existe une limite à la localisation simultanée dans les domaines temporel et fréquentiel, comme l'indique la formule
Le rétrécissement de la fenêtre dans un domaine entraîne une moins bonne localisation dans l'autre domaine. Gabor a montré que la surface de la fenêtre est minimale lorsque est gaussien.
Transformée à Q constant
Dans la CQT, on fait varier la largeur de bande et la densité d'échantillonnage en fréquence. Les fenêtres sont construites et appliquées directement dans le domaine des fréquences. Les différentes fenêtres ont des fréquences centrales et des largeurs de bande différentes, mais le rapport entre la fréquence centrale et la largeur de bande reste constant. Le maintien d'un ratio constant implique que :
La résolution dans le temps s'améliore à des fréquences plus élevées.
La résolution en fréquence s'améliore aux basses fréquences.
Les décalages temporels de chaque fenêtre dépendent de la largeur de bande, en raison du principe d'incertitude.
La CQT dépend de ce qui suit :
Les fonctions fenêtres gk sont des fonctions paires à valeurs réelles. Dans le domaine fréquentiel, la transformée de Fourier de gk est définie sur l'intervalle, [-Fs/2, Fs/2].
Le taux d'échantillonnage, ζs.
Le nombre de bins par octave, b.
Les fréquences minimale et maximale, ζmin et ζmax.
Choisissez une fréquence minimale ζmin et un nombre de bins par octave b. Ensuite, formez une séquence de fréquences géométriquement espacées,
ζk = ζmin × 2k/b
pour k = 0,...,K où K est un entier tel que ζK est la plus grande fréquence strictement inférieure à la fréquence de Nyquist ζs/2. La largeur de bande à la ke fréquence est fixée à Ωk = ζk+1-ζk-1. Compte tenu de cet échantillonnage, le rapport entre la ke fréquence centrale et la largeur de bande de la fenêtre est indépendant de k :
Q = ζk/Δk = (21/b-2-1/b)-1.
Pour assurer une reconstruction parfaite, la composante continue et la fréquence de Nyquist sont respectivement ajoutées à la séquence.
W(ω) forme les fonctions fenêtres gk. W(ω) est une fonction continue paire à valeur réelle qui est centrée sur 0, positive dans l'intervalle [-½,½], et 0 ailleurs. W(ω) est translatée à chaque fréquence centrale ζk puis mise à l'échelle. L'évaluation d'une version mise à l'échelle et translatée de W(ω) donne les coefficients de filtre gk[m], donnés par
gk[m] = W((m ζs/L - ζk)/Ωk)
pour m = 0, ..., L-1, où L est la longueur du signal. Par défaut, cqt
utilise la fenêtre 'hann'
.
En vertu du principe d'incertitude, la taille de la bande passante limite la valeur des décalages temporels. Pour satisfaire l'inégalité de trame, le décalage akde gk doit satisfaire
ak ≤ ζk/Ωk.
Comme mentionné précédemment, la fenêtre est appliquée dans le domaine de la fréquence. Les filtres, gk, centrés sur ζk, sont formés et appliqués à la transformée de Fourier du signal. En prenant la transformée inverse, on obtient les coefficients Q constant.
Références
[1] Holighaus, N., M. Dörfler, G.A. Velasco, and T. Grill. "A framework for invertible real-time constant-Q transforms." IEEE Transactions on Audio, Speech, and Language Processing. Vol. 21, No. 4, 2013, pp. 775–785.
[2] Velasco, G. A., N. Holighaus, M. Dörfler, and T. Grill. "Constructing an invertible constant-Q transform with nonstationary Gabor frames." In Proceedings of the 14th International Conference on Digital Audio Effects (DAFx-11). Paris, France: 2011.
[3] Schörkhuber, C., A. Klapuri, N. Holighaus, and M. Dörfler. "A Matlab Toolbox for Efficient Perfect Reconstruction Time-Frequency Transforms with Log-Frequency Resolution." Submitted to the AES 53rd International Conference on Semantic Audio. London, UK: 2014.
[4] Průša, Z., P. L. Søndergaard, N. Holighaus, C. Wiesmeyr, and P. Balazs. The Large Time-Frequency Analysis Toolbox 2.0. Sound, Music, and Motion, Lecture Notes in Computer Science 2014, pp 419-442. https://github.com/ltfat