Transformation de Fourier

Documents pareils
LABO PROJET : IMPLEMENTATION D UN MODEM ADSL SOUS MATLAB

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

M1107 : Initiation à la mesure du signal. T_MesSig

TD1 Signaux, énergie et puissance, signaux aléatoires

Traitement du signal avec Scilab : la transformée de Fourier discrète

CHAPITRE V. Théorie de l échantillonnage et de la quantification

Chapitre I La fonction transmission

5. Analyse des signaux non périodiques

Licence Professionnelle de Génie Industriel Université Paris VI-Jussieu ; CFA Mecavenir Année Cours de Génie Electrique G.

1.1.1 Signaux à variation temporelle continue-discrète

SUJET ZÉRO Epreuve d'informatique et modélisation de systèmes physiques

Intérêt du découpage en sous-bandes pour l analyse spectrale

Traitement du signal avec Scilab : transmission numérique en bande de base

CHAPITRE XIII : Les circuits à courant alternatif : déphasage, représentation de Fresnel, phaseurs et réactance.

Systèmes de transmission

Projet de Traitement du Signal Segmentation d images SAR

Texte Agrégation limitée par diffusion interne

TP Modulation Démodulation BPSK

1 Systèmes triphasés symétriques

Transmission d informations sur le réseau électrique

Suites numériques 4. 1 Autres recettes pour calculer les limites

Data first, ou comment piloter l analyse par les données

Cours 02 : Problème général de la programmation linéaire

FORD C-MAX + FORD GRAND C-MAX CMAX_Main_Cover_2013_V3.indd /08/ :12

LES CARACTERISTIQUES DES SUPPORTS DE TRANSMISSION

Plan. 5 Actualisation. 7 Investissement. 2 Calcul du taux d intérêt 3 Taux équivalent 4 Placement à versements fixes.

SYSTEMES LINEAIRES DU PREMIER ORDRE

Didier Pietquin. Timbre et fréquence : fondamentale et harmoniques

Signaux numériques : Multiplexage temporel : TDM

SIGNAUX NUMERIQUES ET MODULATIONS NUMERIQUES

Introduction. Mathématiques Quantiques Discrètes

Chapitre 11. Séries de Fourier. Nous supposons connues les formules donnant les coefficients de Fourier d une fonction 2 - périodique :

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

EP A1 (19) (11) EP A1 (12) DEMANDE DE BREVET EUROPEEN. (43) Date de publication: Bulletin 2011/26

Equations différentielles linéaires à coefficients constants

CHAPITRE IV Oscillations libres des systèmes à plusieurs degrés de liberté

Charges électriques - Courant électrique

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

LA COUCHE PHYSIQUE EST LA COUCHE par laquelle l information est effectivemnt transmise.

Chapitre 2 : Techniques de transmission

IFT2880 Organisation des ordinateurs et systèmes

Moments des variables aléatoires réelles

Telecommunication modulation numérique

3 Approximation de solutions d équations

Module d Electricité. 2 ème partie : Electrostatique. Fabrice Sincère (version 3.0.1)

Étude des Corrélations entre Paramètres Statiques et Dynamiques des Convertisseurs Analogique-Numérique en vue d optimiser leur Flot de Test

Correction de l examen de la première session

Donner les limites de validité de la relation obtenue.

THESE DOCTEUR. Génie Electrique. Maxime MOREAU

Amphi 3: Espaces complets - Applications linéaires continues

P1PY7204 Acquisition de données Cours

Comparaison de fonctions Développements limités. Chapitre 10

Analyse spectrale. jean-philippe muller. version juillet jean-philippe muller

Expérience 3 Formats de signalisation binaire

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

I- Définitions des signaux.

I Stabilité, Commandabilité et Observabilité Introduction Un exemple emprunté à la robotique Le plan Problème...

Coefficients binomiaux

BTS Groupement A. Mathématiques Session Spécialités CIRA, IRIS, Systèmes électroniques, TPIL

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Rapport de Stage de Master 2 ATIAM

Recherche De Coalescences Binaires Étalonnage Du Détecteur

Glossaire des nombres

Circuits RL et RC. Chapitre Inductance

Méthodes de quadrature. Polytech Paris-UPMC. - p. 1/48

Les techniques de multiplexage

Probabilités sur un univers fini

Licence Sciences et Technologies Examen janvier 2010

Objets Combinatoires élementaires

Quantification Scalaire et Prédictive

Exercice autour de densité, fonction de répatition, espérance et variance de variables quelconques.

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Systèmes asservis non linéaires

Chapitre 1 Régime transitoire dans les systèmes physiques

Cours d analyse numérique SMI-S4

Simulation de variables aléatoires

5. Les conducteurs électriques

Systèmes de communications numériques 2

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

Telecommunication modulation numérique

Chapitre 7. Récurrences

UNIVERSITE DE TECHNOLOGIE DE COMPIEGNE. Le Traitement du Signal aléatoire

PRODUIRE DES SIGNAUX 1 : LES ONDES ELECTROMAGNETIQUES, SUPPORT DE CHOIX POUR TRANSMETTRE DES INFORMATIONS

Communications numériques

Processus de comptage, Poisson mélange, fonction de perte exponentielle, système bonus-malus.

Puissances d un nombre relatif

Commun à tous les candidats

- Instrumentation numérique -

Représentation d un entier en base b

5.2 Théorème/Transformée de Fourier a) Théorème

INTERPRÉTATION ET ANOMALIES DE LA PROSPECTION À RÉSONANCE MAGNÉTIQUE (MRS)

Codage hiérarchique et multirésolution (JPEG 2000) Codage Vidéo. Représentation de la couleur. Codage canal et codes correcteurs d erreur

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé


La persistance des nombres

Cours de Systèmes Asservis

Transcription:

Transformation de Fourier Guy Gauthier École de technologie supérieure 2 juin 2014

Outline 1 Transformée de Fourier 2 Transformée de Fourier discrète 3 Transformée de Fourier rapide

Signal périodique Un signal périodique est un signal possédant la propriété suivante : x P (t + T P ) = x P (t) (1) La variable T P identifie la période du signal. Cette période est : T P = 1 f o = 2π ω o (2) La variable f o = 1/T P est la fréquence du signal en Hertz. La variable ω o = 2πf o est la pulsation du signal en radians par seconde.

Signal périodique Fourier a établit qu un signal périodique peut s exprimer par la somme de fonctions sinusoïdales et cosinusoïdales. Exemple : x P = 5sin(20πt) 4cos(10πt) + 3

Transformée de Fourier La transformée de Fourier permet de représenter un signal périodique de façon compacte. Cette transformée existe en trois "saveurs" : La forme exponentielle ; La bien connue forme trigonométrique ; La forme trigonométrique combinée. Nous allons présenter ces trois formes.

Transformée de Fourier La forme exponentielle de la série de Fourier est représentée par : x P (t) = C k e jkωot (3) k= Dans cette équation, le coefficient C k est : C k = 1 x P (t)e jkωot dt (4) T P T P...et la période T P du signal x P (t) est : T P = 1 f o = 2π ω o (5)

Exemple Soit le signal périodique suivant : x P (t) = 5 sin(20πt) avec ω o = 20π ce qui donne une période T P de 0.1 seconde. Dans cette équation, les coefficients C k sont : C k = 1 x P (t)e jkωot dt T P T P = 1 0.05 5 sin(20πt)e jk20πt dt 0.1 0.05 C k = 0 pour tous les k, excepté k = ±1 : C 1 = j2.5 et C 1 = j2.5

Transformée de Fourier La forme trigonométrique de la série de Fourier est représentée par : Avec : x P (t) = A 0 + (A k cos(kω o t) + B k sin(kω o t)) (6) k=1 A 0 = 1 x P (t)dt (7) T P T P qui donne la moyenne du signal (niveau DC).

Transformée de Fourier Puis :...et : A k = 2 x P (t) cos(kω o t)dt (8) T P T P B k = 2 x P (t) sin(kω o t)dt (9) T P T P

Transformée de Fourier La forme trigonométrique combinée de la série de Fourier est représentée par : x P (t) = C 0 + 2 C k cos(kω o t + θ k ) (10) k=1 Cette équation provient de la forme exponentielle. On note que C k = C k et e jβ + e jβ = 2 cos(β). L angle de déphasage θ k est : θ k = arctan ( ) Im(Ck ) Re(C k ) (11)

Que faire si le signal est non-périodique? Si le signal est non-périodique, on peut le considérer périodique si on assume que la période T P est infinie. Puisque l on assume que T P, alors : ω o = 2π T P 0 (12) Autrement dit, ω o devient très petit. On le pose donc égal à dω. En conséquence, on définit : kω 0 ω et C k C(ω).

Que faire si le signal est non-périodique? Les sommes impliquant C k deviennent des intégrales : C(ω) = dω x(t)e jωt dt (13) 2π Pour rendre l utilisation de l équation précédente plus facile, on la modifie pour obtenir cette définition de la transformée de Fourier X(ω) de x(t) : X(ω) = C(ω) 2π dω = La transformée inverse de Fourier est : x(t) = 1 2π x(t)e jωt dt (14) X(ω)e jωt dω (15)

Exemple Soit la fonction suivante : pour t >= 0 et 0 ailleurs. x(t) = e 5t La transformée de Fourier de ce signal est : X(ω) = x(t)e jωt dt = 0 = j ω j5 e 5t e jωt dt

Problème Les équations données concernent des fonctions dans le domaine continu. Un microcontrôleur nécessite des signaux discrets pour pouvoir fonctionner. Les signaux sont échantillonnés à une cadence T S. Il faut donc introduire une discrétisation dans ces fonctions.

Outline 1 Transformée de Fourier 2 Transformée de Fourier discrète 3 Transformée de Fourier rapide

Discrétiser la transformée de Fourier En discrétisant le signal x(t) avec une certaine période d échantillonnage T S, on transforme : en : X(ω) = X(Ω) = n= x(t)e jωt dt x[n]e jnω (16) Avec : t nt S, x(t) x[n] = x(nt S ), Ω = ωt S et l intégrale devient une somme. Bien que le signal x(t) a été discrétisé pour obtenir x[n], la fonction X(Ω) (le spectre en fréquence) reste une fonction continue...

Discrétiser la transformée inverse de Fourier De la même façon que précédemment, on transforme : en : x(t) = 1 X(ω)e jωt dω 2π x[n] = 1 π X(Ω)e jωt Ω (17) 2π π Le spectre en fréquence X(Ω) se répétant à tous les 2π, cela fait en sorte que les bornes de l intégrale sont changées en introduisant X(Ω). Puisque X(Ω) est continu, on conserve l intégrale.

Transformée discrète en temps de Fourier On peut voir surgir deux problèmes. Le premier, c est qu il faut un nombre infini d échantillons x[n], car les bornes de la somme sont et. Le second, c est que la transformée de Fourier X(Ω) est une fonction continue. Il devrait donc y avoir une discrétisation du coté fréquentiel aussi.

Transformée discrète en temps de Fourier Solutions à appliquer : Le premier problème est solutionné en limitant le nombre d échantillons. Nous représenterons ce nombre avec la variable N. Le second, c est d échantillonner le spectre en fréquence avec N points. Pour couvrir l espace fréquentiel entre π et π, l intervalle entre deux points du spectre en fréquence sera Ω = 2π/N. Note : la valeur de N est fixée à une valeur qui est une puissance de 2 : 2, 4, 8, 16, 32, 64, 128,...

Transformée de Fourier discrète Avec ces solutions, nous en arrivons à définir la transformée de Fourier discrète comme suit : X N [k] = N 1 n=0 x[n]w kn N (18)... et la transformée inverse de Fourier discrète est : x[n] = 1 N Le "Twiddle factor" W N est : N 1 k=0 X N [k]w kn N (19) W N = e j2π/n (20)

Le "Twiddle factor" W N Propriétés intéressantes de W N : Symétrie : W k+n/2 N = W k N (21) W k+n N = W k N (22) W 2k N = W k N/2 (23)

DFT à 2 points (N = 2) Soit un signal échantillonné en deux points (x[0] = x 0 et x[1] = x 1 ). La transformée de Fourier discrète est : 2 1 X 2 [k] = n=0 x[n]w kn 2 avec W 2 : W 2 = e j2π/2 = e jπ Donc : 1 X 2 [k] = x[n]e jπkn = x 0 e j0 + x 1 e jkπ n=0

DFT à 2 points (N = 2)... que l on simplifie à : X 2 [k] = x 0 + x 1 ( 1) k La composante "DC" (k = 0) est : X 2 [0] = x 0 + x 1 ( 1) 0 = x 0 + x 1 ; La composante fréquentielle du spectre (k = 1) est : X 2 [1] = x 0 + x 1 ( 1) 1 = x 0 x 1 ;

DFT à 2 points (N = 2) Supposons que x 0 = 5 et x 1 = 3, alors : et : X 2 [0] = x 0 + x 1 = 5 3 = 2 X 2 [1] = x 0 x 1 = 5 ( 3) = 8 Du point de vue de cette DFT à 2 points, le signal x[n] est : 5, -3, 5, -3, 5, -3, 5,... Donc un cosinusoïde de 8 unités pointe à pointe et décalé d une unité vers le haut.

DFT à 2 points Un papillon! Voici une représentation schématique de la DFT à 2 points : Qui ressemble à :

DFT à 2 points Effort de calcul requis Nombre de calculs requis : 2 additions réelles.

DFT à 4 points (N = 4) Soit un signal échantillonné en deux points (x[0] = x 0, x[1] = x 1, x[2] = x 2 et x[3] = x 3 ). La transformée de Fourier discrète est : avec W 4 : Donc : 4 1 X 4 [k] = n=0 x[n]w kn 4 W 4 = e j2π/4 = e jπ/2 3 X 4 [k] = x[n]e jπkn/2 n=0

DFT à 4 points (N = 4) En développant la somme : X 4 [k] = x 0 e j0 + x 1 e jπk/2 + x 2 e jπk + x 3 e j3πk/2 Et en développant les valeurs des exponentielles : X 4 [k] = x 0 + x 1 ( j) k + x 2 ( 1) k + x 3 j k

DFT à 4 points (N = 4) Soit x 0 = 0, x 1 = 1, x 2 = 0 et x 3 = 1. Alors : X 4 [0] = 0 + 1 ( j) 0 + 0 ( 1) 0 + 1 j 0 = 0 X 4 [1] = 0 + 1 ( j) 1 + 0( 1) 1 + 1 j 1 = 2j X 4 [2] = 0 + 1 ( j) 2 + 0( 1) 2 + 1 j 2 = 0 1 + 0 + 1 = 0 X 4 [3] = 0 + 1 ( j) 3 + 0( 1) 3 + 1 j 3 = 2j

DFT à 4 points Effort de calcul requis Nombre de calculs requis : 4 fois 3 (=12) additions complexes et 4 fois 4 (=16) multiplications complexes.

DFT à N points Effort de calcul requis Nombre de calculs requis : N fois N 1 (N(N 1)) additions complexes et N fois N (= N 2 ) multiplications complexes. Donc pour une DFT à 1024 points, il faut faire 1047552 additions et 1048576 multiplications complexes. Le temps de calcul de la DFT peut devenir relativement long pour N élevé. Solution : La FFT ou transformée de Fourier rapide.

Outline 1 Transformée de Fourier 2 Transformée de Fourier discrète 3 Transformée de Fourier rapide

Introduction Pour passer de la DFT à la FFT, on regroupe les données dans les sommes pour essayer de voir si on peut réussir à augmenter la vitesse de calcul en réduisant le nombre d opérations. On peut passer par la "decimation in frequency" (décimation en fréquence) ou la "decimation in time" (décimation en temps).

Decimation in frequency Commençons avec une DFT à 4 points. Ainsi : N 1 3 X[k] = x[n]wn kn = n=0 n=0 Que l on peut aussi écrire au complet : x[n]w kn 4 (24) X[k] = x[0] + x[1]w k 4 + x[2]w 2k 4 + x[3]w 3k 4 (25) Si on coupe la somme en deux : X[k] = x[0]+x[4/2 1]W k(4/2 1) 4 +x[4/2]w k(4/2) 4 +x[4 1]W k(4 1) 4 (26) Que l on ramène sous forme de sommes : X[k] = 4/2 1 n=0 x[n]w kn 4 + 4 1 n=4/2 x[n]w kn 4 (27)

Decimation in frequency Modifions le second terme de la somme : X[k] = Or : Ainsi : Puis : X[k] = 4/2 1 n=0 4/2 1 x[n]w4 kn + W k(4/2) 4 n=0 x[n + 4/2]W kn 4 (28) W N/2 N = e j2π(n/2)/n = e jπ = 1 (29) 4/2 1 n=0 X[k] = 4/2 1 x[n]w4 kn + ( 1) k 4/2 1 n=0 n=0 x[n + 4/2]W kn 4 (30) ( x[n] + ( 1) k x[n + 4/2] ) W kn 4 (31)

Decimation in frequency Les termes pairs sont définis avec k = 2m : X[2m] = 4/2 1 n=0 (x[n] + x[n + 4/2]) W 2mn 4 (32) Les termes impairs sont définis avec k = 2m + 1 : X[2m + 1] = en définissant : 4/2 1 n=0 (x[n] x[n + 4/2]) W 2mn 4 W n 4 (33) a[n] = x[n] + x[n + 4/2] (34) b[n] = x[n] x[n + 4/2] (35)

Decimation in frequency Ce qui nous permet d écrire : et : Pour N = 4 : a[0] = x[0] + x[2], a[1] = x[1] + x[3], b[0] = x[0] x[2] et b[1] = x[1] x[3]. X[2m] = X[2m + 1] = 4/2 1 n=0 4/2 1 n=0 a[n]w mn 4/2 (36) b[n]w mn 4/2 W n 4 (37)

Decimation in frequency Ainsi : X[0] = a[0] + a[1], X[2] = a[0] a[1]. X[1] = b[0]w4 0 + b[1]w 4 1 X[3] = b[0]w4 0 b[1]w 4 1 = b[0] jb[1], = b[0] + jb[1].

Decimation in frequency Généralisons. Ainsi : X[k] = N 1 n=0 Si on coupe la somme en deux à N/2 : X[k] = N/2 1 n=0 x[n]w kn N + x[n]w kn N (38) N 1 n=n/2 x[n]w kn N (39) Avec un changement de variable dans la seconde somme : X[k] = N/2 1 n=0 N/2 1 x[n]wn kn + n=0 x[n + N/2]W k(n+n/2) N (40)

Decimation in frequency Que l on réécrit comme suit : X[k] = N/2 1 n=0 X[k] = x[n]w kn N N/2 1 n=0 + ( 1) k N/2 1 n=0 x[n + N/2]W kn N (41) ( x[n] + ( 1) k x[n + N/2] ) W kn N (42)

Decimation in frequency En posant k = 2m : X[2m] = N/2 1 n=0 En posant k = 2m + 1 : X[2m + 1] = N/2 1 n=0 (x[n] + x[n + N/2]) W 2mn N (43) (x[n] x[n + N/2]) W 2mn N W n N (44)

Decimation in frequency Généralisant a[n] et b[n] : Pour les valeurs paires : a[n] = x[n] + x[n + N/2] (45) b[n] = x[n] x[n + N/2] (46) X[2m] = Pour les valeurs impaires : X[2m + 1] = N/2 1 n=0 N/2 1 n=0 a[n]w 2mn N (47) b[n]w 2mn N W n N (48)

Tuons une mouche avec une masse! Cas N = 2 : et X[2m] = a[0]w 2m 0 2 = a[0] (49) X[2m + 1] = b[0]w 2m 0 2 W 0 2 = b[0] (50) Avec a[0] = x[0] + x[1] et b[0] = x[0] x[1]. On obtient donc (m = 0) : X(0) = a(0) X(1) = b(0)

Tuons une plus grosse mouche avec une masse! Cas N = 4 : et X[2m] =a[0]w4 2m 0 + a[1]w4 2m =a[0] + a[1]w4 2m X[2m + 1] =b[0]w 2m 0 4 W 0 4 + b[1]w 2m 4 W 1 4 =b[0]w 0 4 + b[1]w 2m 4 W 1 4 Avec a[0] = x[0] + x[2], a[1] = x[1] + x[3], b[0] = x[0] x[2] et b[1] = x[1] x[3].

Tuons une plus grosse mouche avec une masse! Chaque somme peut être vue comme un DFT ayant 2 points. La première est : et la seconde est : X[2m] = a[0] + a[1]w m 2 X[2m + 1] = b[0]w 0 4 + b[1]w m 2 W 1 4 Donc : et : X[0] = a[0] + a[1] X[2] = a[0] a[1] X[1] = b[0]w 0 4 + b[1]w 1 4 X[3] = b[0]w 0 4 b[1]w 1 4

Tuons une plus grosse mouche avec une masse! Le schéma ressemble à : Cette FFT implique 4 multiplications et 8 additions de nombres complexes. Avec la DFT, cela aurait exigé 16 multiplications et 12 additions de nombres complexes.

Grossissons la mouche! Cas N = 8 : X[2m] =a[0]w8 2m 0 + a[1]w8 2m + a[2]w8 2m 2 + a[3]w8 2m 3 =a[0] + a[1]w8 2m + a[2]w8 4m + a[3]w8 6m et X[2m + 1] =b[0]w8 2m 0 W8 0 + b[1]w8 2m W8 1 + b[2]w8 2m 2 W8 2 + b[3] =b[0]w8 0 + b[1]w8 2m W8 1 + b[2]w8 4m W8 2 + b[3]w8 6m W8 3 Avec a[0] = x[0] + x[4], a[1] = x[1] + x[5], a[2] = x[2] + x[6], a[3] = x[3] + x[7], b[0] = x[0] x[4], b[1] = x[1] x[5], b[2] = x[2] x[6] et b[3] = x[3] x[7].

Grossissons la mouche! Cas N = 8 : X[2m] = a[0] + a[1]w m 4 + a[2]w4 2m + a[3]w4 3m et X[2m + 1] = b[0] + b[1]w m 4 W 1 8 + b[2]w 2m 4 W 2 8 + b[3]w 3m 4 W 3 8 Suite : X[0] = a[0] + a[1] + a[2] + a[3] X[2] = a[0] ja[1] a[2] + ja[3] =(a[0] a[2]) j(a[1] a[3])

Grossissons la mouche! Suite : X[0] = (a[0] + a[2]) + (a[1] + a[3]) X[2] = (a[0] a[2]) j(a[1] a[3]) X[4] = (a[0] + a[2]) (a[1] + a[3]) X[6] = (a[0] a[2]) + j(a[1] a[3]) X[1] = (b[0]w8 0 + b[2]w8 2 ) + (b[1]w8 1 + b[3]w8 3 ) X[3] = (b[0]w8 0 b[2]w8 2 ) j(b[1]w8 1 b[3]w8 3 ) X[5] = (b[0]w8 0 + b[2]w8 2 ) (b[1]w8 1 + b[3]w8 3 ) X[7] = (b[0]w8 0 b[2]w8 2 ) + j(b[1]w8 1 b[3]w8 3 )

Grossissons la mouche! Suite : X[0] = (a[0] + a[2]) + (a[1] + a[3]) X[2] = (a[0] a[2])w 0 8 + (a[1] a[3])w 2 8 X[4] = (a[0] + a[2]) (a[1] + a[3]) X[6] = (a[0] a[2])w 0 8 (a[1] a[3])w 2 8 X[1] = (b[0]w 0 8 + b[2]w 2 8 ) + (b[1]w 1 8 + b[3]w 3 8 ) X[3] = (b[0]w 0 8 b[2]w 2 8 )W 0 8 + (b[1]w 1 8 b[3]w 3 8 )W 2 8 X[5] = (b[0]w 0 8 + b[2]w 2 8 ) (b[1]w 1 8 + b[3]w 3 8 ) X[7] = (b[0]w 0 8 b[2]w 2 8 )W 0 8 (b[1]w 1 8 b[3]w 3 8 )W 2 8

Le schéma Remarquez l ordre des composantes fréquentielles.

Effort de calcul En termes de multiplications complexes, on en a que 8 au lieu de 64. Une DFT à N points exige N 2 multiplications complexes. Une FFT à N points exige N 2 log 2(N) multiplications complexes. Ainsi, une DFT à 1024 points exige 1048576 multiplications complexes. La FFT correspondante en requiert que 5120, donc 204.8 fois moins que la DFT!

Decimation in time Repartons de la somme : X[k] = N 1 n=0 x[n]w kn N Si on coupe la somme en deux, on considérant d une part les données paires x[2m] et d autre part les données impaires x[2m + 1] : X[k] = N/2 1 m=0 En simplifiant : X[k] = N/2 1 m=0 N/2 1 x[2m]wn 2km + m=0 N/2 1 x[2m]wn/2 km + W N k x[2m + 1]W k(2m+1) N (51) m=0 x[2m + 1]W km N/2 (52)

Decimation in time Donc on peut écrire que : Avec : et : X[k] = X pair [k] + W k NX impair [k] X pair [k] = X impair [k] = N/2 1 m=0 N/2 1 m=0 x[2m]w km N/2 (53) x[2m + 1]W km N/2 (54) On remarquera que X pair [k] et X impair [k] sont des DFT avec N/2 points. On peut passer ces DFT dans le même processus pour les diviser à nouveau en 2.

Retour sur la "grosse mouche"... que l on écrasera avec une masse différente. DFT 4 points : X[k] = X pair [k] + W k 4 X impair [k] La partie avec les données paires donne : Ce qui mène à : X pair [k] = 1 m=0 x[2m]w km 2 X pair [0] = x[0] + x[2] X pair [1] = x[0] + x[2]w 1 2 = x[0] x[2]

Retour sur la "grosse mouche" De plus : X pair [2] = x[0] + x[2]w 2 2 = x[0] + x[2] et est identique à X pair [0]. X pair [3] = x[0] + x[2]w 3 2 = x[0] x[2] et est identique à X pair [1]. En raison des propriétés du "Twiddle factor", X pair [k] = X pair [k + N/2]. X pair [0] et X pair [1] résultent d une DFT à 2 points.

Retour sur la "grosse mouche" La partie avec les données impaires donne : Ce qui mène à : X impair [k] = et c est égal à X impair [2]. 1 m=0 x[2m + 1]W km 2 X impair [0] = x[1] + x[3] X impair [1] = x[1] + x[3]w 1 2 = x[1] x[3] et c est égal à X impair [3]. C est une seconde DFT à 2 points.

Fin de la FFT à 4 points Finalement : X[0] =X pair [0] + X impair [0]W 0 4 =(x[0] + x[2]) + (x[1] + x[3])w 0 4 X[1] =X pair [1] + X impair [1]W 1 4 =(x[0] x[2]) + (x[1] x[3])w 1 4 X[2] =X pair [2] + X impair [2]W 2 4 =(x[0] + x[2]) (x[1] + x[3])w 0 4 X[3] =X pair [3] + X impair [3]W 3 4 =(x[0] x[2]) (x[1] x[3])w 1 4

Schéma FFT à 4 points avec Decimation in time

FFT à 8 points avec Decimation in time On débute avec cette équation : X[k] = X pair [k] + W k 8 X impair [k] La partie avec les données paires donne : Ce qui mène à : X pair [k] = 3 m=0 x[2m]w km 4 X pair [0] =x[0] + x[2] + x[4] + x[6] =(x[0] + x[4]) + (x[2] + x[6]) X pair [1] =x[0] + x[2]w 1 4 + x[4]w 2 4 + x[6]w 3 4 =(x[0] x[4]) + (x[2] x[6])w 1 4

FFT à 8 points avec Decimation in time...ainsi que : X pair [2] =x[0] + x[2]w 2 4 + x[4]w 4 4 + x[6]w 6 4 =(x[0] + x[4]) (x[2] + x[6]) X pair [3] =x[0] + x[2]w 3 4 + x[4]w 6 4 + x[6]w 9 4 =(x[0] x[4]) + (x[2] x[6])w 1 4

FFT à 8 points avec Decimation in time La partie avec les données impaires donne : Ce qui mène à : X impair [k] = 3 m=0 x[2m + 1]W km 4 X impair [0] =x[1] + x[3] + x[5] + x[7] =(x[1] + x[5]) + (x[3] + x[7]) X impair [1] =x[1] + x[3]w 1 4 + x[5]w 2 4 + x[7]w 3 4 =(x[1] x[5]) + (x[3] x[7])w 1 4

FFT à 8 points avec Decimation in time...ainsi que : X impair [2] =x[1] + x[3]w 2 4 + x[5]w 4 4 + x[7]w 6 4 =(x[1] + x[5]) (x[3] + x[7]) X impair [3] =x[1] + x[3]w 3 4 + x[5]w 6 4 + x[7]w 9 4 =(x[1] x[5]) + (x[3] x[7])w 1 4

Schéma FFT à 8 points avec Decimation in time

Adressage en bits inversé En pratique, on incrémente dans le sens binaire normal : Binaire normal Binaire inversé 000 000 001 100 010 010 011 110 100 001 101 101 110 011 111 111 En adressage à bit inversé, on inverse l ordre des bits (voir colonne en rouge). Cette représentation correspond à l ordre d apparition des données temporelle de la figure précédente.

Sur MATLAB Sur MATLAB, on utilise la fonction "fft". Exemple : t = (0:1/16:15/16); x = [0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1]; X = fft(x); dwn = 2*pi/16; % Incrément pulsation rad/s Wn = (0:dWn:15*dWn); % Pulsation normalisée rad/s plot(wn,x)