La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Transformée de Fourier en Temps Continu (TFTC)

Présentations similaires


Présentation au sujet: "Transformée de Fourier en Temps Continu (TFTC)"— Transcription de la présentation:

1 Transformée de Fourier en Temps Continu (TFTC)
On appelle Transformée de Fourier d’un signal 𝑥 𝑡 , la fonction complexe 𝑋 𝑓 telle que : 𝑋 𝑓 =𝑇𝐹 𝑥 𝑡 = −∞ +∞ 𝑥 𝑡 .𝑒𝑥𝑝 −𝑗2𝜋𝑓𝑡 𝑑𝑡 Pour une fréquence 𝑓 donnée, 𝑋 𝑓 représente l’NRJ d’interaction entre le signal 𝑥 𝑡 et l’exponentielle imaginaire 𝑒𝑥𝑝 −𝑗2𝜋𝑓𝑡 à cette fréquence 𝑓. La fonction 𝑋 𝑓 correspond donc à l’NRJ que possède 𝑥 𝑡 à différentes fréquences 𝑓. Voir à ce propos les exercices Créer un signal sinusoïdal complexe ,Créer une série de sinusoïdes et Energie d’interaction entre un signal bruité et des sinusoïdes des chapitres précédents.

2 La TF est un signal complexe
La Transformée de Fourier d’un signal 𝑥 𝑡 peut s’écrire : 𝑋 𝑓 = −∞ +∞ 𝑥 𝑡 .𝑒𝑥𝑝 −𝑗2𝜋𝑓𝑡 𝑑𝑡 = −∞ +∞ 𝑥 𝑡 . 𝑐𝑜𝑠 2𝜋𝑓𝑡 +𝑗.𝑠𝑖𝑛 −2𝜋𝑓𝑡 𝑑𝑡 = −∞ +∞ 𝑥 𝑡 .𝑐𝑜𝑠 2𝜋𝑓𝑡 𝑑𝑡 +𝑗 −∞ +∞ 𝑥 𝑡 .𝑠𝑖𝑛 −2𝜋𝑓𝑡 𝑑𝑡 =Re 𝑋 𝑓 +𝑗.𝐼𝑚 𝑋 𝑓 =𝑎+𝑗.𝑏 NRJ d’interaction 𝑥 𝑡 ↔ 𝑐𝑜𝑠 2𝜋𝑓𝑡 NRJ d’interaction 𝑥 𝑡 ↔𝑠𝑖𝑛 −2𝜋𝑓𝑡 La comparaison simultanée avec un cos et un sin de fréquence 𝑓, permet d’accéder à une mesure de l’NRJ que possède 𝑥 𝑡 à cette fréquence 𝑓(1). Pour caractériser un signal 𝑥 𝑡 , c’est souvent l’usage d’utiliser le module de la TF appelé spectre de 𝑥 𝑡 : 𝑋 𝑓 = 𝑎 2 + 𝑏 2 (1) Si on ne comparait qu’avec le seul cos et que x(t) était lui-même un cos de même fréquence mais déphasé de 𝜋 2 , alors la TF serait nulle : −∞ +∞ 𝑐𝑜𝑠 2𝜋𝑓𝑡+ 𝜋 2 .𝑐𝑜𝑠 2𝜋𝑓𝑡 𝑑𝑡 =0. L’utilisation du module 𝑋 𝑓 permet de s’affranchir des déphasages.

3 TF d’une porte temporelle
La TF d’une porte 𝑝 𝜏 𝑡 est P(f) = −∞ +∞ 𝑝 𝑡 .𝑒𝑥𝑝 −𝑗2𝜋𝑓𝑡 𝑑𝑡 = sin⁡(𝜋𝑓𝜏) 𝜋𝑓 . Sa valeur maximale est 𝜏 pour f=0. Elle s’annule aux fréquences 1/, 2/, ..., . 𝑇𝐹 𝑝(𝑡) =𝑃 𝑓 = − 𝜏 2 + 𝜏 𝑒𝑥𝑝 −𝑗2𝜋𝑓𝑡 𝑑𝑡== 1 −𝑗2𝜋𝑓 𝑒𝑥𝑝(−𝑗2𝜋𝑓𝑡) − 𝜏 2 + 𝜏 2 = 1 −𝑗2𝜋𝑓 𝑒𝑥𝑝 −𝑗𝜋𝑓𝜏 −𝑒𝑥𝑝 𝑗𝜋𝑓𝜏 , 𝑎𝑣𝑒𝑐 𝑢=𝜋𝑓𝜏 : = 1 −𝑗2𝜋𝑓 cos 𝑢 −𝑗. sin 𝑢 − cos 𝑢 −𝑗.sin(𝑢) = 1 −𝑗2𝜋𝑓 .−2𝑗.sin(𝑢) 𝑃 𝑓 = sin(𝜋𝑓𝜏) 𝜋𝑓 =𝜏 sin(𝜋𝑓𝜏) 𝜋𝑓𝜏

4 Les ordinateurs fonctionnent en Temps Discret
La figure ci-dessous représente 4 fois le même signal mais avec des temps d’ échantillonnage Te différents. Seules les valeurs symbolisées par un rond ‘o’ sont stockées dans la mémoire de l’ordinateur. Remarquer que le temps « continu » correspondrait à Te=0 avec une infinité de points.

5 ∆𝑓= 𝐹 𝑒 𝑁 = 1 𝑁 𝑇 𝑒 Discrétisation du temps et de la fréquence
Le calcul réalisable sur ordinateur est celui de la Transformée de Fourier Discrète (TFD) d’un nombre fini N de valeurs du signal x(t), 𝑇 𝑒 −é𝑐ℎ𝑎𝑛𝑡𝑖𝑙𝑙𝑜𝑛𝑛é𝑠 : 𝑒𝑥𝑒𝑚𝑝𝑙𝑒 :𝑁=10, 𝑇 𝑒 =1 𝑠𝑒𝑐𝑜𝑛𝑑𝑒 𝑡=0, 1, 2, 3, …, 9 𝑡=0. 𝑇 𝑒 , 1. 𝑇 𝑒 ,2. 𝑇 𝑒 ,3. 𝑇 𝑒 , …, 𝑁−1 . 𝑇 𝑒 𝑇 𝑒 = Période d’échantillonnage et résultant à un nombre fini N de valeurs de la fonction X(f), ∆𝑓−é𝑐ℎ𝑎𝑛𝑡𝑖𝑙𝑙𝑜𝑛𝑛é𝑠 : 𝑒𝑥𝑒𝑚𝑝𝑙𝑒 𝑁=10, ∆𝑓=0.1 𝐻𝑧 𝑓=0.0, 0.1, 0.2, 0.3, …, 0.9 𝑓=0.∆𝑓, 1.∆𝑓,2.∆𝑓,3.∆𝑓, …, 𝑁−1 .∆𝑓 𝐹 𝑒 = 1 𝑇 𝑒 = Fréquence d’échantillonnage ∆𝑓= 𝐹 𝑒 𝑁 = 1 𝑁 𝑇 𝑒 ∆𝑓= 𝐹 𝑒 𝑁 est appelée précision fréquentielle

6 Transformée de Fourier Discrète (I)
La suite de nombres : { x(0.Te), x(1.Te), ..., x((N-1).Te) } constitue le signal « numérique » 𝑋 𝑓 =𝑇𝐹 𝑥 𝑡 = −∞ +∞ 𝑥 𝑡 .𝑒𝑥𝑝 −2𝜋𝑗𝑓𝑡 𝑑𝑡  TFTC = TF en Temps Continu 𝑋 𝑘 𝐹 𝑒 𝑁 = 𝑛=0 𝑁−1 𝑥 𝑛 𝑇 𝑒 .𝑒𝑥𝑝 −2𝜋𝑗𝑘 𝐹 𝑒 𝑁 𝑛 𝑇 𝑒 . 𝑇 𝑒 ; 𝑘=0, 1, 2, …, 𝑁−1 La période d’échantillonnage 𝑇 𝑒 étant une constante, on peut la factoriser : 𝑋 𝑘 𝐹 𝑒 𝑁 = 𝑇 𝑒 𝑛=0 𝑁−1 𝑥 𝑛 𝑇 𝑒 .𝑒𝑥𝑝 −2𝜋𝑗 𝑘𝑛 𝑁 ; 𝑘=0, 1, 2, …, 𝑁−1

7 Transformée de Fourier Discrète (II)
On obtient par la même démarche la transformée de Fourier inverse:  TFITC = TF Inverse en Temps Continu ; n=0, 1, 2, ..., N-1

8 6. Transformée de Fourier Discrète (III)
Dans la définition donnée ci-dessous, la TFD 𝑋 𝑘 ne fait plus référence ni au temps, ni à la fréquence. Elle produit la « TF » d’une suite de nombres {x(0), x(1), ..., x((N-1))}. Pour cela, il suffit de poser Te = 1 et Fe = 1. On obtient alors les TFD et TFDI : Dans Matlab, ces 2 transformations sont exécutées par les commandes fft(x, N) et ifft(X, N) respectivement. (FFT signifie « Fast Fourier Transform ») Pour faire référence aux temps et aux fréquences « pratiques », on a les relations: 𝑋 𝑘 𝐹 𝑒 𝑁 = 𝑇 𝑒 .𝑓𝑓𝑡 𝑥, 𝑁 ; 𝑘=0, 1, 2, …, 𝑁−1 𝑥 𝑛𝑇 𝑒 = 𝐹 𝑒 .𝑖𝑓𝑓𝑡 𝑋, 𝑁 ; 𝑛=0, 1, 2, …, 𝑁−1

9 Créer des sinusoïdes de différentes fréquences, utiliser une boucle for…end
Ecrire un programme C0 qui utilise une boucle for … end et produise une figure similaire à celle-ci-dessous.

10 Discrétisation du temps
Ecrire un programme C1 qui produise une figure similaire à celle-ci-dessous.

11 Complément concernant la fonction fft : dans le cours on a vu que lorsque x(t) possède N échantillons, alors on calcule une TFD avec N fréquences : X = Te*fft(x, N). Il peut être montré que l’on peut calculer une TFD avec un nombre de fréquences 𝑃≠𝑁 par exemple en écrivant : X = Te*fft(x, P). Dans ce cas, la fonction fft change le signal x(t) : Si P=N : définition de la TFD, x(t) est inchangé. Si P>N alors des zéros sont ajoutés à x(t) de façon à ce que length(x)=P. Le spectre n’est pas déformé mais la précision fréquentielle ∆𝑓 est améliorée. Si P<N alors x(t) est tronqué de façon à ce que length(x)=P. Le spectre est déformé, il y a eu une perte d’information sur le signal x(t). P=N Pour des raisons similaires et d’autres qui seront vues lors de l’étude de l’ échantillonnage, la TFDI : x = Fe*ifft(X,P) doit être réalisée avec P=N. P>N P<N

12 Utiliser la fonction fft, calculer et représenter la TFD d’un signal, utiliser les fonctions abs et legend Télécharger le signal « signal_C2 » constitué des vecteurs t et x depuis le répertoire En examinant le vecteur temps, déterminer la période d’échantillonnage 𝑇 𝑒 . Dans un programme C2, écrire les commandes nécessaires aux objectifs qui suivent. Représenter le signal. A l’aide des outils de la figure, chercher à déterminer la périodicité temporelle 𝑇 𝐶2 que semble suivre ce signal. A quelle fréquence 𝐹 𝐶2 cela correspond t’il ? Soit N=200, le nombre de fréquences de la TFD à calculer. Créer le vecteur f=𝑘 𝐹 𝑒 𝑁 𝑎𝑣𝑒𝑐 𝑘=0, 1, 2, …, 𝑁−1 En utilisant la fonction fft, créer le vecteur 𝑋= 𝑇 𝑒 .𝑓𝑓𝑡 𝑥, 𝑁 La TFD est généralement complexe. C’est l’usage de plutôt utiliser le module de la TFD appelé aussi : spectre. Le module est obtenu selon la syntaxe : abs(X). Représenter le spectre en fonction de f. Décorer le graphe. On désire augmenter la précision fréquentielle. Compléter le programme pour que sur le même graphe, la TFD obtenue avec 800 puis avec 3200 fréquences soit représentée de la même façon que dans la figure de la diapositive suivante. Qu’observe t’on ?

13

14 Calculer la TFD avec fft
Dans un programme C3 : 1/ créer un signal x(t) d’une durée de 10 secondes, échantillonné à 100 Hz et composée de la somme de 2 sinusoïdes. La première aura une fréquence de 0.5 Hz, une amplitude égale à 2, tandis que la seconde aura une fréquence de 2 Hz et une amplitude égale à 1. Représenter le signal. 2/ Pour optimiser le calcul des FFT (Fast Fourier Transform), il est conseillé d’utiliser un nombre N de points qui soit une puissance de 2. Calculer X(f), la TF de x(t) en utilisant fft avec N=212. Représenter sa partie réelle et imaginaire dans un même fenêtre d’une façon similaire à la figure ci-dessous, cad entre 0 et 4 Hz.

15 Utiliser la fonction ifft, reconstruire un signal à partir de sa TF
Télécharger le signal « tfd_C4 » constitué des vecteurs f et X depuis le répertoire X est la TFD d’un signal x(t) qu’on cherche à reconstruire. Dans un programme C4 : 1/ Déterminer la précision spectrale df. Le nombre N de points dans la TFD. En déduire la fréquence d’échantillonnage Fe. 2/ Créer un vecteur temps nommé « t_reconstruit » comportant N points et de période d’échantillonnage, celle déduite de la question 1/. 3/ Reconstruire le signal temporel à partir de X(f) avec ifft. Ce signal reconstruit sera nommé « x_reconstruit ». Le représenter de 0 à 4 secondes dans un graphe où sera aussi représenté le signal x(t) du programme C3.

16 Etude de la résolution spectrale
La résolution spectrale 𝑅 est l’écart minimum qui doit exister entre les fréquences de 2 raies spectrales pour pouvoir être séparées. Par définition, elle est l’inverse de la durée d’observation 𝜏 du signal. On a 𝑅= 1 𝜏 . 1/ Dans un programme C5, créer un signal d’une durée de 7 = 7 secondes, échantillonné à 100 Hz et composé de la somme de 2 sinusoïdes. La première aura une fréquence de 1.9 Hz, une amplitude égale à 2, tandis que la seconde aura une fréquence de 2 Hz et une amplitude égale à 1. Calculer sa TFD, X7s(f) avec un nombre de fréquences Nf = 212. Combien vaut la précision fréquentielle df ? Combien vaut la résolution spectrale R ? 2/ Dans le même programme, créer un signal ayant les mêmes caractéristiques que celui du 1/ mais avec une durée 50 = 50 secondes. Calculer sa TFD, X50s(f) avec un nombre de fréquences Nf = 212. Combien vaut la précision fréquentielle df ? Combien vaut la résolution spectrale R ? 3/ Comparer les spectres |X7(f)| et |X50(f)|.

17 Identifier une personne par une analyse spectrale de sa voix
« La fréquence fondamentale de la voix est propre à chaque individu. Elle est fonction de différents paramètres physiologiques tel que le volume et la masse de la glotte, la section de la trachée,  sa longueur etc... Pour les hommes, cette fréquence fondamentale Fo se situe aux environs des 100 Hz, Pour les femmes, cette fréquence Fo se situe plutôt aux environs des 200Hz. Pour les enfants, cette fréquence Fo se situe plutôt aux environs des 300 à 400 Hz » (ref). Télécharger le fichier «speech_dft.wav» depuis le répertoire Depuis la fenêtre de commande de Matlab, double-cliquer sur ce fichier pour l’importer dans l’espace de travail. Il contient le vecteur « data » de la voix d’une personne et le scalaire « fs » qui est la valeur de la fréquence d’échantillonnage. Dans un programme C6, faire l’analyse spectrale de ces données afin de déterminer la voix est celle d’un homme, d’une femme ou d’un enfant.


Télécharger ppt "Transformée de Fourier en Temps Continu (TFTC)"

Présentations similaires


Annonces Google