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.
2. Tracez le signal d'entrée.
3. Utilisez la fonction hilbert pour calculer la transformée de Hilbert du signal d'entrée.
4. Tracez le signal de la transformée de Hilbert.
5. Elaborez et tracez le signal complexe.
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.
7. Tracez les valeurs absolues du spectre.
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.
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 :
où H correspond à la transformée de Hilbert, un filtre avec réponse en fréquence :
pour
pour
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.
2. Définissez les coefficients non fenêtrés h.
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.
4. Utilisez la fonction gain pour calculer le gain du filtre à la fréquence f avec des coefficients h.
5. Tracez le gain et la fréquence.
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 :
où :
7. Tracez la phase en degrés.
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.
2. Utilisez la fonction exp pour créer un nouveau signal. La fonction rnd ajoute du bruit à basse fréquence.
Vous pouvez placer le curseur sur rnd et appuyer sur F5 pour recalculer et visualiser un signal aléatoire différent T.
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.
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.
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é.
6. Utilisez la fonction response pour calculer la réponse du vecteur ZT pour filtrer HamL.
7. Elaborez un signal complexe z2 à l'aide des 800 premiers éléments de ZT et des 800 derniers éléments de R.
Enregistrez les 800 premiers éléments du vecteur de la transformée de Fourier ZT dans le vecteur a2.
Enregistrez les 800 derniers éléments du vecteur de réponse R dans le vecteur b2.
Définissez le signal complexe z2.
8. Utilisez la fonction dft pour calculer la transformée de Fourier discrète de du signal z2.
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.
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é.