traitement de signal - université de limoges...ceci est parce que dans les systèmes réels une...

46
Traitement du signal Chapitre 4- Transformée de Fourier Discrète TFD Vahid Meghdadi ELT2 2011-2012

Upload: others

Post on 13-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Traitement du signal

Chapitre 4- Transformée de Fourier

Discrète TFD

Vahid Meghdadi

ELT2

2011-2012

Page 2: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Panorama

Signaux analogiques

•Non-périodique

•Transformée de Fourier

•Périodique

•Série de Fourier

Signaux Discrets

•Non-périodique

•Transformée de Fourier signal discret TFSD

•Périodique

•Série de Fourier discrète SFD

•Limité dans le temps

•Transformée de Fourier Discrète TFD

Page 3: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

SFD pour des signaux périodiques

Chapitre 4: Transformée de Fourier Discrète TFD 4-1- SFD pour des signaux périodique

Ce signal peut être présenté par une somme des exponentiels aux

fréquences 2𝜋/𝑁.

( ) ( ) ,x n x n rN r n

12 /

0

1( ) ( )

Nj nk N

k

x n X k eN

1

2 /

0

( ) ( )N

j nk N

k

X k x n e

•𝑋(𝑘) est la pondération sur le 𝑘ième exponentiel.

•𝑋(𝑘) est définit pour 𝑘 = 0, … ,𝑁 − 1 mais on peut penser que c’est une

séquence périodique de période 𝑁 ∶ 𝑋 𝑘 = 𝑋(𝑘 + 𝑁)

Page 4: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Représentation matricielle de la SFD

où x [ (0) (1) ... ( 1)]Tx x x N

X [ (0) (1) ... ( 1)]TX X X N

2 0/ 2 0/ 2 0/ 2 0/

2 0/ 2 / 2 2/ 2 ( 1)/

2 0/ 2 2/ 2 4/ 2 2( 1)/

2 0/ 2 ( 1)/ 2 2( 1)/ 2 ( 1)( 1)/

...

...

W ...

...

j N j N j N j N

j N j N j N j N N

j N j N j N j N N

j N j N N j N N j N N N

e e e e

e e e e

e e e e

e e e e

2 /[ ] ( )j N ij

ijw e C’est-à-dire

1x W XH

N X Wx

Chapitre 4: Transformée de Fourier Discrète TFD 4-1- SFD pour des signaux périodique

Page 5: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Exemple

( ) ( ) et ( ) ( )x n n x n x n N

Pour ce signal la période est 𝑁.

x(n)

n N

X(k)

k N-1

1

Chapitre 4: Transformée de Fourier Discrète TFD 4-1- SFD pour des signaux périodique

Page 6: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Propriété de la SFD

1- Linéarité

1 1

1 2 1 2

2 2

( ) ( ) a ( ) ( ) ( ) ( )

( ) ( )

x n X kx n bx n aX k bX k

x n X k

2- Décalage 2

( ) ( )k

j mNx n m e X k

Attention: c’est un décalage circulaire !

2

( ) ( )l

j nNe x n X k l

Chapitre 4: Transformée de Fourier Discrète TFD 4-1- SFD pour des signaux périodique

Page 7: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Propriété de la SFD

3- Dualité

( ) ( )

( ) ( )

x n X k

X n Nx k

4- Convolution périodique

1 2 1 2( ) ( ) ( ) Y(k)=X ( ) ( )y n x n x n k X k

1

2 1

0

( ) ( ) ( )N

m

y n x m x n m

Attention, x1 et x2 sont périodiques.

Chapitre 4: Transformée de Fourier Discrète TFD 4-1- SFD pour des signaux périodique

Page 8: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Transformée de Fourier signal discret

Quelle est la relation entre la SFD d’un signal périodique et sa

transformée de Fourier signal discret, c’est-à-dire entre SFD et TFSD?

Les signaux périodiques ne vérifient pas la condition nécessaire pour avoir

une transformée de Fourier : 2

( )n

x n

Mais un signal qui peut être présenté sous forme d’une somme

d’exponentiels possède une transformée de Fourier sous forme de sommes

de deltas Dirac.

2 2( ) ( ) ( )j

k

kX e X k

N N

Chapitre 4: Transformée de Fourier Discrète TFD 4-1- SFD pour des signaux périodique

12 /

0

1( ) ( )

Nj nk N

k

x n X k eN

Page 9: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Exemple

Chapitre 4: Transformée de Fourier Discrète TFD 4-1- SFD pour des signaux périodique

12 /

0

( ) ( )

( ) ( ) 1

2 2( ) ( )

r

Nj nk N

n

j

k

p n n rN

P k p n e

kP e

N N

p(n)

n N

P(k)

k N-1

P(ejω)

ω 2π

2π/N

2π/N

1

1

Une période

Donc pour un signal discret périodique on

peut écrire la transformée de Fourrier.

Page 10: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Périodisation des signaux non périodique

Pour périodiser un signal 𝑥(𝑛) limité dans le temps dans l’intervalle de

0 à 𝑁 − 1, on peut le convoluer avec la séquence 𝑝(𝑛) précédente.

p(n)

n N

x(n)

n N *

N

( )x n

2N -2N n

( ) ( )* ( ) ( )* ( ) ( )r r

x n x n p n x n n rN x n rN

Chapitre 4: Transformée de Fourier Discrète TFD 4-1- SFD pour des signaux périodique

Page 11: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Signaux bornés et la TFD

Chapitre 4: Transformée de Fourier Discrète TFD 4-2- TFD pour des signaux bornés

Supposons que 𝑥(𝑛) est nul pour 𝑛 < 0 et 𝑛 ≥ 𝑁. On construit le signal

ci-dessous:

( ) ( )r

x n x n rN

( ) 0( )

0

x n n Nx n

ailleur

( ) ( modulo )x n x n N

Pour 𝑥 (𝑛), qui est un signal périodique, la série de Fourier existe et on peut

donc calculer les 𝑋(𝑘). Les 𝑋(𝑘) pour 𝑘 = 0,… , 𝑁 − 1 s’appellent la TFD du signal borné 𝑥(𝑛).

Page 12: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Transformée de Fourier Discrète TFD

21

0

( ) ( ) 0nkN j

N

n

X k x n e k N

21

0

1( ) 0

( )

0

nkN jN

n

X k e n Nx n N

ailleurs

( ) ( )TFDx n X k

Chapitre 4: Transformée de Fourier Discrète TFD 4-2- TFD pour des signaux bornés

Soit 𝑥(𝑛) un signal défini dans l’intervalle [0,N)

Page 13: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Relations

Chapitre 4: Transformée de Fourier Discrète TFD

2 21 1

0 0

( ) ( ) ( )nk nkN Nj j

N N

n n

X k x n e x n e

De l’autre côté

1

0

( ) ( ) ( )N

j j n j n

n n

X e x n e x n e

( )x nOù est le résultat de la périodisation de x(n).

Alors: 2( ) ( )jk

N

X k X e

Soit x(n) un signal défini dans l’intervalle [0,N). On peut écrire

4-2- TFD pour des signaux bornés

Page 14: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Discussion et résultat

On souhaite calculer la TFSD d’un signal 𝑥(𝑛) limité dans le temps défini

sur 𝑀 points (TFSD est une fonction continue de 𝜔 de −𝜋 à 𝜋).

On se contente de quelques échantillons de 𝑋(𝑒𝑗𝜔), disons

0

2

( ) ou ( )j k

jk NX e X e

Il suffit de calculer la TFD de 𝑥(𝑛) sur 𝑁 échantillons : 2( ) ( )jk

N

X e X k

•Si 𝑁 > 𝑀, on ajout assez de zéro derrière 𝑥(𝑛) pour avoir une séquence

de taille 𝑁, puis calculer la TFD de cette séquence.

•Si 𝑁 < 𝑀, la séquence sur la quelle il faut appliquer la TFD est le

résultat de la périodisation de 𝑥(𝑛) sur 𝑁 points.

Chapitre 4: Transformée de Fourier Discrète TFD 4-2- TFD pour des signaux bornés

Page 15: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Exemple

Exemple:

Chapitre 4: Transformée de Fourier Discrète TFD

41 0( )

0

nx n

ailleurs

2 3 4

5 5 /2 5 /2 5 /22

/2 /2 /2

( ) 1

1 sin5 / 2

1 sin / 2

j j j j j

j j j jj

j j j j

X e e e e e

e e e ee

e e e e

2π -π π -2π 0

( )jX e

4-2- TFD pour des signaux bornés

Le but est de calculer, utilisant la TFD, des échantillons de 𝑋 𝑒𝑗𝜔 sur 𝑁 points.

Page 16: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Exemple (suite)

X(0)

X(1)

X(2)

X(3)

X(4)

X(0)

X(1)

X(2)

X(3)

X(4)

X(5)

X(6)

X(7)

X(8)

X(9)

L’interprétation: si on périodise le

signal avec une période de 𝑁 = 5.

Cela donnera un signal constant

avec comme TFD un delta à

l’origine.

L’interprétation: Si 𝑁 = 10, ici le

signal périodisé résultant sera

celui-ci-dessous.

x(n)

10

1

( )jX e

( )jX e

Chapitre 4: Transformée de Fourier Discrète TFD

Si on ne voulait que 2 échantillons

sur X(ejω), quelle était la séquence

temporelle?

4-2- TFD pour des signaux bornés

Page 17: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Echantillonnage de la TFSD

Supposons ( ) ( )jx n X e . Nous avons déjà vu que ( ) ( ) j

j

z eX e X z

On en déduit que 2

2( ) ( ) ( ) j kN

j

z ekN

X k X e X z

Re

Im

1

X(k)

Plan Z

A partir de X(k) (des échantillons de X(z)), on

construit une séquence périodique ( )x n

21

0

1( ) ( )

nkN jN

k

x n X k eN

Quelle est la relation entre et x(n) de départ ? ( )x n

Chapitre 4: Transformée de Fourier Discrète TFD 4-2- TFD pour des signaux bornés

Page 18: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Echantillonnage de la TFSD

2 21 1

0 0

2 ( )1 1

0 0

1

0

1( ) ( )

1( )

( ) ( ) ( )* ( ) ( )

km nkN N j jN N

k m

k n mN N jN

m k

N

m r

x n x m e eN

x m eN

x m p n m x n p n x n rN

Le signal obtenu est le résultat de la périodisation du signal de départ.

Si le signal était limité dans le temps, une période du signal obtenue

est identique au signal de départ. Sinon, un aliasing dans le temps se

produit.

Chapitre 4: Transformée de Fourier Discrète TFD 4-2- TFD pour des signaux bornés

Page 19: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Propriétés de la TFD

Chapitre 4: Transformée de Fourier Discrète TFD 4-3- Propriétés de la TFD

1- Linéarité 1 1

1 2 1 2

2 2

( ) ( ) a ( ) ( ) ( ) ( )

( ) ( )

x n X kx n bx n aX k bX k

x n X k

La TFD est à calculer sur 𝑁 = max{𝑁1, 𝑁2} points.

2- Décalage circulaire

2

( ))mod ( )j mk

TFD Nx n m N e X k

x(n)

n N-1

x((n-m)mod N)

n N-1

Page 20: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Propriétés de la TFD (suite)

Chapitre 4: Transformée de Fourier Discrète TFD 4-3- Propriétés de la TFD

3- Dualité

( ) ( )

( ) ( )mod

TFD

TFD

x n X k

X n Nx k N

4- Convolution circulaire ( )

1 1

( )

2 2

( ) ( )

( ) ( )

TFD N

TFD N

x n X k

x n X k

1 2( ) ( ) ( )Y k X k X kSi alors y(n) = ?

1

1 2

0

1

2 1 1 2

0

( ) ( ) (( )mod )

( ) (( )mod ) ( ) ( )

N

m

N

m

y n x m x n m N

x m x n m N x n x n

Page 21: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Exemple

1 2

1 0 1( ) ( )

0

n Lx n x n

ailleurs

1. Poser L=6

2. Calculer 𝑋1(𝑘) et 𝑋2(𝑘) sur 𝑁 = 𝐿 points

3. Calculer 𝑌 𝑘 = 𝑋1 𝑘 . 𝑋2(𝑘)

4. Calculer 𝑦(𝑛) en faisant une TFD inverse de 𝑌(𝑘)

5. Calculer 𝑦(𝑛)directement en faisant une convolution circulaire

6. Calculer 𝑦1(𝑛) la convolution linéaire entre deux séquences

7. Conclusion : 𝑦(𝑛) ≠ 𝑦1 𝑛

8. Répéter les étapes 2 à 6 avec 𝑁 = 2𝐿

9. Conclure

Chapitre 4: Transformée de Fourier Discrète TFD 4-3- Propriétés de la TFD

Page 22: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Convolution linéaire faisant TFD

A partir de l’exemple précédent, on conclut que

h(n) x(n) y(n)

( ) ( )* ( )y n x n h n

1( ) { ( ) ( )}y n TFD X k H k

𝑦(𝑛) est une séquence de taille 𝑁 + 𝐿 − 1

Ceci est parce que dans les systèmes réels une convolution linéaire

se produit et non pas une convolution circulaire.

Cependant il y a une possibilité d’utiliser la TFD pour effectuer une

convolution linaire. La question est « comment ».

𝑥(𝑛) est une séquence de taille 𝑁

ℎ(𝑛) est une séquence de taille 𝐿

Chapitre 4: Transformée de Fourier Discrète TFD 4-4- Convolution linéaire et TFD

Page 23: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Les séquences bornées

Chapitre 4: Transformée de Fourier Discrète TFD 4-4- Convolution linéaire et TFD

Les séquences bornées

x(n) est une séquence de taille L

h(n) est une séquence de taille P (filtre RIF)

y(n) est une séquence de taille L+P-1

1. Calculer la TFD de x(n) et de h(n) sur N points

2. Effectuer Y(k)=X(k)H(k)

3. y(n)=TFD-1{Y(k)}

Pour que y(n) soit le résultat d’une convolution linéaire entre x(n) et h(n),

N doit être au moins L+P-1.

C’est-à-dire que l’on ajoute assez de zéros à la fin de x(n) et h(n) pour

obtenir des séquence de cette taille (L+P-1).

Page 24: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Exemple, utilisant matlab

x=[1 2 2 3 -1 0 0 …] L=5

h=[1 2 1 0 0 0…] P=3

y=x*h=[1 4 7 9 7 1 -1]

taille=5+3-1=7

X=fft(x) sur 7 points

H=fft(h) sur 7 points

Y=XH

y=ifft(Y) % est-ce la même réponse ?

Pour tracer le diagramme de Bode

Tracer H(ejw)

[H,w]=freqz(h)

plot(w,abs(H));grid

plot(w,angle(h)); grid

Ou seulement

freqz(h) 0 0.5 1 1.5 2 2.5 3 3.5-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

0 0.5 1 1.5 2 2.5 3 3.50

0.5

1

1.5

2

2.5

3

3.5

4

Chapitre 4: Transformée de Fourier Discrète TFD 4-4- Convolution linéaire et TFD

Page 25: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

TFSD de ℎ(𝑛)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-200

-150

-100

-50

0

Normalized Frequency ( rad/sample)

Phase (

degre

es)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-100

-50

0

50

Normalized Frequency ( rad/sample)

Magnitude (

dB

)

freqz(h)

Chapitre 4: Transformée de Fourier Discrète TFD 4-4- Convolution linéaire et TFD

Page 26: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Une séquence non-bornée et filtre RIF

h(n) x(n) y(n)

( ) ( )* ( )y n x n h n

ℎ(𝑛) est de taille 𝑃

x(n)

n L

x0(n)

n L

x1(n)

n 0 L

2L

( ) 0( )

0r

x n rL n Lx n

ailleur

( ) ( )

( ) ( )* ( )

( )

( ) ( )* ( )

r

r

r

r

r r

x n x n rL

y n x n h n

y n rL

où y n x n h n

Méthode « overlap and add »

1( ) { ( ) ( )}r ry n TFD X k H k

Sur L+P-1

Chapitre 4: Transformée de Fourier Discrète TFD 4-4- Convolution linéaire et TFD

Page 27: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Exemple

Nous disposons d’une séquence réelle de taille 1740 échantillons. Il

faudrait calculer le résultat de la convolution de cette séquence avec un

filtre réel dont la taille de la réponse impulsionnelle est de 42 (la taille de

la séquence résultante sera de 1781).

•Une convolution linéaire demande combien de multiplications réelles ?

•Utiliser la méthode de convolution rapide (on suppose que nous

disposons déjà de la TFD de ℎ(𝑛) sur 128 points : 𝐻(𝑘) et 𝑘 = 0…127

•Expliquer en détaille l’algorithme de calcul.

•Combien de multiplications réelles seraient nécessaires pour

obtenir le même résultat. (Supposons qu’une TFD de taille 𝑁 =

2𝑘 ne demande que 𝑘𝑁

2 multiplications complexes)

Chapitre 4: Transformée de Fourier Discrète TFD 4-4- Convolution linéaire et TFD

Page 28: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Transformée de Fourier Rapide (FFT)

On cherche à réduire le nombre d’opérations arithmétiques pour

calculer une TFD de taille N.

21

0

( ) ( )nkN j

N

n

X k x n e

Pour k=0, 1, …, N-1

•Le nombre de multiplications complexes = 𝑁 par points, 𝑁2 en tout

•Le nombre d’additions complexes = 𝑁 − 1 par point, 𝑁(𝑁 − 1) en tout

•Le nombre de multiplications réelles (# *) = 4𝑁^2

•Le nombre d’additions réelles (# +) = 2𝑁 𝑁 − 1 + 2𝑁2

•Exemple: Un TFD de taille 1024: plus de 4 millions de multiplications et

plus de 4 millions d’additions

Chapitre 4: Transformée de Fourier Discrète TFD 4-5- Transformée de Fourier Rapide

Page 29: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Simplifier le calcul de la TFD

Pour simplifier le calcul on utilise les propriétés suivantes:

2 2( )

nkj j n N k

N Ne e

*2 2 2( )

nk nkj N n k j j

N N Ne e e

2

1rN

jNe

Dans un premier temps on considère le cas où tous les points de

TFD ne nous intéressent pas. On va calculer 𝑋(𝑘) pour un certain

nombre de 𝑘 : algorithme de Goertzel.

Chapitre 4: Transformée de Fourier Discrète TFD 4-5- Transformée de Fourier Rapide

Page 30: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Algorithme de Goertzel

Par définition:

2j

NNW e

21 1

0 0

( ) ( ) ( )nkN Nj

nkNN

n n

X k x n e x n W

On peut multiplier les deux côtés par 1kN

NW

1( )

0

( ) ( ) ( )N

kN k N m

N N

m

X k W X k x m W

Ceci ressemble à une convolution. On définit la séquence

où 𝑥 𝑛 est une séquence bornée dans [0,N).

( ) ( )* ( )kn

k Ny n x n W u n

Dans ce cas ( ) ( )kX k y N

( ) ( )kn

Nh n W u nx(n) y(n)

( ) ( )kX k y N

Chapitre 4: Transformée de Fourier Discrète TFD 4-5- Transformée de Fourier Rapide

Page 31: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Algorithme de Goertzel

Calcul de complexité.

Pour chaque point de X(k), il faudra

•Pour chaque points de y(n)

•4 multiplications réelles

•4 additions réelles

•Pour calculer y(N), il faut donc 4N multiplications réelles et 4N additions

réelles

•Pour calculer tous les pont X(k), k=0,…,N-1:

•(# *) = (# +) = 4N2

Conclusion: Pas d’économie en terme de nombre d’opérations mais une

implantation facile par des circuits numérique ne nécessitant pas de

stockage pour les valeurs 𝑊𝑛𝑛𝑘 et 𝑥(𝑛).

Chapitre 4: Transformée de Fourier Discrète TFD 4-5- Transformée de Fourier Rapide

Page 32: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

TFR et décimation dans le temps

On pose une contrainte: 𝑁 = 2𝑉

1 1 1

0 0 0

/2 1 /2 1 /2 1 /2 12 (2 1) 2 2

0 0 0 0

( ) ( ) ( ) ( )

(2 ) (2 1) (2 ) (2 1)

N N Nnk nk nk

N N N

n n npair impair

N N N Nrk rkrk r k k

N N N N N

r r r r

X k x n W x n W x n W

x r W x r W x r W x r W W

Sachant que 2 2

22 /2

/2

j jN N

N NW e e W

/2 1 /2 1

/2 /2

0 0

( ) (2 ) (2 1)N N

rk k rk

N N N

r r

X k x r W W x r W

( ) ( ) ( )k

NX k G k W H k

Chapitre 4: Transformée de Fourier Discrète TFD 4-5- Transformée de Fourier Rapide

Page 33: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

TFR et décimation dans le temps

Chapitre 4: Transformée de Fourier Discrète TFD 4-5- Transformée de Fourier Rapide

( ) ( ) ( )k

NX k G k W H k

𝐺(𝑘) et 𝐻(𝑘) sont

calculés pour k=0, 1,

…, 𝑁

2− 1. Pour le

reste de la

séquence, on utilise

le fait que 𝐺(𝑘) et

𝐻(𝑘) sont

périodiques.

/2 1 /2 1

/2 /2

0 0

( ) (2 ) (2 1)N N

rk k rk

N N N

r r

X k x r W W x r W

(# *)c =N+2(N/2)2

(# +)c=N+2(N/2)2

Page 34: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

TFR et décimation dans le temps

Peuvent être transformés en 2 DFT de taille 2

Chapitre 4: Transformée de Fourier Discrète TFD 4-5- Transformée de Fourier Rapide

Page 35: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

TFR et décimation dans le temps

Chapitre 4: Transformée de Fourier Discrète TFD 4-5- Transformée de Fourier Rapide

Page 36: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

TFR et décimation dans le temps B

it r

evers

e e

n e

ntr

ée

Chapitre 4: Transformée de Fourier Discrète TFD 4-5- Transformée de Fourier Rapide

Page 37: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Calcul de la complexité

𝑁 = 2𝜈

Directe : 𝑁2 multiplications complexes

Après une décimation: 𝑁 + 2𝑁

2

2= 𝑁 +

𝑁2

2

Après deux décimations: 𝑁 + 2𝑁

2+ 2

𝑁

4

2= 2𝑁 + 4

𝑁

4

2

Après 𝜈 − 1 décimations: (𝜈 − 1)𝑁 + 2𝜈−1(2) = 𝜈𝑁

Alors, le nombre de multiplications complexes est de 𝑁 log2 𝑁

Si on tient compte de l’astuce de la page précédente, e

nombre de multiplications complexes est de

𝑁

2log2 𝑁

Exemple: 𝑁 = 1024, (# ∗ 𝑟é𝑒𝑙𝑙𝑒𝑠 = 20480)

Chapitre 4: Transformée de Fourier Discrète TFD 4-5- Transformée de Fourier Rapide

Page 38: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Exercice

Une autre façon de calculer la complexité de la TFR (FFT) :

Supposant 𝑁 = 2𝜈, donner le nombre des papillons dans une

architecture TFR

après une première décimation : ……………..

après une deuxième décimation : ……………….

nombre total à la fin : …………………

Combien de multiplications complexes sont nécessaires pour

chaque papillons : ……………

Nombre total de multiplications complexes : …………….

Utilisant l’astuce, nombre total de multiplications complexes :

…………….

Page 39: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

TFR et décimation en fréquence

1

0

1 /2 1 12 2 2

0 0 /2

/2 1 /2 12 2 ( /2)

0 0

( ) ( )

(2 ) ( ) ( ) ( )

( ) ( / 2)

Nnk

N

n

N N Nnr nr nr

N N N

n n r N

N Nnr r n N

N N

n r

X k x n W

X r x n W x n W x n W

x n W x n N W

Puisque 2 ( /2) 2

/2

r n N rn rN rn

N N NW W W

/2 1

/2

0

(2 ) ( ) ( / 2)N

rn

N

n

X r x n x n N W

Et de la même manière

/2 1

/2

0

(2 1) ( ) ( / 2)N

n rn

N N

n

X r x n x n N W W

Chapitre 4: Transformée de Fourier Discrète TFD 4-5- Transformée de Fourier Rapide

Page 40: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

TFR et décimation dans en fréquence

Bit re

vers

e e

n s

ortie

Chapitre 4: Transformée de Fourier Discrète TFD 4-5- Transformée de Fourier Rapide

Page 41: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

TFR entrée/sortie naturelles

Chapitre 4: Transformée de Fourier Discrète TFD 4-5- Transformée de Fourier Rapide

Page 42: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Exercice

Supposer le signal continu 𝑥 𝑡 = sin(2𝜋𝑡)

Le spectre de ce signal présente deux deltas à +1 et -1.

Considérer maintenant le signal discret obtenu en échantillonnant 𝑥(𝑡) à 5 Hz.

( ) sin 25

nx n

Le spectre de ce signal contient des deltas aux fréquences 2

25

k

Maintenant on utilisera un TFD sur N points (N=10, N=12, N=90)

Devinez les X(k).

Chapitre 4: Transformée de Fourier Discrète TFD 4-5- Transformée de Fourier Rapide

Page 43: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Calcul matlab

n=0:9;

x=sin(2*pi*n/5);

X=fft(x);

plot(n,abs(X),’o-’);

Interpréter les valeurs de l’axe

de fréquence. Pour quoi deux

deltas aux k=2 et 8.

0 2 4 6 8 100

1

2

3

4

5

Par fois il est préférable d’appliquer une

rotation circulaire pour voir les

fréquences négatives en leur place.

X=fftshift(X)

plot(-5:4,abs(X),’o-’);

-6 -4 -2 0 2 40

1

2

3

4

5

Chapitre 4: Transformée de Fourier Discrète TFD 4-5- Transformée de Fourier Rapide

Page 44: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Calcul matlab

Chapitre 4: Transformée de Fourier Discrète TFD 4-5- Transformée de Fourier Rapide

-50 0 500

5

10

15

20

25

30

35

40

45

18

n=0:89;

x=sin(2*pi*n/5);

X=fft(x);

X=fftshift(X);

plot(-45:44,abs(X),'o-');

-18

En fait, les X(k) sont des

échantillons du spectre analogique

de la fonction

2sin 0 90

( ) 5

0

n nx n

ailleurs

C’est-à-dire un sinus cardinal dont les

zéros sont à 2kπ/90, coïncidant avec X(k).

Page 45: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Calcul matlab

Chapitre 4: Transformée de Fourier Discrète TFD 4-5- Transformée de Fourier Rapide

Si N ≠ multiple de la période, par exemple N=12 ou N=91.

0 2 4 6 8 10 120

0.5

1

1.5

2

2.5

3

3.5

4

4.5

0 10 20 30 40 50 60 70 80 900

5

10

15

20

25

30

35

40

45

Page 46: Traitement de signal - Université de Limoges...Ceci est parce que dans les systèmes réels une convolution linéaire se produit et non pas une convolution circulaire. Cependant il

Calcul matlab

0 0.2 0.4 0.6 0.8 10

1

2

3

4

5

6

0 0.2 0.4 0.6 0.8 10

5

10

15

20

25

30

35

40

45

n=0:89;

x=sin(2*pi*n/5);

X=fft(x,1024);

plot((0:1023)/1024,abs(X));

n=0:9;

x=sin(2*pi*n/5);

X=fft(x,1024);

plot((0:1023)/1024,abs(X));