AnalyseSignal.pdf

46
 Analyse du signal Thierry Audibert [email protected] 20 d ´ ecembre 2013 Disponible sur http://www.univenligne.fr sous le nom AnalyseSignal.pdf Table des mati ` eres 1 Obje ctifs et mode d’emploi  2 2 T ransf orm´ ee de Fourier  3 2. 1 Tra nsform´ ee de Fourier : point de vue ´ el´ ementaire  . . . . . . . . . . . . . . . . . 3 2.2 Produit de con volut ion (fonctions int´ egrables)  . . . . . . . . . . . . . . . . . . . 4 2. 3 Tra nsform´ ee de Fourier et convolution : formulaire  . . . . . . . . . . . . . . . . 7 2. 4 Le s corr ig´ es et d´ emonstrations des sous-sections (2.1) et  (2.2)  . . . . . . . . . . 8 3  ´ Etude du signal  12 3. 1 Pr emi` ere approche du spectre  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.2  ´ Echantillonnage, th´ eor ` eme de Shannon et Nyquist  . . . . . . . . . . . . . . . . . 16 3. 3 Corri g´ es des exercices des sections (3.1) et (3.2)  . . . . . . . . . . . . . . . . . 22 4 T rans for mat ions de Fourier di scr` etes  30 4.1 Tr ansfor mation de Fouri er discr` ete  . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.2 Les transf ormati ons de Fouri er rapide s  . . . . . . . . . . . . . . . . . . . . . . . 31 4. 3 Tra nsform´ ees en cosinus discr` etes  . . . . . . . . . . . . . . . . . . . . . . . . . 35 4. 4 Tra nsform´ ee en cosinus discr ` ete en dimension 2  . . . . . . . . . . . . . . . . . . 37 4. 5 Corr ig´ es des exercices de la section  (4)  . . . . . . . . . . . . . . . . . . . . . . 38 5 L ’an aly se du son  42 5.1 Enre gistre ment a ux formats .wav et .tex t av ec gol dwav e  . . . . . . . . . . . . . . 42 1

Transcript of AnalyseSignal.pdf

  • Analyse du signal

    Thierry [email protected]

    20 decembre 2013

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

    Table des matie`res

    1 Objectifs et mode demploi 2

    2 Transformee de Fourier 32.1 Transformee de Fourier : point de vue elementaire . . . . . . . . . . . . . . . . . 32.2 Produit de convolution (fonctions integrables) . . . . . . . . . . . . . . . . . . . 42.3 Transformee de Fourier et convolution : formulaire . . . . . . . . . . . . . . . . 72.4 Les corriges et demonstrations des sous-sections (2.1) et (2.2) . . . . . . . . . . 8

    3 Etude du signal 123.1 Premie`re approche du spectre . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.2 Echantillonnage, theore`me de Shannon et Nyquist . . . . . . . . . . . . . . . . . 163.3 Corriges des exercices des sections (3.1) et (3.2) . . . . . . . . . . . . . . . . . 22

    4 Transformations de Fourier discre`tes 304.1 Transformation de Fourier discre`te . . . . . . . . . . . . . . . . . . . . . . . . . 304.2 Les transformations de Fourier rapides . . . . . . . . . . . . . . . . . . . . . . . 314.3 Transformees en cosinus discre`tes . . . . . . . . . . . . . . . . . . . . . . . . . 354.4 Transformee en cosinus discre`te en dimension 2 . . . . . . . . . . . . . . . . . . 374.5 Corriges des exercices de la section (4) . . . . . . . . . . . . . . . . . . . . . . 38

    5 Lanalyse du son 425.1 Enregistrement aux formats .wav et .text avec goldwave . . . . . . . . . . . . . . 42

    1

  • 1 Objectifs et mode demploi

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

    cne

    2ipint

    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 sonsles plus courants, quils soient produits par un instrument, par la voix, par le fonctionnement dunmoteur, ne sont pas des signaux periodiques. Nous verrons pourtant que lon peut, en faisant varierla duree dobservation, faire apparatre la plupart des sons comme une superposition de signauxsinusodaux. Les memes outils mathematiques et numeriques nous permettront detudier des si-gnaux qui necessitent une observation sur de grandes durees comme les variations des hauteurs demaree. On concoit avec ces deux exemples que la definition du signal va devenir assez generale :pour nous ce sera une fonction du temps, suffisamment regulie`re pour se preter a` nos calculs.

    On propose ici une approche quasi-experimentale qui va nous permettre de debroussailler leproble`me. Cest pourquoi il nest pas indispensable de connatre tous les resultats de la section2 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 quidevrait faciliter une lecture avec aller-retours.

    Plan de lecture possible1. 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 theore`me deNyquist et Shannon (forme simplifiee) en section 3.2.

    4. La transformation de Fourier discre`te et lalgorithme de transformation rapide sont presenteesen section 4.

    5. Des applications concre`tes sont proposees dans la section ??. Cest a` mon avis la` que leschoses seclairent.

    2

  • 2 Transformee de Fourier

    2.1 Transformee de Fourier : point de vue elementaire

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

    F(f)() = f() =Reix f(x) dx (2.1)

    La definition varie dans la litterature dun facteur multiplicatif autour de la pulsation et on peutaussi poser

    F(f)() = f() =Re2piixf(x) dx.

    Exercice 1 existence, premie`res proprietesSoit 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 LebesgueSoit 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

    lim+

    baeit f(t) dt

    a pour limite 0 ( designe un reel).

    2. Montrer que le meme resultat est vrai pour toute fonction f, continue par morceaux surlintervalle [a, b].

    3. On conside`re maintenant f integrable sur R. Montrer que(a) pour tout > 0, il existe un intervalle compact [a, b] tel que

    ],a]|f | ,

    [b,+[

    |f | ,

    (b) En deduire que

    lim

    eit f(t) dt = 0.

    3

  • corrige en 2.4.2

    Exercice 3 derivation1. 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 soit definie. La calculer dans cecas.

    corrige en 2.4.3

    Exercice 4 transformee de Fourier dune GaussienneSoit f definie par f(t) = eat2 , avec a > 0.

    1. Montrer que sa transformee de Fourier est de classe C.2. Montrer que f verifie une equation differentielle lineaire et la calculer.

    corrige en 2.4.4

    2.2 Produit de convolution (fonctions integrables)

    1

    Definition 2 produit de convolutionSoient f et g deux fonctions continue par morceaux sur R. Lorsque la fonction t f(x t)g(t)est integrable, on pose

    f g(x) =Rf(x t)g(t) dt (2.2)

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

    Exercice 5 existence et proprietes du produit de convolutionSoient 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 f2. 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

    R

    (Rf(x, t)dt

    )dx =

    R

    (Rf(x, t)dx

    )dt

    exprimer une relation entre f g, f et g.corrige en 2.4.5

    1

    4

  • Exercice 6 convolution par une gaussienneOn note g la fonction definie sur R par g(x) = ex2 et, pour s > 0, on pose

    s(x) =1

    spig(xs

    ).

    1. Tracer les fonctions 1/n, pour n = 1, 2, ..5, et etudier la limite de la suite de fonctions(1/n)n.

    2. Calculer lintegrale de s sur R. On rappelle queRet

    2dt =

    pi.

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

    f ? s(x) =

    Rf(t)s(x t) dt =

    Rf(x t)s(t) dt.

    (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

    lims0

    f ? s(x0) f(x0) = 0.

    On pourra observer que

    f ? s(x0) f(x0) =Rf(x0 t)s(t) dt

    Rf(x0)s(t) dt.

    (c) Etudier la convergence uniforme.

    corrige en 2.4.6

    Theore`me 1 formule de Fubini pour les fonctions integrables 1On suppose f continue et integrable sur I J. Si pour tout x, 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,

    IJf =

    Ig.

    Remarque : avec les hypothe`ses symetriques : pour tout y, 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

    IJf =

    Ig =

    Jh.

    1. On comparera au theore`me de Fubini pour les series numeriques...

    5

  • Exercice 7 transformation de Fourier, formule dechangeA toute fonction numerique f, continue par morceaux et integrable sur R, on associe sa trans-

    formee de Fourier definie par

    f() =

    Rf(t)eit dt.

    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 etg 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 hypothe`ses, montrer que

    Rf g =

    Rg f .

    Exercice 8 transformee de Fourier et convolutionOn conside`re ici deux fonctions numeriques fet 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

    h : xRf(x t)g(t) dt

    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

    ) =

    Reis(s) ds.

    Montrer que

    f() g() =

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

    Peut on etablir la formule h() = f() g(), lorsque h est la fonction definie en 1, enapportant eventuellement des hypothe`ses supplementaires ?

    6

  • 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 etbornee 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() =Reix f(x) dx,

    Si f et x xf(x) sont integrables, df()d

    = iReixx f(x) dx

    Si f et f sont integrables, f () = i f()

    Si ga(t) = eat2, ga() =

    pi

    ae

    24a =

    pi

    ag1/4a()

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

    lorsque la transformee est definie par F(f)() = f() =Re2piixf(x) dx,

    Si f et x xf(x) sont integrables, df()d

    = 2 i piRe2 i pi xx f(x) dx

    Si f et f sont integrables, f () = 2,i pi f()

    Si ga(t) = eat2, ga() =

    pi

    ae

    pi2 2a =

    pi

    agpi2/a()

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

    1

    7

  • 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,

    |f()| =Rf(t)eit dt

    R|f(t)| dt

    on a donc ||f || ||f ||1.3.

    () =

    Reit(t) dt =

    baeit dt

    =

    (b a) si = 0i

    [eit

    ]ba

    si 6= 0

    =

    (b a) si = 02

    sin(ba

    2 )ei

    ba2 si 6= 0

    Cette fonction a pour module 2

    sin(ba

    2 w)

    w

    dont on sait quelle nest pas integrable sur R(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 dusegment [a, b], on a b

    a(t)eint dt

    =n1k=0

    tk+1tk

    k eint dt

    n1k=0

    tk+1tk

    |k|eintk+1 eintkin

    dt 2n sup |k||b a|.La limite est bien 0 lorsque n +.

    2. Considerons maintenant f continue par morceaux sur [a, b] et > 0. Il existe une fonctionen escalier qui verifie ||f ||

    [a,b] /|b a|. Nous avons par ailleurs

    baf(t)eint dt

    ba

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

    a(t)eint dt

    . Le premier terme du membre de droite est majore par ; Pour le second, on sait quil existe un rang N a` partir duquel b

    a(t)eint dt

    .8

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

    n baf(t)eint dt

    2.3. Considerons maintenant une fonction f integrable sur R ou sur un intervalle quelconqueI R, et > 0. Il existe un segment [a, b] I tel que

    I|f |

    [a,b]|f | .

    On a : If(t)eint dt

    =

    [a,b]f(t)eint dt

    +I\[a,b]

    f(t)eint dt

    [a,b]f(t)eint dt

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

    af(t)eint dt

    ,et on conclut de la meme facon.

    Corrige n 2.4.3 de lexercice 3 (derivation et transformation de Fourier)1. On conside`re une fonction f integrable sur R de transformee de Fourier definie par f() =

    R f(t)eit dt. La fonction (, t) f(t)eit satisfait clairement au theore`me de conti-

    nuite dune integrale a` parame`tre 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 hypothe`ses. On supposera donc pour aller plus loin dans les calculs quede 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 C1 et

    df()

    d= i

    R

    eix x f(x) dx

    9

  • 2. On suppose maintenant que f est integrable et derivable sur R et que f est integrable elleaussi. On peut donc definir la transformee de Fourier de f qui est

    F(f )() = f () =Reixf (x) dx.

    On est alors tente dintegrer par parties. Cela donnerait

    F(f )() = [eixf(x)]+ + i Reixf(x) dx.

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

    0eixf (x) dx =

    [eixf(x)

    ]+0

    + i

    0

    eixf(x) dx

    et la` 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)

    1. f() =R eiteat2 dt =

    R h(, t) dt.

    La fonction h admet des derivees partielles par rapport a` a` tous les ordres qui sont

    k

    kh(, t) = (i t)k eiteat2 = hk(, t).

    Pour tout k 0, on a t hk(, t) integrable sur R; t hk(, t) continue sur [A,A]; il existe k, integrable surR telle que pour (, t) [A,A]R, |hk(, t)| = |t|keat2 Akeat2 = k(t).Ainsi, f est de classe C sur tout [A,A] et donc sur R et f () = R h1(, t) dt.

    2. En derivant, nous avons

    f () =Rh1(, t) dt = i

    R

    (teat

    2)eit dt

    = i[eat2

    2a ei t

    ]

    + i

    R

    eat2

    2a (i)eit dt

    ce qui nous donne lequation differentielle y() = 2ay() assortie de la conditioninitiale y(0) = f(0) =

    R eat2 dt, dou`, apre`s calcul de lintegrale de Gauss

    f() =

    pi

    ae

    2

    4a (2.3)

    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

    1Pour letude du signal on preferera la definition

    F(f)() = f() =Re2piixf(x) dx

    et on se referera donc au deuxie`me formulaire de la page 7.

    3.1 Premie`re approche du spectre

    On propose ici une premie`re exploration de la notion de spectre dun signal. On aborde la ques-tion avec le calcul et lobservation graphique des transformees de Fourier de fonctions a` supportcompact et sommes de sinusodes. La notion de spectre est alors simple et intuitive.

    12

  • Exercice 9 2 ce que la transformee de Fourier nous apprend des frequences...1. On conside`re > 0, a > 0 et la fonction a` support compact

    fa,(t) =

    {cos(2pit), si t [a, a]0 sinon .

    (a) Calculer sa transformee de Fourier ; on choisira la definition

    F(f)() = f() =Re2piixf(x) dx.

    (b) Calculer puis representer graphiquement dans une feuille Maple ou Scilab les trans-formees de Fourier de fa, pour = 0.7 et a = 10, 20, 50, par exemple. Quobserve-t-on ? Justifier les observations.

    (c) La fonction fa, est elle integrable sur R? La fonction

    fa,() e2ipix

    admet elle une integrale impropre sur R? Le cas echeant, calculez la transformee deFourier inverse de fa,.

    2. (a) On definit

    g := (a, t) (2 cos (2pi 1t) + 5 cos (2pi 2t) + cos (2pi 3t)) H (a t) H (a+ t)

    ou` H designe la fonction echelon (H(a t)H(a + 1) est egale a` 1 sur [a, a] nulleen dehors). Representer graphiquement la transformee de Fourier de t g(a, t) sousMAPLE ou Scilab. Quobserve-t-on ? Que se passerait il avec lautre definition usuellede la transformee de Fourier ?

    (b) On pose N (t) = fN,(t).

    Soit > 0. Montrer que la suite des transformees de Fourier(N

    )N, est uni-

    formement bornee sur le complementaire de ] , + [] ,+ [.Evaluez N (). Que dire du comportement asymptotique de (N ())N?Meme question pour la transformee dune combinaison lineaire

    i

    Ai cos (2pi i t) .

    corrige en 3.3.1

    Exercice 10 Le spectre permet il de reconstituer le signal ?

    On conside`re 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 Tperiodiquesexpriment 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 termesdependent des seules ( !) valeurs de son spectre, echantillonnees en les points

    n

    T, n Z.

    Preciser le type de convergence de cette serie.

    3. Exemple calculatoire et graphique : choisir un signal triangulaire sur [0, T ] arbitraire, calcu-ler formellement sa transformee de Fourier, ecrire un bref programme donnant les sommespartielles de la serie de la question precedente et comparer au signal dorigine.

    corrige en 3.3.2

    14

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

    est un sinus

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

    f,a() a+ a.

    0

    10

    20

    30

    40

    3 2 1 1 2 3

    w

    Transformee de Fourier dun signal sinusodal de duree de vie finie

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

    15

    10

    5

    0

    5

    10

    15

    8 6 4 2 2 4 6 8

    w

    Transformee de Fourier dun signal composite de duree de vie finie

    La transformee de Fourier dun signal composite, continu par morceaux , de duree finie, permetde reconstituer le signal dorigine comme somme dune serie de Fourier dont les coefficients sontobtenus par echantillonnage du spectre et qui converge en moyenne quadratique (et convergenormalement si g est de plus de classe C1 par morceaux et continue) :

    g(t) =1

    T

    n=

    g(nT

    )e

    2ipint

    T (3.1)

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

    g(t+) + g(t)2

    =1

    T

    n=

    g(nT

    )e

    2ipint

    T (3.2)

    15

  • 3.2 Echantillonnage, theore`me de Shannon et Nyquist

    VocabulaireNous dirons quun signal est analogique lorsquil est modelise par une grandeur susceptible deprendre des valeurs appartenant a` un intervalle de R (on parle densemble continu). Cest le caslorsque le signal est produit par des composants electroniques, des instruments de mesure...Nous dirons quun signal est numerique lorsque lensemble des valeurs quil est susceptible deprendre est discret (chaque element de lensemble est isole des autres 3) . Cest le cas dun signalobtenu par echantillonnage ou produit par un algorithme... En pratique, lorsquon veut traiter un signal, par exemple determiner son spectre, on est le plussouvent amene a` le discretiser, a` lechantillonner. Cest a` dire que lon mesure des valeurs endes instants le plus souvent regulie`rement espaces t0 + kT. On parle alors dechantillonnage de

    frequence fe =1

    T.Ce que nous proposons ici, cest detudier les proble`mes que pose lechantillon-

    nage et de presenter quelques solutions.

    Exercice 11 repliement de spectre1. On conside`re 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.Pour quelles valeurs de T ou de fe =

    1

    Tles valeurs f (k T ) et g (k T ) seront elles confon-

    dues pour tout k Z?Verifier que si fe > |f1|+ |f2|, avec fi = i

    2pi, ce phenome`ne ne se produit pas.

    Construire une figure comme celle-ci ou` deux signaux de frequences f1 et f2 sont indiscer-nables par un echantillonnage 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 theore`me de Shannon (echantillonnage)

    On veut montrer que pour tout signal signal g de la forme g(t) =N

    k=0 akeikt, un echantillonnage

    de frequence fe =1

    T> 2 sup |fk| (avec fk = k

    2pi) permet de reconstituer le signal g comme

    somme dune serie de fonctions.

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

    .

    1. Soient R,, T > 0 et f la fonction 2piperiodique qui concide avec x eix sur[pi, pi[.

    (a) Donner une representation graphique de Im(f) sur [5pi, 5pi] pour = 1/2, =9/10...

    (b) Calculer la serie de Fourier de f et etudier avec soin sa convergence. On precisera enparticulier la somme en les points x = 0, pi.

    En deduire une expression de1

    sinxpuis de de cotan x comme somme dune serie.

    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) =

    Nk=0

    akeikt

    verifie la formule dinterpolation :

    g(t) =nZ

    s

    (pit

    T npi

    )g(nT )

    de`s que T est inferieur a` la frequence de Nyquist : T pi|k| =1

    2|fk| .

    On commencera par etablir le resultat pour un terme eikt...

    corrige en 3.3.4

    17

  • Bilan provisoire

    Frequence de Nyquist : on appelle frequence de Nyquist dun signal g(t) = Nk=0 akeikt,la frequence f0 =

    1

    T0= 2 sup |fk| (avec fk = k

    2pi). Cest la frequence dechantillonnage au

    dessus de laquelle il est theoriquement possible de reconstituer un signal comme somme duneserie (exercice 12), en dessous de laquelle ce nest en general pas possible (exercice 11).

    Nous generaliserons cette definition en section ??.

    Theore`me de Shannon, version elementaire

    Theore`me 2Soit g un signal de la forme g(t) =

    Nk=0 ake

    ikt. Pour toute frequence superieure a` la frequence

    de Nyquist, fe =1

    T> 2 sup |fk|, g verifie la formule dinterpolation de Shannon :

    g(t) =nZ

    s

    (pit

    T npi

    )g(nT ) (3.3)

    Demonstration avec lexercice 12.Nous generaliserons ce theore`me en section ??.

    Pourquoi parle-t-on de temps et de frequence ?Rapprochons la formule 3.2 de la formule de Shannon 3.3

    g(t) =1

    T

    n=

    g(nT

    )e

    2ipint

    Tg(t) =

    nZ

    s

    (pit

    T npi

    )g(nT )

    Celle de gauche reconstitue le signal a` partir dun echantillonnage des frequences, celle de droite,a` partir dun echantillonnage des temps.

    Que faire en pratique ?Bien evidemment dans des conditions experimentales ou numeriques, il nest ni possible dechantillonnersur une infinite de termes, ni de sommer sur une infinite de termes dans la somme.En pratique, on filtre le signal pour eliminer les frequences depassant un certain seuil. Connaissantce seuil (par exemple 22000Hz) on dispose dune frequence de Nyquist (44000 Hz, dans lexempleprecedent).On choisit alors une frequence dechantillonnage superieure a` la frequence de Nyquist et onprele`ve un nombre dechantillons aux instants 0,T,2T,...,nT, suffisant pour couvrir lintervalle. Oncalcule alors la somme partielle construite sur ces echantillons. La feuille de travail Maple qui suitillustre cela.

    18

  • > >

    (2.3)(2.3)

    (2.1)(2.1)

    > >

    > >

    (2.2)(2.2)

    > >

    La formule de Shannon

    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.

    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;

    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 91. (a) Le calcul donne (penser a` ecrire la fonction cos comme somme dexponentielles) :

    pour 6= : aa

    cos (2pi x) e2 ipi xdx =

    [e2ipi()x

    4ipi( ) e2ipi(+)x

    4ipi( + )

    ]aa

    =sin (2pi( )a)

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

    2pi(+ )

    et pour = , par parite et passage a` la limite, une transformee de Fourier etanttoujours continue, a

    acos (2pi x) e2 ipi xdx =a+

    sin (4pia)

    4pi

    (b) Comme la fonction signal est paire, sa transformee de Fourier est reelle. La questionavait donc un sens et voila ce que lon trouve en superposant les transformees deFourier pour = 0.7 et a = 10, 20, 40 :

    Il apparait que les oscillations sont tre`s 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 at-teinte en est grande avec comme on peut lobserver graphiquement ou le deduiredu calcul precedent,

    f() a+ a

    (c)

    2. (a) Le calcul est sans myste`re, simple superposition qui donne avec a = 100 et

    g : x 7 1 + 2 cos (1.0pi x) 3 cos (3.0pi x) + 4 cos (6pi x) ,

    On retrouve ici les frequences et des amplitudes maximales aux points = i quisont proportionnelles aux coefficients des signaux de periode i.

    (b) Notons s la fonction x sinxx

    . Nous avons donc en dehors de ,

    f,a() =sin (2pi( )a)

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

    2pi(+ )= a (s(2pi( )a) + s(2pi(+ )a))

    23

  • Comme pour |x| 6= 0, |s(x)| 1|x| , nous avonsf,a() 14pi| | +

    1

    4pi|+ |et si /] , + [] ,+ [, ie : | | et |+ | cela donnef,a() 1

    2pi.

    Nous avons deja` note que pour un signal sinusodal

    f() a+ a

    il vient doncf,N ()

    N+N.

    Cela explique lobservation faite avec le signal composite : les valeurs en les points isont equivalentes a` Ai a ou` Ai est lamplitude de la composante Ai cos(it)

    Corrige n 3.3.2 de lexercice 101. Les coefficients de Fourier de g sont donnes par la formule :

    cn(g) =1

    T

    T0e2inpi/T g(t) dt =

    1

    T

    Re2inpi/T g(t) dt =

    1

    Tg

    (1

    T

    ).

    2. Comme g est continue par morceaux , sa serie de Fourier converge en moyenne quadratiquevers g sur R. On ecrit donc

    g(t) =

    n=cn(g)e

    2ipint

    T =1

    T

    n=

    g(nT

    )e

    2ipint

    T

    Lorsque g est continue par morceaux , la serie converge en moyenne quadratique vers gsur [0, T ];

    lorsque g est de classe C1 par morceaux, elle converge simplement vers la regularisee deg (en 0 et T la limite est donc

    g(0+) + g(T)2

    ;

    lorsque g est continue et de classe C1 par morceaux, elle converge normalement vers g.3. Exploration numerique et graphique :

    (a) On conside`re par exemple un signal triangulaire sur lintervalle de temps [0, T ].Connais-sant son spectre (ou transformee de Fourier) le signal est reconstitue avec la formule

    g(t) =1

    T

    n=

    g(nT

    )e

    2ipintT

    g(0) =T 2

    4, g() =

    1

    4

    1 + 2 eipi wT e2 iTpi wpi2w2

    =1

    2pi2(1 cospiT )eipiT

    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/4T 2

    1/41 + 2 eipi wT e2 iTpi w

    pi2w2

    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

    900T

    (1800 cos

    (2pi t

    T

    ) 200 cos

    (6pi t

    T

    ) 72 cos

    (10pi t

    T

    )+ 225pi2

    )pi2

    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 111. Dire que pour tout k Z, f(kT ) = g(kT ) cest dire que

    k Z,

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

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

    k Z,

    nk Z, k T = 2nk pi

    1 2 =nk

    f1 f2ou

    nk Z, k T = 2nk pi1 + 2

    =nk

    f1 + f2

    En faisant k = 1, il vient T =1

    fe=

    n1f1 f2 et on verifie sans peine que de telles valeurs

    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 etre certain que ce phenome`ne ne se produira pas on choisira

    T |f1|+ |f2|

    Pour la figure on a choisi f1 := 1.1; f2 := 3.06;T =1

    fe=

    2

    f1 + f2;

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

    k Z,

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

    nk Z, (1 + 2)k T + (1 + 2) = 2nkpiEn faisant k = 0 on voit quil est necessaire que 1 2 = 2n0pi ou 1 + 2 = 2n0piChacune de ces conditions est suffisante et conduit a` une condition sur T qui sexprime

    T =n1 n0f1 f2 .

    27

  • Corrige n 3.3.4 correction de lexercice 121. (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) ;

    FIGURE 1 Im(f0.9)

    (b) si Z, cest clair : tous les coefficients cn(f) sont nuls sauf c et la fonction est sapropre somme de Fourier de`s que n ||.Sinon

    cn(f) =1

    2pi

    2pi0

    eixeinx dx =1

    2pi

    [ei(n)

    i( n)

    ]pipi

    = s(( n)pi).

    La fonction f est de periode 2pi et de classe C1 par morceaux. Sa serie de Fourierconverge simplement vers sa regularisee. Cela donne

    f(x) =

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

    f(x+) + f(x)2

    = cos(pi) =

    n=

    sin(pi)

    ( n)pi , si x = (2k + 1)pi.

    De cela on deduit avec y = pi :

    cot(y) =1

    y+ 2

    n1

    y

    y2 n2pi2 .

    2. Considerons la fonction de periode 2pi dont la restriction a` ] pi, pi], est f(t) = eix. Saserie de Fourier en un point de continuite x ] pi, pi[ est :

    eix =nZ

    s(( n)pi)einx (3.4)

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

    28

  • eix = eikt =nZ

    s((t/T n)pi)einkT .

    Ou encoreg(t) =

    nZ

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

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

    2|fk| .

    Enfin, lorsque g est comme dans lenonce combinaison lineaire de fonctions de ce type, ilvient encore, pour tout T tel que 0 < T x[i-1]);w := z;# au lieu de exp(-(2*I)*Pi/N) pour verification rapide

    wn := 1;Y := Array(1 .. N);for n to N doY[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 + z6x1 + z

    12x2 + z18x3 + z

    24x4 + z30x5 + z

    36x6 + z42x7

    Avec N :=5 et w :=exp(-(2*I)*Pi/N) en place de w :=z, nous obtenons pour Y(4),

    x0 +(

    e2/5 ipi)3x1 +

    (e2/5 ipi

    )6x2 +

    (e2/5 ipi

    )9x3 +

    (e2/5 ipi

    )12x4

    Comme toujours, la verification est immediate avec un logiciel de calcul formel ; on voit ce que lona programme : cest lavenir !

    voir corrige en (4.5.2)

    32

  • Diviser pour regnerSupposons que N soit un entier de la forme N = N1N2 et reprenons le calcul de

    Y [n] =N1k=0

    X[k]nkN

    en posant pour n, k tels que 0 n, k N 1 :{n = n1 + n2N2, 0 n1 N2 1k = k1 + k2N1, 0 k1 N1 1

    ce qui nous donnek n

    N=k1 n1N

    +k1 n2N1

    +k2 n1N2

    + k2 n2

    wnkN = wk1 n1N wk1 n2N1 wk2 n1N2 1

    Y [n1 + n2N2] =

    N11k1=0

    N21k2=0

    X[k1 + k2N1]wk2 n1N2

    wk1 n1Nn2k1N1 (4.3)

    Ainsi, pour chaque valeur de n (ou chaque couple (n1, n2), nous avons a` calculerN1 TFD de tailleN1 : N21

    k2=0

    X[k1 + k2N1]wk2 n1N2

    a` multiplier ce resultat par wk1 n1N et a` calculer la TFD de taille N2 du vecteur obtenu. Cela conduita` une procedure recursive qui secrit plus facilement lorsqueN1 est invariablement egal a` 2, ce quisuppose que N est de la forme N = 2p.

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

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

    2.

    1. Reecrire dans un tel cas la formule (4.3) en observant que k1 et n1 ne prennent que deuxvaleurs.

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

    3. Determinez la complexite de votre algorithme en nombre de multiplications par exemples.Sil nest pas en O(N lnN) reecrivez le !

    4. Reecrire 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 discre`te (TFD ou DFT) dordre Ndefinie par

    (Xk)k CN (Yn)n =(N1k=0

    XknkN

    )n

    CN ,

    est bijective et son inverse (transformee de Fourier discre`te inverse) est :

    (Yn)n CN (Xk)k =(

    1

    N

    N1n=0

    YnnkN

    )k

    CN ,

    La matrice de la TFD (ou DFT) :

    N =

    1 1 1 1 . . . 1

    1 N N2 N

    3 . . . N(N1)

    1 N2 N

    4 N6 . . . N

    2(N1)

    1 N3 N

    6 N9 . . . N

    3(N1)

    ......

    ......

    . . ....

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

    2

    ,

    dinverse 1N =1

    NN .

    Attention cette representation matricielle, utile pour les demonstrations, nintervient pas dans lescalculs effectifs (comme dans la plupart des cas).

    Lorsquon dispose dun echantillonnage de tailleN de f sur [T0, T1], pour toute valeur = nT

    ,

    T1T0

    f(t) e2 i pi t dt =T

    Ne2 i pi T0TFD()(T ) +O

    (1

    N

    )(4.4)

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

    34

  • 4.3 Transformees en cosinus discre`tes

    A voir ; utile pour les images...La ressemblance avec la section precedente, ou` de la transformee de Fourier discre`te il sagissait,na rien de fortuit.On rappelle que lespace C2pi muni du produit scalaire

    (f, g) =1

    2pi

    2pi0

    f(t) g(t) dt

    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},

    {t cos(nt2/n N},

    sont orthogonales. Preciser les normes de chacune de ces foncions.

    Exercice 17 On conside`re une fonction de classe C1 sur lintervalle [0, T ].1. coefficients de Fourier

    On conside`re la fonction g, Tperiodique egale a` f sur [0, T [. Donner une expressiondes coefficients de Fourier de g en fonction de ceux de g.

    Donner une condition suffisante sur f pour que la convergence de cette serie de Fouriersoit une convergence normale.

    2. coefficients en cosinus... Montrer que la fonction h de periode 2T, paire, egale a` f sur [0, T [, est limite uniforme

    de polynomes de la forme

    a0/2 +k

    ak cos(kpit/T ).

    Donner une expression des coefficients de Fourier de h en fonction de ceux de h. Com-parer avec les coefficients de Fourier de g.

    3. Peut on en dire autant pour des polynomes 5k

    bk sin(kpit/T )?

    Transformee en cosinus discre`te en dimension 1On definit la transformee en cosinus discre`te (TCD, en francais et DCT, en anglais) comme etantlapplication lineaire de CN dans lui-meme definie par :

    TCD = p CN G CN ,5. penser a` la facon dont nous avons etudie lequation de la chaleur

    35

  • Gj = cj

    n1k=0

    pk cos

    ((2k + 1)

    pij

    2N

    )(4.5)

    ou` les coefficients cj sont cj =12

    sij = 0,

    cj = 1 sinon.

    Le choix de sera fixe par la suite. Lexercice qui suit a pour but de determiner la bijectionreciproque et son expression :

    TCDI(G)k0 = pk0 =

    N1j=0

    cjGj cos

    ((2k0 + 1)

    pij

    2N

    )(4.6)

    Exercice 18 Calcul de la transformation inverseOn se propose montrer que TCD est un automorphisme deCNet den calculer la bijection reciproque.La demarche est celle mise en uvre pour le calcul de linverse de la TFD et les resultats fortsressemblants.

    1. Donner une expression de la matrice DN associe a` lautomorphisme TCD. 6

    2. Soit k0, un entier fixe, tel que 0 k0 N 1. On se propose de calculerN1j=0

    cjGj cos

    ((2k0 + 1)

    pij

    2N

    ).

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

    1 =N1j=0

    c2j cos

    ((k + k0 + 1)

    pij

    N

    )

    2 =

    N1j=0

    c2j cos

    ((2k0 + 1)

    pij

    N

    ).

    (b) Calculer chacune delles avec soin (en distinguant suivant que k = k0 ou pas, quek + k0 est pair ou impair.

    (c) En deduire que la TCD et sa matrice DN sont inversibles, donner une expression dechacune delles. Que dire des colonnes de DN?

    3. Choisir pour que les coefficients et de la formule (4.6), soient egaux.

    4. Calculer

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

    (cos(

    5

    16pi)

    )2+ 2

    (cos(

    7

    16pi)

    )2,

    par exemple et montrer que la matrice DN est orthogonale.

    6. fichier MAPLE : TCD.mws

    36

  • 4.4 Transformee en cosinus discre`te en dimension 2

    On introduit ici la TCD et son inverse en dimension 2 et on essaiera de montrer comment elleintervient pour la compression du signal audio ou video.

    On definit de facon analogue la transformee en cosinus discre`te pour un signal p(x, y) dependantde deux parame`tres 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

  • 4.5 Corriges des exercices de la section (4)

    Corrige n 4.5.1 de lexercice 131. Pour n = 0, 1, ..., N 1 :

    TFD()(n) =N1k=0

    ke2ipi

    kn

    N =N1k=0

    kk nN ,

    la matrice de cette application lineaire est donc definie par N,n, k = (n1)(k1)N , soit

    N =

    1 1 1 1 . . . 1

    1 N N2 N

    3 . . . N(N1)

    1 N2 N

    4 N6 . . . N

    2(N1)

    1 N3 N

    6 N9 . . . N

    3(N1)

    ......

    ......

    . . ....

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

    2

    Cest la matrice de Vandermonde attachee aux racines N ie`mes de lunite. Elle est doncinversible. Pour determiner son inverse, un calcul explicite pour N = 2, 3, 4 permet deconjecturer. Calculons NN pour verifier

    [NN

    ]n,k

    =Nj=1

    N n jN j k =Nj=1

    (n1)(j1)N

    (j1)(k1)N

    Comme N est le conjugue de N , on a

    [NN

    ]n,k

    =

    Nj=1

    (j1)(nk)N =

    {N si nkN = 10 sinon (somme des termes dune s.g.).

    La racine N etant primitive (ses puissances engendrent le groupe des racines de lunite),seuls les termes diagonaux sont non nuls. On a donc

    1N =1

    NN .

    2. Rappelons que tk = t0 + (T1 T0) kN

    soitk

    N=

    tk t0T1 T0 . Il vient donc, pour n =

    0, 1, ..., N 1 :

    TFD()(n) =

    N1k=0

    f(tk)k nN =

    N1k=0

    f(tk)e2ipi

    kn

    N

    38

  • Si nous rapprochons cela de la formule (4.1) T1T0

    f(t) e2 i pi t dt = limN+

    (T

    Ne2 i pi T0

    N1k=0

    f(tk) e2 i pi kT

    N

    ),

    nous avons pour chaque valeur =n

    T,

    TFD()(n) =

    N1k=0

    f(tk)k nN =

    N1k=0

    f(tk)e2ipiN

    k n =

    N1k=0

    f(tk)e2 i pi k T

    N

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

    1

    N

    ):

    T1T0

    f(t) e2 i pi t dt =T

    Ne2 i pi T0TFD()(T ) +O

    (1

    N

    )Corrige n 4.5.2 de lexercice 14

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

    Le programme le total des operations

    w := exp(-(2*I)*Pi/N);wn := 1;

    Y := Array(1 .. N);for n to N doY[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

    N2 additions et 2N2 multiplications dans la boucleinterne ;

    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 151. On suppose que N1 = 2. Comme{

    n = n1 + n2N2, 0 n1 N2 1k = k1 + k2N1 = k1 + 2 k2, 0 k1 1.

    cela donnek n

    N=k1 n1N

    +k1 n2

    2+k2 n1N2

    + k2 n2

    wnkN = wk1 n1N wk1 n2N1 wk2 n1N2 1

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

    Y [n1 + n2N2] =

    N11k1=0

    N21k2=0

    X[k1 + k2N1]wk2 n1N2

    wk1 n1Nn2k1N1 (4.9)

    =

    1k1=0

    N21k2=0

    X[k1 + 2 k2]wk2 n1N2

    wk1 n1N (1)n2k1 (4.10)

    =

    N21k2=0

    X[2 k2]wk2 n1N2

    + (1)n2N21k2=0

    X[2 k2 + 1]wk2 n1N2

    wn1N(4.11)

    On calcule donc pour (n1, n2) fixe, (avec 0 n1 N2 1, et 0 n2 1), deux TFD detaille N2 =

    N

    2, celles des composantes paires et impaires de X.

    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 programmerecursif en MAPLE qui est presente dans le tableau.

    On a, puisque N2 =N

    2= 2p1,

    {C0 = 0

    Cp+1 = 2Cp + 3 2p

    Ce qui donne Cp = 3 p 2p1 que lon exprime encore en fonction deN : 32 ln 2

    lnN N

    40

  • 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 = 1then

    Y := X;elseN2 := 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 doY[n1+1] := Y0[n1+1]+Y1[n1+1]*W;Y[n1+1+N2] := Y0[n1+1]-Y1[n1+1]*W;W := W*w

    end doend if;Yend proc

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

    41

  • 5 Lanalyse du son

    On se propose daborder letude des sons du point de vue de lanalyse du signal. Pour cela nousallons enregistrer quelques sons et montrer comment fonctionnent les outils que nous avons misen 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 im-mergee. Sur le plan physique enregistrer un son consiste donc a` fournir des releves de pressionsous une forme analogique t P (t) ou numerique (P (k T ))k.

    Seules les variations rapides de pression semblent detectees par nos instruments (un plongeurnentend pas de bruit lie directement a` la variation de pression accompagnant sa descente, unmicro place dans un caisson hyperbare ne nous permettra pas non plus de reperer la pressionambiante contrairement a` un manome`tre) ;

    un son est produit et a fortiori enregistre pendant un intervalle de temps fini [0, 1]; on luiassociera donc au mieux des restrictions ou troncatures de signaux virtuels periodiques (cas dudiapason) ;

    en dehors de cas tre`s particuliers, mais dont la reconnaissance va se reveler fondamentale, unsignal sonore nest en general pas periodique.

    On distingue pourtant des sons graves et aigus ce qui conduit aussi a` penser aussi le son entermes de frequences.

    Nous nous proposons detudier un enregistrement sonore. Cela nous conduira a` numeriser (ouechantillonner) notre enregistrement ; cela signifie que lintervalle detude [0, 1] est discretiseet que la pression est relevee avec une frequence proportionnelle au nombre de termes de la sub-division, ce qui induit une perte dinformation. Ce phenome`ne a deja` ete etudie dans labstrait(frequence de Nyquist, theore`me de Shannon page18).

    Les outilsOn pourra proceder a` un enregistrement sonore avec le logiciel livre avec la carte son de lordina-teur, utiliser un logiciel comme goldwave, telecharger un fichier son quelconque... Pour lanalysedu 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 leformat .wav dans un fichier .wav ou .txt. La premie`re 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 echantillons, ce qui couvre environ 7 secondes. On presenteici, la premie`re figure, un releve des variations de pression enregistrees sur une duree denviron4.5 secondes (le texte, remarquable, est pouet, pouet, pouet, pouet, I stop it). On reconnaitra laprononciation du I : a-i. Comme on la deja` observe, a` part la repetition de pouet pouet, ce nestpas vraiment periodique...

    42

  • On reprend donc le meme fichier et on observe le deuxie`me pouet pendant 0.4 s puis pendant0.045s et la`, on commence a` y voir plus clair.

    43

  • 44

  • References

    [1] THIERRY AUDIBERT, AMAR OUSSALAHInformatique, Programmation et Calcul ScientifiqueEllipses, 2013

    [2] MATTEO FRIGO AND STEVEN G. JOHNSONThe Design and Implementation of FFTW3 rapideProc. 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. GASQUET, P. WITOMSKI .Analyse de Fourier et ApplicationsMasson, 1990

    [4] H. REINHARD .Elements de mathematiques du signaltome 1 - Signaux deterministesDunod, 1995

    [5] W. RUDIN .Analyse reelle et complexeMasson, 1980

    [6] BERNARD SIMON .La maree 1. La Maree oceanique cotie`reInstitut oceanographique Collection : SYNTHESES (2007)

    [7] L. SCHWARTZ .Methodes mathematiques pour les sciences PhysiquesHermann, 1993

    [8] L. SCHWARTZ .Analyse III - Calcul IntegralHermann, 1993

    [9] L. SCHWARTZ .Analyse IV - Applications de la Theorie de la MesureHermann, 1993

    [10] WIKIPEDIA .Transformee de Fourier rapidehttp ://fr.wikipedia.org/wiki/Transformee de Fourier rapideconsultee novembre 2012

    45

  • Indexalgorithme

    Cooley et Tuckey, 34

    convolution, 4, 6

    derivationtransformee de Fourier, 3

    Fouriertransformee de, 3transformee discre`te, 30

    frequencede Nyquist, 18

    Fubinila formule de, 5

    Lebesguelemme de Riemann-Lebesgue, 3

    lemmede Riemann-Lebesgue, 3

    Nyquistfrequence de, 18

    produitde convolution, 4

    Riemannlemme de Riemann-Lebesgue, 3

    Shannonformule de, 17, 18theore`me, 18

    TFD, 30theore`me

    de Fubini, 5de Shannon, 17, 18

    transformeede Fourier, 3de Fourier Discre`te, 30

    46

    Objectifs et mode d'emploiTransforme de Fourier Transforme de Fourier: point de vue lmentaireProduit de convolution (fonctions intgrables)Transforme de Fourier et convolution: formulaireLes corrigs et dmonstrations des sous-sections (2.1) et (2.2)

    tude du signalPremire approche du spectrechantillonnage, thorme de Shannon et NyquistCorrigs des exercices des sections (3.1) et (3.2)

    Transformations de Fourier discrtesTransformation de Fourier discrteLes transformations de Fourier rapidesTransformes en cosinus discrtesTransforme en cosinus discrte en dimension 2Corrigs des exercices de la section (4)

    L'analyse du son Enregistrement aux formats .wav et .text avec goldwave