Fonctions > Traitement du signal > Analyse spectrale > Exemple : Analyse spectrale
  
Exemple : Analyse spectrale
Utilisez les fonctions coherence, cspectrum, pspectrum et snr pour calculer la cohérence, l'interspectre, la puissance du spectre et le rapport signal/bruit d'un signal ou de paires de signaux.
Une description de cette procédure de moyenne se trouve dans l'article Signal Processing Algorithms par Samuel Stearns et Ruth David (Prentice-Hall, Inc.).
Spectre de puissance : avec DFT
Dans le cas des longues séries temporelles pour lesquelles peu de points de données ont des valeurs correspondant à un signal, il est préférable que le spectre de puissance indique les fréquences du signal, mais pas les valeurs de bruit ou de zéro.
1. Définissez la largeur de la fenêtre.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
2. Définissez les deux fenêtres possibles, w1 et w2, dans laquelle le signal n'est pas zéro.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
3. Définissez la largeur de la fenêtre sur l'une des deux largeurs en option.
Cliquez pour copier cette expression
4. Définissez le signal et les fréquences d'échantillonnage.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
5. Utilisez la fonction sin pour définir le signal à l'intérieur et à l'extérieur de la fenêtre sélectionnée.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
6. Tracez le signal.
Cliquez pour copier cette expression
7. Utilisez la fonction dft pour calculer la transformée de Fourier discrète de x.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
8. Tracez la fonction résultante dans le domaine de fréquence.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Pour un signal d'onde sinusoïdale pur, l'amplitude des coefficients DFT offre une bonne estimation de son spectre de puissance. Mais dans ce cas, le TFD du signal est le contenu de la fréquence du signal structuré avec la transformation d'une fenêtre rectangulaire (une fonction sinc).
Le fait de poser W= w2 (Etape 3) élargit la fenêtre du signal sinusoïdal de 230-300 à 0-499 (facteur de 7.143x), d'où une augmentation de l'amplitude des deux pics de 35 à 250 (facteur de 7.143x également).
Les fréquences auxquelles les pics se produisent restent inchangées.
Spectre de puissance : utilisation de pspectrum
La fonction pspectrum divise la série temporelle d'origine en segments qui se chevauchent. Chacun de ces segments est transformé par une DFT et les coefficients des amplitudes transformées sont moyennés. Si la longueur des segments est de même échelle que les phénomènes à analyser dans le signal, la fonction pspectrum renvoie une bonne approximation de l'amplitude des composantes des parties intéressantes de la série temporelle d'origine.
En général, la longueur du signal est supérieure ou égale à n + 1.
1. Définissez la longueur du signal, la fraction de chevauchement et le type de fenêtre (rectangulaire adoucie).
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
2. Utilisez la fonction pspectrum pour calculer le spectre de puissance x calculé en divisant x en n1 segments se chevauchant avec la fraction de chevauchement r et fenêtrage de chaque segment avec une fenêtre rectangulaire adoucie.
Cliquez pour copier cette expression
3. Utilisez les fonctions floor et length pour montrer que la longueur de l'intervalle est le plus grand nombre L pour lequel :
Cliquez pour copier cette expression
4. Tracez le spectre avec un axe des fréquences normalisé (1 représente la fréquence d'échantillonnage).
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
5. Calculez la puissance moyenne du spectre.
Cliquez pour copier cette expression
Il s'agit approximativement de la valeur moyenne de racine carrée du signal x.
Cliquez pour copier cette expression
pspectrum avec bruit blanc
Calculez le spectre de puissance d'un signal contenant du bruit blanc. Générez deux signaux de ce type, étant donné que le second signal est nécessaire pour les calculs d'interspectre. Utilisez une fenêtre de Hamming pour adoucir le bloc de données.
1. Définissez la largeur du signal.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
2. Utilisez les fonctions sin et rnd fonctions pour définir deux signaux avec une fréquence commune fc. La fonction rnd renvoie un vecteur de nombres aléatoires distribués uniformément entre 0 et le nombre spécifié, garantissant ainsi que les signaux restent différents.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
3. Tracez les 100 premiers échantillons des deux signaux.
Cliquez pour copier cette expression
4. Utilisez la fonction pspectrum pour obtenir le spectre de puissance de y1, calculé en le découpant en 40 segments qui se chevauchent, avec une fraction de chevauchement de 0.5, et fenêtrez chaque segment avec une fenêtre de Hamming.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
5. Utilisez les fonctions match et max pour trouver les échantillons de pic du spectre de puissance.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
6. Tracez le spectre en décibels. Utilisez les marqueurs pour marquer la fréquence commune et la valeur maximale en décibels.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Le tracé montre que toute la puissance du signal se produit aux fréquences communes fc et 1-fc.
7. Calculez la puissance de bruit.
Cliquez pour copier cette expression
8. Calculez le gain de la puissance de bruit en dB.
Cliquez pour copier cette expression
9. Calculez la hauteur en utilisant le fait que les deux échantillons de fréquence ci-dessus, divisés par la longueur du spectre, doivent donner la puissance moyenne dans la composante sinusoïdale, à savoir 0.5.
Cliquez pour copier cette expression
Ou :
Cliquez pour copier cette expression
10. Comparez en décibels les hauteurs théoriques et réelles.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Fonction cspectrum
En général, l'interspectre est utilisé pour détecter des similitudes entre deux signaux, par exemple lors de la comparaison d'une forme d'onde vocale connue (par exemple la voyelle 'a') avec une forme d'onde vocale inconnue (par exemple le mot 'animal') afin de voir si la forme d'onde connue est présente dans la forme d'onde inconnue. Tout comme le spectre de puissance d'une série temporelle est similaire à son autocorrélation, l'interspectre de deux séries temporelles est similaire à leur corrélation croisée. Dans le cas des séquences aléatoires stationnaires, les fonctions de spectre renvoient les mêmes valeurs que les fonctions de corrélation.
1. Appliquez la fonction cspectrum aux signaux y1 et y2, avec 40 segments chevauchés avec une fraction de chevauchement de 0.5 et un fenêtrage de chaque segment avec une fenêtre rectangulaire adoucie.
Cliquez pour copier cette expression
2. Tracez le spectre en décibels.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
3. Tracez l'interspectre, sans oublier qu'il est complexe et que par conséquent le logarithme doit être appliqué à l'amplitude.
Cliquez pour copier cette expression
L'interspectre de y1 et de y2 présente un pic aux fréquences communes fc et 1- fc.
Fonctions coherence et snr
La fonction coherence mesure la dépendance linéaire d'un signal par rapport à un autre. Elle équivaut à l'amplitude carrée de l'interspectre de deux signaux divisés par les deux spectres de puissance, dont la valeur s'échelonne de 0 à 1. Des valeurs de 1 pour la fonction coherence tendent à indiquer que les deux signaux possèdent de fortes composantes sans bruit sur cette bande de fréquence. Des valeurs de 0 indiquent qu'il y a principalement du bruit sur cette bande de fréquence.
La fonction de rapport signal/bruit snr est égale à la fonction coherence divisée par 1 moins la fonction coherence, et elle est maximale lorsque les deux signaux possèdent des composantes fortes dans toutes les bandes de composantes, proportionnelles au rapport entre les forces des signaux et la force du bruit du capteur ou du bruit d'arrière-plan.
1. Appliquez la fonction coherence aux signaux y1 et y2, avec 40 segments chevauchés avec une fraction de chevauchement de 0.5 et un fenêtrage de chaque segment avec une fenêtre de Hamming.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
2. Tracez la fonction coherence. Utilisez les marqueurs pour marquer la fréquence commune et la valeur maximale.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
3. Appliquez la fonction snr aux signaux y1 et y2, avec 40 segments chevauchés avec une fraction de chevauchement de 0.5 et un fenêtrage de chaque segment avec une fenêtre de Hamming.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
4. Tracez la fonction de rapport signal-bruit. Utilisez les marqueurs pour marquer la fréquence commune et la valeur maximale.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Les deux fonctions coherence et snr présentent une valeur maximale au niveau des composantes monofréquence des deux signaux, avec du bruit ajouté représenté par les deux petites barres de chaque côté.