Fonctions > Traitement du signal > Transformées supplémentaires > Exemple : Transformée de Hilbert
  
Exemple : Transformée de Hilbert
Utilisez la fonction hilbert pour créer la transformée de Hilbert d'un signal réel permettant d'obtenir une transformée de Fourier discrète du signal analytique avec une amplitude de zéro aux fréquences négatives.
1. Utilisez les fonctions sin et cos pour définir le signal d'entrée. Utilisez la fonction rnd pour ajouter du bruit aléatoire.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
2. Tracez le signal d'entrée.
Cliquez pour copier cette expression
3. Utilisez la fonction hilbert pour calculer la transformée de Hilbert du signal d'entrée.
Cliquez pour copier cette expression
4. Tracez le signal de la transformée de Hilbert.
Cliquez pour copier cette expression
5. Elaborez et tracez le signal complexe.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Les étapes suivantes montreront que l'amplitude du signal analytique correspond à l'enveloppe complexe du signal d'origine.
6. Utilisez la fonction dft pour rechercher le spectre du signal z1.
Cliquez pour copier cette expression
7. Tracez les valeurs absolues du spectre.
Cliquez pour copier cette expression
Pour les vecteurs, le facteur de mise à l'échelle de la fonction dft et de la fonction désapprouvée CFFT est 1/N.
8. Tracez les quatre signaux sur le même graphique.
Cliquez pour copier cette expression
Le nouveau signal créé par la transformée de Hilbert est lié au signal d'origine dans le domaine de la transformée de la manière suivante :
Cliquez pour copier cette expression
où H correspond à la transformée de Hilbert, un filtre avec réponse en fréquence :
Cliquez pour copier cette expression
pour
Cliquez pour copier cette expression
Cliquez pour copier cette expression
pour
Cliquez pour copier cette expression
Il est possible d'élaborer H via les procédures et fonctions de conception de filtre.
Transformateur de Hilbert idéal
L'ouvrage de Rabiner et Gold (Theory and Application of Digital Signal Processing, Prentice-Hall, Inc.) fournit les coefficients du transformateur de Hilbert idéal. Les exemples ci-dessous reposent sur le traitement détaillé à la section 14.4 du document Signal Processing Algorithms, rédigé par Stearns et David (Prentice-Hall). Les coefficients du filtre idéal sont fenêtrés et décalés de manière à obtenir un filtre causal de longueur impaire L.
1. Définissez la longueur et le centre.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
2. Définissez les coefficients non fenêtrés h.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
3. Utilisez la fonction hamming pour fenêtrer les coefficients avec une fenêtre de Hamming, en utilisant l'opérateur vectorize pour multiplier h et la fenêtre, élément par élément.
Cliquez pour copier cette expression
4. Utilisez la fonction gain pour calculer le gain du filtre à la fréquence f avec des coefficients h.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
5. Tracez le gain et la fréquence.
Cliquez pour copier cette expression
La fréquence est normalisée à la fréquence d'échantillonnage 1.
6. Utilisez les fonctions exp et arg pour calculer le décalage de phase du filtre.
Le filtre présente un retard de C et nous calculons le décalage de phase du filtre par rapport au signal retardé. Le retard comporte cette fonction de transfert :
Cliquez pour copier cette expression
Cliquez pour copier cette expression
où :
Cliquez pour copier cette expression
Cliquez pour copier cette expression
7. Tracez la phase en degrés.
Cliquez pour copier cette expression
Le décalage est de -90 degrés sur presque toute la plage de fréquences.
Test du filtre
1. Définissez les paramètres du signal.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
2. Utilisez la fonction exp pour créer un nouveau signal. La fonction rnd ajoute du bruit à basse fréquence.
Cliquez pour copier cette expression
Vous pouvez placer le curseur sur rnd et appuyer sur F5 pour recalculer et visualiser un signal aléatoire différent T.
Cliquez pour copier cette expression
3. Placez les conjugués de ces éléments dans les 200 derniers emplacements du signal afin de garantir un résultat réel lorsque nous l'inversons.
Cliquez pour copier cette expression
Le nouveau vecteur comporte 1001 éléments, où les éléments 1 à 200 contiennent le vecteur d'origine T et les éléments 801 à 1000 contiennent les conjugués de T. Les éléments intermédiaires sont définis sur 0.
4. Recherchez la transformée de Fourier du signal T.
Cliquez pour copier cette expression
Utilisez la fonction Re pour supprimer la petite erreur d'arrondi imaginaire. Le bruit est généré par l'élaboration de la transformée T, en utilisant des phases aléatoires et des amplitudes unitaires pour les 200 éléments situés après le premier élément.
5. Tracez le signal transformé.
Cliquez pour copier cette expression
6. Utilisez la fonction response pour calculer la réponse du vecteur ZT pour filtrer HamL.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
7. Elaborez un signal complexe z2 à l'aide des 800 premiers éléments de ZT et des 800 derniers éléments de R.
Cliquez pour copier cette expression
Enregistrez les 800 premiers éléments du vecteur de la transformée de Fourier ZT dans le vecteur a2.
Cliquez pour copier cette expression
Enregistrez les 800 derniers éléments du vecteur de réponse R dans le vecteur b2.
Cliquez pour copier cette expression
Définissez le signal complexe z2.
Cliquez pour copier cette expression
8. Utilisez la fonction dft pour calculer la transformée de Fourier discrète de du signal z2.
Cliquez pour copier cette expression
Pour les vecteurs, le facteur de mise à l'échelle de la fonction dft et de la fonction désapprouvée CFFT est 1/P.
9. Tracez les valeurs absolues de la transformée de Fourier discrète du signal z2.
Cliquez pour copier cette expression
Les 200 points d'origine utilisés pour générer le signal dans le domaine de la transformée sont indiqués ici. La moitié supérieure du spectre est essentiellement égale à zéro, ce qui indique que le filtre du transformateur de Hilbert a correctement fonctionné.