Você está na página 1de 46

Analyse du signal

Thierry Audibert
thierry.audibert@maths2b.fr
20 decembre 2013

Disponible sur http://www.univenligne.fr sous le nom AnalyseSignal.pdf

Table des mati`eres


1

Objectifs et mode demploi

Transformee de Fourier
2.1 Transformee de Fourier : point de vue e lementaire . . . . . . .
2.2 Produit de convolution (fonctions integrables) . . . . . . . . .
2.3 Transformee de Fourier et convolution : formulaire . . . . . .
2.4 Les corriges et demonstrations des sous-sections (2.1) et (2.2)

.
.
.
.

3
3
4
7
8

Etude
du signal
3.1 Premi`ere approche du spectre . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.2 Echantillonnage,
theor`eme de Shannon et Nyquist . . . . . . . . . . . . . . . . .
3.3 Corriges des exercices des sections (3.1) et (3.2) . . . . . . . . . . . . . . . . .

12
12
16
22

Transformations de Fourier discr`etes


4.1 Transformation de Fourier discr`ete . . . . . . .
4.2 Les transformations de Fourier rapides . . . . .
4.3 Transformees en cosinus discr`etes . . . . . . .
4.4 Transformee en cosinus discr`ete en dimension 2
4.5 Corriges des exercices de la section (4) . . . .

.
.
.
.
.

30
30
31
35
37
38

Lanalyse du son
5.1 Enregistrement aux formats .wav et .text avec goldwave . . . . . . . . . . . . . .

42
42

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

Objectifs et mode demploi

Le cours sur les series de Fourier nous apprend que lon peut representer une fonction ou un signal
T periodique (et continu par morceaux) comme somme dune serie trigonometrique

2int
cn e T

dans laquelle les fonctions trigonometriques ont des periodes qui divisent T.
La plupart des signaux nadmettent pourtant pas une representation aussi simple. Ainsi, les sons
les plus courants, quils soient produits par un instrument, par la voix, par le fonctionnement dun
moteur, ne sont pas des signaux periodiques. Nous verrons pourtant que lon peut, en faisant varier
la duree dobservation, faire apparatre la plupart des sons comme une superposition de signaux
sinusodaux. Les memes outils mathematiques et numeriques nous permettront detudier des signaux qui necessitent une observation sur de grandes durees comme les variations des hauteurs de
maree. On concoit avec ces deux exemples que la definition du signal va devenir assez generale :
pour nous ce sera une fonction du temps, suffisamment reguli`ere pour se preter a` nos calculs.
On propose ici une approche quasi-experimentale qui va nous permettre de debroussailler le
probl`eme. Cest pourquoi il nest pas indispensable de connatre tous les resultats de la section
2 sur la transformation de Fourier avant daborder la section 3 et le cur de lanalyse du signal.
Chaque section est suivie dun resume (sous forme de formulaire ou de bilan provisoire) ce qui
devrait faciliter une lecture avec aller-retours.
Plan de lecture possible
1. Commencer par la definition de la transformee de Fourier page 3 et lexercice 1.
2. On pourra decouvrir ensuite la notion de spectre dun signal avec lexercice 9 page 13,
3. et poursuivre par letude de la problematique de dechantillonnage avec le theor`eme de
Nyquist et Shannon (forme simplifiee) en section 3.2.
4. La transformation de Fourier discr`ete et lalgorithme de transformation rapide sont presentees
en section 4.
5. Des applications concr`etes sont proposees dans la section ??. Cest a` mon avis l`a que les
choses seclairent.

Transformee de Fourier

2.1

Transformee de Fourier : point de vue e lementaire

Definition 1 On definit la transformee de Fourier dune fonction integrable sur R en posant


Z

eix f (x) dx
(2.1)
F(f )() = f () =
R

La definition varie dans la litterature dun facteur multiplicatif autour de la pulsation et on peut
aussi poser
Z

e2ix f (x) dx.


F(f )() = f () =
R

Exercice 1 existence, premi`eres proprietes


Soit f une fonction integrable sur R.
1. Montrer que sa transformee de Fourier est definie pour tout reel .
2. Montrer que f est continue et bornee sur R, donner une majoration de ||f|| .
R

3. Calculer la transformee de Fourier de la fonction caracteristique de lintervalle [a, b] :


(
(t) = 1 si a t b
(t) = 0 sinon
Est-elle integrable ?
corrige en 2.4.1
Exercice 2 lemme de Riemann Lebesgue
Soit f une fonction continue par morceaux sur R. On veut montrer que
lim f() = 0;

1. On suppose que f est une fonction en escalier sur [a, b]. Montrer que
Z b
lim
eit f (t) dt
+ a

a pour limite 0 ( designe un reel).


2. Montrer que le meme resultat est vrai pour toute fonction f, continue par morceaux sur
lintervalle [a, b].
3. On consid`ere maintenant f integrable sur R. Montrer que
(a) pour tout > 0, il existe un intervalle compact [a, b] tel que
Z
Z
|f | ,
|f | ,
],a]

[b,+[

(b) En deduire que


Z

lim

eit f (t) dt = 0.

corrige en 2.4.2
Exercice 3 derivation
1. Donner une CS pour que la transformee de Fourier de f soit derivable. Donner alors une
expression de sa derivee.
2. Donner une CS pour que la transformee de Fourier de f 0 soit definie. La calculer dans ce
cas.
corrige en 2.4.3
Exercice 4 transformee de Fourier dune Gaussienne
2
Soit f definie par f (t) = eat , avec a > 0.
1. Montrer que sa transformee de Fourier est de classe C .
2. Montrer que f verifie une e quation differentielle lineaire et la calculer.
corrige en 2.4.4

2.2

Produit de convolution (fonctions integrables)

1
Definition 2 produit de convolution
Soient f et g deux fonctions continue par morceaux sur R. Lorsque la fonction t f (x t)g(t)
est integrable, on pose
Z
f g(x) =
f (x t)g(t) dt
(2.2)
R

On appelle produit de convolution de f et g cette fonction f g


Exercice 5 existence et proprietes du produit de convolution
Soient f et g continues par morceaux sur R. On suppose f integrable et g bornee.
1. Montrer que f g et g f sont definies sur R et que f g = g f
2. Montrer que si f ou g est continue, le produit de convolution f g est aussi continu.
3. En admettant au besoin la validite dune formule du type


Z Z
Z Z
f (x, t)dt dx =
f (x, t)dx dt
R

exprimer une relation entre f[


g, f et g.
corrige en 2.4.5
1

Exercice 6 convolution par une gaussienne


2
On note g la fonction definie sur R par g(x) = ex et, pour s > 0, on pose
1 x
s (x) = g
.
s
s
1. Tracer les fonctions 1/n , pour n = 1, 2, ..5, et e tudier la limite de la suite de fonctions
(1/n )n .
2. Calculer lintegrale de s sur R. On rappelle que
Z

2
et dt = .
R

3. Pour f continue par morceaux et integrable sur R, on pose


Z
Z
f ? s (x) =
f (t)s (x t) dt =
f (x t)s (t) dt.
R

(a) Justifier lexistence et legalite de ces expressions.


(b) On suppose que f est, de plus, continue en x0 et bornee sur R. Montrer que
lim f ? s (x0 ) f (x0 ) = 0.

s0

On pourra observer que


Z
f ? s (x0 ) f (x0 ) =

Z
f (x0 t)s (t) dt

f (x0 )s (t) dt.


R

(c) Etudier
la convergence uniforme.
corrige en 2.4.6

Theor`eme 1 formule de Fubini pour les fonctions integrables 1


On suppose f continue et integrable sur I J. Si
pour toutRx, la fonction y f (x, y) est integrable sur J,
g : x J f (x, y) dy est continue par morceaux et integrable sur I,
alors,
ZZ
Z
f = g.
IJ

Remarque : avec les hypoth`eses symetriques :


pour toutRy, la fonction x f (x, y) est integrable sur I,
h : y I f (x, y) dx est continue par morceaux et integrable sur J,
on obtient
ZZ
Z
Z
f= g=
h.
IJ

1. On comparera au theor`eme de Fubini pour les series numeriques...

Exercice 7 transformation de Fourier, formule dechange


A toute fonction numerique f, continue par morceaux et integrable sur R, on associe sa transformee de Fourier definie par
Z

f (t)eit dt.
f () =
R

1. Justifier que f est continue et bornee.


2. Montrer que si f et g sont integrables sur R, il en va de meme pour les fonctions f g et
g f.
3. On suppose f et g integrables et continues sur R. Montrer que la fonction de deux variables
(x, y) = f (x)g(y)eixy
est continue et integrable sur R2 .
4. Sous ces hypoth`eses, montrer que
Z

Z
f g =

g f.

Exercice 8 transformee de Fourier et convolution


On consid`ere ici deux fonctions numeriques f et g, continues et integrables sur R.
1. On suppose que, de plus, lune des deux fonctions f ou g est bornee sur R. Montrer que,
pour tout x R, la fonction t f (x t)g(t) est integrable sur R et que la fonction
Z
h:x
f (x t)g(t) dt
R

est continue sur R. On commencera par le cas le plus simple.


2. Montrer que la fonction de deux variables
(x, t) f (x t)g(t)
est integrable sur R2 .
3. On definit lintegrale de Fourier dune fonction integrable , en posant
Z

) =
eis (s) ds.
R

Montrer que
f() g() =

ZZ

avec (x, t) = f (x t)ei(xt) g(t)eit .

R2

Peut on e tablir la formule h()


= f() g(), lorsque h est la fonction definie en 1, en
apportant e ventuellement des hypoth`eses supplementaires ?

2.3

Transformee de Fourier et convolution : formulaire

Si f est une fonction integrable sur R, sa transformee de Fourier est definie sur R, continue et
bornee sur R sa limite est nulle en : lim+ f() = 0 et on a les formules suivantes :
lorsque la transformee est definie par

F(f )() = f() =

eix f (x) dx,


R

Si f et x xf (x) sont integrables,

df()
d

Si f et f 0 sont integrables,

fb0 ()

Si ga (t) = e

at2

Si f, g, f g sont (definies) et integrables,

lorsque la transformee est definie par

gba ()

f[
g

F(f )() = f() =

eix x f (x) dx

i f()

r
,

2
r

4a
=
e
g
()
a
a 1/4a

f g.

e2ix f (x) dx,


R

Si f et x xf (x) sont integrables,

df()
d

Si f et f 0 sont integrables,

fb0 ()

2 i

e2 i x x f (x) dx

2, i f()

Si ga (t) = eat ,

gba ()

Si f, g, f g sont (definies) et integrables,

f[
g

2
r

e a
=
g 2 ()
a
a /a

f g.

2.4

Les corriges et demonstrations des sous-sections (2.1) et (2.2)

Corrige n 2.4.1 de lexercice 1 (integrale de Fourier)


1. Si f est integrable sur R, t f (t)eit lest aussi : elles ont le meme module.
2. Pour tout R,

Z
Z


it


dt
|f (t)| dt
|f ()| = f (t)e
R

on a donc ||f|| ||f ||1 .


3.
Z
e

()

it

(t) dt =

eit dt

(b a)
si = 0
i  it b
e
si 6= 0
a

(b a)
si = 0
= 2

ba
sin ba ei 2 si 6= 0
2



sin ba w


2
Cette fonction a pour module 2
dont on sait quelle nest pas integrable sur R


w
(mais elle admet une integrale impropre).
Corrige n 2.4.2 corrige 2 (lemme de Riemann Lebesgue)
1. Les fonctions en escalier : si est une fonction en escalier attachee a` la subdivision (tj )j du
segment [a, b], on a

Z b
n1 Z t


X k+1

int
int

=
(t)e
dt

e
dt

k



a

n1
X Z tk+1
k=0

tk

k=0

tk

int

e k+1 eintk

dt 2 sup |k ||b a|.
|k |

in
n

La limite est bien 0 lorsque n +.


2. Considerons maintenant f continue par morceaux sur [a, b] et > 0. Il existe une fonction
en escalier qui verifie ||f || /|b a|. Nous avons par ailleurs
[a,b]


Z b
Z b
Z b




int
int
int

(t)e dt .
f (t)e dt (f (t) (t))e dt +

a

Le premier terme du membre de droite est majore par ;


Pour le second, on sait quil existe un rang N a` partir duquel
Z b



int

(t)e dt .

a

En consequence, pour tout > 0 il existe N tel que



Z b


int

f (t)e dt 2.
n
a

3. Considerons maintenant une fonction f integrable sur R ou sur un intervalle quelconque


I R, et > 0. Il existe un segment [a, b] I tel que
Z

Z




|f | .
|f |
I

[a,b]
On a :

Z
Z


f (t)eint dt =

Z





f (t)eint dt +
f (t)eint dt



[a,b]
I\[a,b]
Z






f (t)eint dt + .
[a,b]

Comme dans la demonstration precedente, il existe un rang N a` partir duquel



Z b


int

f
(t)e
dt
,

a

et on conclut de la meme facon.


Corrige n 2.4.3 de lexercice 3 (derivation et transformation de Fourier)
1. On
ere une fonction f integrable sur R de transformee de Fourier definie par f() =
R consid`
it
dt. La fonction (, t) f (t)eit satisfait clairement au theor`eme de contiR f (t)e
nuite dune integrale a` param`etre
g := t f (t)eit est integrable sur R;
f (t)eit est continue ;
il existe une majoration uniforme |f (t)eit | |f (t)| par une fonction integrable sur R.
Par contre, pour la derivation sous le signe somme, rien nassure que

g() = if (t)eit

verifie les memes hypoth`eses. On supposera donc pour aller plus loin dans les calculs que
de plus, t tf (t) est integrable sur R. Alors

g := t
g() = i t f (t)eit est integrable sur R;


g()f (t)eit est continue ;






il existe une majoration uniforme g() |t f (t)| par une fonction integrable sur R.

Donc, si f (t) et tf (t) sont integrables sur R, f est de classe C 1 et


df()
= i
d

Z
eix x f (x) dx
R

2. On suppose maintenant que f est integrable et derivable sur R et que f 0 est integrable elle
aussi. On peut donc definir la transformee de Fourier de f 0 qui est
Z
0
0

eix f 0 (x) dx.


F(f )() = f () =
R

On est alors tente dintegrer par parties. Cela donnerait


Z
 ix
+
0
F(f )() = e
f (x) + i eix f (x) dx.
R

Dans cette formule les deux integrales sont definies. En consequence la partie toute integree
a elle meme un sens lorsque f et f 0 sont toutes deux integrables. Pour se convaincre que
cette limite est nulle on int`egre les memes fonctions sur lintervalle [0, +[ par exemple.
Cela montre que
Z +
Z

+
eix f 0 (x) dx = eix f (x) 0 + i
eix f (x) dx
0

et l`a on voit clairement que si la partie toute integree a une limite, lim+ f = 0.
3. Le formulaire est en page 7
Corrige n 2.4.4 de lexercice 4 (transformee dune gaussienne)
R
R
2
1. f() = R eit eat dt = R h(, t) dt.
La fonction h admet des derivees partielles par rapport a` a` tous les ordres qui sont
k
2
h(, t) = (i t)k eit eat = hk (, t).
k

Pour tout k 0, on a
t hk (, t) integrable sur R;
t hk (, t) continue sur [A, A];
2
il existe k , integrable sur R telle que pour (, t) [A, A]R, |hk (, t)| = |t|k eat
2
Ak eat = k (t).
R
Ainsi, f est de classe C sur tout [A, A] et donc sur R et f0 () = R h1 (, t) dt.
2. En derivant, nous avons
Z
Z 

2
f0 () =
h1 (, t) dt = i
teat eit dt
R
"R 2
#
Z at2
eat i t
e
= i
e
+i
(i)eit dt
2a
R 2a

ce qui nous donne lequation differentielle y 0 () =


y() assortie de la condition
2a
R at2
initiale y(0) = f(0) = R e
dt, do`u, apr`es calcul de lintegrale de Gauss
r
2

f () =
e 4a
(2.3)
a
10

Corrige n 2.4.5 de lexercice 5 (convolution)


1.
2.
Corrige n 2.4.6 de lexercice 6 (convolution par une gaussienne)
1.
2.
1

11


3 Etude
du signal
1
Pour letude du signal on preferera la definition
F(f )() = f() =

e2ix f (x) dx

et on se referera donc au deuxi`eme formulaire de la page 7.

3.1

Premi`ere approche du spectre

On propose ici une premi`ere exploration de la notion de spectre dun signal. On aborde la question avec le calcul et lobservation graphique des transformees de Fourier de fonctions a` support
compact et sommes de sinusodes. La notion de spectre est alors simple et intuitive.

12

Exercice 9

ce que la transformee de Fourier nous apprend des frequences...

1. On consid`ere > 0, a > 0 et la fonction a` support compact



cos(2t), si t [a, a]
fa, (t) =
0
sinon .
(a) Calculer sa transformee de Fourier ; on choisira la definition
Z

e2ix f (x) dx.


F(f )() = f () =
R

(b) Calculer puis representer graphiquement dans une feuille Maple ou Scilab les transformees de Fourier de fa, pour = 0.7 et a = 10, 20, 50, par exemple. Quobservet-on ? Justifier les observations.
(c) La fonction fd
egrable sur R? La fonction
a, est elle int
2ix
fd
a, () e

admet elle une integrale impropre sur R? Le cas e cheant, calculez la transformee de
Fourier inverse de fd
a, .
2.

(a) On definit
g := (a, t) (2 cos (2 1 t) + 5 cos (2 2 t) + cos (2 3 t)) H (a t) H (a + t)
o`u H designe la fonction e chelon (H(a t)H(a + 1) est e gale a` 1 sur [a, a] nulle
en dehors). Representer graphiquement la transformee de Fourier de t g(a, t) sous
MAPLE ou Scilab. Quobserve-t-on ? Que se passerait il avec lautre definition usuelle
de la transformee de Fourier ?
(b) On pose N (t) = fN, (t).
Soit > 0. Montrer que la suite des transformees de Fourier

c
N


N

, est uni-

formement bornee sur le complementaire de ] , + [] , + [.


c

Evaluez
c
N (). Que dire du comportement asymptotique de (N ())N ?
Meme question pour la transformee dune combinaison lineaire
X
Ai cos (2 i t) .
i

corrige en 3.3.1
Exercice 10 Le spectre permet il de reconstituer le signal ?
On consid`ere une fonction g continue par morceaux definie sur lintervalle [0, T ], T > 0.
1. Montrer que les coefficients de Fourier cn (
g ) n Z, de son prolongement T periodique
sexpriment simplement en fonction de la transformee de Fourier de g.
2. fichier : AnTransFourierAnSignal.mws

13

2. Montrer que lon peut exprimer g sous la forme dune serie de fonctions dont les termes
n
dependent des seules ( !) valeurs de son spectre, e chantillonnees en les points , n Z.
T
Preciser le type de convergence de cette serie.
3. Exemple calculatoire et graphique : choisir un signal triangulaire sur [0, T ] arbitraire, calculer formellement sa transformee de Fourier, e crire un bref programme donnant les sommes
partielles de la serie de la question precedente et comparer au signal dorigine.
corrige en 3.3.2

14

Bilan provisoire
1
La transformee de Fourier dun signal sinusodal de duree finie 2a et de frequence est un sinus

cardinal dont les maxima (en valeur absolue) sont atteints en et verifient :
fd
,a ()

a+

a.

40

30

20

10

Transformee de Fourier dun signal sinusodal de duree de vie finie


La transformee de Fourier dune combinaison lineaire de signaux sinusodaux de duree finie
permet donc de reperer les differentes frequences qui interviennent dans ce signal.

15

10

w
5

10

15

Transformee de Fourier dun signal composite de duree de vie finie


La transformee de Fourier dun signal composite, continu par morceaux , de duree finie, permet
de reconstituer le signal dorigine comme somme dune serie de Fourier dont les coefficients sont
obtenus par e chantillonnage du spectre et qui converge en moyenne quadratique (et converge
normalement si g est de plus de classe C 1 par morceaux et continue) :
2int

1 X n
g(t) =
g
e T
T n=
T

(3.1)

La serie converge simplement si g est de classe C 1 par morceaux et alors :


2int

g(t+) + g(t)
1 X n
=
g
e T
2
T n=
T

15

(3.2)


3.2 Echantillonnage,
theor`eme de Shannon et Nyquist
Vocabulaire
Nous dirons quun signal est analogique lorsquil est modelise par une grandeur susceptible de
prendre des valeurs appartenant a` un intervalle de R (on parle densemble continu). Cest le cas
lorsque le signal est produit par des composants e lectroniques, des instruments de mesure...
Nous dirons quun signal est numerique lorsque lensemble des valeurs quil est susceptible de
prendre est discret (chaque e lement de lensemble est isole des autres 3 ) . Cest le cas dun signal
obtenu par e chantillonnage ou produit par un algorithme...
En pratique, lorsquon veut traiter un signal, par exemple determiner son spectre, on est le plus
souvent amene a` le discretiser, a` lechantillonner. Cest a` dire que lon mesure des valeurs en
des instants le plus souvent reguli`erement espaces t0 + kT. On parle alors dechantillonnage de
1
frequence fe = . Ce que nous proposons ici, cest detudier les probl`emes que pose lechantillonT
nage et de presenter quelques solutions.
Exercice 11 repliement de spectre
1. On consid`ere ici deux signaux sinusodaux f (t) = cos(1 t) et g(t) = cos(2 t) avec
|1 | =
6 |1 |. On mesure ces signaux a` des instants k T, k N.
1
les valeurs f (k T ) et g (k T ) seront elles confonPour quelles valeurs de T ou de fe =
T
dues pour tout k Z?
i
Verifier que si fe > |f1 | + |f2 |, avec fi =
, ce phenom`ene ne se produit pas.
2
Construire une figure comme celle-ci o`u deux signaux de frequences f1 et f2 sont indiscernables par un e chantillonnage de frequence fe .

2. De telles valeurs existent elles lorsque f (t) = cos(1 t + 1 ) et g(t) = cos(2 t + 2 )?


corrige en 3.3.3

3. a est isole dans D ssi r > 0, ]a r, a + r[D = {a}.

16

Exercice 12 un premier pas vers le theor`eme de Shannon (echantillonnage)


P
ik t , un echantillonnage
On veut montrer que pour tout signal signal g de la forme g(t) = N

k=0 ak e
1
k
de frequence fe = > 2 sup |fk | (avec fk =
) permet de reconstituer le signal g comme
T
2
somme dune serie de fonctions.
sin x
.
x
1. Soient R,, T > 0 et f la fonction 2periodique qui concide avec x eix sur
[, [.

On notera s le prolongement a` R de la fonction x

(a) Donner une representation graphique de Im(f ) sur [5, 5] pour = 1/2, =
9/10...
(b) Calculer la serie de Fourier de f et e tudier avec soin sa convergence. On precisera en
particulier la somme en les points x = 0, .
1
En deduire une expression de
puis de de cotan x comme somme dune serie.
sin x
2. Soient (a0 , a1 , ..., aN ) une suite de complexes et (0 , 1 , ..., N ) une suite de reels.
(a) Montrer que la fonction g definie par
g(t) =

N
X

ak eik t

k=0

verifie la formule dinterpolation :



X  t
n g(nT )
g(t) =
s
T
nZ

1
=
.
|k |
2|fk |
On commencera par e tablir le resultat pour un terme eik t ...
d`es que T est inferieur a` la frequence de Nyquist : T

corrige en 3.3.4

17

Bilan provisoire
P
ik t ,
Frequence de Nyquist : on appelle frequence de Nyquist dun signal g(t) = N
k=0 ak e
1
k
la frequence f0 =
= 2 sup |fk | (avec fk =
). Cest la frequence dechantillonnage au
T0
2
dessus de laquelle il est theoriquement possible de reconstituer un signal comme somme dune
serie (exercice 12), en dessous de laquelle ce nest en general pas possible (exercice 11).
Nous generaliserons cette definition en section ??.
Theor`eme de Shannon, version e lementaire
Theor`eme 2
P
ik t . Pour toute fr
equence superieure a` la frequence
Soit g un signal de la forme g(t) = N
k=0 ak e
1
de Nyquist, fe = > 2 sup |fk |, g verifie la formule dinterpolation de Shannon :
T

X  t
g(t) =
s
n g(nT )
(3.3)
T
nZ

Demonstration avec lexercice 12.


Nous generaliserons ce theor`eme en section ??.
Pourquoi parle-t-on de temps et de frequence ?
Rapprochons la formule 3.2 de la formule de Shannon 3.3
2int

1 X n
g(t) =
g
e T
T n=
T


X  t
g(t) =
s
n g(nT )
T
nZ

Celle de gauche reconstitue le signal a` partir dun e chantillonnage des frequences, celle de droite,
a` partir dun e chantillonnage des temps.
Que faire en pratique ?
Bien e videmment dans des conditions experimentales ou numeriques, il nest ni possible dechantillonner
sur une infinite de termes, ni de sommer sur une infinite de termes dans la somme.
En pratique, on filtre le signal pour e liminer les frequences depassant un certain seuil. Connaissant
ce seuil (par exemple 22000Hz) on dispose dune frequence de Nyquist (44000 Hz, dans lexemple
precedent).
On choisit alors une frequence dechantillonnage superieure a` la frequence de Nyquist et on
prel`eve un nombre dechantillons aux instants 0,T,2T,...,nT, suffisant pour couvrir lintervalle. On
calcule alors la somme partielle construite sur ces e chantillons. La feuille de travail Maple qui suit
illustre cela.
18

La formule de Shannon
>

(2.1)
On se propose de reconstituer un signal partir d'un chantillonnage. On construit une
fonction g pour tester la convergence de la formule de Shannon.
>

(2.2)

fny
est la frquence de Nyquist de la fonction g.
ech(g,f,n) permet d'chantillonner 2n+1 valeurs de la fonction g aux instants 0, T, 2T, ..., 2nT,
la frquence f=1/T.
sha(e,f,t) calcule la somme partielle de la srie de Shannon construite sur l'chantillon e
(comportant un nombre impair de termes), de frquence f en t;
>

(2.3)
On teste avec la frquence de Nyquist et en faisant varier la taille de l'chantillon
>

19

>

On teste une frquence suprieure la frquence de Nyquist et en faisant varier la taille de


l'chantillon. Plus la frquence est grande, plus l'chantillon doit tre de grande taille pour
couvrir un intervalle de temps donn
>

>

20

>

>

21

3.3

Corriges des exercices des sections (3.1) et (3.2)

Corrige n 3.3.1 de lexercice 9


1.

(a) Le calcul donne (penser a` e crire la fonction cos comme somme dexponentielles) :
pour 6= :
"
#a
Z a
e2i()x
e2i(+)x
2 i x
cos (2 x) e
dx =

4i( )
4i( + )
a
a

sin (2( )a) sin (2( + )a)


=
+
2( )
2( + )
et pour = , par parite et passage a` la limite, une transformee de Fourier e tant
toujours continue,
Z a
sin (4a)
cos (2 x) e2 i x dx =a +
4
a
(b) Comme la fonction signal est paire, sa transformee de Fourier est reelle. La question
avait donc un sens et voila ce que lon trouve en superposant les transformees de
Fourier pour = 0.7 et a = 10, 20, 40 :

Il apparait que
les oscillations sont tr`es amorties en dehors dun voisinage de = 0.7 qui est la
frequence du signal ;

22

plus la plage dobservation du signal est large (2a), plus lamplitude maximale atteinte en est grande avec comme on peut lobserver graphiquement ou le deduire
du calcul precedent,
f() a
a+

(c)
2.

(a) Le calcul est sans myst`ere, simple superposition qui donne avec a = 100 et
g : x 7 1 + 2 cos (1.0 x) 3 cos (3.0 x) + 4 cos (6 x) ,

On retrouve ici les frequences et des amplitudes maximales aux points = i qui
sont proportionnelles aux coefficients des signaux de periode i .
sin x
. Nous avons donc en dehors de ,
(b) Notons s la fonction x
x
sin (2( )a) sin (2( + )a)
fd
+
= a (s(2( )a) + s(2( + )a))
,a () =
2( )
2( + )
23

Comme pour |x| =


6 0, |s(x)|

1
, nous avons
|x|



d

f,a ()

1
1
+
4| | 4| + |

et si ]
/ , + [] , + [, ie : | | et | + | cela donne


1
d

.
f,a ()
2
Nous avons dej`a note que pour un signal sinusodal
f()

a+

il vient donc
fd
,N ()

N +

N.

Cela explique lobservation faite avec le signal composite : les valeurs en les points i
sont e quivalentes a` Ai a o`u Ai est lamplitude de la composante Ai cos(i t)
Corrige n 3.3.2 de lexercice 10
1. Les coefficients de Fourier de g sont donnes par la formule :
 
Z
Z
1
1
1
1 T 2in/T
2in/T
e
g(t) dt =
e
g(t) dt = g
.
cn (
g) =
T 0
T R
T
T
2. Comme g est continue par morceaux , sa serie de Fourier converge en moyenne quadratique
vers g sur R. On e crit donc
2int
2int

1 X n
g(t) =
cn (
g )e T =
e T
g
T n=
T
n=

Lorsque g est continue par morceaux , la serie converge en moyenne quadratique vers g
sur [0, T ];
lorsque g est de classe C 1 par morceaux, elle converge simplement vers la regularisee de
g(0+) + g(T )
g (en 0 et T la limite est donc
;
2
1
lorsque g est continue et de classe C par morceaux, elle converge normalement vers g.
3. Exploration numerique et graphique :
(a) On consid`ere par exemple un signal triangulaire sur lintervalle de temps [0, T ]. Connaissant son spectre (ou transformee de Fourier) le signal est reconstitue avec la formule
g(t) =

1 X  n  2int
g
e T
T n=
T

T2
1 1 + 2 ei wT e2 iT w
1
g
(0) =
, g() =
=
(1 cos T )eiT
2
2
4
4
w
2 2
24

restart;
with(plots);
g :=(T, x)-> Heaviside(x)*Heaviside((1/2)*T-x)*x
+ Heaviside(T-x)*Heaviside(x-(1/2)*T)*(T-x);
G := plot(g(2, x), x = -2 .. 4, color = red, thickness = 3);
Fg := (T, w)-> Int(exp(-(2*I)*Pi*w*t)*t, t = 0 .. (1/2)*T)
+ Int(exp(-(2*I)*Pi*w*t)*(T-t), t = (1/2)*T .. T);
c0 := simplify(value(Fg(T, 0));
simplify(value(Fg(T, w)));
1/4 T 2
1 + 2 ei wT e2 iT w
2 w2
Tg :=(N, T, t) -> simplify(
((1/4)*T2
+sum(value(Fg(T, k/T))*exp((2*I)*Pi*k*t/T), k = 1.. N)
+sum(value(Fg(T, -k/T))*exp(-(2*I)*Pi*k*t/T), k = 1.. N))/T);
Tg(5, T, t);








1
t
t
t
2
T 1800 cos 2
200 cos 6
72 cos 10
+ 225 2
900
T
T
T
1/4

25

plot({Im(simplify(value(Fg(2, w)))), Re(simplify(value(Fg(2, w))))},


w = -3 .. 3, thickness = 2)
plot(evalc(Tg(7, 2, t)), t = -2 .. 4, color = black, thickness = 2);
display({%, G});

26

Corrige n 3.3.3 de lexercice 11


1. Dire que pour tout k Z, f (kT ) = g(kT ) cest dire que

nk Z, 1 k T = 2 k T + 2nk
k Z, ou

nk Z, 1 k T = 2 k T + 2nk

nk Z, k T

k Z, ou

nk Z, k T

nk
2 nk
=
1 2
f1 f2

2 nk
nk
=
1 + 2
f1 + f2

1
n1
=
et on verifie sans peine que de telles valeurs
fe
f1 f2
de T ou de la frequence dechantillonnage conduiront a` des valeurs identiques de f (kT ) =
g(kT ) (on aura alors des solutions avec nk = kn1 ).
Pour e tre certain que ce phenom`ene ne se produira pas on choisira
En faisant k = 1, il vient T =

T <

1
1

soit fe > |f1 | + |f2 |


|f1 | + |f2 |
|f1 f2 |

Pour la figure on a choisi f 1 := 1.1; f 2 := 3.06; T =

1
2
=
;
fe
f1 + f2

2. Dans ce cas , dire que pour tout k Z, f (kT ) = g(kT ) cest dire que

nk Z, (1 2 )k T + (1 2 ) = 2nk
k Z, ou

nk Z, (1 + 2 )k T + (1 + 2 ) = 2nk
En faisant k = 0 on voit quil est necessaire que 1 2 = 2n0 ou 1 + 2 = 2n0
Chacune de ces conditions est suffisante et conduit a` une condition sur T qui sexprime
n1 n0
.
T =
f1 f2
27

Corrige n 3.3.4 correction de lexercice 12


1.

(a) Figure avec


Rf :=(L,x) > sin(L*x) :
plot(Rf(0.9,x-2*Pi*floor(x/(2*Pi)+1/2) ),x=-5*Pi..5*Pi, discont=true) ;

F IGURE 1 Im(f0.9 )
(b) si Z, cest clair : tous les coefficients cn (f ) sont nuls sauf c et la fonction est sa
propre somme de Fourier d`es que n ||.
Sinon
"
#
Z 2
1
1
ei(n)
ix inx
cn (f ) =
e e
dx =
= s(( n)).
2 0
2 i( n)

La fonction f est de periode 2 et de classe C 1 par morceaux. Sa serie de Fourier


converge simplement vers sa regularisee. Cela donne
f (x) =

s(( n))einx , x R/(2Z + 1),

n=

X
sin()
f (x+) + f (x)
= cos() =
, si x = (2k + 1).
2
( n)
n=

De cela on deduit avec y = :


cot(y) =

X
1
y
+2
.
y
y 2 n2 2
n1

2. Considerons la fonction de periode 2 dont la restriction a` ] , ], est f (t) = eix . Sa


serie de Fourier en un point de continuite x ] , [ est :
X
eix =
s(( n))einx
(3.4)
nZ

On en deduit la formule de Shannon en posant x = k T et = t/T :

28

eix = eik t =

s((t/T n))eink T .

nZ

Ou encore
g(t) =

s((t/T n))g(nT ).

nZ

On prendra garde au fait que |x| = |k |T impose T

1
=
.
|k |
2|fk |

Enfin, lorsque g est comme dans lenonce combinaison lineaire de fonctions de ce type, il

vient encore, pour tout T tel que 0 < T <


, et pour t R, la formule de Shannon
sup |k |
(convergence simple)
X
g(t) =
s((t/T n))g(nT ).
nZ

29

Transformations de Fourier discr`etes

Se pose maintenant la question du calcul effectif de la transformee de Fourier dun signal temporel
(ou fonction) f a` partir dun e chantillonnage. Nous allons voir comment une approximation par
la methode des rectangles fait apparatre naturellement la transformee de Fourier discr`ete. Cette
relation entre integrale de Fourier et transformee de Fourier serait de peu dinteret si nous ne
disposions pas dalgorithmes de calculs rapides pour cette derni`ere. Nous donnons un apercu de
ces methodes en indiquant leur utilisation sous Maple et Scilab.

4.1

Transformation de Fourier discr`ete

Se pose maintenant la question du calcul effectif de la transformee de Fourier dun signal temporel
represente par une fonction f. Quelques observations prealables simposent.
Le signal f est observe sur une periode restreinte, [T0 , T1 ].
On ne dispose en pratique que dun e chantillonnage de la fonction f entre des instants T0 et T1 .
Cest a` dire que lon connat seulement des valeurs f (tk ) pour t0 = T0 , ..., tN = T1 .
On veut calculer
Z T1
Z
f (t) e2 i t dt
f (t) e2 i t dt.
f() =

T0

On obtient une valeur approchee de cette derni`ere integrale avec une somme de Riemann :
Z

T1

f (t)e

2 i t

N
1
X

(tk+1 tk )f (tk )e2 i tk

dt

T0

k=0

Comme on aura choisi une subdivision reguli`ere pour e chantillonner, tk+1 tk =


vient :
Z T1
N 1
k T
T 2 i T0 X
f (t) e2 i t dt
e
f (tk ) e2 i N
N
T0

T1 T0
, il
N
(4.1)

k=0

Il va de soi que lon ne peut pas calculer toutes les valeurs f(). Il va falloir choisir. On en
calculera N. On va vite voir lesquelles, pourquoi et comment apr`es avoir defini la notion de
transformation de Fourier discr`ete.
Definition 3 Soit (k )0kN 1 une suite de N nombres. On appelle transformee de Fourier
discr`ete de cette suite, la suite finie de N nombres e galement, definie par

T F D()(n) =

N
1
X

2i

k e

kn
N , n = 0, 1, ..., N 1.

(4.2)

k=0

Exercice 13
1. Expliciter la matrice N de la transformation de Fourier discr`ete a` laide de N
1
et montrer que linverse de N est N .
N
30

2i
=e N .

2. Calculer la transformee de Fourier discr`ete de = (f (tk ))0kN 1 , la subdivision e tant


definie comme ci-dessus et e tablir une relation asymptotique entre T F D()(n) et f()
pour bien choisi.
voir corrige en 4.5.1

4.2

Les transformations de Fourier rapides

Le calcul de la TFD pourrait saverer laborieux pour de grandes valeurs de N : le produit matricevecteur brutalement programme demande O(N 2 ) operations. En 1965, redecouvrant une methode
dej`a mise en uvre par Gauss, Cooley et Tuckey, ont remarque que lon pouvait reduire ce calcul
a` O(N ln(N )) operations... Depuis, de nombreuses variantes de cet algorithme, connues sous le
nom de transformees de Fourier rapides (TFR ou FFT), ont vu le jour, les plus recentes visant a`
sadapter a` larchitecture des processeurs pour reduire encore les temps de calculs 4 et limiter les
erreurs lors des calculs en flottants.
Sans algorithme rapide, le calcul des N sommes
Y [n] =

N
1
X

nk
X[k]N

k=0

demande O(N 2 ) operations comme nous lavons dej`a remarque ; il y a bien sur plusieurs facons
de lenvisager et nous ninsisterons pas sur cette question autrement que par lexercice 14 qui suit :
Exercice 14 TFD sans algorithme rapide
1. Dans lexemple qui suit, o`u le meme algorithme est propose en Maple et en Scilab, denombrer
les additions et les multiplications (on prendra garde au decalage des indices, ici Y =
[Y [1], ..., Y [N ]] est indexe de 1 a` N et non pas de 0 a` N-1 et non pas [Y [0], ..., Y [N 1]]
comme dans nos formules).
2. Justifier que lon calcule bien la transformee de Fourier discr`ete du vecteur X.
3. Y aurait il inconvenient a` construire la matrice N pour ensuite effectuer le calcul Y =
N X? Comparer les operations.
4. a` distinguer du nombre doperations

31

Avec Maple

N
X
w
#

:=
:=
:=
au

8;
Array(1 .. N, i-->x[i-1]);
z;
lieu de exp(-(2*I)*Pi/N) pour v
erification rapide

wn := 1;
Y := Array(1 .. N);
for n to N do
Y[n] := 0;
wnk := 1;
for k to N do
Y[n] := Y[n]+wnk*X[k];
wnk := wnk*wn
end do;
wn := wn*w
end do;
Y(7);
x0 + z 6 x1 + z 12 x2 + z 18 x3 + z 24 x4 + z 30 x5 + z 36 x6 + z 42 x7
Avec N :=5 et w :=exp(-(2*I)*Pi/N) en place de w :=z, nous obtenons pour Y(4),

3

6

9

12
x0 + e2/5 i x1 + e2/5 i x2 + e2/5 i x3 + e2/5 i
x4
Comme toujours, la verification est immediate avec un logiciel de calcul formel ; on voit ce que lon
a programme : cest lavenir !

voir corrige en (4.5.2)

32

Diviser pour regner


Supposons que N soit un entier de la forme N = N1 N2 et reprenons le calcul de
Y [n] =

N
1
X

nk
X[k]N

k=0

en posant pour n, k tels que 0 n, k N 1 :


(
n = n1 + n2 N2 , 0 n1 N2 1
k = k1 + k2 N1 , 0 k1 N1 1
ce qui nous donne
k1 n1 k1 n2 k2 n1
kn
+
+ k2 n2
=
+
N
N
N1
N2
k1 n1
k1 n2
k2 n1
nk
wN
= wN
wN
wN
1
1
2

Y [n1 + n2 N2 ] =

NX
1 1

NX
2 1

k1 =0

k2 n1 k1 n1 n2 k1
X[k1 + k2 N1 ]wN
wN
N1
2

(4.3)

k2 =0

Ainsi, pour chaque valeur de n (ou chaque couple (n1 , n2 ), nous avons a` calculer N1 TFD de taille
N1 :

NX
2 1
k2 n1

X[k1 + k2 N1 ]wN
2
k2 =0
k1 n1
a` multiplier ce resultat par wN
et a` calculer la TFD de taille N2 du vecteur obtenu. Cela conduit
a` une procedure recursive qui secrit plus facilement lorsque N1 est invariablement e gal a` 2, ce qui
suppose que N est de la forme N = 2p .

Exercice 15 lalgorithme de Cooley et Tuckey pour N = 2p .


N
.
2
1. Ree crire dans un tel cas la formule (4.3) en observant que k1 et n1 ne prennent que deux
valeurs.

2. Ecrire
un algorithme recursif du calcul de Y lorsque Y est une puissance de 2. Preciser la
condition darret ou linitialisation.

On se propose ici dexpliciter lalgorithme de calcul rapide lorsque N1 = 2 et N2 =

3. Determinez la complexite de votre algorithme en nombre de multiplications par exemples.


Sil nest pas en O(N ln N ) ree crivez le !
4. Ree crire cet algorithme dans une procedure iterative avec une boucle while.
voir corrige en (4.5.3)

33

Bilan
Soit N un entier naturel non nul. La transformee de Fourier discr`ete (TFD ou DFT) dordre N
definie par
!
N
1
X
nk
(Xk )k CN (Yn )n =
Xk N
CN ,
k=0

est bijective et son inverse (transformee de Fourier discr`ete inverse) est :


!
N
1
X
1
nk
(Yn )n CN (Xk )k =
Yn N
CN ,
N
n=0

La matrice de la TFD (ou DFT) :

1
1
1
1

1
N
N 2
N 3

1
N 2
N 4
N 6

N =
1
N 3
N 6
N 9

..
..
..
..
.
.
.
.

1 N (N 1) N 2(N 1) N 3(N 1)

...
...
...
...
..

...

N (N 1)

2(N
1)

,
3(N
1)

..

N (N 1)

1
N .
dinverse 1
N =
N
Attention cette representation matricielle, utile pour les demonstrations, nintervient pas dans les
calculs effectifs (comme dans la plupart des cas).
n
Lorsquon dispose dun e chantillonnage de taille N de f sur [T0 , T1 ], pour toute valeur =
,
T

T1

f (t) e
T0

2 i t

T 2 i T0
e
T F D()( T ) + O
dt =
N

1
N


(4.4)

Linteret de cette formule cest quon dispose pour le calcul dalgorithmes de complexite O(N ln N )
lorsque N est une puissance de 2. On se ram`ene a` ce cas en completant (par interpolation le plus
souvent) les donnees dont on dispose pour se ramener a` 2N points. On dispose par ailleurs dalgorithmes rapides plus sophistiques qui permettent de traiter les releves en N points sans que N ne
soit une puissance de 2 (voir larticle [2], disponible sur la toile, qui decrit ce type dalgorithme et
en detaille un qui est par ailleurs implemente sous Scilab - voir laide de Scilab version 5.4.0).

34

4.3

Transformees en cosinus discr`etes

A voir ; utile pour les images...


La ressemblance avec la section precedente, o`u de la transformee de Fourier discr`ete il sagissait,
na rien de fortuit.
On rappelle que lespace C2 muni du produit scalaire
Z 2
1
dt
f (t)g(t)
(f, g) =
2 0
est un espace prehilbertien.
Exercice 16 Verifier que les trois familles de fonctions
{t eint /n Z}
{t cos(nt)/n N} {t sin(nt)/n N },
nt
/n N},
2
sont orthogonales. Preciser les normes de chacune de ces foncions.
{t cos(

Exercice 17 On consid`ere une fonction de classe C 1 sur lintervalle [0, T ].


1. coefficients de Fourier
On consid`ere la fonction g, T periodique e gale a` f sur [0, T [. Donner une expression
des coefficients de Fourier de g en fonction de ceux de g 0 .
Donner une condition suffisante sur f pour que la convergence de cette serie de Fourier
soit une convergence normale.
2. coefficients en cosinus...
Montrer que la fonction h de periode 2T, paire, e gale a` f sur [0, T [, est limite uniforme
de polynomes de la forme
X
a0 /2 +
ak cos(kt/T ).
k

Donner une expression des coefficients de Fourier de h en fonction de ceux de h0 . Comparer avec les coefficients de Fourier de g.
3. Peut on en dire autant pour des polynomes 5
X
bk sin(kt/T )?
k

Transformee en cosinus discr`ete en dimension 1


On definit la transformee en cosinus discr`ete (TCD, en francais et DCT, en anglais) comme e tant
lapplication lineaire de CN dans lui-meme definie par :
T CD = p CN G CN ,
5. penser a` la facon dont nous avons e tudie lequation de la chaleur

35

Gj

= cj

n1
X
k=0



j
pk cos (2k + 1)
2N

(4.5)

o`u les coefficients cj sont

c = 1
j
2

cj = 1

sij = 0,
sinon.

Le choix de sera fixe par la suite. Lexercice qui suit a pour but de determiner la bijection
reciproque et son expression :
T CDI(G)k0 = pk0

N
1
X

j=0



j
cj Gj cos (2k0 + 1)
2N

(4.6)

Exercice 18 Calcul de la transformation inverse


On se propose montrer que T CD est un automorphisme de CN et den calculer la bijection reciproque.
La demarche est celle mise en uvre pour le calcul de linverse de la T F D et les resultats forts
ressemblants.
1. Donner une expression de la matrice DN associe a` lautomorphisme T CD. 6
2. Soit k0 , un entier fixe, tel que 0 k0 N 1. On se propose de calculer
N
1
X
j=0



j
cj Gj cos (2k0 + 1)
.
2N

(a) Exprimer lexpression ci-dessus en fonctions des deux sommes


1 =

N
1
X

c2j cos

j=0

2 =

N
1
X
j=0



j
(k + k0 + 1)
N



j
c2j cos (2k0 + 1)
.
N

(b) Calculer chacune delles avec soin (en distinguant suivant que k = k0 ou pas, que
k + k0 est pair ou impair.
(c) En deduire que la T CD et sa matrice DN sont inversibles, donner une expression de
chacune delles. Que dire des colonnes de DN ?
3. Choisir pour que les coefficients et de la formule (4.6), soient e gaux.
4. Calculer
2

2 (cos(1/16 )) + 2 (cos(3/16 )) + 2

5
cos( )
16

par exemple et montrer que la matrice DN est orthogonale.


6. fichier MAPLE : TCD.mws

36

2


2
7
+ 2 cos( ) ,
16

4.4

Transformee en cosinus discr`ete en dimension 2

On introduit ici la TCD et son inverse en dimension 2 et on essaiera de montrer comment elle
intervient pour la compression du signal audio ou video.
On definit de facon analogue la transformee en cosinus discr`ete pour un signal p(x, y) dependant
de deux param`etres discrets. Penser pour fixer les idees que la matrice carree
P = [p(x 1, y 1)]1xN,1yN ,
formee des coefficients des (p(x, y))0x<N,1y<N represente une image de N 2 points (ou pixels),
x et y representant les abscisse et ordonnee de ces points, p(x, y) un decrivant une intensite de
couleur par exemple...

T CD2 (i, j)

T CDI2 (x, y)





N
1 N
1
X
X
i
j
1
p(x, y) cos (2x + 1)
ci cj
cos (2y + 1)
(4.7)
2N
2N
2N
x=0 y=0




N 1 N 1
i
j
1 X X

ci cj T CD2 (i, j) cos (2x + 1)


cos (2y + 1)
(4.8)
2N
2N
2N i=0 j=0

avec toujours,

c = 1
j
2

cj = 1

sij = 0,
sinon.

Exercice 19 On note toujours DN la matrice de la TCD en dimension 1, qui est donc une application de Cn dans lui-meme.
1. Soit P la matrice carree de taille N definie par
P = [p(x 1, y 1)]1xN,1yN .
Exprimer T CD2 (P ) en fonction de P, de DN et de sa transposee.
2. En deduire que T CD2 est inversible et verifier que son inverse est bien donnee par la formule (4.8).
3. Calculer, lorsque, P est une matrice 1024 512, le nombre dadditions, de multiplications
necessaires pour calculer sa T CD.
4. On partage la matrice en blocs 8 8. Combien faut il dadditions, de multiplications pour
calculer le T CD de chaque bloc ? Quel est le cout total ?

37

4.5

Corriges des exercices de la section (4)

Corrige n 4.5.1 de lexercice 13


1. Pour n = 0, 1, ..., N 1 :

T F D()(n) =

N
1
X

k e

2i

kn N 1
X
kn
N =
k N
,

k=0

k=0
(n1)(k1)

la matrice de cette application lineaire est donc definie par N, n, k = N

...

N 2

N 3

...

N 2

N 4

N 6

...

N 3

N 6

N 9

...

..
.

..
.

..
.

..
.

..

1 N (N 1) N 2(N 1) N 3(N 1) . . .

, soit

N (N 1)

2(N
1)

3(N
1)

..

N (N 1)

Cest la matrice de Vandermonde attachee aux racines N i`emes de lunite. Elle est donc
inversible. Pour determiner son inverse, un calcul explicite pour N = 2, 3, 4 permet de
conjecturer. Calculons N N pour verifier
N
N
X
X


(n1)(j1) (j1)(k1)
N
N
N N n,k =
N n j N j k =
j=1

j=1

Comme N est le conjugue de N , on a


N
X


(j1)(nk)
N N n,k =
N
=
j=1

(
N
0

nk
=1
si N
sinon (somme des termes d0 une s.g.).

La racine N e tant primitive (ses puissances engendrent le groupe des racines de lunite),
seuls les termes diagonaux sont non nuls. On a donc
1
N =
2. Rappelons que tk = t0 + (T1 T0 )
0, 1, ..., N 1 :

T F D()(n) =

N
1
X

1
N .
N

k
k
tk t0
soit
=
. Il vient donc, pour n =
N
N
T1 T0

kn
f (tk )N

k=0

N
1
X
k=0

38

f (tk )e

2i

kn
N

Si nous rapprochons cela de la formule (4.1)


Z

T1

f (t) e2 i t dt =

T0

lim

N +

nous avons pour chaque valeur =


N
1
X

T F D()(n) =

N 1
k T
T 2 i T0 X
e
f (tk ) e2 i N
N

!
,

k=0

n
,
T

kn
f (tk )N
=

k=0

N
1
X
k=0

f (tk )e

2i
N

kn

N
1
X

f (tk )e2 i k

T
N

k=0


en dautres termes et en se souvenant que la methode des rectangles converge en O
Z

T1

2 i t

f (t) e
T0

T 2 i T0
dt =
e
T F D()( T ) + O
N

1
N

1
N


:

Corrige n 4.5.2 de lexercice 14


1. Le programme MAPLE avec X1 , X2 , ..., Xn et w = N = e2i/N donnes :

Le programme

le total des operations

w := exp(-(2*I)*Pi/N);
wn := 1;
Y := Array(1 .. N);
for n to N do
Y[n] := 0;
wnk := 1;
for k to N do
Y[n] := Y[n]+wnk*X[k];
wnk := wnk*wn
end do;
wn := wn*w
end do

N 2 additions et 2N 2 multiplications dans la boucle


interne ;
N multiplications dans la boucle externe ;

2. Ce que lon calcule : la preuve formelle est dans le cours dinformatique [1].
3. Cout de la construction de la matrice N :

39

Corrige n 4.5.3 de lexercice 15


1. On suppose que N1 = 2. Comme
(
n = n1 + n2 N2 ,
k = k1 + k2 N1 = k1 + 2 k2 ,
cela donne

0 n1 N 2 1
0 k1 1.

kn
k1 n1 k1 n2 k2 n1
+ k2 n2
=
+
+
N
N
2
N2
k2 n1
k1 n1
k1 n2
nk
1
wN
wN
= wN
wN
2
1

La formule (4.3) se ree crit donc, avec N1 = 2 = 1,

Y [n1 + n2 N2 ] =

NX
1 1

k1 =0

NX
2 1

1
X

k1 =0

k2 n1 k1 n1 n2 k1
X[k1 + k2 N1 ]wN
wN
N1
2

(4.9)

k2 =0
NX
2 1

NX
2 1

k2 n1 k1 n1
X[k1 + 2 k2 ]wN
wN
(1)n2 k1
2

(4.10)

k2 =0

k 2 n1
X[2 k2 ]wN
+ (1)n2
2

k2 =0

NX
2 1

k2 n1 n1
X[2 k2 + 1]wN
wN
2

k2 =0

(4.11)
On calcule donc pour (n1 , n2 ) fixe, (avec 0 n1 N2 1, et 0 n2 1), deux TFD de
N
taille N2 = , celles des composantes paires et impaires de X.
2
2. Voir lalgorithme pages suivantes. Le programme Scilab est detaille dans [1]
3. On notera Cp le nombre de multiplications lors dun appel avec N = 2p du programme
recursif en MAPLE qui est presente dans le tableau.
(
C0 =
0
N
On a, puisque N2 =
= 2p1 ,
2
Cp+1 = 2 Cp + 3 2p
Ce qui donne Cp = 3 p 2p1 que lon exprime encore en fonction de N :

40

3
ln N N
2 ln 2

Le programme avec MAPLE

TFDrapide := proc (X)


local N, N2, r, Y, Y0, Y1, X0, X1, w, W, n1, n2, k2;
N := Dimension(X);
if N = 1
then
Y := X;
else
N2 := iquo(N, 2, r);
if r <> 0 then error "2 doit diviser N" end if;
X0 := Array([seq(X[2*k2-1], k2 = 1 .. N2)]);
Y0 := TFDrapide(X0);
X1 := Array([seq(X[2*k2], k2 = 1 .. N2)]);
Y1 := TFDrapide(X1);
Y := Array(1 .. N);
w := exp(-(2*I)*Pi/N);
W := 1;
for n1 from 0 to N2-1 do
Y[n1+1]
:= Y0[n1+1]+Y1[n1+1]*W;
Y[n1+1+N2] := Y0[n1+1]-Y1[n1+1]*W;
W
:= W*w
end do
end if;
Y
end proc

Il serait judicieux dintroduire un compteur pour verifier tout ce qui prec`ede (`a placer dans la
boucle for et a` declarer en variable globale sans oublier de linitialiser avant chaque appel).

41

Lanalyse du son

On se propose daborder letude des sons du point de vue de lanalyse du signal. Pour cela nous
allons enregistrer quelques sons et montrer comment fonctionnent les outils que nous avons mis
en place.
Quelques remarques preliminaires et desordonnees
Un son est detecte par lintermediaire dune membrane (situee dans un micro ou dans votre
oreille) qui enregistre des variations de pression de lair ou du fluide dans lequel elle est immergee. Sur le plan physique enregistrer un son consiste donc a` fournir des releves de pression
sous une forme analogique t P (t) ou numerique (P (k T ))k .
Seules les variations rapides de pression semblent detectees par nos instruments (un plongeur
nentend pas de bruit lie directement a` la variation de pression accompagnant sa descente, un
micro place dans un caisson hyperbare ne nous permettra pas non plus de reperer la pression
ambiante contrairement a` un manom`etre) ;
un son est produit et a fortiori enregistre pendant un intervalle de temps fini [0 , 1 ]; on lui
associera donc au mieux des restrictions ou troncatures de signaux virtuels periodiques (cas du
diapason) ;
en dehors de cas tr`es particuliers, mais dont la reconnaissance va se reveler fondamentale, un
signal sonore nest en general pas periodique.
On distingue pourtant des sons graves et aigus ce qui conduit aussi a` penser aussi le son en
termes de frequences.
Nous nous proposons detudier un enregistrement sonore. Cela nous conduira a` numeriser (ou
e chantillonner) notre enregistrement ; cela signifie que lintervalle detude [0 , 1 ] est discretise
et que la pression est relevee avec une frequence proportionnelle au nombre de termes de la subdivision, ce qui induit une perte dinformation. Ce phenom`ene a dej`a e te e tudie dans labstrait
(frequence de Nyquist, theor`eme de Shannon page18).
Les outils
On pourra proceder a` un enregistrement sonore avec le logiciel livre avec la carte son de lordinateur, utiliser un logiciel comme goldwave, telecharger un fichier son quelconque... Pour lanalyse
du son nous allons proposer de visualiser et analyser avec goldwave, Maple et Scilab.

5.1

Enregistrement aux formats .wav et .text avec goldwave

Commencons par enregistrer un son quelconque sous goldwave. On peut enregistrer le son sous le
format .wav dans un fichier .wav ou .txt. La premi`ere ligne du fichier .txt est
[48000Hz, Channels: 2, Samples: 343680, Flags: 0]
ce qui signifie que la frequence dechantillonnage est de 48000Hz, que le son a deux canaux
(stereo) et que lon a preleve 343680 e chantillons, ce qui couvre environ 7 secondes. On presente
ici, la premi`ere figure, un releve des variations de pression enregistrees sur une duree denviron
4.5 secondes (le texte, remarquable, est pouet, pouet, pouet, pouet, I stop it). On reconnaitra la
prononciation du I : a-i. Comme on la dej`a observe, a` part la repetition de pouet pouet, ce nest
pas vraiment periodique...

42

On reprend donc le meme fichier et on observe le deuxi`eme pouet pendant 0.4 s puis pendant
0.045s et l`a, on commence a` y voir plus clair.

43

44

References
[1] T HIERRY AUDIBERT, A MAR O USSALAH
Informatique, Programmation et Calcul Scientifique
Ellipses, 2013
[2] M ATTEO F RIGO AND S TEVEN G. J OHNSON
The Design and Implementation of FFTW3 rapide
Proc. IEEE, vol. 93, no. 2, pp. 216-231 (2005).
disponible en pdf sur le site de la revue IEEE :
http ://ieeexplore.ieee.org/search/
http ://www.fftw.org/
[3] C. G ASQUET, P. W ITOMSKI .
Analyse de Fourier et Applications
Masson, 1990
[4] H. R EINHARD .
Elements de mathematiques du signal
tome 1 - Signaux deterministes
Dunod, 1995
[5] W. RUDIN .
Analyse reelle et complexe
Masson, 1980
[6] B ERNARD S IMON .
La maree 1. La Maree oceanique coti`ere
Institut oceanographique Collection : SYNTHESES (2007)
[7] L. S CHWARTZ .
Methodes mathematiques pour les sciences Physiques
Hermann, 1993
[8] L. S CHWARTZ .
Analyse III - Calcul Integral
Hermann, 1993
[9] L. S CHWARTZ .
Analyse IV - Applications de la Theorie de la Mesure
Hermann, 1993
[10] W IKIPEDIA .
Transformee de Fourier rapide
http ://fr.wikipedia.org/wiki/Transformee de Fourier rapide
consultee novembre 2012

45

Index
algorithme
Cooley et Tuckey, 34
convolution, 4, 6
derivation
transformee de Fourier, 3
Fourier
transformee de, 3
transformee discr`ete, 30
frequence
de Nyquist, 18
Fubini
la formule de, 5
Lebesgue
lemme de Riemann-Lebesgue, 3
lemme
de Riemann-Lebesgue, 3
Nyquist
frequence de, 18
produit
de convolution, 4
Riemann
lemme de Riemann-Lebesgue, 3
Shannon
formule de, 17, 18
theor`eme, 18
TFD, 30
theor`eme
de Fubini, 5
de Shannon, 17, 18
transformee
de Fourier, 3
de Fourier Discr`ete, 30

46

Você também pode gostar