Signal

130
Th´ eorie & traitement du signal Emmanuel Ademoviˇ c Esigetel 2001 (v. 1.00).

description

UN BON COURS SUR LE TRAITEMENT DE SIGNAL

Transcript of Signal

Page 1: Signal

Theorie & traitement du signal

Emmanuel AdemovicEsigetel 2001 (v. 1.00).

MaD
Page 2: Signal

ii

Page 3: Signal

Table des matieres

1 Theorie du signal 11.1 Les concepts de la theorie du signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.1 Notion de signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.2 Notion de support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.3 Le signal deterministe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.4 Le signal aleatoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.1.5 Echantillonnage, Signaux discrets . . . . . . . . . . . . . . . . . . . . . . . . . 31.1.6 Numerisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.1.7 Classification energetiques des signaux . . . . . . . . . . . . . . . . . . . . . . 41.1.8 Espace de Hilbert et operateurs . . . . . . . . . . . . . . . . . . . . . . . . . 41.1.9 Signaux synthetiques elementaires . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2 Les systemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.2.1 Caracterisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.2.2 Linearite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.2.3 Invariance temporelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.2.4 Produit de convolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.2.5 Causalite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.2.6 Stabilite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.3 Les transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.3.1 Transformee de Laplace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.3.1.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.3.1.2 Transformee inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.3.2 Transformee de Fourier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.3.2.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.3.2.2 Transformee inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.4 Caracterisation des signaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.4.1 Dans le domaine temporel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.4.1.1 Temps moyen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.4.1.2 Duree moyenne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.4.1.3 Fonction d’intercorrelation . . . . . . . . . . . . . . . . . . . . . . . . 10

1.4.2 Dans le domaine frequentiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.4.2.1 Frequence moyenne . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.4.2.2 Bande utile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.4.2.3 Densite interspectrale d’energie . . . . . . . . . . . . . . . . . . . . . 12

1.4.3 Analyse temps-frequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.4.3.1 Transformee de Fourier a court-terme . . . . . . . . . . . . . . . . 121.4.3.2 Fonction d’ambiguıte . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.5 Signaux aleatoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

iii

Page 4: Signal

iv TABLE DES MATIERES

1.5.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.5.2 Stationnarite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.5.3 Egrodisme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.5.4 Bruit blanc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.5.4.1 Identification de processus . . . . . . . . . . . . . . . . . . . . . . . . 151.5.5 Estimateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.5.5.1 Les criteres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.5.5.2 Caracteristiques des estimateurs . . . . . . . . . . . . . . . . . . . . . 18

1.6 Echantillonnage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.6.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.6.2 Mise en œuvre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

1.7 Travaux diriges de theorie du signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221.7.1 Classifications des signaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221.7.2 Systemes lineaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231.7.3 Analyse non parametrique, signaux deterministes. . . . . . . . . . . . . . . . . 241.7.4 Signaux aleatoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2 Travaux Pratiques de Theorie du Signal 272.1 Introduction a Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.1.1 Les notions de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.1.1.1 Demarrage d’une session . . . . . . . . . . . . . . . . . . . . . . . . . 272.1.1.2 Types des fichiers : Compatibilite entre Dos et UNIX . . . . . . . . . 282.1.1.3 Documentation : Aide en ligne . . . . . . . . . . . . . . . . . . . . . 28

2.1.2 Les debuts en Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.1.2.1 Types de donnees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.1.2.2 Operateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322.1.2.3 Fonctions Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332.1.2.4 Elements de langage Matlab . . . . . . . . . . . . . . . . . . . . . . 34

2.1.3 Pour aller plus loin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352.1.3.1 Manipulation de matrices. Fonctions specialisees . . . . . . . . . . . . 352.1.3.2 Polynomes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362.1.3.3 Affichage 2D et 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372.1.3.4 Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

2.1.4 Traitement du signal avec Matlab. Transformee du Fourier . . . . . . . . . . 392.1.4.1 Series de caracteres, Mathematique symbolique . . . . . . . . . . . . 41

2.1.5 Cooperation de Matlab avec des logiciels externes . . . . . . . . . . . . . . . 412.1.5.1 Acces aux fichiers de donnees externes . . . . . . . . . . . . . . . . . 412.1.5.2 Utiliser des procedures C dans l’environnement Matlab . . . . . . . 422.1.5.3 Utiliser les fonctions Matlab dans le cadre d’un logiciel C . . . . . . 422.1.5.4 Inserer des graphiques Matlab dans un document Word . . . . . . . 43

2.1.6 Problemes et questions frequentes . . . . . . . . . . . . . . . . . . . . . . . . . 442.1.6.1 Problemes de gestion de memoire . . . . . . . . . . . . . . . . . . . . 442.1.6.2 Peut-on inserer des caracteres grecques dans le titre d’un graphique ? 442.1.6.3 Faut il tout programmer en Matlab ? . . . . . . . . . . . . . . . . . 44

2.1.7 Simulink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452.2 Echantillonnage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

2.2.1 Creation d’un modele d’echantillonnage parfait . . . . . . . . . . . . . . . . . 482.2.2 Etude de la loi de densite de probabilite d’un signal echantillonne . . . . . . . 48

Page 5: Signal

TABLE DES MATIERES v

2.2.3 Du signal analogique au signal numerique . . . . . . . . . . . . . . . . . . . . 49

2.2.4 Un exemple de traitement numerique du signal . . . . . . . . . . . . . . . . . . 50

2.3 Caracterisation de bruit et estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

2.3.1 Bruit blanc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

2.3.1.1 Carcaterisation d’un bruit blanc . . . . . . . . . . . . . . . . . . . . . 52

2.3.1.2 Debruitage d’un signal deterministe periodique . . . . . . . . . . . . 53

2.3.2 Estimateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

3 Traitement numerique du signal 55

3.1 Transformee en Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

3.1.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

3.1.2 Conditions d’existence, domaine de convergence . . . . . . . . . . . . . . . . . 55

3.1.3 Proprietes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

3.1.4 Transformee inverse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

3.1.5 Systeme lineaire discret invariant dans le temps . . . . . . . . . . . . . . . . . 58

3.2 Transformee de Fourier discrete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

3.2.1 Proprietes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

3.2.2 Dualite temps-frequence de l’echantillonnage . . . . . . . . . . . . . . . . . . . 58

3.3 Filtrage numerique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

3.3.1 Filtre a reponse impulsionnelle infinie (Rii) . . . . . . . . . . . . . . . . . . . 59

3.3.1.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

3.3.1.2 Methodes de synthese indirecte . . . . . . . . . . . . . . . . . . . . . 59

3.3.1.3 Transformation bilineaire . . . . . . . . . . . . . . . . . . . . . . . . 59

3.3.1.4 Transposition de gabarit . . . . . . . . . . . . . . . . . . . . . . . . . 60

3.3.2 Filtre a reponse impulsionnelle finie (Rif) . . . . . . . . . . . . . . . . . . . . 61

3.3.2.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

3.3.2.2 Synthese par la methode des fenetres :echantillonnage temporel . . . 61

3.3.2.3 Synthese par la methode des fenetres :echantillonnage frequentiel . . 62

3.3.2.4 Exemple de synthese . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

3.4 Analyse spectrale non-parametrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

3.4.1 Estimateur de la fonction de correlation . . . . . . . . . . . . . . . . . . . . . 63

3.4.2 Estimation de la densite spectrale de puissance (Dsp) . . . . . . . . . . . . . . 63

3.4.3 Ameliorations possibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

3.5 Travaux diriges de Traitement du Signal . . . . . . . . . . . . . . . . . . . . . . . . . 68

3.5.1 Echantillonnage et filtrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

3.5.1.1 Echantillonnage parfait . . . . . . . . . . . . . . . . . . . . . . . . . 68

3.5.1.2 Echantillonnage reel . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

3.5.1.3 Filtres non invariants . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

3.5.1.4 Sous-echantillonnage . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

3.5.2 Synthese des filtres numeriques . . . . . . . . . . . . . . . . . . . . . . . . . . 70

3.5.2.1 Filtre recursif du premier ordre . . . . . . . . . . . . . . . . . . . . . 70

3.5.2.2 Synthese des filtres RII par invariance d’une reponse temporelle . . . 70

3.5.2.3 Synthese de filtre recursif par la transformation bilineaire . . . . . . . 71

3.5.3 TFD et analyse spectrale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

3.5.3.1 TFD et interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

3.5.3.2 TFD et analyse spectrale . . . . . . . . . . . . . . . . . . . . . . . . 73

Page 6: Signal

vi TABLE DES MATIERES

4 Travaux Pratiques de Traitement Numerique du Signal 754.1 Analyse spectrale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

4.1.1 Echantillonage et transformee de Fourier. . . . . . . . . . . . . . . . . . . . . . 754.1.2 Etude comparative des fenetres de ponderation . . . . . . . . . . . . . . . . . 754.1.3 Transformee de Fourier a court-terme . . . . . . . . . . . . . . . . . . . . . . . 764.1.4 Modelisation autoregressive. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

4.2 Filtrage numerique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784.2.1 Etude comparative des approximations (RII) . . . . . . . . . . . . . . . . . . . 784.2.2 Implantation de filtres RII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784.2.3 Filtrage d’un signal (RII) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784.2.4 Etude des filtres RIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794.2.5 Implantation de filtres RIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

Complements mathematiques 814.3 Espace vectoriel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

4.3.1 Produit scalaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824.3.2 Normes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824.3.3 Bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

4.4 Derivation vectorielle (convention de Vetler) . . . . . . . . . . . . . . . . . . . . . . 834.4.1 Derivee d’une matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

4.4.1.1 Par rapport a un scalaire . . . . . . . . . . . . . . . . . . . . . . . . 834.4.1.2 Par rapport a une matrice . . . . . . . . . . . . . . . . . . . . . . . . 83

4.4.2 Derivee d’un vecteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834.4.3 Derivee d’un scalaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

4.5 Probabilites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854.5.1 Fonction de repartition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

4.5.1.1 Cas scalaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854.5.1.2 Cas vectoriel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

4.5.2 Loi de densite de probabilite . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854.5.3 Loi conditionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854.5.4 Independance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854.5.5 Changement de variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 864.5.6 Esperance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

4.5.6.1 Cas hypergeometrique . . . . . . . . . . . . . . . . . . . . . . . . . . 864.5.7 Lois usuelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Corrections des Travaux Diriges 894.6 Theorie du Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

4.6.1 Classifications des signaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904.6.2 Systemes lineaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924.6.3 Analyse non parametrique, signaux deterministes. . . . . . . . . . . . . . . . . 944.6.4 Signaux aleatoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

4.7 Traitement du Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004.7.1 Echantillonnage et filtrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

4.7.1.1 Echantillonnage parfait . . . . . . . . . . . . . . . . . . . . . . . . . 1004.7.1.2 Echantillonnage reel . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004.7.1.3 Filtres non invariants . . . . . . . . . . . . . . . . . . . . . . . . . . . 1024.7.1.4 Sous-echantillonnage . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

4.7.2 Synthese des filtres numeriques . . . . . . . . . . . . . . . . . . . . . . . . . . 106

Page 7: Signal

TABLE DES MATIERES vii

4.7.2.1 Filtre recursif du premier ordre . . . . . . . . . . . . . . . . . . . . . 1064.7.2.2 Synthese des filtres RII par invariance d’une reponse temporelle . . . 1074.7.2.3 Synthese de filtre recursif par la transformation bilineaire . . . . . . . 112

4.7.3 TFD et analyse spectrale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1154.7.3.1 TFD et interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . 1154.7.3.2 TFD et analyse spectrale . . . . . . . . . . . . . . . . . . . . . . . . 118

Page 8: Signal

viii TABLE DES MATIERES

Preface

Le traitement du signal (ts) n’est pas un domaine a part des sciences pour l’ingenieur (spi). Sa voca-tion est de proposer des solutions numeriques a des problemes de traitement discret1 de l’informationtels que :– la caracterisation des signatures des signaux en vue de leur emploi pour un diagnostic (analyse),– la modelisation de phenomenes physiques (synthese),– la modification de leur representation en vue de leur transmission ou stockage (compression,

communication).Cette discipline a des liens historiques ou ¿ genetiques À avec l’economie, les statistiques,l’electronique, l’informatique et bien sur les mathematiques appliquees, au sens ou elles par-tagent des outils communs.

Cet enseignement introduit les concepts et les outils fondamentaux du ts qui seront exploites et misen œuvre en seconde annee au travers du module de traitement numerique du signal et en troisiemeannee dans les modules de traitement de la parole et de l’image. Ce module est ¿ tres À theoriquemais il y a assez peu de chose en somme a retenir (quelques formules que vous manipulez deja).

L’organisation de ce document s’articule sur trois points :– la definition du vocabulaire et de sa terminologie,– les notions des mathematiques appliquees,– les outils du traiteur de signal ainsi que leurs parametrisations.La finalite est de comprendre comment fonctionnent les outils et savoir les mettre en œuvre dans dessystemes numeriques de traitement de l’information2.

1micro-ordinateur, micro-controleur, processeurs specialises, instrumentation embarquee, etc.2Bref, un truc de plus a maıtriser si vous voulez pas etre dans le vent !

Page 9: Signal

TABLE DES MATIERES ix

Introduction

Un signal est le reflet d’un phenomene analogique que l’on mesure avec un ou plusieurs capteurs3.

SignalNumériqueQuantificationEchantillonnage

PrétraitementFiltrageAmplification

SignalAnalogique

Traitement Numérique du SignalFiltrage numériqueEstimationClassificationModélisationCompression

SignalNumérique

PrétraitementSur-échantillonnageFiltrage numérique

Déquantification SignalAnalogique

x(t)x[n]

y(t)y[n]

Fig. 1 – Synoptique d’une chaıne d’acquisition et restitution en traitement numerique du signal.

Prerequis

– algebre lineaire– algebre matricielle– derivation vectorielle– calcul integral– serie de Laurent– probabilite & statistiques– synthese des filtres analogiques– systemes lineaires et asservissement

Notations.

z?, z : le complexe conjugue de zi, j, k, l, m, n, p, q : un variable entiere ∈ N ou Z|z| : valeur absolue (z ∈ R) ou module (z ∈ C)‖x‖ : norme de xx (t) : une fonction continue de tx [n] , xn : une suite discreteX : une fonction transformee dont l’originale est x (t) ou xn

Tf[x] : transformee de Fourier de x

3Ils effectuent une conversion de la grandeur physique observee en une tension ou un courant.

Page 10: Signal

x TABLE DES MATIERES

Page 11: Signal

Chapitre 1

Theorie du signal

1.1 Les concepts de la theorie du signal

1.1.1 Notion de signal

Un signal est un modele mathematique f (.) associe a une grandeur physique ϕ refletant l’evolution dece dernier dependamment d’une (ou plusieurs) variable(s) d’observation. En general, les phenomenessont observes en fonction du temps t.

ϕ −→ f (t) (1.1)

Un modele mathematique est en general etablit comme une vue simplifiee d’un phenomene.

Exemple 1.1 l’equation differentielle du second ordre d’un circuit RLC :L q (t) + R q (t) + 1Cq (t) =

e (t).

Exemple 1.2 L’induction magnetique dans une bobine traversee par un courant est approchee par : B =µNI√l2+4R2 .

1.1.2 Notion de support

Le support est l’intervalle sur lequel est definie la variable dont depend le signal etudie. Cette variableest generalement associee a un temps t lorsqu’il s’agit de signaux mono-dimensionnels (1-d) et, aune coordonnee (u, v) dans les cas bi-dimensionnels (une image par exemple). Nous nous limiteronsdes a present a des signaux 1-d ne dependant que du temps.Le support peut etre :– de dimension infinie (t ∈ R).

C’est le cas de nombreuses grandeurs physiques (e.g., l’evolution de l’intensite lumineuse du soleil).– de dimension semie-finie (t ∈ [0, +∞[).

La grandeur physique est nulle (ou consideree comme telle) avant un temps t = 0 (e.g., action surun interrupteur pour allumer une ampoule).

– de dimension finie (t ∈ [0, T ]).La grandeur physique existe que pendant un temps defini (e.g., une note de musique sur unepartition qui est jouee a un instant donne et pendant une duree finie).

1.1.3 Le signal deterministe

Un signal f (t) est dit deterministe si la grandeur ϕ est decrite en tout point t de son support parle modele qui lui est associe.

1

Page 12: Signal

2 CHAPITRE 1. THEORIE DU SIGNAL

Nous illustrons cette definition par le modele de vitesse d’un ascenseur defini par intervalles (cf. Fig.1.1) :

v (t) =

V tT1

0 ≤ t < T1

V T1 ≤ t < T2

V T3−tT3−T2

T2 ≤ t < T3

0 ailleurs

(1.2)

0 100 200 300 400 500 600

0

50

100

150

200

Temps (s)

Ampl

itude

Exemple d"un signal déterministe, à support fini

Fig. 1.1 – Signal correspondant a la vitesse lors de l’elevation d’un ascenseur.

1.1.4 Le signal aleatoire

Un signal est dit aleatoire si la mesure de la grandeur physique ϕ est perturbee par un bruit bsuivant une loi de densite de probabilite pB (b). Nous devons donc completer l’expression du modelepour prendre en compte l’influence du bruit. L’hypothese la plus courante est de considerer que lebruit est additif :

f (t) = f (t) + b (t) (1.3)

Ce nouveau modele sera etudie avec les outils des probabilites.Reprenons le modele precedant (cf. Equ. 1.2) en considerant trois realisations simultanees (i.e.mesures) de ce signal (cf. Fig. 1.2).

0 100 200 300 400 500 6000

100

200

0

100

200

0

100

200

Temps (s)

Fig. 1.2 – La mesure de la vitesse d’elevation est perturbee par un bruit rendant ce signal aleatoire.

Page 13: Signal

1.1. LES CONCEPTS DE LA THEORIE DU SIGNAL 3

Remarque 1.1 Un signal peut etre perturbe par plusieurs bruits :perturbation physique, bruit demesure, bruit de quantification, bruit de calcul,. . .

Remarque 1.2 Le bruit peut perturber de differentes facons :bruit multiplicatif (e.g. en acoustiquesous-marine), en 1

F(bruit de rotation de la terre). Le bruit additif est une hypothese simplificatrice

utilisable dans la plupart des problemes.

Dans le cas des signaux aleatoires il est interessant de pouvoir mettre en evidence quelques proprietesstatistiques. Une de ces proprietes est la stationnarite (p. 14) c’est-a-dire, que certaines statistiquesdu phenomene stochastique sont constantes au cours du temps.

1.1.5 Echantillonnage, Signaux discrets

Cette operation a pour but d’associer le signal continu y (t) a une suite discrete yn. La suite corresponda la fonction originale mesuree aux temps tn (cf. Fig. 1.3) :

yn ≡ y (tn) , n ∈ Z (1.4)

L’echantillonnage est dit regulier si l’intervalle de temps ∆tn entre deux mesures consecutives estconstant :

tn+1 − tn = ∆tn = Te, ∀n (1.5)

La quantite Te est alors appelee la periode d’echantillonnage. Par dualite, la frequence Fe = 1Te

est appelee la frequence d’echantillonnage.

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Temps (s)

Ampl

itude

Fig. 1.3 – Echantillonnage d’un signal continu sinusoıdal.

1.1.6 Numerisation

La numerisation est l’etape suivant l’echantillonnage qui consiste a convertir l’amplitude du signalphysique mesure en une valeur numerique binaire operation qui rend le signal echantillonne manipu-lable par un dispositif de traitement numerique (e.g. un µP). On effectue alors une quantificationdu signal (initialement se representant sur un intervalle continu) suivant une loi pour obtenir unerepresentation numerique sur un intervalle discret.La figure (1.4) illustre la quantification lineaire d’un signal sur 4 niveaux (soit 2 bits de representationbinaire). Le signal original x (t) est donne en haut a gauche. Le signal numerise x (t) est en hauta droite. Le signal dequantifie x (t) est donne en bas a gauche et l’erreur de quantification εx (t) =x (t)− x (t) en bas a droite.

Page 14: Signal

4 CHAPITRE 1. THEORIE DU SIGNAL

0 0.2 0.4 0.6 0.8 1-1

-0.5

0

0.5

1Signal reconstruit

Temps (s)

Ampl

itude

0 0.2 0.4 0.6 0.8 1-1

-0.5

0

0.5

1Signal continu en amplitude

Temps (s)

Ampl

itude

0 0.2 0.4 0.6 0.8 10

1

2

3Signal quantifié

Temps (s)

Ampl

itude

num

ériq

ue

0 0.2 0.4 0.6 0.8 1

-0.2

-0.1

0

0.1

0.2

0.3Erreur de quantification

Temps (s)

Ampl

itude

Fig. 1.4 – Illustration de la numerisation.

1.1.7 Classification energetiques des signaux

L’energie d’un signal temporel x est definie par :

E (x) ,∫|x (t)|2 dt, pour un signal a temps continu (tc) (1.6)

E (x) ,∑

n

|xn|2 , pour un signal a temps discret (td) (1.7)

La puissance moyenne d’un signal temporel x est definie par :

P (x) , limT→+∞

1

T

∫ +T2

−T2

|x (t)|2 dt, pour un signal a tc (1.8)

P (x) , limN→+∞

1

2N + 1

+N∑n=−N

|xn|2 , pour un signal a td (1.9)

On peut dire par extension que |x|2 represente la puissance instantanee du signal.

Definition 1.1 Un signal x est dit d’energie finie si : E (x) < +∞, sa puissance moyenne estalors nulle.

Definition 1.2 Un signal x est dit de puissance moyenne finie si : P (x) < +∞, son energieest infinie.

1.1.8 Espace de Hilbert et operateurs

Sans trop entrer dans le details, en traitement du signal nous ne manipulons que des signaux d’energiefinie (des signaux physiquement observables) auxquels nous allons faire correspondre un espacevectoriel complet. Cet espace est un espace de Hilbert que l’on notera L2 (E) (cette notationdesigne l’espace des signaux de support E1 et d’energie finie ou, du point de vue mathematique, decarre sommable). Un tel espace est muni des operateurs suivants2 :

1R (respectivement Z) ou une restriction pour les signaux a tc (td).2Une description detaillee des proprietes des operateurs est fournie en annexe.

Page 15: Signal

1.1. LES CONCEPTS DE LA THEORIE DU SIGNAL 5

– un produit scalaire de deux signaux x et y defini par :

〈x, y〉 ,∫

x (t) y? (t) dt (1.10)

ou y? designe le complexe conjugue de y.On remarque que E (x) = 〈x, x〉 (Cf. Equ. 1.6, 1.7).

– une norme s’appliquant a un signal x quelconque :

‖x‖ , 〈x, x〉 12 (1.11)

– une metrique pour apprecier la distance entre deux signaux x et y :

d (x, y) , ‖x− y‖ (1.12)

– enfin, peut-etre la notion la plus exploitee, nous pouvons definir des bases dans cet espace afinde representer les signaux etudies autrement que par leur representation naturelle (en fonction dutemps par exemple). Ce qu’il faut retenir c’est que l’on peut ecrire une fonction x quelconque sousla forme d’une combinaison lineaire des fonctions de bases :

x (t) =

∑i

1βi

λi Φi (t) si la base est discrete i ∈ N∫1

β(ν)λ (ν) Φ (t, ν) dν si la base est continue ν ∈ C

=⇒ λi =

∫x (t) Φ?

i (t) dt = 〈x, Φi〉

=⇒ λ (ν) =

∫x (t) Φ? (t, ν) dt = 〈x, Φν〉

L’ensemble des coefficients de decomposition λ resultant de la projection orthogonale de x surΦ est appele le spectre. On s’assure de l’orthogonalite des fonctions de la base en verifiant :

〈Φi, Φk〉 = βi δi−k

〈Φν , Φζ〉 = β (ν) δ (ν − ζ)

On dira que la base est orthonormee si la suite βi ou la fonction β (ν) de ponderation de la basea pour valeur 1.Theoreme 1.1 Une propriete decoulant directement du changement de base est la conservationde l’energie (theoreme de Parseval), ce qui pour une base orthonormee s’ecrit :

〈x, x〉 = 〈λ, λ〉 (1.13)

1.1.9 Signaux synthetiques elementaires

– L’impulsion de Dirac δ (t) est definie par :

δ (t) =

+∞, pour t = 00, ailleurs

,

∫ +∞

−∞δ (t) dt = 1 (1.14)

Il ne s’agit pas a proprement parler d’une fonction mais plutot d’une distribution.La propriete majeur reside dans la relation suivante :

∫ +∞

−∞x (t) δ (t) dt = x (0) (1.15)

Page 16: Signal

6 CHAPITRE 1. THEORIE DU SIGNAL

Remarque 1.3 Il ne faut pas la confondre avec l’impulsion de Kronecker δk qui est la versiondiscrete :

δn =

1, pour n = 00, ailleurs

(1.16)

– Le peigne de Dirac qqT :cette fonction est construite comme la superposition infinie d’impulsion de Dirac decalees d’unpas regulier T .

qqT (t) =∑

k

δ (t− kT ) (1.17)

– L’echelon de Heaviside (ou echelon unite) u (t) est defini par :

u (t) =

1, pour t > 00, pour t < 0

u (t) =

∫ t

−∞δ (τ) dτ

– La rampe unite r (t) est definie par :

r (t) =

t, pour t > 00, pour t < 0

r (t) =

∫ t

−∞u (τ) dτ

– Le signal d’information (ou porte) ΠT (t) est defini par :

ΠT (t) =

1, pour |t| > T

2

0, ailleurs(1.18)

– Le sinus cardinal sinc (πTf) = sin(πTf)πTf

t t

t t

r(t)1

1

1

1

(t)u(t)

ΠT(t)

δ

-T +T2 2

Fig. 1.5 – Allures des signaux synthetiques usuels.

1.2 Les systemes

1.2.1 Caracterisation

Un systeme est etudie en lui applicant differents types d’excitation qui permettent de caracteriserle comportement soit en regime transitoire soit en regime dynamique. Pour le regime transitoire, si

Page 17: Signal

1.2. LES SYSTEMES 7

la stimulation est une impulsion de Dirac δ (t) (respectivement un echelon unite u (t)) la reponseobtenue est appelee reponse impulsionnelle (reponse indicielle). Pour le regime dynamique, l’entreedu systeme est un signal periodique sinusoıdal (A sin (2πft) .u (t)). Le comportement d’un systeme,dont la reponse impulsionnelle est h, a une entree x sera decrit par la fonctionnelle :

y (t) = F (x (t) , h (t) , t) (1.19)

A partir des observations nous pouvons deduire les caracteristiques suivantes :

1.2.2 Linearite

Un systeme est lineaire si pour une combinaison lineaire de l’entree on obtient une combinaisonlineaire de la sortie :

αx1 (t) + βx2 (t) −→ αy1 (t) + βy2 (t) (1.20)

1.2.3 Invariance temporelle

Un systeme est invariant dans le temps si un retard applique a l’entree produit un retard identiquesur la sortie :

x (t− τ) −→ y (t− τ) (1.21)

1.2.4 Produit de convolution

Un systeme dont la reponse propre est h soumis a une excitation x fournit une reponse y determineepar le produit de convolution :

y (t) ,∫

x (ν) h (t− ν) dν (1.22)

= (x ? h) (t)

On demontre que ce produit de convolution est commutatif.

Si l’excitation est l’impulsion de Dirac, la reponse du systeme est appelee reponse impulsionnelleet vaut la reponse propre h :

y (t) = (δ ? h) (t) = h (t) (1.23)

L’impulsion de Dirac est l’element neutre du produit de convolution.

1.2.5 Causalite

Un systeme est dit causal si la reponse ne precede pas la stimulation. On s’assure cette propriete enimposant que la reponse impulsionnelle satifasse :

h (t) = 0 t < 0 (1.24)

1.2.6 Stabilite

Un systeme est stable si pour une entree bornee la sortie est bornee (ebsb) , une condition suffisanteest que la reponse impulsionnelle soit absolument convergente :

∫|h (t)| dt < +∞ (1.25)

Page 18: Signal

8 CHAPITRE 1. THEORIE DU SIGNAL

1.3 Les transformations

Une transformation a pour but de modifier la representation d’un signal c’est-a-dire, que l’on opere unchangement de base nous permettant de passer d’une representation temporelle a une representationfrequentielle (ou autre). Nous allons passer en revue quelques unes des transformations les plususuelles.

1.3.1 Transformee de Laplace

La transformee de Laplace (tl) est l’outil parfait pour etudier le comportement des systemeslineaires dans le domaine temporel. En effet un systeme est un dispositif que l’on souhaite commandersuivant des excitations simples (une impulsion, un echelon, une rampe, un retard) ou complexes (unecomposition lineaire des precedentes). On considere generalement que le systeme etudie est causal etstable.

1.3.1.1 Definition

La tl d’une fonction y (t) causale est definie par :

Y (p) ,∫ +∞

0

y (t) exp (−pt) dt, p ∈ C (1.26)

Remarque 1.4 nous y reconnaissons sans embage une projection de la fonction y (t) sur la famillede fonction de base exp (pt) :Y (p) = 〈y (t) , exp (pt)〉.La transformee de Laplace trouve son utilite en traitement du signal dans le domaine de la concep-tion de filtres analogiques, et en automatique pour le controle de systemes.

Original Transformee de Laplaceimpulsion de Dirac δ (t) 1

derivation dnxdtn

(t) u (t) pnX (p)exponentielle exp (−αt) u (t) 1

p+α, p > −α

retard x (t− τ) exp (−τp) X (p)convolution (x ? y) (t) X (p) Y (p)

Tab. 1.1 – Table des transformees de Laplace utiles.

1.3.1.2 Transformee inverse

La tl etant definie dans le plan complexe, le calcul de la transformee inverse doit etre effectue parla formule de Cauchy :

y (t) , 1

j2π

C

Y (p) exp (pt) dp (1.27)

Cette formule est toutefois a utiliser que dans les cas ultimes. En effet, il est beaucoup plus rapidelorsque cela est possible d’utiliser la propriete de linearite et d’unicite de la tl :

αx1 (t) + βx2 (t) ­ αX1 (p) + βX2 (p) (1.28)

Afin de preparer cette transformation inverse il faudra decomposer la fonction de transfert en elementssimples (p. 57).

Page 19: Signal

1.4. CARACTERISATION DES SIGNAUX 9

1.3.2 Transformee de Fourier

1.3.2.1 Definition

La transformee de Fourier d’un signal y que nous noterons Y (f) = TF y (t) est definie par :

Y (f) ,∫ +∞

−∞y (t) exp (−j2πft) dt, f ∈ R (1.29)

Il faut toutefois que le signal y (t) satisfasse trois conditions suffisantes pour que sa tf existe :

1. y (t) possede un nombre fini de discontinuites sur tout intervalle fini,

2. y (t) possede un nombre fini de maxima et de minima sur tout intervalle fini,

3. y (t) est absolument integrable, soit∫ +∞−∞ |y (t)| dt < +∞ ou encore y ∈ L1 (R)

Remarque 1.5 La tf est un cas particulier de la tl bilaterale pour p = j2πf .

Remarque 1.6 c’est une fois de plus une projection de la fonction y (t) sur la famille de fonctionde base exp (2πft) :Y (f) = 〈y (t) , exp (2πft)〉.La transformee de Fourier permet de decomposer une fonction suivant une base trigonometrique(des sinus et des cosinus). Cette approche mathematique est nee de l’analyse de phenomenes phy-siques vibratoires thermiques puis transposee a d’autres domaines (optique, acoustique, mecanique).Neanmoins, elle reste un outil mathematique car elle fait apparaıtre des ¿ frequences negatives Àce qui physiquement n’a aucune interpretation.

1.3.2.2 Transformee inverse

y (t) =

∫ +∞

−∞Y (f) exp (j2πft) df (1.30)

Original Transformee de Fourierimpulsion de Dirac δ (t) 1

derivation dnxdtn

(t) u (t) (j2πf)n X (p)retard x (t− τ) exp (−j2πτf) X (f)

convolution x ? y (t) X (f) Y (f)produit x (t) y (t) X ? Y (f)symetrie x (t) ∈ R X (f) = X? (−f)

Tab. 1.2 – Table des proprietes de la transformee de Fourier.

1.4 Caracterisation des signaux

L’analyse des signaux a pour but d’extraire des caracteristiques (ou signatures) permettant parexemple de faire de la classification de donnees ou encore de la compression. Elle peut etre effectueesoit dans le domaine temporel soit dans le domaine frequentiel. Pour ce faire, nous disposons dedifferents outils standards d’estimation de caracteristiques macroscopiques ou microscopiques. L’idealserait bien sur de construire un outil adapte au signal analyse mais, la comparaison entre signauxdevient ardue. C’est pourquoi on se contente dans la plus part des situations des outils suivants.

Page 20: Signal

10 CHAPITRE 1. THEORIE DU SIGNAL

1.4.1 Dans le domaine temporel

Les outils d’analyse dans le domaine temporel sont souvent employe pour l’analyse de phenomenesde duree finie et brefs soit des signaux d’energie finie.

1.4.1.1 Temps moyen

Il caracterise le centroıde de l’evenement analyse.

tmoy ,∫

t|x (t)|2E (x)

dt (1.31)

La figure (??) montre le resultat du calcul du temps moyen sur une fonction de L2 (R)

0 20 40 60 80 100 120 140 160 180 2000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Fig. 1.6 – Illustration des signatures temps moyen et duree moyenne.

1.4.1.2 Duree moyenne

C’est la concentration du signal autour du temps moyen.

∆t ,[∫

(t− tmoy)2 |x (t)|2

E (x)dt

] 12

(1.32)

On montre dans le cas d’un signal gaussien centre (tmoy = 0) x (t) = exp(− t2

2T 2

), que la duree

moyenne vaut :∆t = T√2.

1.4.1.3 Fonction d’intercorrelation

Cette fonction permet de mesurer la ressemblance entre deux signaux x et y dans le domaine temporelen comparant les fonctions d’amplitude. La fonction d’intercorrelation est une fonction temporellerelative c’est-a-dire, qu’elle permet d’estimer une difference de temps ou de phase.Pour des signaux d’energie finie elle est definie par :

γxy (τ) ,∫

x (t) y? (t− τ) dt (1.33)

Page 21: Signal

1.4. CARACTERISATION DES SIGNAUX 11

Pour des signaux de puissance moyenne finie elle est definie par :

γxy (τ) = limT−→+∞

1

T

∫ +T2

−T2

x (t) y? (t− τ) dt (1.34)

Cette fonction dispose des proprietes suivantes :

– |γxy (τ)|2 ≤ γx (0) γy (0) inegalite de Schwarz– γxy (τ) = γ?

yx (−τ) symetrie hermitienne (dans le cas R la fonction est paire)

La figure (1.7) illustre le calcul de l’intercorrelation entre deux fonctions trigonometriques :

x (t) = sin (8πt)

y (t) = cos (8πt)

γxy (τ) =1

2sin (8πτ)

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

Temps

Am

plitu

de

Fonction sinus

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

Temps

Am

plitu

de

Fonction cosinus

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1

−0.5

−0.4

−0.3

−0.2

−0.1

0

0.1

0.2

0.3

0.4

0.5

Temps

Am

plitu

de

Intercorrelation

Fig. 1.7 – Intercorrelation entre deux fonctions trigonometriques.

La fonction d’autocorrelation γxx (ou notee γx) indique la ressemblance du signal avec ses translations.Cela permet de caracteriser l’effet memoire du signal comme le montre la figure (1.8) ou on calculel’autocorrelation d’une porte rectangulaire ΠT . On voit que le maximum de ressemblance est obtenulorsque la translation est nulle τ = 0 et qu’au dela d’une duree ±2T il y a decorrelation.

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Temps

Am

plitu

de

ΠT (t)

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2−0.05

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Temps

Am

plitu

de

γΠT(τ)

Fig. 1.8 – Autocorrelation d’une porte rectangulaire d’ouverture T.

Page 22: Signal

12 CHAPITRE 1. THEORIE DU SIGNAL

1.4.2 Dans le domaine frequentiel

1.4.2.1 Frequence moyenne

fmoy ,∫

f|X (f)|2E (x)

df (1.35)

1.4.2.2 Bande utile

∆f ,[∫

(f − fmoy)2 |X (f)|2

E (x)df

] 12

(1.36)

On montre dans le cas d’un signal gaussien centre (tmoy = 0) x (t) = exp(− t2

2T 2

), que la bande utile

vaut :∆f = 12√

2πT.

Remarque 1.7 L’exemple d’un signal gaussien n’est pas donne au hasard car il est ¿ l’elementneutre À de la transformee de Fourier. On montre dans ce cas qui est optimal que le produit ∆t∆fest egal a 1

4π. Ceci signifie que l’on ne peut avoir simultanement une bonne resolution temporelle et

une bonne resolution frequentielle. Dans le cas general, cette valeur de 14π

devient une borne inferieureque l’on nomme l’inegalite de Gabor-Heisenberg

∆t∆f ≥ 1

4π(1.37)

1.4.2.3 Densite interspectrale d’energie

La densite interspectrale d’energie est egale a la transformee de Fourier de la fonction d’in-tercorrelation (Equ 1.33). Elle caracterise la contribution energetique des differentes composantesfrequentielles.

Γxy (f) ,∫ +∞

−∞γxy (t) exp (−j2πft) dt (1.38)

= X (f) Y? (f)

De la meme facon, on peut aussi definir la densite spectrale d’energie d’un signal x par transformationde sa fonction d’autocorrelation γx :

Γx (f) ,∫ +∞

−∞γx (t) exp (−j2πft) dt (1.39)

= |X (f)|2

1.4.3 Analyse temps-frequence

1.4.3.1 Transformee de Fourier a court-terme

La densite spectrale de puissance (Equ. 1.38, 1.39) permet d’analyse le contenu frequentiel d’unsignal a condition que ce contenu soit invariant au cours du temps. Dans le cas ou l’on souhaitetracer l’evolution du contenu frequentiel d’un signal nous devons avoir recours a une fonction de

Page 23: Signal

1.5. SIGNAUX ALEATOIRES 13

fenetrage w a support fini (w ∈ L2 (R)) a laquelle nous appliquerons differents retard τ . Il sembleevident que cette fenetre introduira des artefacts specifiques dans le domaine spectral.

X (τ, f) ,∫

x (t) w (t− τ) exp (−j2πtf) dt (1.40)

1.4.3.2 Fonction d’ambiguıte

Elle permet l’etude des signaux ayant subi un decalage temporel x (t− ν) et frequentiel x (t) exp (−j2πµt).On mesure la distance euclidienne entraınee par un decalage temporel τ et un decalage frequentielµ. Elle s’emploie principalement dans le traitement de signaux radar ou de type Doppler.

χx (τ, f) ,∫

x (t− τ) x? (t) exp (−j2πft) dt (1.41)

proprietes :

– χx (0, 0) = Ex

– |χx (τ, f)|2 ≤ χx (0, 0) inegalite de Cauchy-Schwarz–

∫∫ |χx (τ, f)|2 dτdf = E2x

1.5 Signaux aleatoires

Rappels de calcul des probabilites

E Xn =

Rxn.pX (x) dx (1.42)

– Moyenne

E X = µX =

RxpX (x) dx (1.43)

– Fonction d’intercorrelation

γXY (t1, t2) = E X (t1) Y ? (t2) (1.44)

– Fonction d’autocorrelation

γX (t1, t2) = E X (t1) Y ? (t2) (1.45)

– Covariance

σXY = E (X − µX) (Y − µY )? (1.46)

– Variance

σ2X = var (X) = E

(X − E X)2 (1.47)

= EX2

− µ2X

Page 24: Signal

14 CHAPITRE 1. THEORIE DU SIGNAL

1.5.1 Definition

Un signal aleatoire est un signal dont la valeur a chaque instant est une variable aleatoire. Il estcaracterise de facon incomplete par ses caracteristiques statistiques du premier et du second ordre :

µX (t) = E X (t)=

∫x (t) p (x) dx

γX (t1, t2) = E X1 (t1) X2 (t2)=

∫x1 (t1) x2 (t2) p (x1, x2) dx1dx2

ou p (x1, x2) constitue la densite de probabilite conjointe entre les variables aleatoires X1 = x (t1) etX2 = x (t2).

1.5.2 Stationnarite

Un processus est dit stationnaire au sens strict si toutes ses proprietes statistiques sont independantesde l’origine des temps.

Un processus est dit stationnaire au sens large si il est stationnaire a l’ordre 2 :

µ (t) = µ

γ (t1, t2) = γ (τ) , τ = t1 − t2

1.5.3 Egrodisme

Le probleme de la caracterisation des processus aleatoires reside dans l’emploi du calcul de l’esperance.En effet, ce calcul necessite la connaissance de la loi de densite de probabilite du processus. Or, cetteconnaissance est difficilement accessible car pratiquement, il nous faudrait effectuer un nombre infinid’experience pour la determiner.

Afin de s’affranchir de cette limitation, on introduit la notion d’ergodicite qui etablit un lien entrela moyenne d’ensemble (c-a-d. l’esperance) et la moyenne sur une realisation (c-a-d. unemoyenne temporelle).

Exemple d’un processus aleatoire X (t, w) stationnaire :

E X (t) = limT→+∞

1

2T

∫ +T

−T

x (t, w) dt = µ (1.48)

L’ergodisme (sousentendu fort) etant une propriete difficile a demontrer, on peut montrer d’unemaniere generale que pour des processus stationnaires du second ordre, il y a toujours ergodismefaible pour la moyenne :

limT→+∞

E|X (t, w)− µ|2 = 0 (1.49)

Page 25: Signal

1.5. SIGNAUX ALEATOIRES 15

Exemple 1.3 Soient x (t) et y (t) deux processus aleatoires centres du second ordre, stationnaires,ergodiques faibles. En supposant que la notion d’ergodisme faible s’etende au 2nd ordre, alors lafonction d’intercorrelation est ergodique.

γXY (τ) = E X (t) Y ? (t− τ) = limT→+∞

1

2T

∫ +T

−T

x (t) y? (t− τ) dt (1.50)

Au mieux on pourra estimer γXY (τ) a partir de realisations :

γXY (τ) =1

2T

∫ +T

−T

x (t) y? (t− τ) dt (1.51)

1.5.4 Bruit blanc

Un bruit b est dit un bruit blanc si il est centre et parfaitement decorrele avec lui-meme :

γb (τ) = σ2bδ (τ) (1.52)

Dans le domaine frequentiel, sa densite spectrale de puissance est uniforme sur tout le support :

Γb (f) = σ2b (1.53)

On designera σ2b comme etant la puissance du bruit.

Lorsque le bruit n’est pas parfaitement decorrele, on parlera de bruit colore. On pourra considerealors que dans le domaine spectral, la puissance du bruit est constante dans une bande de frequencedonnee :

Γb (f) = σ2bΠB (f)

Il sera interessant de pouvoir connaıtre soit le temps de correlation soit la bande de frequence.

On peut exprimer l’influence du bruit sur un signal en valeur relative en definissant le rapportsignal a bruit dans le cas d’une perturbation additive. :

y (t) = x (t) + b (t)

Py , limT→+∞

1

T

∫ +T2

−T2

|y (t)|2 dt

= limT→+∞

1

T

∫ +T2

−T2

|x (t)|2 dt + limT→+∞

1

T

∫ +T2

−T2

|b (t)|2 dt

= Px + Pb

ρ , 10 log10

(Px

Pb

)(1.54)

1.5.4.1 Identification de processus

Il arrive frequemment que l’on doivent exploiter un systeme dont les caracteristiques nous sont in-connues. Plutot que d’effectuer des mesures heuristiques il nous est possible de proceder a une identi-fication des caracteristiques en excitant le systeme avec un generateur de bruit blanc. Nous pourronsainsi determiner experimentalement la reponse impulsionnelle h (t) ou la reponse frequentielle H (f)

Page 26: Signal

16 CHAPITRE 1. THEORIE DU SIGNAL

Générateur debruit blanc

Systèmeinconnu Corrélateur

γse

(t)e(t) s(t)

Fig. 1.9 – Identification des caracteristiques d’un systeme.

(voir Fig. 1.9).

Dans le cas d’une source de bruit blanc de puissance σ2e , on montre que la fonction d’intercorrelation

entre e (t) et s (t) vaut :γse (τ) = σ2

eh (τ)

1.5.5 Estimateurs

Soit X ∈ Rm une quantite inconnue que l’on veut evaluer : c’est la variable a estimer.Soit Y ∈ Rp une quantite connue liee a X que l’on nomme observation.Soit O ⊂ R l’espace d’observation designant l’ensemble de toutes les estimations possibles.Un estimateur de X (que l’on notera X) a partir des observations Y se definit comme :

X (.) O → Rm (1.55)

Y 7→ X = X (Y )

sachant qu’idealement on souhaite que : X = X.

Le probleme est de trouver un estimateur mais selon quel(s) critere(s) et a partir de quelles informa-tions.

Pour resumer, un estimateur est un outil de mesure permettant d’evaluer la valeur d’un parametre.C’est rarement un outil generique. En effet, la conception de l’estimateur repose sur les caracteristiquesstatistiques du signal analyse et l’emploi d’un critere d’optimisation. Le parallele avec l’outil de me-sure peut etre prolonge par le fait que nous allons juger de ses performances dans les memes termes :biais, variances et convergence.

Estimations

Moyenne de l'estimateur

Valeurexacte

BiaisVariance

Fig. 1.10 – Caracteristiques des estimateurs.

1.5.5.1 Les criteres

La determination d’un estimateur doit se faire par la formulation d’un critere d’optimisation. Eneffet, on cherche un estimateur parmi une famille d’estimateur possible il nous faut donc imposer

Page 27: Signal

1.5. SIGNAUX ALEATOIRES 17

une regle de decision afin de choisir le meilleur estimateur vis a vis du critere selectionne. On parlealors d’estimateur optimal au sens d’un critere. On peut aussi creer un estimateur a partir de simpleconsideration empiriques.

Estimateurs empiriques

La construction d’un estimateur empirique d’une caracteristique peut etre simplement effectuee apartir de l’expression de l’ergodicite. Prenons par exemple le cas de la moyenne :

µx = E X = limT→+∞

1

T

∫ T

0

x (t) dt (1.56)

L’estimateur empirique sera :

µx =1

T

∫ T

0

x (t) dt (1.57)

Erreur quadratique moyenne

Nous nous interessons aux estimateurs empiriques que l’on peut construire sans connaissance en op-timisant eventuellement un critere de moyenne quadratique.

Nous considerons le cas d’un signal x ∈ E que nous approchons par une serie de fonctions quelconques.L’approximation x est definie dans un sous-espace de E, nous permettant de mesurer le signal d’erreure = x− x. L’erreur quadratique moyenne s’ecrit :

‖e‖2 ,∫|x (t)− x (t)|2 dt (1.58)

Cette mesure permet d’apprecier l’erreur d’approximation absolue commise. On montre que l’ap-proximation x de x est optimale au sens de l’eqm si la distance d (x, x) est minimale. On montreque la solution optimale correspond a une erreur orthogonale a l’approximation. Le theoreme dePythagore est alors verifie :

‖x‖2 = ‖x‖2 + ‖e‖2 (1.59)

Fig. 1.11 – Theoreme de la projection orthogonale.

L’interpretation dans le cas aleatoire s’effectue simplement au sens de la puissance (voir Equ.1.54).En effet, on peut considerer que nous avons trois espaces differents le premier etant l’espace desobservations, le second l’espace du signal et l’espace du bruit. Les deux derniers espaces sont ortho-gonaux entre eux et forment l’espace d’observation.

Page 28: Signal

18 CHAPITRE 1. THEORIE DU SIGNAL

La construction d’un estimateur en moyenne quadratique repose sur une hypothese de modelisationdu processus x a partir des observations y. On pose l’hypothese que l’estimateur est lineaire :

X (Y ) = AY (1.60)

ou A est une matrice de coefficients inconnus de dimensions m× n et Y un vecteur d’observations.

L’erreur quadratique commise s’exprime comme :

J bX = E||X − X (Y ) ||2

= E||X − AY ||2

La resolution s’effectue en minimisant le critere J bX suivant A :

∂J bX∂A

∣∣∣∣A=Aopt

= 0

Criteres statistiques

La designation du critere peut etre faite en integrant des connaissances a priori sur le comportementstochastique du signal aleatoire. On utilise alors des methodes de construction des estimateurs fondeessur les strategies bayesiennes. Dans ce cas nous devons connaıtre une loi de densite de probabiliteconditionnelle generalement p (X|Y ) et nous imposer une fonction de cout. C’est de cette maniereque sont formules les estimateurs :– du maximum de vraisemblance,– du maximum a posteriori,– median.Nous ne developpons pas dans ce cours les estimateurs statistiques avec connaissance a priori.

1.5.5.2 Caracteristiques des estimateurs

Biais

Le biais est l’erreur moyenne commise sur l’estimation de la valeur exacte, cette caracteristique peuts’appeler aussi exactitude ou justesse. Soit a la valeur exacte et a son estimateur :

Ba = E a− a (1.61)

Variance

La variance est un indicateur de la dispersion des estimees par rapport a la valeur moyenne.On peutqualifier cette caracteristique par le terme de precision.

Vara = E(a− E a)2 (1.62)

Erreur quadratique moyenne

Cette caracteristique est proche de la variance elle sont meme egale dans le cas d’un estimateurnon-biaise :

Ja = E(a− a)2 (1.63)

Page 29: Signal

1.6. ECHANTILLONNAGE 19

Convergence

On dira que l’estimateur a est convergent si et seulement si a converge en probabilite vers a quandle nombre ou la duree d’observations tend vers +∞.

Un proprietes plus facilement exploitable est :

Ba = 0

Ja →n→+∞ 0

alors l’estimateur a est convergent.

Une etude de cas

On dispose de N variables aleatoires y1, . . . , yN independantes d’esperance µ et de variance σ2. Oncherche a estimer µ in parametre inconnu en utilisant l’estimateur suivant :

µ (Y ) =1

N

N∑i=1

yi

On peut montrer que cet estimateur est sans biais et possede une erreur quadratique en σ2

N. Par

consequent, l’estimateur µ est convergent.

1.6 Echantillonnage

1.6.1 Definitions

Cette operation a pour but de rendre le signal continu y (t) manipulable par un dispositif numeriqueen lui associant une suite discrete yn. La suite correspond a la fonction originale mesuree aux tempstn (cf. Fig. 1.12) :

yn ≡ y (tn) , n ∈ N (1.64)

L’echantillonnage est dit regulier si l’intervalle de temps ∆tn entre deux mesures consecutives estconstant :

tn+1 − tn = ∆tn = Te, ∀n (1.65)

La quantite Te est alors appelee la periode d’echantillonnage. Par dualite, la frequence Fe = 1Te

est appelee la frequence d’echantillonnage.Nous pouvons introduire la fonction d’echantillonnage en utilisant le peigne de Dirac qqTe :

qqTe (t) =+∞∑

n=−∞δ (t− n Te)

Tf [qqTe (t)] = Fe.qqFe (f)

Le signal echantillonne s’exprime alors comme :

ye [n] = y (t) .qqTe (t) (1.66)

Page 30: Signal

20 CHAPITRE 1. THEORIE DU SIGNAL

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

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Temps

Am

plitu

de

Fig. 1.12 – Echantillonnage d’un signal sinusoıdal.

dont la transformee de Fourier est :

Ye (f) = Fe . (Y ?qqFe) (f) = Fe

+∞∑n=−∞

Y (f − nFe) (1.67)

L’echantillonnage a pour effet de periodiser le spectre du signal avec une periode egale a la frequenced’echantillonnage Fe.

Theoreme 1.2 de l’echantillonnage (Shannon)

Un signal ne contenant pas de composantes frequentielles superieures ou egales a une valeur Fmax

(le spectre est alors a support borne [−Fmax, +Fmax]) est entierement determine par la suite de sesvaleurs a des instants regulierement espaces de la duree Te ≤ 1

2 Fmax(⇐⇒ Fe ≥ 2 Fmax). Le signal

original est reconstructible a partir des echantillons mesures.

Dans le cas ou la frequence d’echantillonnage ne satisfait pas le theoreme de Shannon (Fe < 2Fmax,soit un sous-echantillonnage), on observe la presence d’un recouvrement dans le domaine spectral.La reconstruction du signal est alors impossible.

-100 -80 -60 -40 -20 0 20 40 60 80 1000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Frequences

Den

sité

spec

tral

e de

pui

ssan

ce

Spectre original.

-300 -200 -100 0 100 200 3000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Frequences

Den

sité

spe

ctra

le d

e pu

issa

nce

Sur-echantillonnage (Fe > 2Fmax).

Page 31: Signal

1.6. ECHANTILLONNAGE 21

-100 -80 -60 -40 -20 0 20 40 60 80 1000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Frequences

Den

sité

spec

tral

e de

pui

ssan

ce

Sous-echantillonnage (Fe < 2Fmax).

-150 -100 -50 0 50 100 1500

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Frequences

Den

sité

spe

ctra

le d

e pu

issa

nce

Echantillonnage critique (Fe = 2Fmax).

1.6.2 Mise en œuvre

Les consequences pratiques sont :– si le signal est a bande limitee, on choisit la frequence d’echantillonnage pour satisfaire le theoreme

de Shannon,– si la frequence d’echantillonnage est determinee, on filtre le signal continu pour eliminer les

frequences > Fe

2(filtrage anti-repliement)

Page 32: Signal

22 CHAPITRE 1. THEORIE DU SIGNAL

1.7 Travaux diriges de theorie du signal

1.7.1 Classifications des signaux

Exercice 1.1 Classer suivant l’energie puis, suivant la puissance moyenne, les signaux suivants :u (t), r (t), ΠT0 (t), A sin (2πf0t) u(t).

Exercice 1.2 Soit un signal x (t) definit par :

x (t) =

34t, 0 ≤ t < 4

0, ailleurs

– Representer graphiquement le signal x (t) ainsi que ses transformations : x1 (t) = x (t− 3), x2 (t) =x (2t), x3 (t) = x

(t2

)x4 (t) = x (−t).

– Calculer l’energie de chaque signal xi.

Exercice 1.3 Soit le signal x (t) definit par :

x (t) =

t + 1, −1 ≤ t < 01, 0 ≤ t < 12, 1 ≤ t < 20, ailleurs

– Representer graphiquement ce signal,– Ecrire la decomposition de x (t) en fonctions simples (echelons, . . .),– Representer :x1 (t) = x (t) u (1− t), x2 (t) = x (t) (u (t)− u (t− 1)), x3 (t) = x (t) δ

(t− 3

2

).

– Calculer l’energie de chaque signal.

Exercice 1.4 Determiner le produit scalaire des signaux

x1 (t) = A cos (2πf0t + θ) ΠT

(t− T

2

)

x2 (t) = A sin (2πf0t + θ) ΠT

(t− T

2

)

En deduire la relation que doivent verifier T et f0 pour que les signaux soient orthogonaux. Exprimerdans ce cas les signaux x1 (t) et x2 (t) a l’aide de leur energie commune E.

Exercice 1.5 On modelise un signal y (t) comme une composition lineaire d’une famille de fonctionsorthogonales ϕj (t)0≤j≤N :

y (t) =N∑

j=0

λjϕj (t)

〈ϕj, ϕk〉 = βkδj−k

On veux obtenir la meilleure representation pour la suite de coefficients λj au sens de l’erreurquadratique moyenne :

J =

∫ ∣∣∣y (t)− y (t)∣∣∣2

dt

Montrer que les coefficients optimauxλopt

j

sont obtenus par un simple calcul du produit scalaire

(ie. une projection orthogonale) :

λoptj =

1

βj

〈y, ϕj〉NB : On pensera a J minimiser en fonction de λj.

Page 33: Signal

1.7. TRAVAUX DIRIGES DE THEORIE DU SIGNAL 23

1.7.2 Systemes lineaires

Exercice 1.6 Soit h la reponse impulsionnelle d’un systeme :

h (t) = 2 exp (−t + τ) .u (t− τ)

– Quelle est la condition pour que le systeme soit causal ?– Est-il stable ?– On choisit τ = 2, trouver graphiquement puis par calcul la reponse du systeme pour une entree x

valant :x (t) = δ (t + 1) + δ (t) + u (t− 4)− u (t− 7).

Exercice 1.7 Soit h un systeme dont la reponse impulsionnelle est :h (t) = Ku (t) , K ∈ R∗.– Le systeme est-il causal ?– Est-il stable ?On asservit le systeme precedant en introduisant la fonction de transfert B (p) = β de la faconsuivante :

H YX

B

+-

Fig. 1.13 – Asservissement d’un systeme.

– Le systeme asservi est-il causal ?– Est-il stable ?

Exercice 1.8 Soit le signal x dont la Tf est X (f) = X0ΠB (f), est module en amplitude par uneporteuse y (t) = A0 sin (2πf0t).– Calculer et representer graphiquement la densite spectrale d’energie ( dse) des trois signaux x, y, z =

xy.– On echantillonne le signal module avec un peigne de Dirac de periodicite T = 1

2f0.

– Quelle est la consequence de cette operation dans le domaine spectral ?– Comment recuperer facilement le spectre X (f) du signal modulant ?

Exercice 1.9 Soit x (t) = AΠτ (t), calculer le produit de convolution :

Λ (t) = (x ? x) (t)

– Tracer le resultat et observer les modifications engendrees par l’operateur de convolution.– On convolue le signal Λ en utilisant un peigne de Dirac de periode T .– Representer le resultat de la convolution pour les valeurs suivantes :τ = 1, T = 1, 2, 3.Exercice 1.10 Soit le signal x (t) = A cos (2πf0t) que l’on tronque avec la fonction porte ΠT (t)

xT (t) = x (t) .ΠT (t)

– Determiner l’influence de la troncature en calculant |XT (f)| le module de la Tf de xT .

Page 34: Signal

24 CHAPITRE 1. THEORIE DU SIGNAL

1.7.3 Analyse non parametrique, signaux deterministes.

Exercice 1.11 Un tapis roulant convoye des boıtes rectangulaires a une vitesse V d’un point A versun point B distant d’une mesure D. Un capteur optique binaire place en A delivre un signal xA (t)et un autre identique place en B fournit un signal xB (t). Montrer qu’en calculant l’intercorrelationdes deux signaux de mesures nous pouvons estimer le temps de transit sur le tapis et par la meme,controler sa vitesse V (on supposera que la vitesse reste constante pendant le trajet d’une boıte).

Exercice 1.12 Une source ponctuelle emet un signal s (t) = S0 sin (2πf0t + φ0). Cette source est aune position fixe inconnue que nous souhaitons determiner. Nous avons dispose deux antennes A etB pour capter le signal emis. Montrer que la fonction de correlation permet de resoudre ce problemede localisation. (On posera que la vitesse v de propagation dans le milieu est constante).

A BS

Fig. 1.14 – Localisation d’une source.

Exercice 1.13 Calculer la transformee de Fourier d’une fonction porte Π d’ouverture T . Calculerle produit de convolution et la fonction d’autocorrelation de cette fonction par elle-meme. Que vautla tf du signal convolue ?

Exercice 1.14 Soit le signal x (t) = u (t) exp(− t

T

), on souhaite appliquer une analyse spectrale sur

un enregistrement y (t) de ce signal de duree L. Calculer les tf de x et y. Quelle relation doit verifierla longueur moyenne de l’enregistrement T pour que l’erreur relative commise en confondant Y (f)et X (f) soit inferieure a 1 %.

Exercice 1.15 Determiner les temps moyens, les frequences moyennes, les durees et les bandesutiles des signaux suivants :– x1 (t) = ΠT (t− τ),– x2 (t) = u (t− τ) . exp (−a (t− τ)) , a > 0,

– x3 (t) = ΛT (t) (on admettra que∫ sin4(u)

u2 du = π4),

– x4 (t) = a exp (λt2) , λ < 0.

Page 35: Signal

1.7. TRAVAUX DIRIGES DE THEORIE DU SIGNAL 25

1.7.4 Signaux aleatoires

Exercice 1.16 On considere le signal

x (t) = s (t) + b (t)

s (t) = A sin (2πf0t + φ)

b (t) est un bruit blanc gaussien, stationnaire, ergodique, centre N (0, σ2). φ est une phase aleatoireindependante de b (t) suivant une loi uniforme sur [0, 2π].– Le signal x est-il aleatoire ?– Calculer la moyenne µx (t) de x (t) . Le signal est-il stationnaire ?– Calculer l’autocorrelation γx (τ) de x (t).– Donner l’expression de la fonction de correlation pour un signal deterministe de puissance moyenne

finie.– Donner l’autocorrelation deterministe Γx (τ) de x (t).– Montrer que la moyenne statistique de l’autocorrelation deterministe est identique a la fonction de

correlation γx (τ).

Exercice 1.17 Soit x (t) un bruit blanc stationnaire de parametres N (µx, σ2x) que l’on filtre par un

systeme deterministe de reponse impulsionnelle h (t) et de transformee de Fourier H (f).– Calculer la moyenne µy du signal de sortie y.– Calculer σ2

y.

Exercice 1.18 Soit l’estimateur de la fonction de correlation suivant :

γxy (τ) = K (τ) .

∫ +∞

−∞xw (t) y?

w (t− τ) dt

ou fw est la fonction f multipliee par la fenetre d’observation w (w (t) = ΠT (t)). K est une fonctionde ponderation.Nous allons etudier le biais de cet estimateur pour deux ponderations differentes. L’une d’entre ellessera :

K1 (τ) =1

T

– Exprimer la moyenne statistique de l’estimateur.– Determiner le biais pour K1 (τ).– Comment choisir K2 (τ) pour que l’estimation soit sans biais ?– Calculer la densite spectrale de puissance et conclure sur les deux estimateurs.

Page 36: Signal

26 CHAPITRE 1. THEORIE DU SIGNAL

Page 37: Signal

Chapitre 2

Travaux Pratiques de Theorie du Signal

2.1 Introduction a Matlab

Le but de ce document est de vous initier a la programmation Matlab. Le debutant trouvera desinformations fortement utiles dans les premieres sections. Mais, ce document ne se propose en aucuncas de remplacer la documentation ou les manuels de reference. En revanche, il presente aussi uneserie de problemes de programmation avancee et des details d’exploitation qui seront interessantsmeme pour les utilisateurs plus experimentes. Finalement, on trouve une liste assez complete desreponses aux questions les plus frequentes liees a l’utilisation du Matlab.

On suppose que ceux qui vont lire ce document possedent deja les notions rudimentaires de laprogrammation C et de l’environnement Windows.

2.1.1 Les notions de base

Matlab est un puissant outil de calcul numerique et visualisation. Son nom signifie MATrix LA-Boratory, c’est a dire un environnement interactif de calcul matriciel. La facilite de developpementdes applications dans son langage fait qu’il est pratiquement devenu le standard dans son domaine.Actuellement, on trouve des nombreuses boıtes-a-outils (Toolboxes) qui contiennent des fonctionsspecialisees permettant d’utiliser l’environnement Matlab pour resoudre des classes specifiques deproblemes.

2.1.1.1 Demarrage d’une session

Le lancement de Matlab se fait tout simplement en le lancant depuis le menu Demarrer :

>>Demarrer>Programmes>Matlab>Matlab

Cette fenetre deviendra alors la fenetre de commande Matlab 1. Il s’agit en effet d’une interface enmode texte avec l’interpreteur de langage Matlab dans laquelle vous pouvez executer des instruc-tions specifiques ou lancer des programmes.

L’affichage des resultats numeriques se fera en mode texte dans cette meme fenetre ou dans une autrefenetre en mode graphique (en faisant appel aux fonctions de visualisation de Matlab).

1 Vous pouvez aussi rajouter un lien pointant vers l’executable dispose sur votre bureau, il suffit alors de cliquersur l’icone correspondante pour qu’une fenetre similaire s’ouvre dans votre environnement.

27

Page 38: Signal

28 CHAPITRE 2. TRAVAUX PRATIQUES DE THEORIE DU SIGNAL

Fig. 2.1 – La fenetre de commande Matlab.

2.1.1.2 Types des fichiers : Compatibilite entre Dos et UNIX

Les programmes Matlab sont des fichiers Ascii qui contiennent des commandes specifiques. Laconvention est que le nom d’un tel fichier doit se terminer en .m. Pour executer un tel programme enMatlab il suffit de taper son nom dans la fenetre de commande, mais sans l’extension par defaut .m.Les fichiers sont parfaitement compatibles entre les stations et les PC. C’est a dire, si vous recuperezpar Ftp des fichiers qui etaient sur une station Unix, ces fichiers resteront toujours executablespar Matlab PC (meme procedure pour le transfert PC → Unix). Une seule petite observation :n’oubliez pas de configurer le transfert Ftp en mode Ascii, sinon (en binaire) la convention de fin deligne qui est differente sous Unix et Dos va rendre votre programme illisible. Vous devez employerle mode de transfert binaire seulement pour les fichiers qui ont des noms termines en .mat. Ce sontdes fichiers des donnes Matlab, qui utilise le format binaire pour des raisons d’efficacite et de taille.

L’edition de programmes .m est un processus totalement independant de Matlab. Vous etes ainsilibre d’utiliser votre logiciel d’edition prefere.

2.1.1.3 Documentation : Aide en ligne

La documentation de Matlab est particulierement riche. Le logiciel est livre en standard avec plu-sieurs documentations dont :

– Users Guide - destine surtout aux debutants. Cette documentation vous prend la main et vousguide lentement dans les meandres du langage Matlab. Si vous etes un debutant, le passage parcette documentation est quasiment inevitable

– Reference Guide - tout comme son nom l’indique il s’agit d’un document qui decrit tous leselements de langage Matlab (instructions, fonctions et leurs parametres). Grace a son index trescomplet, il permet de retrouver facilement des informations

– Signal Processing Toolbox User’s Guide - le guide d’utilisation de la boıte a outils de traite-ment de signal. Il contient deux parties : Tutorial et Reference, concues de meme maniere que lesdeux documentations correspondantes Matlab

– Image Processing Toolbox User’s Guide - le guide d’utilisation de la boıte a outils de traite-ment d’image

Page 39: Signal

2.1. INTRODUCTION A MATLAB 29

– Communication Toolbox User’s Guide - le guide d’utilisation de la boıte a outils de telecom-munications

– Simulink User’s Guide - le guide d’utilisation de l’interface graphique de simulation

– Building a Graphical User Interface - il s’agit d’un document qui traite les fonctions Matlabd’interaction graphique avec l’utilisateur. Parmi toutes les documentations, c’est de loin le livrele moins complet. Heureusement, il contient de nombreux exemples qui peuvent conduire, par lebiais de l’experimentation, a une parfaite maıtrise de l’interface graphique (si cela est vraimentnecessaire)

– External Interface Guide - c’est un des ouvrages les plus utiles parce qu’il traite l’interactionde Matlab avec des programmes externes, notamment celles ecrites en langage C (voir p. 42).

De meme, l’aide en ligne est tres complete. Il suffit de taper dans la fenetre de commande :

>>help

et le resultat sera une enumeration de ce type :

HELP topics:

matlab\general - General purpose commands.

matlab\ops - Operators and special characters.

matlab\lang - Programming language constructs.

matlab\elmat - Elementary matrices and matrix manipulation.

matlab\elfun - Elementary math functions.

matlab\specfun - Specialized math functions.

matlab\matfun - Matrix functions - numerical linear algebra.

matlab\datafun - Data analysis and Fourier transforms.

matlab\polyfun - Interpolation and polynomials.

matlab\funfun - Function functions and ODE solvers.

matlab\sparfun - Sparse matrices.

matlab\graph2d - Two dimensional graphs.

matlab\graph3d - Three dimensional graphs.

matlab\specgraph - Specialized graphs.

matlab\graphics - Handle Graphics.

matlab\uitools - Graphical user interface tools.

matlab\strfun - Character strings.

matlab\iofun - File input/output.

matlab\timefun - Time and dates.

matlab\datatypes - Data types and structures.

matlab\winfun - Windows Operating System Interface Files (DDE/ActiveX)

matlab\demos - Examples and demonstrations.

comm\comm - Communications Toolbox

comm\commsfun - Communications Toolbox SIMULINK S-functions.

comm\commsim - Communications Toolbox SIMULINK files.

wavelet\wavelet - Wavelet Toolbox.

wavelet\wavedemo - Wavelet Toolbox Demos.

dspblks\dspblks - DSP Blockset.

dspblks\dspmex - (No table of contents file)

Page 40: Signal

30 CHAPITRE 2. TRAVAUX PRATIQUES DE THEORIE DU SIGNAL

dspblks\dspdemos - (No table of contents file)

images\images - Image Processing Toolbox.

images\imdemos - Image Processing Toolbox --- demos and sample images

toolbox\signal - Signal Processing Toolbox.

simulink\simulink - Simulink

simulink\blocks - Simulink block library.

simulink\simdemos - Simulink demonstrations and samples.

simulink\dee - Differential Equation Editor

toolbox\tour - matlab Tour

toolbox\local - Preferences.

For more help on directory/topic, type "help topic".

Il s’agit d’une enumeration de toutes les sections de l’aide en ligne. Pour une aide sur une certainesection il suffit de taper help suivi du nom de la section. Par exemple, la commande :

>>help ops

aura comme resultat une liste de tous les operateurs utilises par Matlab.

Pour une aide encore plus pointue, la commande help peut etre suivie par le nom de la commandedont on souhaite le detail. Supposant qu’on veut voir l’utilisation de la commande fft2, il suffitd’ecrire :

>>help fft2

La commande helpwin est equivalente a help la difference est qu’une fenetre d’aide sera ouvertevous offrant la possibilite d’invoquer une aide au format hypertexte.

>>helpwin fft2

Fig. 2.2 – Une fenetre d’aide invoquee par helpwin.

Une autre commande utile est lookfor mot-cle

>>lookfor string

recherche toutes les fonctions Matlab ou utilisateur qui contiennent dans leur aide la chaıne decaracteres ¿ string À.

Page 41: Signal

2.1. INTRODUCTION A MATLAB 31

L’information fournie par l’aide en ligne est plus ou moins equivalente avec celle contenue dans lesReference Guides.

Une autre source d’informations extremement riche est le programme de demonstration de Matlab.Vous pouvez le lancer avec la commande demo.

2.1.2 Les debuts en Matlab

2.1.2.1 Types de donnees

La plus forte limitation de Matlab, et toutefois la source de sa puissance, est le fait qu’il accepteun seul type des donnees : les matrices (les vecteurs et les scalaires etant des cas particuliers des ma-trices). Pratiquement, aucun autre type de donnee ne peut pas etre defini (avec une seule exception,sur laquelle on va insister a la page 41).

Plus restrictif encore, il travaille seulement en format numerique flottant, ce qui signifie 8 octets parelement.

Deux valeurs particulieres sont definies :– NaN (Not a Number), qui est le resultat d’une indetermination de type 0

0,

– inf qui indique la divergence d’un resultat 10.

On peut definir des nombres complexes, en utilisant le symbole i (ou j, pour ceux qui preferent desnotations plus ¿ ingenieur À).

Des fonctions booleennes peuvent etre utilisees dans les structures de controle de type if ou while.Un exemple de definition explicite d’une matrice est le suivant :

>>a=[1 3 2; 3 3 3; 2 2 1];

On peut verifier l’existence de la matrice a en ecrivant son nom sur la ligne de commande :

>>a

a =

1 3 2

3 3 3

2 2 1

Remarque 2.1 Lors de l’execution de l’instruction precedente, Matlab recherche d’abord si ilexiste une variable a definie dans l’espace de travail. Dans le cas contraire, il recherche si il existeune fonction portant ce nom. Le message suivant sera affiche si aucune variable ou fonction n’esttrouvee :

??? Undefined function or variable ’a’.

Attention donc de ne pas redefinir les noms de fonctions comme matrices - ceci est en effet unesource importante des erreurs pour les debutants.

Remarque 2.2 A remarquer aussi le fait que la presence de ¿ ; À apres une instruction empechel’affichage du resultat de cette instruction.

Page 42: Signal

32 CHAPITRE 2. TRAVAUX PRATIQUES DE THEORIE DU SIGNAL

2.1.2.2 Operateurs

Matlab admet l’utilisation de tous les operateurs usuels (addition, multiplication, etc.) avec lesregles de priorite bien connues. Nous allons effectuer quelques operations simples avec la matrice aqui a ete definie dans la section precedente.

>>b=a+a

b =

2 6 4

6 6 6

4 4 2

Remarquez la facilite dont on peut creer des nouvelles matrices. Nul besoin de specifier la taille dela matrice b, elle est attribuee automatiquement. Plus interessant encore, la taille de la matrice semodifie de facon adaptative :

>>b=[b a]

b =

2 6 4 1 3 2

6 6 6 3 3 3

4 4 2 2 2 1

Maintenant nous allons ¿ couper À la matrice b pour revenir a sa valeur initiale. Les elements deb peuvent etre manipules en utilisant la syntaxe b(x,y) ou x est l’indice de la ligne et y l’indice dela colonne de l’element a manipuler. Alors la commande :

>>b=b(1:3,1:3)

b =

2 6 4

6 6 6

4 4 2

retient seulement les 3 premieres colonnes de b et nous permet de retrouver sa valeur initiale. Enpassant, remarquons que l’expression x :y a comme resultat la creation d’une serie de nombres encommencant par x et en rajoutant 1 sans qu’on depasse le seuil superieur y. On evalue une telleserie :

>>2.5:6

ans =

2.5000 3.5000 4.5000 5.5000

Maintenant, nous allons voir un autre exemple :

>>c=a*b

c =

28 32 26

36 48 36

20 28 22

le resultat est, normalement, le produit matriciel de a et b. Supposons que nous voulons calculer leproduit scalaire (element par element) des matrices a et b. Dans ce cas, il suffit de rajouter le symbole¿ . À (point) avant l’operateur de multiplication :

Page 43: Signal

2.1. INTRODUCTION A MATLAB 33

>>c=a.*b

c =

2 18 8

18 18 18

8 8 2

Cette regle est valable pour tous les operateurs qui peuvent admettre une utilisation duale (matricielleet scalaire) : division, exponentiation. On peut commuter vers l’operation scalaire juste en rajoutantun point avant l’operateur en cause.

2.1.2.3 Fonctions Matlab

Un grand nombre de fonctions mathematiques elementaires (fonctions trigonometriques, exponen-tielle, logarithmique) sont deja definies dans l’environnement Matlab. Ces fonctions s’appliquentsur les matrices de facon element par element. En plus par rapport a ces fonctions, l’utilisateur peutdefinir lui-meme des fonctions pour automatiser certaines operations. Par exemple, si sur le disquedur se trouve un fichier qui s’appelle fact.m et son contenu est :

function [resultat]=fact(ent)

% Fonction factorielle

% un exemple pour le cours d’initiation Matlab

% entree = u nombre n quelconque

% sortie = -1 si n non-entier positif

% sortie = n! si n entier positif

if ~(ent==round(abs(ent)))

resultat=-1;

elseif (ent==0)

resultat = 1;

else

resultat=ent*fact(ent-1);

end

return

Nous pouvons maintenant utiliser cette fonction pour calculer le factoriel d’un nombre entier n.

>>fact(10)

ans =

3628800

La convention de definition de la fonction ressemble tout a fait aux autres langages de programmationstructuree. Cet exemple en apparence trivial contient plusieurs informations importantes. On observeque Matlab accepte aussi des fonctions recursives, ce qui est quand meme remarquable pour unlangage interprete. Ca ne veut pas dire que l’utilisation de ce genre de fonctions est souhaitable, maisdu point de vue de la flexibilite, Matlab n’a rien a envier aux langages compiles.

Comme vous avez deja devine, le symbole ¿ % À precede une ligne de commentaires qui serontignorees. Mais si ces lignes sont en debut de fonction on va voir que la commande :

>>help fact

Page 44: Signal

34 CHAPITRE 2. TRAVAUX PRATIQUES DE THEORIE DU SIGNAL

Fonction factorielle

un exemple pour le cours d’initiation Matlab

entree = u nombre n quelconque

sortie = -1 si n non-entier positif

sortie = n! si n entier positif

donne un resultat interessant. Maintenant notre fonction fact.m est integree de facon coherente dansl’environnement Matlab. Elle se comporte de la meme maniere que les fonctions ¿ natives À . Onpeut meme l’inclure dans une bibliotheque de fonctions Matlab.

D’un point de vue un peu plus technique, une M-fonction ne sera interpretee que lors de sa premiereinvocation. Le script est lu et compile par l’interpreteur puis place en memoire pour l’execution.Matlab ne recompilera le script que si une modification du fichier Ascii est detectee. Cependant, ilse peut que les modifications apportees ne soient pas automatiquement prises en compte (cela peutse produire lorsque l’unite de travail est un lecteur reseau), il faut alors effacer le programme compilede la memoire en utilisant la commande clear 2 :

>>clear fact

Par ailleurs, si vos M-fonctions sont enregistrees sur un lecteur reseau, il faut forcer a Matlab adetecter les eventuels changements apportes au scripts invoques. Pour cela vous devez valider l’op-tion : ¿ Always Reload Network Directories À dans le menu File> Preferences>General.

Des centaines de fonctions de ce type sont livrees dans la distribution Matlab standard et aussi dansles boıtes a outils. De meme que de nombreuses fonctions faites par des chercheurs et ingenieurs dumonde entier sont disponibles gratuitement au site Web de Mathworks (les auteurs de Matlab)http ://www.mathworks.com.

2.1.2.4 Elements de langage Matlab

Le langage Matlab contient des elements pour le controle du flot de donnees. Ce sont des elementsde programmation classique : des boucles for et while, des decisions de type if/else/elseif, desfonctions pour l’interaction avec l’utilisateur en mode texte (dans la fenetre de commande) : input,keyboard, menu. Ceux qui ont deja apprivoise un langage de programmation structuree ne de-vraient pas avoir de probleme pour utiliser ces instructions.

Il faut faire attention a ne pas abuser de ces instructions. Les debutants oublient assez souvent laphilosophie de Matlab et construisent des boucles de ce genre :

>>for index=1:10

fnc[index]=index^3;

end

C’est lourd et c’est lent et ca ne tient pas compte de la vectorisation offerte par Matlab. L’alternativesuivante :

>>index=1:10;

fnc=index.^3;

est beaucoup plus elegante et surtout, plus rapide. A terme, cette maniere d’ecrire fait que votreprogramme est plus facile a depanner et a modifier.

2 Il est conseille de consulter l’aide de cette commande.

Page 45: Signal

2.1. INTRODUCTION A MATLAB 35

2.1.3 Pour aller plus loin

2.1.3.1 Manipulation de matrices. Fonctions specialisees

La manipulation des matrices est fondamentale pour Matlab. Pratiquement toutes les operationsque nous faisons sur le papier peuvent etre faites en Matlab et ce, en gardant la meme notation ;bien sur dans les limites du mode texte. Nous allons commencer par la generation d’une matrice 3×3qui contient seulement des unites :

>>a = ones(3)

a =

1 1 1

1 1 1

1 1 1

Nous allons retenir la portion triangulaire inferieure de cette matrice

>> b=tril(a)

b =

1 0 0

1 1 0

1 1 1

Cette matrice sera transposee

>> b=b’

b =

1 1 1

0 1 1

0 0 1

Le determinant de b est, bien sur,

>> det(b)

ans =

1

et son inverse

>> inv(b)

ans =

1 -1 0

0 1 -1

0 0 1

et son vecteur de valeurs propres

>> eig(b)

ans =

1

1

1

Page 46: Signal

36 CHAPITRE 2. TRAVAUX PRATIQUES DE THEORIE DU SIGNAL

Jusqu’ici, rien de special. On va modifier un peu cette matrice :

>> b=b^5+b’^3

b =

2 5 15

3 2 5

6 3 2

La triangularisation factorielle d’une matrice est la decomposition d’une matrice carree en deuxmatrices, une etant la permutation (par lignes) d’une matrice triangulaire inferieure, l’autre etantune matrice triangulaire superieure. Pour trouver cette decomposition (dite Lower-Upper ou LU) uneseule commande suffit :

>> [l,u]=lu(b)

l =

0.3333 1.0000 0

0.5000 0.1250 1.0000

1.0000 0 0

u =

6.0000 3.0000 2.0000

0 4.0000 14.3333

0 0 2.2083

Je vous laisse le plaisir de montrer la validite de cette decomposition et surtout, le fait qu’elle estunique. Cet exemple peut paraıtre trop pointu et limite comme application, mais il faut preciser queMatlab contient des nombreuses fonctions specialisees qui peuvent vous servir dans le cadre de vosapplications.

Avant de programmer une fonction dont vous avez besoin, je vous conseille de chercher attentivementdans la reference, peut etre qu’elle est deja ecrite. Matlab est a la fois simple et complexe, et memeles utilisateurs les plus chevronnes ne pretendent pas connaıtre la totalite des fonctions Matlab.

2.1.3.2 Polynomes

Les polynomes sont representes comme des vecteurs ligne qui contiennent les coefficients dans l’ordredecroissant des puissances. Par exemple le polynome x4 + 3.5x3 − 3.9x2 + 8x− 20 s’ecrit :

>> p = [1 3.5 -3.9 8 -20]

p =

1.0000 3.5000 -3.9000 8.0000 -20.0000

Les racines de ce polynome sont :

>> r = roots(p)

r =

-4.8285

-0.0843 + 1.6613i

-0.0843 - 1.6613i

1.4970

Page 47: Signal

2.1. INTRODUCTION A MATLAB 37

On peut reconstruire le polynome en partant de ses racines

>> poly(r)

ans =

1.0000 3.5000 -3.9000 8.0000 -20.0000

On utilise sans aucun probleme les operateurs et les fonctions pour la manipulation de matrices surces vecteurs qui representent des polynomes.

2.1.3.3 Affichage 2D et 3D

Matlab offre une grande variete de fonctions pour la representation des matrices et des vecteurs.Cette section contient un court passage en revue de ces fonctions.

Commencons par definir deux vecteurs qui contiennent les fonctions f1(x)=sin(x) et f2(x)=cos(x) surl’intervalle [−2π, 2π] , en 100 points.

>> x = -2*pi:(4*pi/99):2*pi;

f1=sin(x); f2=cos(x); plot(x,f1,’b-’,x,f2,’r-.’);

La derniere commande produit un graphique de nos deux fonctions sur l’intervalle de definition.La syntaxe de la commande est plot(x,f,’attributes’) ; le resultat sera un graphique lineaire deselements de f en fonction des elements de x trace avec les attributs specifies entre apostrophes. Lafonction f1 sera tracee avec une ligne continue bleue, et la fonction f2 en pointille, couleur rouge.

On peut modifier l’axe x de telle facon que notre graphique soit mieux adapte aux dimensions de lafigure :

>> axis([-2*pi 2*pi -1 1]);

Nous allons rajouter une grille, des etiquettes sur les deux axes et un titre :

>> grid on; %la grille

xlabel (’x’); %l’etiquette de l’axe 0x

ylabel (’f1 et f2’); %l’etiquette de l’axe 0y

title (’Un exemple de plot 2D’); %le titre

−6 −4 −2 0 2 4 6−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

x

f1 e

t f2

Un exemple de plot 2D

Fig. 2.3 – Resultat de l’affiche de courbes bidimensionnelles.

Supposons que nous voudrions rajouter au graphique une fonction f3 egale au produit de f1 et f2 :

Page 48: Signal

38 CHAPITRE 2. TRAVAUX PRATIQUES DE THEORIE DU SIGNAL

>> f3 = f1.*f2;

nous allons indiquer que le prochain trace sera superpose sur l’ancien graphique :

>> hold on;

et la commande :

>> plot(x,f3,’rx’);

aura comme resultat final la Fig. (2.3).

Maintenant on va definir une matrice qui contient la fonction bidimensionnelle f :

f (x, y) =

√exp (sin (x)) + exp

(sin

(y

2

))

sur le domaine [−2π, 2π]× [−2π, 2π] en 100× 100 points. Pour generer les matrices x et y :

>> x = -2*pi:(4*pi/99):2*pi;

[x,y] = meshgrid(x,x);

La matrice f se definit comme :

>> f = sqrt(exp(sin(x)) + exp(sin(y/2)));

Nous allons tracer la surface correspondant a f en fonction de x et y en ¿ fil de fer À avec lacommande mesh :

>> mesh(x,y,f)

La fonction f en contour 3D avec 20 courbes de niveau :

>> contour3(x,y,f,20)

On peut couper un morceau 40× 40 de notre matrice f et construire une surface en facettes :

>> m=f(1:40,1:40);

surf(m); shading faceted

et finalement pour une representation de cette surface en ombrage interpole on utilise la commande :

>> shading interp

On peut calculer le gradient de la matrice m et le visualiser sur la forme d’une carte des vecteurs :

>> [px,py] = gradient(m);

quiver(px,py);

Nous avons vu une grande variete de representations graphiques, mais on est encore loin d’avoir epuisetoutes les ressources de Matlab. Des nombreux exemples fortement utiles sont a votre dispositiondans le User Guide.

Page 49: Signal

2.1. INTRODUCTION A MATLAB 39

Mesh Contour3

Surf Interp

Fig. 2.4 – Exemples d’affichage 3D.

2.1.3.4 Images

Une image est en effet une matrice de valeurs reelles. Pour cet exemple nous allons charger un fichierde donnees qui sert a illustrer le programme de demonstration de Matlab. Ce fichier s’appelleclown.mat, que nous pouvons charger avec la commande :

>> clear all;

load clown

Cette commande a pour effet le chargement d’une serie de variables. Parmi ces variables ; la matrice Xcontient l’image qui nous interesse. Une observation s’impose : Matlab ¿ sait À afficher seulementdes images avec 64 couleurs (nuances de gris ou autre), les valeurs correspondantes de pixels etantpar defaut de 0 a 63. La matrice X contient des valeurs plus grandes que 63. Il faut donc faire uneremise a l’echelle. Apres ca, nous allons utiliser une gamme de couleurs qui associe des nuances degris (la gamme de couleurs par defaut est Hsv - hue, saturation, value). Et finalement, on va eliminerles axes pour une visualisation plus confortable de l’image (voir Fig. 2.5).

>> X = X*63/max(max(X)); % remise a l’echelle

image(X); % affichage de l’image

colormap(gray); % la carte de couleurs en niveaux de gris

axis off; % elimination des axes

La prochaine section contient quelques exemples de traitements appliques sur cette meme image X.

2.1.4 Traitement du signal avec Matlab. Transformee du Fourier

Prenons, par exemple, le noyau de filtrage passe-bas :

>> fpb = [1 2 1; 2 4 2 ; 1 2 1]/16;

Page 50: Signal

40 CHAPITRE 2. TRAVAUX PRATIQUES DE THEORIE DU SIGNAL

Fig. 2.5 – Image du clown.

nous allons verifier qu’il s’agit d’un filtre passe-bas en representant son spectre d’amplitudes sur ledomaine [−0.5, 0.5]× [−0.5, 0.5] en frequence normalisee avec une resolution de 64× 64 points.

>> freq = -0.5:1/63:0.5;

[freqx,freqy] = meshgrid(freq,freq); % domaines Fx et Fy

spectre_fpb = fft2(fpb,64,64); % calcul de la TF sur 64x64 points

amplit=abs(spectre_fpb); % calcul des amplitudes

amplit=fftshift(amplit); % pour arriver au domaine [-0.5,0.5]

figure;

mesh(freqx,freqy,amplit); % affichage du resultat dans une nouvelle fenetre

Par la suite on va filtrer l’image du clown par convolution avec ce filtre et afficher le resultat. Pourque l’effet du filtrage soit plus visible, l’image sera filtree trois fois de suite.

>> for nbr_filt = 1:3,

X = conv2(X,fpb);

end %filtrage trois fois de suite

figure; image(X); colormap(gray); axis off;

L’effet de lissage est ainsi tres visible.

Toujours dans le domaine du traitement de signal, un autre exemple interessant qui utilise la fonctionde filtrage recursif 1D filter. Supposant qu’on connaıt la fonction de transfert d’un filtre recursif,disons un simple, on veut visualiser les 100 premiers echantillons de sa reponse impulsionnelle.Premierement, il faut decrire le filtre en utilisant deux vecteurs de type polynome :

>> a = 1; % a(z) = 1

b=[1 0 0.9]; % b(z) = 1 + 0.9*(1/z)^2

Apres ca, il faut generer un Dirac numerique de taille 100, causal.

>> dirac100 = [1 zeros(1,99)];

Tout ce qu’il nous reste a faire est de filtrer le Dirac et d’afficher la reponse

>>reponse100 = filter(a,b,dirac100); % calcul de la reponse

plot(reponse100) % trace de la reponse

Ceux d’entre vous qui font du traitement de signal intensif vont surtout apprecier la boıte a outilsSignal Processing.

Page 51: Signal

2.1. INTRODUCTION A MATLAB 41

2.1.4.1 Series de caracteres, Mathematique symbolique

Voila une exception interessante. Matlab sait traiter et autre chose que les matrices de nombrescomplexes. Les series des caracteres. . . il s’agit en effet de vecteurs des symboles Ascii. Par exemple :

>> mot1= ’un autre exemple =’

mot1 =

un autre exemple =

On peut transformer des nombres en series de caracteres avec la fonction num2str :

>> a=0;

mot2=num2str(a)

mot2 =

0

Bien sur, on peut manipuler ces vecteurs comme tout autre vecteur :

>> [mot1 mot2]

ans =

un autre exemple =0

Mais ce type de donnees comporte des aspects beaucoup plus interessants. Suivons le prochainexemple :

>> expr=’1/x+x^2-2’;

x=1;

eval(expr) %evaluation de l’expression expr avec la valeur x=1

ans =

0

Cette utilisation des series des caracteres est presente dans l’implantation de la boıte a outils MapleSymbolic Toolbox, qui utilise la technologie de chez Maple Software, les leaders dans le do-maine des mathematiques symboliques. Meme sans cette boıte a outils, on peut toujours utiliser cettetechnique pour des fonctions rudimentaires de mathematique symbolique.

2.1.5 Cooperation de Matlab avec des logiciels externes

2.1.5.1 Acces aux fichiers de donnees externes

En dehors du mecanisme classique de sauvegarde et du chargement des donnees de type load/save,Matlab possede des mecanismes alternatifs.

La premiere variante est implantee toujours en utilisant les commandes load/save. Il s’agit de sauverune matrice sur le disque dur, en format Ascii. Il faut seulement rajouter a la fin le commutateur-Ascii. Exemple :

>>save toto -Ascii

Page 52: Signal

42 CHAPITRE 2. TRAVAUX PRATIQUES DE THEORIE DU SIGNAL

Dans le fichier de donnees, les elements seront separes par un espace, et les lignes par un saut de finde ligne. Ce format a plusieurs avantages et plusieurs defauts. Comme avantage, on peut citer le faitque le format Ascii peut etre interprete par simple inspection visuelle du fichier avec un editeur detexte. Nul besoin de connaıtre le format interne Matlab, et c’est extremement facile de programmerdes procedures C pour ecrire ou lire un tel fichier ou meme pour le convertir dans le format MapleAscii. Par contre, au fur a mesure que la matrice devient grande, la manipulation d’un tel fichiers’alourdit (cela peut constituer un gros probleme surtout pour ceux qui ont des petits desagrementsavec leur quota de disque dur).

Enfin, Matlab sait utiliser de fonctions de manipulation des fichiers facon C. Il s’agit des fonctionsclassiques genre fopen, fclose, fwrite, fseek, fprintf, etc. Vous pouvez ainsi lire ou generer unformat binaire ou n’importe quel format exotique.

2.1.5.2 Utiliser des procedures C dans l’environnement Matlab

La methode la plus simple est d’utiliser le ¿ escape shell À !. La commande :

>> !mon_prog;

indique a Matlab qu’il faut executer un logiciel externe qui s’appelle mon prog. Une fois que letraitement par le logiciel externe est fini, l’execution suit son cours en Matlab. La communicationentre l’environnement de travail (Workspace) et mon prog peut se realiser par l’intermediaire de fi-chiers des donnees (voir la section precedente). Generalement, on essaye d’implanter avec mon progdes sections critiques du programme qui prendrait beaucoup plus de temps et/ou de memoire enMatlab. L’avantage est qu’a la fin on garde sur le disque dur tous les resultats intermediaires et onpeut les examiner tranquillement. Parmi toutes les methodes de collaboration avec des programmesexternes, celle ci est la plus inefficace.

Un peu plus avancee, mais plus complexe, est l’utilisation des fichiers .mex. Ce sont des fichiersecrits en langage C, compilees avec un compilateur special cmex, qui peuvent ulterieurement etreappelees comme n’importe quelle fonction. Ces sources doivent inclure le fichier entete ¿ mex.h À.Cette demarche est particulierement lourde, car elle comporte aussi la creation d’une fonction pont(gateway routine). Des nombreux problemes de compatibilite de .mex entre differentes versionsde Matlab se posent. ¿ N’utiliser les MEX que si vous avez absolument besoin À.

2.1.5.3 Utiliser les fonctions Matlab dans le cadre d’un logiciel C

C’est la modalite la plus efficace pour faire cooperer Matlab et un logiciel externe. Il s’agit de lanceren tache de fond en meme temps que votre logiciel C, le noyau Matlab Engine. Vous pouvez faireappel a ce noyau pour lire des fichiers des donnees en format Matlab, pour inverser des matrices oufaire des graphiques 3D. Une licence Matlab sera occupee seulement pendant que le noyau tourneen tache de fond et sera liberee de que vous donnez le controle total au votre logiciel.

Pour utiliser les fonctions de Matlab dans vos programmes en C il faut modifier le Makefile enrajoutant aux lignes de definitions du compilateur et de l’editeur de liaisons :

CC = cc ... -I/u/Matlab/extern/include

Dans votre logiciel C il faut inclure la ligne d’entete suivante :

#include ¿ engine.h À

Page 53: Signal

2.1. INTRODUCTION A MATLAB 43

Le noyau Matlab s’appelle avec la procedure engOpen() et il se ferme avec la procedure eng-Close(). Une liste detaillee de toutes les fonctions de communication avec le noyau Matlab setrouve dans External Interface Guide.

En ce qui concerne le PC, Borland C++ ne fait pas partie des compilateurs indiques par Math-works. Le seul compilateur qui pourrait eventuellement cooperer avec Matlab est le gcc.

2.1.5.4 Inserer des graphiques Matlab dans un document Word

Les fonctions graphiques de Matlab peuvent donner naissance a des resultats remarquables. Si vousallez ouvrir n’importe quelle revue de communications scientifique ou des actes de conferences, vousallez surement trouver plusieurs figures qui contiennent des graphiques issues de Matlab.

Plusieurs facons d’inserer un graphique dans un document Word existent. Par exemple, on peut faireune copie d’ecran (par menu sous Windows ou avec snapshot sous Unix). Les graphiques Matlabetant sous fond noir, il faut operer des modifications des couleurs (avec Paint sous Windows eu xv sousUnix). Apres tout ca, un changement de format de fichier graphique sera necessaire. Cette methodeest a eviter pour plusieurs raisons. Elle est lourde ; regardez le nombre d’operations necessaire pourinserer un seul graphique. La qualite finale de graphiques est mediocre, parce que generalement laresolution d’un ecran d’ordinateur est autour de 72dpi (dots per inch - points par puce). Par contre,il serait bien de pouvoir exploiter la resolution d’une imprimante laser, qui peut aller jusqu’a 600dpi.Le seul moyen facile et qualitatif a la fois est d’utiliser le format Encapsulated PostScript (.eps).

Matlab permet de transformer un graphique present dans une fenetre dans un fichier PostScripten une seule commande :

>> print -deps le_nom

qui aura comme effet la creation sur le disque dur d’un fichier le nom.eps. C’est essentiel que cefichier soit en format .eps. Un graphique dans le format PostScript natif (.ps) peut etre visualiseou imprime, mais il est impossible de l’inserer dans un document de facon correcte. En passage, nousallons remarquer le fait que la conversion PostScript est accompagnee par une modification auto-matique du fond du graphique, qui devient blanc, et des elements du graphique, qui serons imprimesen noir.

Si vous avez acces a une imprimante PostScript couleurs, ca devient interessant de recuperer unfichier .eps couleurs avec une previsualisation au format Tiff par la commande :

>> print --tiff -depsc le_nom

Sur une imprimante classique, les couleurs deviendront des nuances de gris. Des fois, ca peut apporterun plus d’informations, mais ca peut aussi deteriorer le contraste sur le graphique.

Sous Word, il faut activer les menus Insertion>Image>A partir du fichier et introduire le nom dufichier. En inserant votre graphique dans un document Word, un cadre vide apparaıt si vous avezomis le commutateur -tiff dans la commande print ; le graphique deviendra visible seulement sur lepapier, en imprimant le document.

Une derniere remarque evidente s’impose. Les fichiers PostScript sont des fichiers Ascii et doncle transfert entre Unix, PC, Mac doit se faire par Ftp avec l’option Ascii.

Page 54: Signal

44 CHAPITRE 2. TRAVAUX PRATIQUES DE THEORIE DU SIGNAL

Un autre moyen est de cree un nouveau document Word en choisissant le modele NoteBook. Cemodele de document integre directement entre les commandes definies dans le texte (¿ input À) etMatlab. Lors de l’evaluation, ces commandes sont communiquees a l’interpreteur Matlab qui enretour fourni le resultat textuel ou graphique qui sera inclus dans la suite de votre fichier. Le presentfascicule est compose de cette maniere !

2.1.6 Problemes et questions frequentes

2.1.6.1 Problemes de gestion de memoire

Matlab a une gestion de memoire un peu speciale. Supposant que vous avez fait un traitement surplusieurs images qui a occupe beaucoup de memoire (pour votre information, une image 256 × 256occupe 0,5 Mo de memoire). Vous faites un clear et vous supposez que toute la memoire occupeeest liberee et que le systeme reprend le controle. Ce n’est pas vrai !

En effet, les programmateurs de Mathworks savent eux aussi que les fonctions C malloc() etfree() sont parmi les plus couteuses en temps de calcul (etude statistique faite par Bjorne Sous-troup, un des inventeurs du langage C++). C’est pour ca que Matlab a son propre mecanisme decontrole de la memoire. Une fois allouee, le systeme ne peut plus controler la memoire qui sera gereepar Matlab. Il pourra quand meme passer le processus en swap sur le disque dur quand Matlabest inactif, mais chaque nouvelle execution va ¿ revigorer À toute cette memoire. Sur Windows,notoire pour ses problemes de gestion de memoire - le systeme risque de planter tres souvent. Onpeut cependant forcer Matlab a reconstituer l’integrite de l’espace memoire avec la commande pack.

Plusieurs mesures sont a prendre pour contrebalancer ces problemes. Il faut minimiser le nombre devariables memoire tampon, surtout quand il s’agit de matrices tres grandes. Chaque fois quand vousfinissez un programme qui necessite beaucoup de memoire, pensez a sauver les resultats sur le disquedur, sortir de Matlab et revenir immediatement.

2.1.6.2 Peut-on inserer des caracteres grecques dans le titre d’un graphique ?

Oui. Voila un exemple de commande qui associe a l’axe 0x l’etiquette ¿ αβγ À :

>> xlabel(’abg’, ’FontName’, ’Symbol’);

2.1.6.3 Faut il tout programmer en Matlab ?

L’utilisation de Matlab est a conseiller dans quelques situations particulieres :

– il faut developper un programme qui fait beaucoup de traitements numeriques ; mais le tempsdisponible est relativement reduit. L’environnement Matlab est concu justement pour reduire letemps necessaire si on ecrit notre application dans un langage bas niveau de type C.

– l’application n’est pas encore bien definie ; c’est beaucoup plus facile de modifier et depanner unalgorithme Matlab que son equivalent en langage C.

Il faut penser a migrer vers la programmation en C si :

– l’application necessite beaucoup de filtrages recursifs sur des matrices de donnees de grandes tailles.

Page 55: Signal

2.1. INTRODUCTION A MATLAB 45

– le temps disponible pour le developpement de l’application est suffisant pour envisager la program-mation dans un langage bas niveau.

Finalement, pour la phase purement ¿ theorique À de developpement de l’algorithme, peut etreque le programme de mathematique symbolique Maple peut constituer un bon choix.

2.1.7 Simulink

Cette interface graphique est une extension de Matlab qui permet de simuler le fonctionnementd’un systeme qu’il soit continu ou discret. Le systeme est modelise avec une approche schema blocet est evalue en fonctionnement pseudo temps-reel.

L’interface Simulink se presente sous la forme de deux fenetres :une librairie de blocs preprogrammesregroupes par themes et une feuille de travail.

Fig. 2.6 – La librairie Simulink et la feuille de travail.

La creation d’un modele est tres simple puisque il suffit d’aller chercher les blocs necessaires a sarealisation puis de les interconnectes. Toutes les operations s’effectuent a l’aide de la souris.

Prenons l’exemple d’un systeme a temps continu effectuant la derivation d’un signal d’entree si-nusoıdal.

Fig. 2.7 – Un modele simple.

Le modele se compose d’une source, d’un bloc derivateur, d’un multiplexeur permettant de superposer

Page 56: Signal

46 CHAPITRE 2. TRAVAUX PRATIQUES DE THEORIE DU SIGNAL

les signaux, et d’une visualisation. Apres que chaque bloc ait ete dispose, il faut regler ses parametresspecifiques. On double clique sur le bloc pour faire apparaıtre la fenetre de parametrage :

Fig. 2.8 – Fenetre de parametrage du bloc generateur sinusoıdal.

Enfin, apres avoir parametre tous les blocs de votre feuille, vous devez regler les parametres de lasimulation. C’est ici que l’on specifie les informations telles que :– l’instant de depart,– l’instant d’arret,– la classe du modele variable-step pour une modele a temps-continu ou mixte, fixed-step pour un

modele discret,– et l’algorithme de resolution des equations differentielles (ode45 par defaut).

Fig. 2.9 – Parametrage de la simulation.

Le modele etant cree puis parametre pour la simulation de son fonctionnement, on peut lancer sonexecution :Le modele est evalue numeriquement en utilisant un algorithme de resolution d’equations differentielles(Ordinary Differential Equations ou ode). Le temps de calcul de la simulation depend de la com-plexite du systeme et donc ne s’effectue pas en temps reel.

Page 57: Signal

2.1. INTRODUCTION A MATLAB 47

Fig. 2.10 – On lance la simulation.

Fig. 2.11 – Visualisation obtenue par le bloc Scope.

Page 58: Signal

48 CHAPITRE 2. TRAVAUX PRATIQUES DE THEORIE DU SIGNAL

2.2 Echantillonnage

2.2.1 Creation d’un modele d’echantillonnage parfait

Creer dans Simulink le modele de systeme suivant :

Sourcesinusoïdale

Échantillonneurbloqueur d ’ordre 0

Multiplexeur Visualisation

ω = 2π Fe = 20 Hz

Fig. 2.12 – Echantillonnage parfait.

On reglera les parametres de la simulation pour que l’instant de depart soit 0 et que l’instant d’arretsoit 4 secondes.

Une fois le montage valide au pres du responsable, vous pouvez lancer l’execution et observer lavisualisation du resultat.

2.2.2 Etude de la loi de densite de probabilite d’un signal echantillonne

Nous allons faire le parallele entre le signal temporel et la loi de densite de probabilite. Pour celavous allez utiliser le script Matlab Pdf Ech.m qui se presente de la facon suivante :

Fig. 2.13 – Histogramme.

Vous pouvez agir sur quatre parametres :– la forme du signal sinusoıde a 1 Hz, triangle a 1 Hz, carre a 1 Hz, bruit gaussien,– la frequence d’echantillonnage du signal (Fe),– Le nombre de points que vous echantillonnes (N),– le nombre de classes pour calculer l’histogramme des amplitudes (B).

1. En imposant B = 10, Fe = 1000, N = 2000, observer la forme de l’histogramme pour chaquetype de signal (on utilisera le boutton reload dans le cas du bruit).

(a) Comment selon vous est calcule l’histogramme ?

(b) Pourquoi peut-on dire qu’il s’agit d’une loi de densite de probabilite ?

(c) Quel type de densite de probabilite associez-vous a chaque signal ?

(d) Que dire de l’histogramme dans le cas du signal aleatoire ?

Page 59: Signal

2.2. ECHANTILLONNAGE 49

2. On veut etudier l’influence de B (Fe et N etant constants), le nombre de classes de l’histo-gramme.

(a) B est impair. Comment evolue le graphe ?

(b) B est pair. Meme question ?

3. On veut etudier l’influence du nombre de points N (B = 16, Fe = constante).

(a) Quel doit etre la relation entre N et B pour que les histogrammes soient conformes a ceuxobtenus a la permiere question ?

(b) La frequence d’echantillonnage Fe doit-elle restee inchangee ? Si non comment la choisir ?

4. Quelles sont les influences de N , B, et Fe sur les statistiques des signaux ?

5. Ces considerations permettent de faire des choix sur certains elements de la chaıne d’acquisitionet traitement. Lesquels ?

2.2.3 Du signal analogique au signal numerique

Fig. 2.14 – Echantillonnage et quantification.

Dans cet maquette on se propose d’etudier les operateurs d’echantillonnage et de quantification enfonction de plusieurs signaux.Charger le modele Quantification.mdl, puis ouvrez la fenetre de parametrage en cliquant sur LoadData. Une fenetre supplementaire doit apparaıtre permettant de modifier la frequence d’echantillonnagede la chaıne et le nombre de bits de quantification.

Sur la feuille contenant le modele on voit que quatre types de signaux d’entree sont disponibles :– une sinusoıde de frequence 1 Hz,– une rampe periodique de periode 1 s,– un bruit dont la densite de probabilite est uniforme,– un bruit dont la densite de probabilite est gaussienne.La selection du signal s’effectue en indiquant le numero du signal dans le bloc input selector1, 2, 3, 4.

Page 60: Signal

50 CHAPITRE 2. TRAVAUX PRATIQUES DE THEORIE DU SIGNAL

La simulation peut etre lancee avec les reglages par defaut (Fe = 100 Hz, N = 3) pour le signal 2(rampe).

1. A quoi correspond la valeur affichee par Display ?

2. Qu’observe-t’on sur les differentes visualisations ?

3. Que conclure sur la quantification realisee ?

4. Comment l’ameliorer en terme de precision ?

5. Comment l’ameliorer en terme d’utilisation du nombre de bits ?

6. On considere le signal 1 (Fe = 100 Hz, N = 3). La quantification vous semble-t’elle correcte ?

7. Sur quoi doit on influer pour ameliorer la qualite du signal numerique ?

8. Que dire de l’echantillonnage des deux bruits ?

9. Quel est le lien entre le signal numerise, la frequence d’echantillonnage et le nombre de bitsalloues a la quantification ?

10. Que se passe-t-il si on decide d’appliquer le theoreme de Shannon ?

2.2.4 Un exemple de traitement numerique du signal

Fig. 2.15 – Exemple de correlation numerique.

Le modele etudie se nomme Correlation.mdl. La fenetre des parametres est affichee en cliquant surLoad Data (ne toucher pas aux valeurs predefinies, ca viendra plus tard). Si vous souhaiter afficherla derniere fonction de correlation calculee il vous suffit de cliquer sur Plot Correlation.

1. Expliciter le fonctionnement du montage et son objectif.

(a) Pourquoi doit-on employer des tampons (buffer) ?

(b) Apres le calcul de la correlation une estimation est effectuee. Laquelle ?

(c) Quelle est la precision de l’estimateur ?

(d) Pourquoi sur la fenetre scope 1 voit-on un echelon a l’instant t = 1 s ?

2. On change la taille des tampons de donnees 50, 100, 200, 300, 400.(a) Quelles sont les modifications sur l’estimee ?

(b) Quelle taille minimum nous fournit la meilleure estimation ?

Page 61: Signal

2.2. ECHANTILLONNAGE 51

3. On modifie la valeur du dephasage 20, 30, 40, 50.(a) Comment est le biais de l’estimateur ?

(b) Comment ameliorer l’estimation ?

4. Effectuer le reglage convenable des parametres pour obtenir une precision 10 fois plus grandesur l’estimation. Verifier.

5. On considere maintenant que le bruit a une influence 0.1, 1, 10.(a) Que dire de cette influence sur l’estimation ?

(b) Comment peux-t-on proceder pour ameliorer l’estimation ? (on rappelle que le signal per-turbateur est un bruit gaussien centre).

Page 62: Signal

52 CHAPITRE 2. TRAVAUX PRATIQUES DE THEORIE DU SIGNAL

2.3 Caracterisation de bruit et estimation

2.3.1 Bruit blanc

un bruit blanc b (ω, t) est un processus aleatoire centre (i.e. de moyenne nulle) qui a pour ca-racteristique d’etre parfaitement decorrele :

E b (ω, t) = µb (t) = 0E b (ω, t1) b? (ω, t2) = γb (t1, t2) = σ2

bδ (t2 − t1)

Dans notre cas, il est aussi stationnaire a l’ordre 2 puisque ses statistiques sont independantes del’origine des temps. En effet, la moyenne est une constante, la fonction de correlation depend d’untemps relatif.Le parametre σ2

b est appele puissance du bruit.La densite spectrale d’un tel processus est une constante egale a la puissance du bruit :

Γb (f) = Tf γb (τ) = σ2b

Ce bruit est dit blanc par analogie avec la composition de la lumiere blanche c-a-d., une compositionde toutes les composantes chromatiques avec une contribution identique.

2.3.1.1 Carcaterisation d’un bruit blanc

Au cours de ces experimentations nous allons generer des signaux reels, ces signaux sont dits pseudo-aleatoires. (Pensez a enregistrer toutes les commandes dans un script Matlab que vous joindrez avotre rapport).

Exercice 2.1 En consultant l’aide en ligne de Matlab sur les fonction rand et randn expliquerpourquoi le signal genere est qualifie de pseudo-aleatoire.

Exercice 2.2 A l’aide de la fonction rand et randn creez deux vecteurs aleatoires (Bu et Bn) dedimensions 1× 1000. Verifiez qualitativement la loi distribution de chaque signal grace a la fonctionhist.

Exercice 2.3 Generez les vecteurs Bucn et Bncn c’est-a-dire, les centrees normalisees de Bu etBn (cf. mean, norm).

Exercice 2.4 Determinez et visualisez Gucn et Gncn les fonctions d’autocorrelation biaisees devecteurs Bucn et Bncn (cf. xcorr).

Exercice 2.5 En considerant l’un des processus, expliquez la fonction d’autocorrelation que vousobtenez dans le cas de l’estimateur non-biaise.

Exercice 2.6 On vous fournit deux scripts Matlab permettant d’estimer la densite spectrale de puis-sance soit a partir de la fonction d’autocorrelation (dsp cor) soit directement (dsp dir). Visualisezet commentez les resultats.

Exercice 2.7 Discutez les resultats experimentaux que vous avez obtenus relativement a la definitiondu bruit blanc.

Exercice 2.8 Construire le signal y = Bncn + 0.1 et en estimer sa fonction de correlation. In-terpretez et justifiez les resultats obtenus.

Exercice 2.9 Construisez une fonction Matlab (que vous nomerez Bruit) permettant de genere unsignal aleatoire gaussien centre. La puissance ainsi que le nombre de points souhaites seront transmisen arguments de la fonction.

Page 63: Signal

2.3. CARACTERISATION DE BRUIT ET ESTIMATION 53

2.3.1.2 Debruitage d’un signal deterministe periodique

On a effectue la mesure d’un signal y (t) dont la composition resulte de la somme d’un signalperiodique x (t) et d’un bruit blanc gaussien b (t).

y (t) = x (t) + b (t)

– On considerera que x (t) =√

2 sin (2πF0t) avec F0 = 50 Hz.– L’observation y (t) est effectuee sur un nombre entier de periode disons N = 10.– Le signal est echantillonne a la frequence Fe de 1000 Hz (1000 points par seconde).Une approche simple du debruitage est de segmenter l’observation en N sequences que l’on moyennepoint a point afin d’estimer x. On pose bien sur l’hypothese que le bruit est stationnaire au moins al’ordre 1.

x (n) =1

N

N−1∑p=0

y

(n + p

Fe

F0

), 0 ≤ n <

Fe

F0

Exercice 2.10 Ecrire la fonction Signal permettant de generer la suite x. Elle acceptera trois argu-ments : F0 la frequence de la sinusoıde, Fe la frequence d’echantillonnage et N le nombre de periodea generer.

Exercice 2.11 Ecrire la fonction Per Estime correspondant a l’estimateur. Elle acceptera deuxarguments y, le vecteur a traiter et N le nombre de periode entiere qu’il comporte (cf. reshape,mean) .

Exercice 2.12 Verifier les performances de l’estimateur pour les valeurs de signal a bruit suivants :

SNR (dB) 40 5 1

SNR = 10 log10

(Ex

Eb

)

Procedure :

1. Creer x la suite a traiter et xr la suite de reference constituee d’une seule periode

2. Determiner la puissance du bruit correspondant a une des valeurs du tableau

3. Generer le bruit

4. Creer le signal bruite y

5. Calculer l’estimee x

6. Calculer le signal d’erreur xr − x et determiner l’influence sur le rapport signal a bruit.

2.3.2 Estimateurs

Dans ce probleme on supose que l’on veut estimer les parametres moyenne et variance d’une sourcede bruit. On vous fournit le modele suivant (estim.mdl) :Les parametres Fs et N seront saisis dans la fenetre de commande de Matlab.L’objet de cette manipulation est d’observer comment se comportent les estimateurs. Le modele dontvous disposez est constitue de trois estimateurs :– moyenne

µx =1

N

N∑

k=1

xk

Page 64: Signal

54 CHAPITRE 2. TRAVAUX PRATIQUES DE THEORIE DU SIGNAL

Fig. 2.16 – Etudes des estimateurs de la moyenne et de l’ecart-type.

– ecart-type non-biaise

σNBx =

√√√√ 1

N − 1

N∑

k=1

(xk − µx)2

– ecart-type biaise

σBx =

√√√√ 1

N

N∑

k=1

(xk − µx)2

ce qui permet d’extraire les deux parametres d’une source de bruit gaussien N (µx, σx).

Exercice 2.13 Verifier que l’estimateur σNBx (respectivement σB

x ) est non-biaise (biaise). Quellehypothese doit verifier le bruit pour que l’estimateur biaise devienne non-biaise ?

Exercice 2.14 Explicitez l’implantation et le fonctionnement des estimateurs (quelles sont les contraintesde traitement par exemple ?).

Exercice 2.15 Que peut-on dire de la ¿ stationnariteÀ a l’ordre 1 pour les tailles de buffer sui-vantes : N ∈ 10, 50, 100, 500, 1000, 4000 ?

Exercice 2.16 On agit maintenant sur le parametre de recouvrement du tampont (buffer overlap)en fixant sa valeur a N − 1. Quelles sont les modifications aux estimees pour les memes valeurs deN qu’a la question precedante ? Exprimer les nouvelles expressions de l’estimateur de la moyenne etde la variance.

Exercice 2.17 On considere maintenant le modele Simulink estim2.mdl. Il correspond a un trai-tement de detection d’alarmes (simulees ici par des impulsions) dans un signal fortement bruite. Onne veut par utiliser le fonction de correlation car elle est trop couteuse en calcul. On souhaite savoirsi il est possible de detecter les alarmes de maniere simple. Comment parametrer le modele ?Nota Bene Ces estimateurs sont d’un usage courant dans les applications industrielles car ils per-mettent de detecter des pannes ou des dysfonctionnements avec une faible complexite de calculs.

Page 65: Signal

Chapitre 3

Traitement numerique du signal

3.1 Transformee en Z

Cette transformee s’applique a des signaux discrets (ie. des suites). Elle offre la possibilite derepresenter dans un autre domaine une suite temporelle au meme titre que la transformee de Fouriertranspose le domaine temps continu en domaine frequences continue (t → f, x (t) → X (f)).

3.1.1 Definition

X (z) =+∞∑

n=−∞xnz−n z ∈ C (3.1)

Xk est appelee la transformee en z bilaterale de xn car n ∈ N. Dans le cas ou n ∈ Z, la transformeeest dite unilaterale restriction qui correspond aux signaux causaux.

xn = 0 pour n < 0 =⇒ X+ (z) =+∞∑n=0

xnz−n (3.2)

3.1.2 Conditions d’existence, domaine de convergence

Pour que la Tz existe, il faut nous assurer de la convergence de (3.1) (ou (3.2) pour les signauxcausaux). Nous savons que pour une serie de puissance la convergence est assuree si :

+∞∑n=0

un < +∞ =⇒ limn−→+∞

|un|1n < 1 (3.3)

Donc pour avoir convergence, il faut que chaque transformation unilaterale converge !

X (z) =−1∑

n=−∞xnz−n +

+∞∑n=0

xnz−n

X (z) = X− (z) + X+ (z)

Nous allons donc definir les deux rayons de convergences suivants :

55

Page 66: Signal

56 CHAPITRE 3. TRAITEMENT NUMERIQUE DU SIGNAL

X+ −→ limn−→+∞

∣∣xnz−n∣∣ 1

n = limn−→+∞

|xn|1n |z|−1 < 1 =⇒ |z| > lim

n−→+∞|xn|

1n = R− (3.4)

X− −→ limn−→+∞

|x−nzn| 1n = limn−→+∞

|x−n|1n |z| < 1 =⇒ |z| < 1

limn−→+∞ |xn|1n

= R+ (3.5)

Dans le cas d’une transformee bilaterale nous obtenons une couronne de convergence c’est-a-dire,que la Tz existe pour :R− < |z| < R+.Pour la transformee unilaterale nous disposons de l’interieur du rayon de convergence |z| > R−, soitun disque de convergence.

Re

Im

R+

R-

Exemple de couronne deconvergence.

Im

Re

R-

Exemple de disque deconvergence.

Exemple 3.1 xn = un l’echelon unite.

X (z) =+∞∑n=0

un z−n =+∞∑n=0

z−n =1

1− z−1

R− = limn−→+∞

|un|1n = 1 < | z|

Exemple 3.2 xn = an pour n ≥ 0 et |a| < 1

X (z) =+∞∑n=0

an z−n =+∞∑n=0

(az−1

)n=

1

1− az−1

R− = limn−→+∞

|an| 1n = |a| < | z|

Exemple 3.3 xn = an pour n ∈ N et |a| < 1

X (z) =−1∑

n=−∞an z−n +

+∞∑n=0

anz−n

R− = limn−→+∞

|an| 1n = |a| < | z|

R+ =

(lim

n−→+∞

∣∣a−n∣∣ 1

n

)−1

= |a| > | z|

Dans ce dernier exemple, la Tz n’existe pas car il n’y a pas de couronne de convergence (|a| < | z| <|a|).

Page 67: Signal

3.1. TRANSFORMEE EN Z 57

3.1.3 Proprietes

– linearite :yn = α xn + β wn −→ Y (z) = α X (z) + β W (z),– retard :yn = xn−p −→ Y (z) = X (z) z−p

– convolution :yn =∑

m xn−m hm −→ Y (z) = X (z) H (z)– valeur initiale :x0 = limz→+∞ X (z)– valeur finale :x+∞ = limz→1 (z− 1) X (z)

3.1.4 Transformee inverse.

xn∆=

1

j2π

Γ

zm−1 X (z) dz (3.6)

Γ est le contour ferme contenant tous les poles de X (z) ainsi que l’origine. Cependant, on peuts’epargner le calcul d’une integrale dans le plan complexe en utilisant une des methodes indirectessuivantes :– developpement en serie de Laurent,

Soit X (z) = 11−ρz−1 , ρ > 0 et | z| > ρ, on peut ecrire X (z) =

∑+∞n=0 (ρz−1)

n=

∑+∞n=0 ρn z−n ⇒ xn =

ρn n ≥ 0– division polynomiale,

– X (z) = 11−ρz−1 , | z| > ρ

1 1 −ρz−1

1 −ρz−1 1 +ρz−1 +ρ2z−2 + · · ·ρz−1

ρz−1 −ρ2z−2

ρ2z−2

X (z) =∑+∞

n=0 ρn z−n ⇒

xn = ρn

n ≥ 0

– X (z) = 11−ρz−1 , | z| < ρ

1 −ρz−1 11 −ρz−1 −ρ−1z −ρ−2z2 −ρ−3z3 + · · ·

ρz−1

ρz−1 −ρ2z−2

ρ2z−2

X (z) =∑+∞

n=1−ρ−n zn

=∑−1

n=−∞−ρn z−n ⇒

xn = −ρn

n < 0

Il faut connaıtre le domaine de convergence pour determiner la ¿ vraie À sequence originale.– decomposition en elements simples. Il est important de connaıtre le domaine de convergence de

chaque element simple.

H (z) =1

(1− az−1) (1− bz−1)

1− az−1+

β

1− bz−1

On identifie les constantes de decomposition :

α =(1− az−1

)H (z)

∣∣z=a

=a

a− b

β =(1− bz−1

)H (z)

∣∣z=b

= − b

a− b

– | z| > a et | z| > b ⇒ xn = aa−b

an un − ba−b

bn un

– | z| > a et | z| < b ⇒ xn = aa−b

an un + ba−b

bn u−1−n

Page 68: Signal

58 CHAPITRE 3. TRAITEMENT NUMERIQUE DU SIGNAL

3.1.5 Systeme lineaire discret invariant dans le temps

Un systeme lineaire discret invariant dans le temps (Slit ) est carterise par une equation de convo-lution faisant intervenir la reponse impulsionnelle hn du systeme ainsi que l’entree xn appliquee.

yn =∑m

xmhn−m (3.7)

yn ≡ (x ? h)n

Un Slit est stable si pour toute entree bornee en amplitude la sortie est bornee (Ebsb ). Un conditionnecessaire et suffisante de stabilite est :

∑n

|hn| < +∞

3.2 Transformee de Fourier discrete

Pour une suite periodique x dont le motif est defini sur 0 ≤ n < N la transformee de Fourierdiscrete (Tfd) est definie par :

Xk =N−1∑n=0

xn exp

(−j2π

nk

N

)=

N−1∑n=0

xn W nkN , 0 ≤ k < N

W nkN = exp

(j2π

nk

N

)

La transformee inverse s’exprime de la facon suivante :

xn =1

N

N−1∑

k=0

XkWnkN

Remarque 3.1 On peut remarquer qu’un suite definie sur N points est obtenue par le fenetraged’une suite a support infini par une porte rectangulaire discrete de mesure N .

3.2.1 Proprietes

– Linearite :yn = α.xn + β.wn =⇒ Yk = α.Xk + β.Wk

– Retard :yn = xn−p =⇒ Yk = W pkN Xk

– Symetrie temporelle :yn = xN−1−n =⇒ Yk = W pkN Xk

– Symetrie spectrale :XN−k = Xk

– Egalite de Parseval :∑N−1

k=0 |Xk|2 = N∑N−1

n=0 |xn|2

3.2.2 Dualite temps-frequence de l’echantillonnage

Domaine temporel Domaine frequentiel Tf Tf inversesignal continu spectre continu

∫x (t) exp (−j2πft) dt

∫X (f) exp (j2πft) df

signal continu periodique spectre discret 1T

∫[T0]

x (t) exp(−j2πk t

T0

)dt

∑k Xk exp

(j2πk t

T0

)

signal discret spectre continu periodique∑

n xn exp(−2πn f

Fe

)Te

∫[Fe]

X (f) exp(j2πk f

T0

)df

signal discret periodique spectre discret periodique∑

n∈[N ] xn exp(−2π nk

Fe

)1N

∑k∈[N ] Xk exp

(2π nk

Fe

)

Page 69: Signal

3.3. FILTRAGE NUMERIQUE 59

3.3 Filtrage numerique

3.3.1 Filtre a reponse impulsionnelle infinie (Rii)

3.3.1.1 Definitions

– Equations aux differences :

yn =N∑

k=1

ak yn−k +M∑

m=P

bm xn−m

– Fonction de transfert :

H (z) =

∑Mm=P bm z−m

1−∑Nk=1 ak z−k

– La recurrence en y fait apparaıtre des poles dans l’expression de la fonction de transfert, il y adonc un risque que le filtre soit instable.

La synthese d’un filtre Rif peut etre effectuee selon deux methodes differentes. La premiere consistea determiner les coefficients ak , bm en utilisant une approche d’optimisation sous contrainte(methode directe). La seconde methode (dite indirecte) exploite la transposition du gabarit numeriqueen un gabarit analogique permettant ainsi la resolution suivant les outils de syntheses des filtresanalogiques. C’est par cette derniere que nous allons commencer.

3.3.1.2 Methodes de synthese indirecte

Gabarit dufiltre

numérique

Gabarit dufiltre

numériqueT : z→pT : z→p

T-1 : p→zT-1 : p→z

Résolution parméthodesclassiques

Résolution parméthodesclassiques

Fonction detransfert en p

Fonction detransfert en p

Filtrenumérique

Filtrenumérique

Transforméebilinénaire

Transforméebilinénaire

La synthese d’un filtre numerique s’effectue en etablissant le gabarit dans le domaine discret. Puispar la transformation bilineaire, on transpose le gabarit numerique en un gabarit analogique que l’onresoud par les methodes classiques (cf. cours de synthese des filtres analogiques). La solution est ensuite ramenee dans le domaine numerique par transformation inverse.

3.3.1.3 Transformation bilineaire

Cette transformation permet de transposer le domaine discret en un domaine analogique :

p = k1− z−1

1 + z−1(3.8)

z =k + p

k − p(3.9)

Page 70: Signal

60 CHAPITRE 3. TRAITEMENT NUMERIQUE DU SIGNAL

ou k est un facteur d’echelle (c’est notre seul degre de liberte).En posant que z decrit le cercle de rayon unite dans le plan complexe on montre que l’equation (3.8)devient :

z = exp (jω) =⇒p = j.k. tan

2

)

= j.Ω avec Ω = k. tan(ω

2

)

ωπ

−π

Ω

π/2

k

– Transposition du cercle de rayon unite

Im

Re

1

Im

Re

1. est non-lineaire

2. le facteur d’echelle est sans importance sur H (z)

k1 k2

π/2Ω

ω

3.3.1.4 Transposition de gabarit

Il est tres simple pour nous de synthetiser un filtre passe-bas. Il est en revanche plus complexe detrouver directement un filtre correspondant a un passe-haut, un passe-bas, un passe-bande ou uncoupe-bande. Il est interessant pour determiner un filtre solution de

Page 71: Signal

3.3. FILTRAGE NUMERIQUE 61

Filtre Passe-basprototype

θp

Filtre Passe-basprototype

θp

Filtre transposéω1,ω2

Filtre transposéω1,ω2

Z-1=f(z-1)

1. Passe-bas −→ passe-bas

Z−1 =z−1 − α

1− α z−1, α =

sin(

θp−ω1

2

)

sin(

θp+ω1

2

)

2. Passe-bas −→ passe-haut

Z−1 =z−1 + α

1 + α z−1, α =

sin(

θp+ω1

2

)

sin(

θp−ω1

2

)

3. Passe-bas −→ passe-bande

Z−1 = −z−2 − 2α

β+1z−1 + 1−β

1+β

1−β1+β

z−2 − 2αβ+1

z−1 + 1, α =

cos(

ω1+ω2

2

)

cos(

ω2−ω1

2

) , β =tan

(θp

2

)

tan(

ω2−ω1

2

)

4. Passe-bas −→ coupe-bande

Z−1 =z−2 − 2α

β+1z−1 + 1−β

1+β

1−β1+β

z−2 − 2αβ+1

z−1 + 1, α =

cos(

ω1+ω2

2

)

cos(

ω2−ω1

2

) , β =tan

(θp

2

)

tan(

ω2−ω1

2

)

3.3.2 Filtre a reponse impulsionnelle finie (Rif)

3.3.2.1 Definitions

H (z) =N−1∑n=P

hnz−n

– Appellations :filtre non-recursif, Rif– Causalite :P = 0– Stabilite :toujours vraie– Phase :lineaire si les coefficients sont symetriques (hn = hN−1−n)

3.3.2.2 Synthese par la methode des fenetres :echantillonnage temporel

Réponsefréquentielle

idéaleSynthèse Échantillonnage Troncature

– Avantage :simple a utiliser– Inconvenients :

– pas de gabarit– pas d’a priori sur le choix de la fenetre– resultat sous-optimal (au sens de l’ordre)

Page 72: Signal

62 CHAPITRE 3. TRAITEMENT NUMERIQUE DU SIGNAL

3.3.2.3 Synthese par la methode des fenetres :echantillonnage frequentiel

Réponsefréquentielle

idéaleSynthèseÉchantillonnage

Un probleme de repliement peu subvenir si l’echantillonnage est mal choisi.

3.3.2.4 Exemple de synthese

A

F-1

0

0

0

F (kHz)

ω=2πf/Fe

Ω

9 dB

3 dB

B

Ωc Ωa

3 4

π/4 π/3

Fig. 3.1 – Synthese d’un Rif par gabarit.

– Donnees numeriques– filtre passe-bas, famille de Tchebycheff– frequence d’echantillonnage Fe = 24 kHz– frequence de coupure Fc = 3 kHz– Attenuation dans la bande passante Amax = 3 dB– frequence de coupure Fa = 4 kHz– Attenuation dans la bande passante Amin = 9 dB

1. Choix de k definissant le filtre passe-bas analogique normalise

|H (Ω)|2 =1

1 + ε2T 2n (Ω)

En s’imposant que la pulsation de coupure Ωc soit egale a 1 on trouve que ε = 1. Ce qui entraıneque :

k =Ωc

tan(

ωc

2

) =1

tan(

π8

) ' 2.414

Ωa = k. tan(ωa

2

)=

tan(

π6

)

tan(

π8

) ' 1.394

2. Le filtre analogique se determine a partir des abaques correspondant a la famille de Tcheby-

cheff avec le jeu de parametres

Amax = 3 dB, Ωa

Ωc= 1.394, Amin = 9 dB

. Nous obtenons

que l’ordre du prototype analogique est de 2 et l’expression de la fonction de transfert est :

H (p) =1

2

1

p2 + 0.6449p + 0.708

Page 73: Signal

3.4. ANALYSE SPECTRALE NON-PARAMETRIQUE 63

3. Il nous faut maintenant revenir dans le domaine discret en transposant les p en z.

p = k1− z−1

1 + z−1

H (z) =1 + 2 z−1 + z−2

16.18− 20.48 z−1 + 9.957 z−2

4. Exprimons enfin l’equation aux differences :

yn =1

16.18(20.48 yn−1 − 9.957 yn−2 + xn + 2xn−1 + xn−2)

3.4 Analyse spectrale non-parametrique

3.4.1 Estimateur de la fonction de correlation

On deduit les estimateurs par discretisation des estimateurs a temps continu de la fonction decorrelation (cf. cours de theorie du signal).– estimateur non-biaise

γNBx [l] =

1

N − |l|N−1−|l|∑

n=0

xn.xn−l (3.10)

– estimateur biaise

γBx [l] =

1

N

N−1−|l|∑n=0

xn.xn−l (3.11)

3.4.2 Estimation de la densite spectrale de puissance (Dsp)

Par definition, la Dsp est la transformee de Fourier de la fonction de correlation. Ne disposantque de deux estimees (3.10,3.11) de la fonction de correlation on peut chercher a connaıtre celle quiestime le mieux la densite spectrale de puissance. On montre alors que seul l’estimateur biaise de lacorrelation fournit un resultat viable.

Υx [k] = Tf[γB

x [l]]

(3.12)

Cependant, on peut s’epargner le calcul de l’estimee de la correlation en utilisant le theoreme deWiener-Kintchine :

Υx [k] = limN−→+∞

E

1

N

∣∣∣∣∣N−1∑n=0

xn.W nkN

∣∣∣∣∣

2 (3.13)

qui nous fournit l’estimateur dit du periodogramme :

Πx [k] =1

N

∣∣∣∣∣N−1∑n=0

xn.W nkN

∣∣∣∣∣

2

(3.14)

On peut montrer que cet estimateur est asymptotiquement biaise.On obtient la densite spectrale de puissance definie sur l’intervalle

[−12, +1

2

[(ou encore [−1, +1[

suivant les auteurs) correspondant a des frequences reduites : fFe2

(respectivement fFe

). La fonction

obtenue est paire grace a la propriete de symetrie spectrale, on pourra donc se limiter a la moitie del’intervalle.

Page 74: Signal

64 CHAPITRE 3. TRAITEMENT NUMERIQUE DU SIGNAL

20 40 60 80 100 120

-3

-2

-1

0

1

2

3

Temps

Am

plitu

de

Signal original

Signal original.

-0.5 0 0.50

5

10

15

20

25

30

35

40

Fréquences réduites

Pui

ssan

ce

Dsp estimee.

-0.5 0 0.5-40

-30

-20

-10

0

10

20

Fréquences réduites

Pui

ssa

nce

dB

Dsp en decibels.

3.4.3 Ameliorations possibles

Une technique simple d’amelioration est le zero-padding qui consiste a ajouter des 0 a la sequencea analyser. Les algorithmes de calcul rapides de la transformee de Fourier etant concus pour dessequences dont la longueur est en puissance de 2, nous pouvons rajouter des valeurs nulles jusqu’aatteindre une longueur compatible.

yn =

xn 0 ≤ n < N0 N ≤ n < 2N

Yk =2N−1∑n=0

yn.W nk2N

=N−1∑n=0

xn.Wnk2

N = X k2

50 100 150 200 250

-3

-2

-1

0

1

2

3

Temps

Am

plitu

de

Signal complété

On ajoute des 0.

0 0.1 0.2 0.3 0.4 0.5-20

-15

-10

-5

0

5

10

15

20

Fréquences réduites

Pui

ssa

nce

dB

Périodogramme brut en dB

Dsp sans ajout de 0.

0 0.1 0.2 0.3 0.4 0.5-25

-20

-15

-10

-5

0

5

10

15

Fréquences réduites

Pui

ssa

nce

dB

Dsp avec ajout de 0.

Les autres ameliorations que l’on peut effectuer se font bien sur au detriment d’un parametre (tempsde calcul, precision). On peut toutefois envisager les deux ameliorations suivantes :– Moyennage de periodogrammes

On subdivise la sequence a analyser en Q segments (avec ou sans recouvrement) que l’on moyenne.Si un signal stationnaire est present noye dans du bruit, le moyennage affectera que le bruit.

Πmx [k] =

1

Q

Q−1∑q=0

Π(q)x [k] (3.15)

– Fenetrage temporel des donneesUn des problemes de l’analyse spectrale par le periodogramme est que les donnees ne sont pas obli-gatoirement stationnaires en raison de la restriction du nombre de points. En effet, cette troncature

Page 75: Signal

3.4. ANALYSE SPECTRALE NON-PARAMETRIQUE 65

introduit des discontinuites aux bords de la sequence perturbant l’estimation des phenomenes sta-tionnaires. Pour limiter ces effets de bords il nous est possible de ponderer la sequence par unefenetre de lissage (la fenetre de troncature est la fenetre rectangulaire soit une fenetre discontinue !).Les fenetres que l’on peut employer sont :Hanning, Hamming, Blackman,. . . L’utilisation de cesfenetres a pour consequence dans le domaine temporel de reduire les effets de bords et dans le do-maine frequentiel de reduire la precision. Le choix d’une fenetre se fera donc suivant un compromisprecision/lissage.

Πx [k] =1

N

∣∣∣∣∣N−1∑n=0

(xn.wn) .W nkN

∣∣∣∣∣

2

(3.16)

– Rectangulaire

20 40 60 80 100 1200

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 0.1 0.2 0.3 0.4 0.5-250

-200

-150

-100

-50

0

Fréquences réduites

Pui

ssa

nce

dB

– Hanning

w (t) =1

2

(1− cos

(2π

t

τ

)), |t| ≤ τ

2

wn =1

2

(1− cos

(2π

(2n + 1

2N− 1

2

))), 0 ≤ n < N

20 40 60 80 100 1200

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 0.1 0.2 0.3 0.4 0.5-250

-200

-150

-100

-50

0

Fréquences réduites

Pui

ssa

nce

dB

– Hamming

w (t) = 0.54− 0.46 cos

(2π

t

τ

), |t| ≤ τ

2

wn = 0.54− 0.46 cos

(2π

(2n + 1

2N− 1

2

)), 0 ≤ n < N

Page 76: Signal

66 CHAPITRE 3. TRAITEMENT NUMERIQUE DU SIGNAL

20 40 60 80 100 1200

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 0.1 0.2 0.3 0.4 0.5-250

-200

-150

-100

-50

0

Fréquences réduites

Pui

ssa

nce

dB

– Blackman

w (t) = 0.42− 0.5 cos

(2π

t

τ

)+ 0.08 cos

(4π

t

τ

), |t| ≤ τ

2

wn = 0.42− 0.5 cos

(2π

(2n + 1

2N− 1

2

))+ 0.08 cos

(4π

(2n + 1

2N− 1

2

)), 0 ≤ n < N

20 40 60 80 100 1200

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 0.1 0.2 0.3 0.4 0.5-250

-200

-150

-100

-50

0

Fréquences réduites

Pui

ssa

nce

dB

Remarque 3.2 Si on veut que la fenetre ne modifie pas l’estimation de la Dsp il faut la normaliseravant de l’utiliser :wn = wn

‖wn‖ .

20 40 60 80 100 120

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

Temps

Am

plit

ude

Signal original

Le signal original tronque.

0 0.1 0.2 0.3 0.4 0.5-25

-20

-15

-10

-5

0

5

10

15

Fréquences réduites

Pui

ssa

nce

dB

Dsp du signal original.

Page 77: Signal

3.4. ANALYSE SPECTRALE NON-PARAMETRIQUE 67

20 40 60 80 100 120

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

Temps

Am

plit

ude

Signal original

Signal fenetre avec Hanning.

0 0.1 0.2 0.3 0.4 0.5-140

-120

-100

-80

-60

-40

-20

0

20

Fréquences réduites

Pui

ssa

nce

dB

Dsp du signal fenetre.

Page 78: Signal

68 CHAPITRE 3. TRAITEMENT NUMERIQUE DU SIGNAL

3.5 Travaux diriges de Traitement du Signal

3.5.1 Echantillonnage et filtrage

3.5.1.1 Echantillonnage parfait

Soit une fonction continue xa (t). Sa transformee de Fourier asupport borne [−F . . . + F ] est representee ci-contre. On prendraF = 5 kHz.

On echantillonne xa (t) avec la frequence d’echantillonnage Fe =9F . L’echantillonnage est suppose parfait. On appelle xae (t) le si-gnal obtenu.

A

f+F-F

X (f)a

Transformee de Fourier du signal

analogique.

1. Exprimer Xae (f), la transformee de Fourier de xae (t), en fonction de Xa (f).

2. Representer graphiquement Xae (f) sur l’intervalle [−30F . . . + 30F ].

3.5.1.2 Echantillonnage reel

L’echantillonnage reel peut etre modelise par :

– soit par un echantillonnage parfait suivi d’une convolution avec un signal continu h (t),– soit par le produit d’un signal continu avec une fonction periodique v (t).

Pour la premiere modelisation, le signal echantillonne reel est modelise par la fonction x1 (t).

Pour la seconde modelisation, le signal echantillonne reel est modelise par la fonction x2 (t).

1. Representer la fonction h (t) permettant d’obtenir x1 (t) a partir de xae (t).

2. Representer le module de la transformee de Fourier X1 (f) pour la valeur θ = Te

3.

3. Meme question pour θ = Te (cas d’un echantillonneur bloqueur).

4. Representer le module de la transformee de Fourier V (f) pour la valeur θ = Te

3.

5. Reprendre les question 2 a 4 pour le signal x2 (t).

3.5.1.3 Filtres non invariants

On definit xn = x (nTe).On fait passer la sequence xn dans un filtre sur-echantillonneur1 E de sortie wn defini par la relationw3n = xn et wn = 0 si n n’est pas multiple de 3.

1. Ce filtre est-il stable, lineaire, invariant par translation ?

On fait passer la sequence xn dans un filtre compresseur 2 C de sortie yn defini par la relationyn = x3n.

3. Ce filtre est-il stable, lineaire, invariant par translation ?

4. Representer Y (ν) la transformee de Fourier de yn pour ν ∈ [0 . . . 1].

1appele aussi interpolateur2appele aussi decimateur d’ordre M , dans notre exercice M = 3

Page 79: Signal

3.5. TRAVAUX DIRIGES DE TRAITEMENT DU SIGNAL 69

3.5.1.4 Sous-echantillonnage

Le signal analogique xa (t) module en amplitude une porteuse sinusoıdale de frequence f0 = 110 kHz.On desire transmettre le signal module en amplitude en l’echantillonnant et en transmettant lesechantillons sous forme numerique.

1. En appliquant le theoreme de Shannon, trouver le nombre minimal d’echantillons a trans-mettre par seconde.

2. On echantillonne en fait le signal module en amplitude avec la frequence Fe = 40 kHz.

(a) Dessiner l’allure du spectre du signal echantillonne parfait entre 0 et 120 kHz.

(b) Qu’obtient-on en filtrant ce signal echantillonne parfait avec un filtre dont la bande pas-sante s’etend de 105 a 115 kHz ?

3. Qu’obtiendrait-on en filtrant le signal echantillonne parfait avec un filtre cardinal de frequencede coupure 20 kHz ?

4. Conclure sur l’interet de cette methode. Discuter les problemes lies aux imperfections del’echantillonnage (stabilite de la frequence d’echantillonnage).

Page 80: Signal

70 CHAPITRE 3. TRAITEMENT NUMERIQUE DU SIGNAL

3.5.2 Synthese des filtres numeriques

3.5.2.1 Filtre recursif du premier ordre

Soit la fraction rationnelle h (z) = 11−az−1 .

Cette fonction de la variable complexe z est la transformee en Z de deux sequences, h1 [n] causale eth2 [n] non causale.

1. Calculer h1 [n] et h2 [n] et preciser les domaines de convergence.

2. h1 [n] et h2 [n] sont les reponses impulsionnelles de deux filtres appeles respectivement F1 etF2. Ecrire les equations aux differences de ces deux filtres.

3. On suppose |a| < 1.

(a) Ecrire l’expression de la reponse en frequence H1 (ν) du filtre F1.

(b) Que peut-on dire de la reponse du filtre F2 ?

4. Application numerique : a = 0.5.

(a) Tracer l’allure de la reponse en frequence H1 (ν) sur l’intervalle[−1

2, +1

2

].

(b) Representer le diagramme des poles et des zeros du filtre F1.

(c) Quelle fonction realise-t-il ?

3.5.2.2 Synthese des filtres RII par invariance d’une reponse temporelle

1. Soit le filtre analogique de fonction de transfert : ha (p) = 11+τp

ou τ = 0.5 s.

Calculer sa reponse impulsionnelle ha (t) et sa reponse indicielle va (t).

2. On echantillonne h (t) avec une periode Te = τ. log (2). On obtient une sequence h (nTe).

(a) Ecrire la fonction de transfert H1 (z) d’un filtre echantillonne dont la reponse impulsion-nelle h1 [n] est egale a ha (nTe). (Cette approche est appelee methode de l’invarianceimpulsionnelle).

(b) Donner son equation aux differences.

(c) Calculer sa reponse indicielle v1 [n] et tracer sa reponse en frequence.

(a) Comparer a celle du filtre analogique de depart.

3. On echantillonne v (t) avec une periode Te = τ. log (2). On obtient une sequence v (nTe).

(a) Ecrire la fonction de transfert H2 (z) d’un filtre echantillonne dont la reponse indiciellev2 [n] est egale a v (nTe). (Cette approche est appelee methode de l’invariance indi-cielle).

(b) Calculer sa reponse impulsionnelle h2 [n] et tracer sa reponse en frequence.

(c) Comparer a celle du filtre analogique de depart.

4. On considere une fonction de transfert h (p) ne comportant que des poles simples (donc qui semet sous forme d’une somme d’elements simples du premier ordre).

(a) Montrer que la methode de l’invariance impulsionnelle transforme les poles (mais pas leszeros) selon la relation z = Φ (p) (ceci reste vrai pour des poles multiples, pour lesquels lademonstration est lourde).

(b) Quelle est l’image de la droite p = jΩ dans le plan en z par cette transformation Φ.

Page 81: Signal

3.5. TRAVAUX DIRIGES DE TRAITEMENT DU SIGNAL 71

(c) Comment se transforme le demi-plan gauche du plan de Laplace dans le plan en Z ?

(d) Conclure sur l’interet de cette methode de synthese en ce qui concerne la stabilite du filtrenumerique obtenu.

5. On desire realiser un filtre numerique recursif du premier ordre, de type passe-bas, avec unefrequence de coupure fc a −3 dB et une frequence d’echantillonnage Fe. On decide pour celad’appliquer la methode de l’invariance indicielle sur le filtre h (p). On pose Te = τ log

(1α

)avec

0 < α < 1. (α voisin de 1 correspond a un echantillonnage de v (t) a frequence elevee, α voisinde 0 correspond a une frequence d’echantillonnage Fe faible). On pose νc = fc

Fe.

(a) Ecrire la relation qui lie cos (2πν1) et α sous la forme cos (2πν1) = g (α), et tracer l’allurede g (α).

(b) En deduire qu’il existe une limite superieure pour le choix de la position de fc par rapporta Fe.

6. Conclure sur les methodes de synthese par invariance, dans l’optique de fabriquer un filtre atemps discret dont le gain satisfait a un gabarit en frequence defini par une bande passante etune bande attenuee.

3.5.2.3 Synthese de filtre recursif par la transformation bilineaire

La transformation bilineaire est definie par : p = k 1−z−1

1+z−1 ou z = k+pk−p

.

1. Montrer que la transformation bilineaire fait correspondre la droite p = jΩ et le cercle de rayonunite z = exp (j2πν).

(a) En deduire la relation liant Ω et ν.

(b) Montrer que si h (p) est un filtre analogique stable, H (z) obtenu par transformationbilineaire est aussi un filtre stable.

2. On desire fabriquer un filtre a temps discret passe-bas, destine a fonctionner a une frequenced’echantillonnage de 8 kHz. le gabarit de ce filtre est illustre Fig. 3.2.

A (dB)

0

3

18

f (kHz)0,8 1,48

Fig. 3.2 – Allure du gabarit a synthetiser.

(a) Normaliser le gabarit (c-a-d. representer le gain en fonction de ν dans l’intervalle [0..1]).

(b) En utilisant la relation liant Ω et ν, construire le gabarit associe pour le filtre a tempscontinu. On choisira une valeur de k qui donne un gabarit analogique normalise.

(c) Synthetiser le filtre analogique sous la forme d’un filtre de Butterworth, et en deduirele filtre numerique recherche. (Les coefficients normalises se trouvent dans le polycopie desynthese des circuits de filtrage).

Page 82: Signal

72 CHAPITRE 3. TRAITEMENT NUMERIQUE DU SIGNAL

3.5.3 TFD et analyse spectrale

3.5.3.1 TFD et interpolation

Soit une sequence xn de longueur N et sa Tfd sur N points notee XN [k]. On va fabriquer plusieurssequences de longueur 2N a partir de xn et etudier leurs Tfd.

Les demonstrations seront faites pour un ordre N quelconque. On pourra ensuite, pour aider lacomprehension des resultats, les appliquer a la sequence particuliere de longueur 8 illustree Fig.(4.20).

0 1 2 3 4 5 6 70

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Indices temporels

Sequence test.

0 1 2 3 4 5 6 70

0.5

1

1.5

2

2.5

3

3.5

4

Indices fréquentiels

Tfd de la sequence test.

Fig. 3.3 – Allures de la sequence et de sa Tfd.

1. On construit la suite yn par concatenation :

yn = xn + xn−N n ∈ [0, 2N [

Exprimer Y2N [l] la Tfd d’ordre 2N de yn en fonction de XN [k].

L’indice frequentiel l de Y2N [l] est defini sur [0, 2N [.

2. On construit la suite vn par ajout de 0 :

vn =

xn n ∈ [0, N [0 n ∈ [N, 2N [

Exprimer V2N [l] la Tfd d’ordre 2N de vn en fonction de XN [k].

3. On construit la suite wn par interpolation d’ordre 0 :

wn =

xn

2pour n = 2m

0 pour n = 2m + 1m ∈ [0, N [

Exprimer W2N [k] la Tfd d’ordre 2N de wn en fonction de XN [k].

4. Comparer les resultats des questions 1 et 3, et montrer qu’ils peuvent se deduire l’un de l’autrepar dualite.

Comparer egalement ces resultats a ceux trouves dans le TD sur l’echantillonnage lors de l’etudedu filtre sur-echantillonneur (exercice ¿Filtres non invariantsÀ, cf. 3.5.1.3).

Page 83: Signal

3.5. TRAVAUX DIRIGES DE TRAITEMENT DU SIGNAL 73

3.5.3.2 TFD et analyse spectrale

1. On echantillonne un signal xa (t) a la frequence Fe = 8, 192 kHz pendant un temps T . On obtientN echantillons. Quelle doit etre la valeur de T pour que le spectre calcule par Tfd calcule surl’ensemble des echantillons comporte une raie par Hertz.

2. Le signal xa (t) est une sinusoıde pure de frequence f1 = 1 kHz et d’amplitude A = 3. Onconsidere l’echantillonnage ideal theorique de ce signal et on appelle x [n] la sequence sinusoıdalede longueur infinie ainsi obtenue. Representer la densite spectrale de puissance Γx (ν) de cettesequence.

En realite, apres echantillonnage pendant la duree T et conversion numerique, la sequence y [n]obtenue est de longueur finie egale a N . La Dsp est estimee par un periodogramme d’ordre N , avecune fenetre rectangulaire.

1. Representer l’allure de la transformee de Fourier X (ν) de la sequence y [n]. En deduire lesraies donnees par le periodogramme sur un voisinage de f1 sachant que celui-ci est calcule al’aide d’une Tfd d’ordre N . On precisera les positions et les amplitudes exactes de ces raies.

2. L’amplitude A restant constante, la frequence du signal xa (t) est modifiee pour passer a f2 =1, 0005 kHz. Representer alors l’allure des raies donnees par le periodogramme sur le memevoisinage de frequence que precedemment.

Page 84: Signal

74 CHAPITRE 3. TRAITEMENT NUMERIQUE DU SIGNAL

Page 85: Signal

Chapitre 4

Travaux Pratiques de TraitementNumerique du Signal

4.1 Analyse spectrale

4.1.1 Echantillonage et transformee de Fourier.

On considere le signal suivant :

y (t) = sin (2π100t) + sin (2π50t) .

1. Determiner la frequence d’echantillonnage Fe theorique.

2. Visualiser le signal y(t) ainsi que sa densite spectrale de puissance en constituant le modeleSimulink approprie.

3. Que se passe-t-il si au lieu de prendre la frequence Fe on choisit Fe/2 ?

Source1

Source2

ΣAnalyse

spectrale

VisuT

VisuF

Fig. 4.1 – Validation du theoreme de l’echantillonnage.

La densite spectrale de puissance sera estimee en utilisant le bloc Periodogramme avec une visua-lisation adaptee.

4.1.2 Etude comparative des fenetres de ponderation

Visualiser sous Simulink dans les domaines temporels et frequentiels les fenetres de troncaturesuivantes :– rectangulaire (boxcar)– hanning

75

Page 86: Signal

76 CHAPITRE 4. TRAVAUX PRATIQUES DE TRAITEMENT NUMERIQUE DU SIGNAL

– blackman

Les fenetres seront synthetisees sur un nombre de points egal a 100.

NB : il ne faut pas oublier de normaliser les fenetres etudiees pour pouvoir mieux comparer lesresultats.

Générateur defenêtres

Zeropadding

FFTTroncature

N/2Visu

T

VisuF

Fig. 4.2 – Etude des fenetres.

Generer le signal suivant :

y (t) = sin (2π50t) + 0.1 sin (2π25t) .

Effectuer l’analyse spectrale du signal avec les parametres suivants :

– frequence d’echantillonnage : 1000 Hz,– nombre de points : 100,– fenetres de ponderation suscitees.

Rem : On utilisera a bon escient le bloc Periodogramme.

Interpreter les resultats obtenus.

Generer le signal suivant :

y (t) = sin (2π50t) + 0.1 sin (2π43t) .

5.En utilisant les memes parametres qu’a la question 2, determiner la fenetre de ponderation per-mettant d’obtenir la meilleure analyse en frequence.

6.Conclure sur l’utilisation des fenetres de ponderation en analyse spectrale.

4.1.3 Transformee de Fourier a court-terme

On vous fournit les fichiers de donnees parole8b.wav parole16b.wav contenant des signaux deparole echantillonne a 8 kHz/8 bits et 11025 Hz/16 bits. Afficher le spectrogrammes de ces signaux.Comment en effectuez-vous en l’interpretation ?

(cf la fonction specgram).

4.1.4 Modelisation autoregressive.

On cherche a comparer l’analyse spectrale par modele AR et par periodiogramme.

Fig. 4.3 – Comparaison de methodes d’analyse spectrale.

Page 87: Signal

4.1. ANALYSE SPECTRALE 77

Le signal d’entree est la composition d’une sinusoıde de frequence 1 Hz d’amplitude 10 et d’un bruitgaussien de moyenne nulle et de variance 0,1.

La dimension du buffer est de 64 avec une frequence d’echantillonnage de 32 Hz.

On considerera le bloc LPC qui effectue l’estimation d’un modele AR a partir d’un vecteur d’entree,il suffira de fournir l’ordre desire comme parametre.Les blocs zero pad seront configures de telle facon que la comparaison soit valide.On visualisera les spectres sur l’intervalle [0, Fe/2].1.Observer le comportement de la modelisation pour les ordres 1, 2, 4, 5, 8. Quel est le meilleurordre ?2.Que dire du periodogramme ?

Page 88: Signal

78 CHAPITRE 4. TRAVAUX PRATIQUES DE TRAITEMENT NUMERIQUE DU SIGNAL

4.2 Filtrage numerique

Un filtre est un systeme qui realise une selection en frequence des signaux qui lui sont injectes.La fonction de transfert du systeme indique l’attenuation et le dephasage applique aux differentescomposantes frequentielles du signal d’entree. La fonction de transfert peut s’ecrire sous la forme :

Le filtre peut etre caracterise par :– sa reponse impulsionnelle,– son gain complexe,– son gabarit.En pratique, il est impossible d’obtenir la reponse ideale. Le probleme central de la conception desfiltres numeriques est d’obtenir une reponse pratique qui constitue une bonne approximation de lareponse ideale. Les parametres de caracterisation du filtre sont au nombre de quatre :

– l’ondulation dans la bande passante Amax,– L’affaiblissement dans la bande attenuee Amin,– Les frequences passante et d’attenuation Fp et Fs.

Dans cette seance de Tp vous allez manipuler aussi bien Matlab que Simulink.

4.2.1 Etude comparative des approximations (RII)

On desire realiser sous Matlab un filtre numerique dont les caracteristiques sont :

– frequence passante : 0.1– frequence attenuee : 0.2– Amax = 1dB– Amin = 30dB

Pour les approximations de Butterwoth, Chebychev type 1 et elliptique :

– determiner l’ordre des filtres ainsi que la frequence de coupure,– representer les modules de ces differents filtres en echelle lineaire puis logarithmique.

On utilisera les fonctions suivantes dont l’aide et la syntaxe est accessible par ¿ helpwin nom À: buttord, cheb1ord, ellipord, butter, cheby1, ellip, freqz .

4.2.2 Implantation de filtres RII

On verifiera le fonctionnement des deux filtres numeriques en utilisant :

– une frequence d’echantillonnage de 10 Hz– un signal compose de 3 sinusoıdes d’amplitudes unite et de frequences 0.5, 1, 3 Hz– duree d’observation : 3 secondes

Comparer les deux methodes d’implantation.

4.2.3 Filtrage d’un signal (RII)

On considere le signal suivant : x(t) = sin(2π5t)+sin(2π15t)+sin(2π30t), echantillonne a la frequencede 1000 Hz.

Constitue le modele Simulink pour un filtrage passe-bande de caracteristiques :

– frequence de coupure basse 10 Hz– frequence de coupure haute 20 Hz– ondulation dans la bande-passante 0.1 dB– attenuation dans la bande attenuee 40 dB

Page 89: Signal

4.2. FILTRAGE NUMERIQUE 79

Il vous faudra correctement choisir le type du filtre.On observera simultanement le signal original et le signal filtre.On ajoutera la representation spectrale des signaux et utilisant le bloc d’analyse spectrale adapte.

4.2.4 Etude des filtres RIF

On desire comparer l’effet de quelques fenetres de ponderation lors de la synthese des filtres a reponseimpulsionnelle finie.Les caracteristiques du filtre sont les suivantes :– passe-bas– frequence d’echantillonnage de 1000 Hz– nombre de coefficient 75.Representer sous Matlab, la reponse en frequence du filtre pour les fenetres rectangulaire, de ham-ming et de blackman.Comparer les differentes reponses en frequence obtenues.On pourra justifier les reponse a partir des notions d’analyse spectrale.

4.2.5 Implantation de filtres RIF

Proposer deux structures de filtres RIF (directe et simplifiee) sous Simulink (cf. question 4.2). Onutilisera les coefficients d’un filtre passe-bas RIF de longueur 12 synthetise avec une fenetre dehamming et de frequence de coupure egale a 50 Hz (la frequence d’echantillonnage etant de 1000Hz).Comment doit-on modifier la structure si l’ordre est impair ?

Page 90: Signal

80 CHAPITRE 4. TRAVAUX PRATIQUES DE TRAITEMENT NUMERIQUE DU SIGNAL

Page 91: Signal

Complements mathematiques

81

Page 92: Signal

82 COMPLEMENTS MATHEMATIQUES

4.3 Espace vectoriel

Soit E un espace vectoriel, E peut etre construit sur R ou C selon que l’on considere des combinaisonslineaires a coefficients dans R ou C.

4.3.1 Produit scalaire

Le produit scalaire de deux fonctions (x, y) ∈ E note 〈x, y〉 ∈ C est une forme anti-lineaire a symetriehermitienne : 〈x, y〉 = 〈y, x〉 c’est-a-dire,– linearite en y : 〈x1 + x2, y1 + y2〉 = 〈x1, y1〉+ 〈x1, y2〉+ 〈x2, y1〉+ 〈x2, y2〉,– antilinearite en x :

〈x, λy〉 = λ 〈x, y〉〈λx, y〉 = λ? 〈x, y〉 ,

– produit hermitien :

〈x, x〉 ≥ 0〈x, x〉 = 0 ⇒ x = 0

.

– si 〈x, y〉 = 0 alors x et y sont dits orthogonaux.

4.3.2 Normes

On appelle norme sur l’espace vectoriel E une application x −→ ‖x‖ ayant les proprietes suivantes :– ‖x‖ ≥ 0 et ‖x‖ = 0 ⇐⇒ x = 0,– ‖λx‖ = |λ| ‖x‖,– ‖x + y‖ ≤ ‖x‖+ ‖y‖ (inegalite triangulaire).

Pour tout produit scalaire sur E la quantite 〈x, x〉 12 est une norme : ‖x‖ = 〈x, x〉 1

2 .– |〈x, y〉|2 ≤ ‖x‖2 ‖y‖2(inegalite de Schwarz).On peut definir une forme generalisee de la norme a un ordre p ∈ N :

Lp (x) = p

√∫ +∞

−∞|x (t)|p dt

Un cas particulier de cette definition est obtenue lorsque p = 2 : L2 (x) =√∫ +∞

−∞ |x (t)|2 dt = ‖x‖.Un autre cas particulier de la norme Lp apparaıt lorsque l’on choisit p = +∞, alors :

L∞ (x) = limp→+∞

p

√∫ +∞

−∞|x (t)|p dt = max x (t)

4.3.3 Bases

Pour former une base il faut que la famille de fonctions verifient les proprietes suivantes :– l’independance lineaire :

∑i λiΦi = 0 ⇒ λi = 0, ∀i

– l’orthogonalite : Φi⊥Φj,∀i 6= j ⇐⇒ 〈Φi, Φj〉 = βi δi−j (la base est orthonormee si βi = 1),– Une base est une famille generatrice Φi (t) d’un sous-espace vectoriel E avec laquelle nous pouvons

decrire n’importe quelle fonction f (t) comme une composition lineaire :

f (t) =∑

i

1

βi

λi Φi (t)

λi =

∫f (t) Φ?

i (t) dt = 〈f, Φi〉

Page 93: Signal

4.4. DERIVATION VECTORIELLE (CONVENTION DE VETLER) 83

4.4 Derivation vectorielle (convention de Vetler)

4.4.1 Derivee d’une matrice

4.4.1.1 Par rapport a un scalaire

– a ∈ R B = (bkl) ∈ R (m,n) B = f (a)

∂B

∂a=

∂b11∂a

· · · ∂b1n

∂a...

. . ....

∂bm1

∂a· · · ∂bmn

∂a

∈ R (m,n)

– a ∈ R B ∈ R (m,n) C ∈ R (n, p)

∂BC

∂a=

∂B

∂aC + B

∂C

∂a

4.4.1.2 Par rapport a une matrice

A ∈ R (m,n) B ∈ R (p, q) B = f (A)

∂B

∂A=

∂B∂a11

· · · ∂B∂a1n

.... . .

...∂B

∂am1· · · ∂B

∂amn

∂B∂akl

∈ R (m,n)

∂B∂A

∈ R (m× p, n× q)

4.4.2 Derivee d’un vecteur

– A ∈ Rm B ∈ Rp

∂BT

∂A=

∂BT

∂a1...

∂BT

∂am

=

∂b1∂a1

· · · ∂bp

∂a1...

. . ....

∂b1∂am

· · · ∂bp

∂am

∈ R (m, p)

– A ∈ Rm B ∈ Rp C ∈ R (n, p) (C independante de A)

∂BTC

∂A=

∂BT

∂AC

4.4.3 Derivee d’un scalaire

– A ∈ Rm b ∈ R

∂b

∂A=−−→grad (b) =

∂b∂a1...∂b

∂am

∈ R (m, 1)

∂b

∂AT=

(∂b∂a1

· · · ∂b∂am

) ∈ R (1,m)

– A ∈ Rm b ∈ R

∂2b

∂A∂AT=

∂A

(∂b

∂AT

)=

∂2b∂a2

1· · · ∂2b

∂a1∂am

.... . .

...∂2b

∂am∂a1· · · ∂2b

∂2am

∈ R (m,m)

Page 94: Signal

84 COMPLEMENTS MATHEMATIQUES

– A ∈ Rm B ∈ Rp C ∈ Rp D ∈ R (p, p)

∂BTDC

∂A=

∂BT

∂ADC+

∂CT

∂ADTB

Page 95: Signal

4.5. PROBABILITES 85

4.5 Probabilites

4.5.1 Fonction de repartition

4.5.1.1 Cas scalaire

Soit X ∈ R une variable aleatoire, la fonction de repartition se definie comme :

FX (x) = P [X < x] (4.1)

La fonction de repartition FX est une fonction non-decroissante :

limx→−∞

FX (x) = 0

limx→+∞

FX (x) = 1

4.5.1.2 Cas vectoriel

Soit X ∈ Rm un vecteur aleatoire et x ∈ Rm une realisation, la fonction de repartition se definiecomme :

FX (x) = P [X < x] (4.2)

= P [X1 < x1, . . . , Xm < xm]

4.5.2 Loi de densite de probabilite

pX (x) = pX1,...,Xm (x1, . . . , xm) (4.3)

=∂mFX (x)

∂x1, . . . , ∂xm

∫. . .

∫pX (x) dx1 . . . dxm = 1 (4.4)

pX1,...,Xm−1 (x1, . . . , xm−1) =

∫ +∞

−∞pX (x) dxm (4.5)

4.5.3 Loi conditionnelle

Soient X ∈ Rm et Y ∈ Rn deux vecteurs aleatoires, la loi conditionnelle est fournie par la formulede Bayes :

pX/Y (x (y)) =pX,Y (x,y)

pY (y)(4.6)

4.5.4 Independance

Soient X ∈ Rm et Y ∈ Rn deux vecteurs aleatoires, ils sont mutuellement independants si la loiconjointe est egale au produit des lois :

pX,Y (x,y) = pX (x)× pY (y) (4.7)

De la meme facon, si les composantes xi du vecteur X ∈ Rm sont independantes alors :

pX (x) = pX1 (x1)× . . .× pXm (xm) (4.8)

Page 96: Signal

86 COMPLEMENTS MATHEMATIQUES

4.5.5 Changement de variable

X ∈ Rm un vecteur aleatoire

Y = f (X) ∈ Rm f est bijective

pY (y) = pX (x (y))

∣∣∣∣det

(∂xT

∂y

)∣∣∣∣∣∣∣det

(∂xT

∂y

)∣∣∣ est la valeur absolue du jacobien.

u = ρ cos (θ)

v = ρ sin (θ)

x =(u v

)T

y =(ρ θ

)T

∣∣∣∣det

(∂xT

∂y

)∣∣∣∣ =

∣∣∣∣(

cos (θ) sin (θ)−ρ sin (θ) ρ cos (θ)

)∣∣∣∣= ρ

4.5.6 Esperance

4.5.6.1 Cas hypergeometrique

Soit X ∈ Rm un vecteur aleatoire de loi de densite de probabilite hypergeometrique p (X).Le vecteur moyen µX = E X s’ecrit :

µX =

Rm

x.pX (x) dx1dx2 . . . dxm ∈ Rm

= [E X1E X2 . . . E Xm]T

E Xk =

Rm

xk.pX (x) dx1dx2 . . . dxm

La matrice de covariance CX = E

(X− µX) (X− µX)T

s’ecrit :

CX = EXXT

− µXµXT

4.5.7 Lois usuelles

– Pile ou face : C’est une loi discrete a un parametre :

P [X = 1] = p, P [X = 0] = 1− p (4.9)

µX = p

σ2X = p (1− p)

Page 97: Signal

4.5. PROBABILITES 87

– Loi binomiale : Soient N VA discretes i-i-d1 obeissant chacune a une loi de pile ou face. Il s’agitdonc d’une loi discrete a deux parametres N et p.

p (k) =(

kN

)pk (1− p)N−k (4.10)

µX = Np

σ2X = Np (1− p)

– Loi de Poisson : C’est la limite de la loi binomiale N → +∞ et p ≈ 0. Le nombre de parametrede cette loi discrete est un (µ).

p (k) =µk

k!exp (−µ) (4.11)

µX = µ

σ2X = µ

– Loi gaussienne ou normale : C’est une loi continue a deux parametres µ et σ. On la note aussiN (µ, σ)

p (x) =1√2πσ

exp

(−(x− µ)2

2σ2

)(4.12)

µX = µ

σ2X = σ2

1i-i-d : independantes et identiquement distribuees.

Page 98: Signal

88 COMPLEMENTS MATHEMATIQUES

Page 99: Signal

Corrections des Travaux Diriges

89

Page 100: Signal

90 CORRECTIONS DES TRAVAUX DIRIGES

4.6 Theorie du Signal

4.6.1 Classifications des signaux

Exercice 4.1 Les calculs nous fournissent la classification suivante :

x (t) Ex Px

ΠT0 (t) T0 × 12 0u (t) → +∞ 1

2

A sin (2πf0t) u (t) → +∞ A2

4

r (t) → +∞ → +∞

Exercice 4.2 Les operations sur le signal original ne sont que des translations ou des changementsd’echelle. Nous pouvons tenir compte de ces transformations par l’expression suivante :

xi (t) = x (αit− τi) t ∈[

τi

αi

,4 + τi

αi

[

Le calcul de l’energie de cette expression nous fournit :

Exi=

3× 4

|αi|Ce qui nous montre que le retard n’influe pas sur le calcul de l’energie au contraire de la fonctiond’echelle.

xi αi τi Exi

x 1 0 12x1 1 3 12x2 2 0 6x3

12

0 24x4 −1 0 12

Exercice 4.3 Le signal s’ecrit comme une combinaison lineaire de fonctions elementaires :

x (t) = r (t + 1) + r (t) + u (t− 1)− 2u (t− 2)

La representation graphique du signal est donne a la Fig. (4.4).

Exercice 4.4

〈x1, x2〉 ,∫

x1 (t) x?2 (t) dt

= A2

∫ T

0

sin (2πf0t + θ) cos (2πf0t + θ) dt

=A2

2

∫ T

0

sin (4πf0t + 2θ) dt

=A2

8πf0

(cos (2θ)− cos (4πf0T + 2θ))

〈x1, x2〉 = 0

⇒ T =k

2f0

Page 101: Signal

4.6. THEORIE DU SIGNAL 91

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 30

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

Temps (s)

Am

plitu

de

Fig. 4.4 – Allure du signal de l’exercice 1.3.

Exercice 4.5 On veux obtenir la meilleure representation pour la suite de coefficients λj au sensde l’erreur quadratique moyenne.

Soit Λ le vecteur des coefficients λi et Φ (t) le vecteur des fonctions analysantes ϕi (t) :

Λ = [λ0 λ1 . . . λN ]T

Φ (t) = [ϕ0 (t) ϕ1 (t) . . . ϕN (t)]T

L’erreur quadratique s’ecrit :

J =

∫ ∣∣∣∣∣y (t)−N∑

j=0

λjϕj (t)

∣∣∣∣∣

2

dt

=

∫ ∣∣y (t)− ΛT Φ (t)∣∣2 dt

=

∫ (y (t)− ΛT Φ (t)

) (y (t)− ΛT Φ (t)

)?dt

=

∫ (y (t)− ΛT Φ (t)

) (y? (t)− ΛT?Φ? (t)

)dt

=

∫y (t) y? (t) dt−

∫y? (t) ΛT Φ (t) dt−

∫y (t) ΛT?Φ? (t) dt +

∫ΛT Φ (t) ΦT? (t) Λ?dt

La minimisation de l’erreur quadratique est obtenue pour :

∂J∂λj

∣∣∣∣λj=λopt

j

= 0 ∀j ∈ 0, N

∂J∂λj

= −∫

y? (t) ϕj (t) dt−∫

y (t) ϕ?j (t) dt +

∫ N∑m=0

λ?mϕj (t) ϕ?

m (t) dt +

∫ N∑

k=0

λkϕk (t) ϕ?j (t) dt

=

(N∑

k=0

λk〈ϕk, ϕj〉 − 〈y, ϕj〉)

+

(N∑

m=0

λm〈ϕm, ϕj〉 − 〈y, ϕj〉)?

= (λjβj − 〈y, ϕj〉) + (λjβj − 〈y, ϕj〉)?

⇒ λoptj =

1

βj

〈y, ϕj〉

Page 102: Signal

92 CORRECTIONS DES TRAVAUX DIRIGES

4.6.2 Systemes lineaires

Exercice 4.6 – Quelle est la condition pour que le systeme soit causal ?

h (t) = 0 pour t < 0

⇒ 0 < τ < t

– Est-il stable ?∫|h (t) |dt < +∞

⇒ 2

∫ +∞

τ

exp (−t + τ) dt

= 2

∫ +∞

0

exp (−v) dv

= 2

– On applique le principe de linearite des systemes. Le signal d’excitation etant une compositionlineaire de signaux elementaires (impulsions de Dirac et echelons) nous pouvons calculer lesreponses elementaires a chacune des sollicitations. Seule la reponse a l’echelon merite notre atten-tion. Simplifions nous le probleme en remarquant que la reponse impulsionnelle h est le resultatde l’application d’un retard sur une reponse h′ et que le produit de convolution est associatif etcommutatif :

h (t) = h′ (t− 2)

= (h′ ? δ2) (t)

⇒ h′ (t) = exp (−t) u (t)

(h ? u) (t) = (h′ ? δ2 ? u) (t)

= (δ2 ? (h′ ? u)) (t)

(h′ ? u) (t) ,∫

h (v) u (t− v) dv

Or u (t− v) 6= 0 pour v ≤ t

=

∫ t

−∞h (v) dv

= 2

∫ t

−∞exp (−v) dv

= 2 (1− exp (−t)) u (t)

⇒ (h ? u) (t) = 2 (1− exp (−t + 2)) u (t− 2)

= 2u (t− 2)− h (t)

Si on applique un echelon retarde de ν la reponse sera alors :

(h ? uν) (t) = 2u (t− 2− ν)− h (t− ν)

x (t) = δ (t + 1) + δ (t) + u (t− 4)− u (t− 7)

y (t) = h (t + 1) + h (t) + (2u (t− 6)− h (t− 4))− (2u (t− 9)− h (t− 7))

Exercice 4.7 Soit h un systeme dont la reponse impulsionnelle est :h (t) = Ku (t) , K ∈ R∗.

Page 103: Signal

4.6. THEORIE DU SIGNAL 93

– Le systeme est-il causal ? OUI– Est-il stable ? NONOn asservit le systeme precedant en introduisant la fonction de transfert B (p) = β de la faconsuivante :– Le systeme asservi est-il causal ? OUI– Est-il stable ? OUI

Exercice 4.8 Soit le signal x dont la Tf est X (f) = X0ΠB (f), est module en amplitude par uneporteuse y (t) = A0 sin (2πf0t).– Calculer et representer graphiquement la densite spectrale de puissance ( dsp) des trois signaux

x, y, z = xy.

La densite spectrale de puissance est par definition egale a :

Γx (f) =

∫γx (τ) exp (−j2πfτ) dτ

= |X (f)|2

|X (f)|2 = X20ΠB (f) c’etait donne

|Y (f)|2 =A2

0

4(δ (f − f0) + δ (f + f0))

|Z (f)|2 =A2

0X20

4(ΠB (f − f0) + ΠB (f + f0))

Exercice 4.9 Soit x (t) = AΠτ (t),– calculer le produit de convolution :

Λ (t) = (x ? x) (t)

= A2 (τ − |t|) Π2τ (t)

Le produit de convolution d’une porte d’ouverture τ fournit un signal triangulaire d’ouverture 2τ .Plus generalement, si convolue un signal de duree T1 par un signal de duree T2 alors le signalresultat aura une duree T1 + T2.

– On convolue le signal Λ en utilisant un peigne de Dirac de periode T .Le peigne de Dirac est une somme infinie d’impulsions de Dirac separees par la duree T . Leresultat sera par consequent la somme infinie des motifs Λ decales de T .

Λ? (t) =∑

k

Λ (t− kT )

La figure (4.5) illustre les differents cas demandes. La partie basse des traces (b,c,d) montre lasuperposition des motifs elementaires, la partie haute indique le resultat final. On constate que sila valeur de la periode est inferieure a deux fois la longueur du motif on observe un recouvrementtemporel.

Exercice 4.10 Soit le signal x (t) = A cos (2πf0t) que l’on tronque avec la fonction porte ΠT (t)

xT (t) = x (t) ΠT (t)

|XT (f) | = AT

2|sinc (πT (f − f0))− sinc (πT (f + f0)) |

Page 104: Signal

94 CORRECTIONS DES TRAVAUX DIRIGES

−4 −3 −2 −1 0 1 2 3 4

0

0.2

0.4

0.6

0.8

1

Temps

Am

plitu

de

(a) Motif original.

−4 −3 −2 −1 0 1 2 3 4

0

0.5

1

0

0.5

1

Temps

Am

plitu

de

(b) Periode T = 1.

−4 −3 −2 −1 0 1 2 3 4

0

0.5

1

0

0.5

1

Temps

Am

plitu

de

(c) Periode T = 2.

−4 −3 −2 −1 0 1 2 3 4

0

0.5

1

0

0.5

1

TempsA

mpl

itude

(d) Periode T = 3.

Fig. 4.5 – Periodisation de motif par application du peigne de Dirac.

4.6.3 Analyse non parametrique, signaux deterministes.

Exercice 4.11 Un tapis roulant convoie des boıtes rectangulaires a une vitesse V d’un point A versun point B distant d’une mesure D. Un capteur optique binaire place en A delivre un signal xA (t)et un autre identique place en B fournit un signal xB (t). Montrer qu’en calculant l’intercorrelationdes deux signaux de mesures nous pouvons estimer le temps de transit sur le tapis et par la meme,controler sa vitesse V (on supposera que la vitesse reste constante pendant le trajet d’une boıte).

xA (t) = ΠL

(t− tA − L

2

)

xB (t) = ΠL

(t− tB − L

2

)

γAB (t, tA, tB) =

∫ΠL

(t− tA − L

2

)ΠL

(t− tB − L

2

)dt

=

∫ΠL (t) ΠL (t− tB + tA) dt

= γAB (tB − tA)

= γAB (τ)

La fonction de correlation peut etre exprimee en fonction de la difference de temps de passage tB− tAce qui nous permet d’effectuer des mesures independante de l’origine du temps.

En effet, s’affranchir du temps absolu nous permet de nous interesser uniquement au temps de transit.Dans le cas contraire il nous aurait fallu memoriser les instants de passages de chaque boıte vehiculee.Il ne faut pas oublier que notre etude ce place dans un contexte ideal puisque nous avons considerer

Page 105: Signal

4.6. THEORIE DU SIGNAL 95

0 10 20 30 40 50 60 70 80 90−0.2

0

0.2

0.4

0.6

0.8

1

1.2

Temps

Signal mesure en A.

0 20 40 60 80 100 120−0.2

0

0.2

0.4

0.6

0.8

1

1.2

Temps

Signal mesure en B.

−150 −100 −50 0 50 100 150−2

0

2

4

6

8

10

12

14

16

18

Temps relatif

Fonction de correlation.

0 20 40 60 80 1000

2

4

6

8

10

12

14

16

Temps relatif

τ > 0.

Fig. 4.6 – Bleu : sans bruit, Rouge : avec bruit.

qu’un seul paquet est transporte a chaque fois et que les mesures sont effectuees sans bruit. Dans larealite la mesure de l’instant de passage devient difficile a partir des signaux xA et xB en raison dubruit et la presence de plusieurs paquets simultanement sur le tapis comme cela est illustre en Fig.4.6. On peut aussi remarque que la fonction de correlation nous a permis d’attenuer l’influence dubruit.

L’observation de la fonction de correlation nous montre que la position du maximum correspond autemps de transit, ce qui nous permet de determiner la vitesse du tapis.

⇒ v =D

argτmaxmax γAB (τ)

Exercice 4.12 Une source ponctuelle emet un signal s (t) = S0 sin (2πf0t + φ0). Cette source est aune position fixe inconnue que nous souhaitons determiner. Nous avons dispose deux antennes A etB pour capter le signal emis. Montrer que la fonction de correlation permet de resoudre ce problemede localisation. (On posera que la vitesse v de propagation dans le milieu est constante).

xA (t) = s

(t +

das

v

)

xB (t) = s

(t +

dsb

v

)

γAB

(t,

das

v,dsb

v

)= γAB

(dsb − das

v

)

D = dsb + dsa

= (1− ε) D + εD (4.13)

⇒ dsb − das = (1− 2ε) D

Page 106: Signal

96 CORRECTIONS DES TRAVAUX DIRIGES

0 1 2 3 4 5 6 7 8−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

Temps

xA (t), xB (t)

−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

Temps relatif

Fonction de correlation.

Fig. 4.7 – Localisation d’un source ponctuelle.

La figure 4.7 nous montre le resultat de la correlation pour une frequence f0 = 0, 2Hz et un decalagede 1s. Le signal de reference est xA, la position du maximum nous permet de retrouver la valeur dutemps de retard τmax. Le positionnement relatif ε vaut alors :

ε =1

2

(1− τmaxV

D

)

Exercice 4.13 Calculer la transformee de Fourier d’une fonction porte Π d’ouverture T . Calculerle produit de convolution et la fonction d’autocorrelation de cette fonction par elle-meme. Que vautla tf du signal convolue ?

Tf [ΠT (t)] = T.sinc (πfT )

(ΠT ? ΠT ) (t) ,∫

ΠT (v) ΠT (t− v) dv

= T. (T − |t|) .Π2T (t)

⇒ Tf [(ΠT ? ΠT ) (t)] = T 2.sinc2 (πfT )

γΠT(τ) ,

∫ΠT (v) ΠT (t + v) dv

=

∫ΠT (−u) ΠT (t− u) du

=

∫ΠT (u) ΠT (t− u) du

= (ΠT ? ΠT ) (t)

Exercice 4.14 Soit le signal x (t) = u (t) exp(− t

T

), on souhaite appliquer une analyse spectrale sur

un enregistrement y (t) de ce signal de duree L. Calculer les tf de x et y. Quelle relation doit verifierla longueur moyenne de l’enregistrement L et T pour que l’erreur relative commise en confondant

Page 107: Signal

4.6. THEORIE DU SIGNAL 97

Y (f) et X (f) soit inferieure a 1 %.

X (f) =T

1 + 2jπfT

y (t) = x (t) .ΠL

(t− L

2

)

Y (f) = X (f)

(1− exp

(−L

T

)exp (−j2πfL)

)

∆ = |Y (f)−X (f)

X (f)|

= exp

(−L

T

)

⇒ L ≥ 5T

Exercice 4.15 Determiner les temps moyens, les frequences moyennes, les durees et les bandesutiles des signaux suivants :– x1 (t) = ΠT (t− τ),– x2 (t) = u (t− τ) . exp (−a (t− τ)) , a > 0,

– x3 (t) = ΛT (t) (on admettra que∫ sin4(u)

u2 du = π4),

– x4 (t) = a exp (λt2) , λ < 0.

Ex tmoyen ∆t fmoyen ∆fx1 T τ T

2√

30 +∞

x212a

1+2aτ4a2 0 +∞

x3T 3

120 T

2√

100

x4 a2√−π

λ0 0

Page 108: Signal

98 CORRECTIONS DES TRAVAUX DIRIGES

4.6.4 Signaux aleatoires

Exercice 4.16 On considere le signal

x (t) = s (t) + b (t)

s (t) = A sin (2πf0t + φ)

b (t) est un bruit blanc gaussien, stationnaire, ergodique, centre N (0, σ2). φ est une phase aleatoireindependante de b (t) suivant une loi uniforme sur [0, 2π].– Le signal x est-il aleatoire ?– Calculer la moyenne µx (t) de x (t). Le signal est-il stationnaire ?

µx (t) = E s (t)+ E b (t)

=

∫ 2π

0

s (t)1

2πds + 0

= 0

⇒ stationnaire a l’ordre 1.

– Calculer l’autocorrelation γx (τ) de x (t).

γX (t1, t2) , E X (t1) X? (t2)= E S (t1) S? (t2)+ E S (t1) B? (t2)+ E S (t1) B? (t2)+ E B (t1) B? (t2)= E S (t1) S? (t2)+ E B (t1) B? (t2)

=A2

2cos (2πf0 (t2 − t1)) + γB (t2 − t1)

⇒ stationnaire a l’ordre 2.

– Donner l’expression de la fonction de correlation pour un signal deterministe de puissance moyennefinie.

Γx (τ) , limT→+∞

1

2T

∫ +T

−T

x (t) x? (t− τ) dt

– Donner l’autocorrelation deterministe Γx (τ) de x (t).

Γx (τ) = limT→+∞

1

2T

∫ +T

−T

s (t) s? (t− τ) dt + limT→+∞

1

2T

∫ +T

−T

b (t) b? (t− τ) dt

– Montrer que la moyenne statistique de l’autocorrelation deterministe est identique a la fonction decorrelation γx (τ).

Γx (τ) =A2

4πcos (2πf0 (τ)) + γb (τ)

Exercice 4.17 Soit x (t) un bruit blanc stationnaire de parametres N (µx, σ2x) que l’on filtre par un

systeme deterministe de reponse impulsionnelle h (t) et de transformee de Fourier H (f).– Calculer la moyenne µy du signal de sortie y.

y (t) = (x ? h) (t)

,∫

h (v) x (v − t) dv

E y (t) =

∫E x (v − t)h (v) dv

µy = µx

∫h (v) dv

= µxH (0)

Page 109: Signal

4.6. THEORIE DU SIGNAL 99

– Calculer σ2y.

Exercice 4.18 Soit l’estimateur de la fonction de correlation suivant :

γxy (τ) = K (τ)

∫ +∞

−∞xw (t) y?

w (t− τ) dt

ou fw est la fonction f multipliee par la fenetre d’observation w (w (t) = ΠT (t)). K est une fonctionde ponderation.Nous allons etudier le biais de cet estimateur pour deux ponderations differentes. L’une d’entre ellessera :

K1 (τ) =1

T

– Exprimer la moyenne statistique de l’estimateur.

E γxy (τ) = K (τ)

∫ +∞

−∞E xw (t) y?

w (t− τ) dt

= K (τ)

∫ +∞

−∞E x (t) y? (t− τ)ΠT (t) Π?

T (t− τ) dt

= K (τ) γxy (τ)

∫ +∞

−∞ΠT (t) Π?

T (t− τ) dt

= K (τ) γxy (τ) Λ2T (τ)

Λ2T (τ) = (T − |τ |) Π2T (τ)

– Determiner le biais pour K1 (τ).

Bγxy , γxy − E γxy

= γxy (τ)

(1− 1

TΛ2T (τ)

)

On voit que sur l’intervalle [−T, +T ] l’estimateur est biase. En dehors de cet intervalle on ne peutrien dire.

– Comment choisir K2 (τ) pour que l’estimation soit sans biais ?

Bγxy

∣∣K=K2

= 0

(Π2T (τ)− TK2 (τ) Λ2T (τ)) = 0

⇒ K2 (τ) =1

Λ2T (τ)

– Calculer la densite spectrale de puissance et conclure sur les deux estimateurs. En calculant laTf pour les deux estimateurs on s’apercoit que seul l’estimateur de la correlation biaise permetd’estimer correctement la Dsp. Effet, il suffit de se souvenir qu’une densite spectrale de puissanceest ≥ 0.

Page 110: Signal

100 CORRECTIONS DES TRAVAUX DIRIGES

4.7 Traitement du Signal

4.7.1 Echantillonnage et filtrage

4.7.1.1 Echantillonnage parfait

1. Exprimer Xae (f), la transformee de Fourier de xae (t), en fonction de Xa (f).

Le signal echantillonne est obtenu en faisant le produit entre le signal analogique xa et unpeigne de Dirac de periode Te = 1

Fe.

xae (t) = xa (t) qqTe (t)

Xae (f) = Fe (Xa ?qqFe) (f)

= Fe

∫qqFe (ν) Xa (f − ν) dν

= Fe

∫ ∑n

δ (ν − nFe) Xa (f − ν) dν

= Fe

∑n

∫δ (ν − nFe) Xa (f − ν) dν

= Fe

∑n

Xa (f − nFe)

On obtient une fonction periodique de periode Fe.

2. Representer graphiquement Xae (f) sur l’intervalle [−30F . . . + 30F ].

Le support de Xa (f) etant inferieur a Fe, nous respectons le theoreme de Shannon. Noussommes dans le cas d’un sur-echantillonnage. La figure (4.8) montre l’allure de la Tf du signalxae (t). Nous avons superpose en rouge le peigne de Dirac sur l’intervalle demande.

AF

X (f)ae

f+9F +18F +27F0

e

-27F -18F -9F

Fig. 4.8 – Transformee de Fourier du signal echantillonne.

4.7.1.2 Echantillonnage reel

1. Representer la fonction h (t) permettant d’obtenir x1 (t) a partir de xae (t).

Page 111: Signal

4.7. TRAITEMENT DU SIGNAL 101

Il s’agit d’une porte rectangulaire retardee de la moitie de sa largeur que nous notons θ.

h (t) = Πθ

(t− θ

2

)

H (f) = θ sin c (πfθ) e−jπfθ

1

0 θt

h(t)

Allure de la fonction de blocage h (t).

2. Representer le module de la transformee de Fourier X1 (f) pour la valeur θ = Te

3.

x1 (t) = (xae ? h) (t)

X1 (f) = Xae (f) H (f)

|X1 (f)| = |Xae (f)| × |H (f)|

|X1 (f)|θ= 13Fe

=1

3Fe

|Xae (f)| ×∣∣∣∣sin c

f

27F

)∣∣∣∣

-27F -18F -9F 0 +9F +18F +27Ff

(f)|X |1

(f)|H |

θ = Te3

|X |(f)2

-27F -18F -9F 0 +9F +18F +27F

|H |(f)

f

θ = Te

Fig. 4.9 – Allures des reponses frequentielles.

3. Meme question pour θ = Te (cas d’un echantillonneur bloqueur).

|X2 (f)| = |X1 (f)|θ= 1Fe

=1

Fe

|Xae (f)| ×∣∣∣∣sin c

f

9F

)∣∣∣∣

Voir Fig. 4.9 pour l’allure frequentielle.

4. Representer la fonction v (t) permettant d’obtenir x2 (t) a partir de xa (t).

Page 112: Signal

102 CORRECTIONS DES TRAVAUX DIRIGES

On remarque que la fonction v (t) est la convolution de h (t)avec un peigne de Dirac de periode Te.

v (t) =∑

n

h (t− nTe)

= (h ?qqTe) (t)

1

0 θt

v(t)

Te

Echantillonnage par fonction periodique.

5. Representer le module de la transformee de Fourier V (f) pour la valeur θ = Te

3.

V (f) = Fe H (f) qqFe (f)

|V (f)|θ=Te3

=1

3

∣∣∣∣sin c

f

27F

)∣∣∣∣qqFe (f)

=1

3

k

∣∣∣∣sin c

(kπ

3

)∣∣∣∣ δ (f − kFe)

-27F -18F -9F 0 +9F +18F +27Ff

(f)|V |

(f)|H |

Fig. 4.10 – Tf de la fonction periodique v (t).

6. Reprendre les question 2 a 4 pour le signal x2 (t).

4.7.1.3 Filtres non invariants

On definit xn = x (nTe).

On fait passer la sequence xn dans un filtre sur-echantillonneur2 E de sortie wn defini par la relationw3n = xn et wn = 0 si n n’est pas multiple de 3.

1. Ce filtre est-il stable, lineaire, invariant par translation ?

– stable,– lineaire,– variant par translation,– non-causal.

2appele aussi interpolateur

Page 113: Signal

4.7. TRAITEMENT DU SIGNAL 103

2. Representer W (ν) la transformee de Fourier de wn pour ν ∈ [0 . . . 1].

W (z) =∑

n

wnz−n

=∑

p

w3pz−3p

=∑

p

xpz−3p

= X(z3

)

W (z)|z=ej2πν = X (3ν)

On constate que le spectre original a subi une compression en frequence.

3. Ce filtre est-il stable, lineaire, invariant par translation ?

(a) Stabilite

On le verifie en utilisant le principe entree bornee sortie bornee

xn = an, |a| < 1 et n ≥ 0

⇒+∞∑n=0

|an| < +∞

yn = x3n

= a3n

⇒+∞∑n=0

|yn|

=+∞∑n=0

∣∣a3n∣∣ < +∞

(b) Linearite

On montre qu’une composition lineaire de signaux d’entree fournit une composition lineairedes sorties elementaires.

x [n] = α x1 [n] + β x2 [n]

y [n] = x [3n]

= α x1 [3n] + β x2 [3n]

= α y1 [n] + β y2 [n]

(c) Invariance par translation

x1 [n] = x [n− 1]

y1 [n] = x1 [3n]

y1 = x3, x6, x9, . . .y2 [n− 1] =

Page 114: Signal

104 CORRECTIONS DES TRAVAUX DIRIGES

4. Representer Y (ν) la transformee de Fourier de yn pour ν ∈ [0 . . . 1].Le signal yn est obtenu par sous echantillonnage d’un facteur 3 :

y [n] = x [n]qq3 [n]

= x [n]∑

k

δ [n− 3k]

La transformee de Fourier s’ecrit comme le produit de convolution des transformees

Y (ν) =

(X ?

1

3qq 1

3

)(ν)

=1

3

2∑

k=0

X

(ν − k

3

)

On constate que le spectre original a subi une dilatation en frequence ainsi qu’une periodisationd’un facteur 1

3.

4.7.1.4 Sous-echantillonnage

1. En appliquant le theoreme de Shannon, trouver le nombre minimal d’echantillons a trans-mettre par seconde.Considerons une modulation simple :

y (t) = xa (t) sin (2πf0t)

Sachant que la Tf de sin (2πf0t) est 12j

(δ (f − f0)− δ (f + f0)), Y (f) en module vaut :

|Y (f)| = |Xa (f − f0)|+ |Xa (f + f0)|

A

f

+F-f-F-f

|X |(f+f )a 0

-f0

0

0

+F+f-F+f

|X |(f-f )a 0

f0

0

0

|Y |(f)

Fig. 4.11 – Allure du spectre du signal module.

Une representation de ce spectre est donne a la Fig. 4.11.

La frequence maximale Fmax est egale a f0 + F mais, on peut remarquer que le signal moduleest a bandes discontinues ([−F − f0,−F + f0] ∪ [F − f0, F + f0]).

L’application du theoreme de Shannon nous impose de choisir une frequence d’echantillonnageF th

e telle que :

F the ≥ 2 (f0 + F ) = 230 kHz

Page 115: Signal

4.7. TRAITEMENT DU SIGNAL 105

A

f

|X |(f+f )a 0

-f0

|X |(f-f )a 0

f0

|Y |(f)

FeFig. 4.12 – Allure du spectre du signal echantillonne.

2. On echantillonne en fait le signal module en amplitude avec la frequence Fe = 40 kHz.

(a) Dessiner l’allure du spectre du signal echantillonne parfait entre 0 et 120 kHz.

(b) Qu’obtient-on en filtrant ce signal echantillonne parfait avec un filtre dont la bande pas-sante s’etend de 105 a 115 kHz ?On recupere exactement le signal original module.

3. Qu’obtiendrait-on en filtrant le signal echantillonne parfait avec un filtre cardinal de frequencede coupure 20 kHz ?Le filtre cardinal passe-bas permettrait de recuperer un signal dont la modulation residuelleserait de 10 kHz. On peut noter que l’ordre n’est pas conserve puisque le motif gauche (centresur −10 kHz ) correspond au motif initialement a droite (centre sur 110 kHz) et reciproquement.

A

fFe

filtrecardinal

Fig. 4.13 – Intervalle du spectre conserve par le filtre cardinal.

4. Conclure sur l’interet de cette methode. Discuter les problemes lies aux imperfections del’echantillonnage (stabilite de la frequence d’echantillonnage).Il est possible dans le cas ou les spectre est a bandes disjointes d’effectuer un sous echantillonnagesans perte d’information comme nous l’avons montre precedemment.Le systeme est sensible au variation des frequences porteuse et d’echantillonnage, puisque latranslation spectrale du motif est obtenue par ¿ soustractionÀ frequentielle (f0 − kFe).

On peut conclure que le theoreme de Shannon pour etre correctement utilise impose commehypothese que le spectre du signal a echantillonner soit a bandes contigues. Si on considere le si-gnal dont le spectre a pour support [−Fmax,−Fmin]∪[Fmin, Fmax], la frequence d’echantillonnagedoit alors verifier :

Fe ≥ 2 (Fmax − Fmin)

On retrouve l’expression habituelle dans le cas ou Fmin = 0.

Page 116: Signal

106 CORRECTIONS DES TRAVAUX DIRIGES

4.7.2 Synthese des filtres numeriques

4.7.2.1 Filtre recursif du premier ordre

Soit la fraction rationnelle h (z) = 11−az−1 .

Cette fonction de la variable complexe z est la transformee en Z de deux sequences, h1 [n] causale eth2 [n] non causale.

1. Calculer h1 [n] et h2 [n] et preciser les domaines de convergence.Determinons tout d’abord la suite a droite :

|z| > a =⇒ H1 (z) =(1− az−1

)−1

= 1 + az−1 + a2z−2 + . . .

=∑n=0

anz−n

=⇒ h1 [n] = anu [n]

La suite a gauche s’exprime comme :

|z| < a =⇒ H2 (z) = −a−1z(1− a−1z

)−1

= −a−1z(1 + a−1z + a−2z2 + . . .

)

= −∑n=0

anz−n

=⇒ h2 [n] = −anu [−n− 1]

2. h1 [n] et h2 [n] sont les reponses impulsionnelles de deux filtres appeles respectivement F1 etF2. Ecrire les equations aux differences de ces deux filtres.Les deux filtres ont la meme reponse impulsionnelle :

H (z) =1

1− az−1

Y (z)(1− az−1

)= X (z)

Y (z) = X (z) + az−1Y (z)

=⇒ y [n] = x [n] + ay [n− 1]

3. On suppose |a| < 1.

(a) Ecrire l’expression de la reponse en frequence H1 (ν) du filtre F1.

H1 (ν) =1

1− ae−j2πν

=1

1− a cos (2πν) + ja sin (2πν)

|H1 (ν)|2 =1

(1− a cos (2πν))2 + a2 sin2 (2πν)

=1

1 + a2 − 2a cos (2πν)

Page 117: Signal

4.7. TRAITEMENT DU SIGNAL 107

(b) Que peut-on dire de la reponse du filtre F2 ?Elle n’existe pas car le cercle de rayon unite n’appartient pas au domaine de convergencede H2 (z).

4. Application numerique : a = 0.5.

(a) Tracer l’allure de la reponse en frequence H1 (ν) sur l’intervalle[−1

2, +1

2

].

4

1

2

3

-0.4 -0.2 0 0.2 0.4ν

Fig. 4.14 – Allure de la reponse frequentielle de H1 (ν)

(b) Representer le diagramme des poles et des zeros du filtre F1.

-1 -0.5 0 0.5 1

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Partie Réelle

Part

ie Im

agin

aire

a

z

Fig. 4.15 – Diagramme des poles et des zeros de H1 (z)

(c) Quelle fonction realise-t-il ?(passe-bas,. . .).

4.7.2.2 Synthese des filtres RII par invariance d’une reponse temporelle

1. Soit le filtre analogique de fonction de transfert : ha (p) = 11+τp

ou τ = 0.5 s.

Calculer sa reponse impulsionnelle ha (t) et sa reponse indicielle va (t).

ha (t) =1

τe−

tτ u (t)

va (t) =(1− e−

)u (t)

2. On echantillonne h (t) avec une periode Te = τ. log (2). On obtient une sequence h (nTe).

Page 118: Signal

108 CORRECTIONS DES TRAVAUX DIRIGES

(a) Ecrire la fonction de transfert H1 (z) d’un filtre echantillonne dont la reponse impulsion-nelle h1 [n] est egale a ha (nTe). (Cette approche est appelee methode de l’invarianceimpulsionnelle).

h1 [n] =1

τe−

nTeτ , n ≥ 0

=1

τ

(eln(2)

)−n

=2−n

τ

H1 (z) =1

τ

1

1− (2z)−1

(b) Donner son equation aux differences.

Y (z) = H1 (z) X (z)

Y (z)

(1− 1

2z−1

)=

1

τX (z)

Y (z) =1

τX (z) +

1

2z−1Y (z)

y [n] =1

τx [n] +

1

2y [n− 1]

(c) Calculer sa reponse indicielle v1 [n] et tracer sa reponse en frequence.

V1 (z) = H1 (z) U (z) , |z| > 1

=1

τ

1

1− (2z)−1

1

1− z−1

=1

τ

(2

1− z−1− 1

1− (2z)−1

)

v1 [n] =1

τ

(2− 2−n

)u [n]

va [n] =(1− 2−n

)u [n]

z = ej2πf =⇒H1 (f) =

1

τ

1

1− e−j2πf

2

=1

τ

1

(1− 0.5 cos (2πf)) + j0.5 sin (2πf)

|H1 (f)|2 =1

τ

1

(1− 0.5 cos (2πf))2 + (0.5 sin (2πf))2

(a) Comparer a celle du filtre analogique de depart.On constate que la reponse frequentielle du filtre obtenue par invariance impulsionnelleest fortement degrade par une phenomene de recouvrement spectral (du au choix d’unefrequence d’echantillonnage peu elevee) ainsi qu’un facteur d’echelle lie a τ , la constantede temps du systeme considere.

3. On echantillonne v (t) avec une periode Te = τ. log (2). On obtient une sequence v (nTe).

(a) Ecrire la fonction de transfert H2 (z) d’un filtre echantillonne dont la reponse indiciellev2 [n] est egale a v (nTe). (Cette approche est appelee methode de l’invariance indi-cielle).

Page 119: Signal

4.7. TRAITEMENT DU SIGNAL 109

0 1 2 3 4 5 6 7 8 90

0.5

1

1.5

2

2.5

3

3.5

4

Indices

Ampl

itude

s

v1

av

va etv1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.5

1

1.5

2

2.5

3

3.5

4

Fréquences réduites

Puiss

ance

|H (f)|²1

|H (f)|²a

|Ha|2 et |H1|2

Fig. 4.16 – Visualisation des reponses indicielles et frequentielles.

v2 (n) =(1− 2−n

)u (n)

V2 (z) =1

1− z−1− 1

1− (2z)−1

=(2z)−1

(1− z−1)(1− (2z)−1)

H2 (z) =(2z)−1

1− (2z)−1

(b) Calculer sa reponse impulsionnelle h2 [n] et tracer sa reponse en frequence.

h2 (n) =1

22−(n−1)u (n− 1)

= 2−nu (n− 1)

Pour l’allure voir Fig. 4.17.

(c) Comparer a celle du filtre analogique de depart.Au facteur d’echelle pres, nous obtenons exactement la meme allure. La synthese parinvariance indicielle ne permet pas de s’affranchir du phenomene de recouvrement spectral.

4. On considere une fonction de transfert h (p) ne comportant que des poles simples (donc qui semet sous forme d’une somme d’elements simples du premier ordre).

(a) Montrer que la methode de l’invariance impulsionnelle transforme les poles (mais pas leszeros) selon la relation z = Φ (p) (ceci reste vrai pour des poles multiples, pour lesquels lademonstration est lourde).

Page 120: Signal

110 CORRECTIONS DES TRAVAUX DIRIGES

0 1 2 3 4 5 6 7 8 9

0

0.5

1

1.5

2

Indices

Ampl

itude

s

va

2v

ha eth2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Fréquences réduites

Puiss

ance

|H (f)|²a

|H (f)|²2

|Ha|2 et |H2|2

Fig. 4.17 – Visualisation des reponses impulsionnelles et frequentielles.

H (p) =∑

k

αk

1− τkp

h (t) =∑

k

αk

τk

exp

(− t

τk

)u (t)

h [n] =∑

k

αk

τk

exp

(−nTe

τk

), n ≥ 0

H (z) =∑

k

αk

τk

1

1− exp(−Te

τk

)z−1

au pole pk = − 1τk

correspond le pole zk = exp(−Te

τk

)= exp (pkTe).

L’invariance impulsionnelle revient a appliquer la transformation z = exp (pTe) pour lespoles.

p = β + jΩ −→ z = eβTe .ejΩTe

(b) Quelle est l’image de la droite p = jΩ dans le plan en z par cette transformation Φ.On constate que si β = 0 alors la droite p = jΩ se transforme dans le plan en z en cerclede rayon unite.

(c) Comment se transforme le demi-plan gauche du plan de Laplace dans le plan en Z ?Le demi-plan gauche est caracterise par une valeur de β < 0 (soit la region de stabilitedans le domaine de Laplace). En appliquant la transformation, on observe que ce demi-plan devient l’interieur du cercle de rayon unite (soit le disque de stabilite dans le domaineen z). La transformation conserve la stabilite des systemes echantillonnes.

(d) Conclure sur l’interet de cette methode de synthese en ce qui concerne la stabilite du filtrenumerique obtenu.Les methodes de synthese par invariance de reponse sont rapides a mettre en œuvre. Cesmethodes d’echantillonnage de reponse de systeme a temps continu peuvent donc etre

Page 121: Signal

4.7. TRAITEMENT DU SIGNAL 111

interessante puisque la stabilite est conservee. Nous allons la qu’il s’agit d’une conclusionhative.

5. On desire realiser un filtre numerique recursif du premier ordre, de type passe-bas, avec unefrequence de coupure fc a −3 dB et une frequence d’echantillonnage Fe. On decide pour celad’appliquer la methode de l’invariance indicielle sur le filtre h (p). On pose Te = τ log

(1α

)avec

0 < α < 1. (α voisin de 1 correspond a un echantillonnage de v (t) a frequence elevee, α voisinde 0 correspond a une frequence d’echantillonnage Fe faible). On pose νc = fc

Fe.

(a) Ecrire la relation qui lie cos (2πν1) et α sous la forme cos (2πν1) = g (α), et tracer l’allurede g (α).D’apres la relation du corrige, la reponse indicielle echantillonnee vaut :

v (n) = (1− αn) u (n)

On en deduit :

H (z) =(1− α) z−1

1− αz−1

H (ν) =(1− α) e−j2πν

1− αe−j2πν

|H (ν)|2 =(1− α)2

|1− αe−j2πν |2

=(1− α)2

1 + α2 − 2α cos (2πν)

Nous voulons une attenuation de 3 dB pour la frequence de coupure νc :

|H (νc)|2 =1

2

=(1− α)2

1 + α2 − 2α cos (2πνc)

=⇒ cos (2πνc) = g (α)

=4α− α2 − 1

(b) En deduire qu’il existe une limite superieure pour le choix de la position de fc par rapportaFe.On sait que g (.) est bornee du fait de l’egalite avec le terme trigonometrique (cos (2πνc)).Nous obtenons donc les deux extremas de α :

αmin = 3−√

8

=⇒

νc = 0.5Fe = 0.567

τ

αmax = 1

=⇒

νc = 0Fe −→ +∞

Page 122: Signal

112 CORRECTIONS DES TRAVAUX DIRIGES

-3

-2

-1

0

1

0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

αmin

α

(α)g

Fig. 4.18 – g (α)

6. Conclure sur les methodes de synthese par invariance, dans l’optique de fabriquer un filtre atemps discret dont le gain satisfait a un gabarit en frequence defini par une bande passante etune bande attenuee.Les methodes de synthese par invariance de reponse ne fournissent pas des resultats tres per-formants en terme de selectivite. En effet, quelque soit la reponse consideree pour creer unfiltre numerique, on se retrouve inevitablement confronte au phenomene de recouvrement spec-tral. Pour s’en reduire l’influence, il faudrait pouvoir effectuer un echantillonnage a tres hautefrequence. Ces methodes d’echantillonnage de reponse de systeme a temps continu presententdonc peu d’interet bien que la stabilite soit conservee.

4.7.2.3 Synthese de filtre recursif par la transformation bilineaire

La transformation bilineaire est definie par : p = k 1−z−1

1+z−1 ou z = k+pk−p

.

1. Montrer que la transformation bilineaire fait correspondre la droite p = jΩ et le cercle de rayonunite z = exp (j2πν).

z =k + p

k − p

=k + jΩ

k − jΩ

=

√k2 + Ω2 exp

(j arctan

(Ωk

))√

k2 + Ω2 exp(−j arctan

(Ωk

))

= 1. exp

(j2 arctan

k

))

(a) En deduire la relation liant Ω et ν.

Ω = k tan (πν)

= k tan(ω

2

)

(b) Montrer que si h (p) est un filtre analogique stable, H (z) obtenu par transformationbilineaire est aussi un filtre stable.

Page 123: Signal

4.7. TRAITEMENT DU SIGNAL 113

On constate que l’axe imaginaire du domaine de Laplace se transforme en cercle derayon unite. Observons ce qui se produit si on considere l’expression d’un pole stablep = −α + jΩ avec α > 0 :

z =k + p

k − p

=k − α + jΩ

k + α− jΩ

|z| =√

(k − α)2 + Ω2

|k + α|2 + Ω2< 1

Le pole stable dans le domaine de Laplace a ete transforme en un point a l’interieur ducercle de rayon unite soit, le domaine de stabilite du domaine en Z.

2. On desire fabriquer un filtre a temps discret passe-bas, destine a fonctionner a une frequenced’echantillonnage de 8 kHz. le gabarit de ce filtre est illustre Fig. 3.2.

(a) Normaliser le gabarit (c-a-d. representer le gain en fonction de ν dans l’intervalle [0..1]).Voir Fig. 4.19 pour le gabarit du filtre numerique normalise.

(b) En utilisant la relation liant Ω et ν, construire le gabarit associe pour le filtre a tempscontinu. On choisira une valeur de k qui donne un gabarit analogique normalise.Voir Fig. 4.19 pour le gabarit du filtre analogique.Nous savons que frequences numeriques et frequences analogiques sont liees par la rela-tion :

Ω = k tan πν

En choisissant d’obtenir un gabarit de filtre analogique normalise, nous nous imposonsΩc = 1 ce qui nous permet de determiner la valeur de k le facteur d’echelle :

k =1

tan πνc

Nous pouvons maintenant calculer la valeur de la pulsation d’attenuation Ωa :

A (dB)

0

3

18

f (kHz)0,8 1,48

ν

Ω0,1 0,185

1 Ωa

(f/Fe)

Fig. 4.19 – Allure des gabarits normalises.

Ωa =tan πνa

tan πνc

= 2.022

Page 124: Signal

114 CORRECTIONS DES TRAVAUX DIRIGES

(c) Synthetiser le filtre analogique sous la forme d’un filtre de Butterworth, et en deduirele filtre numerique recherche. (Les coefficients normalises se trouvent dans le polycopie desynthese des circuits de filtrage).La lecture de l’abaque de la famille de Butterworth nous indique un ordre de 3 :

H (p) =1

(p + 1) (p2 + p + 1)

=1

p3 + 2p2 + 2p + 1

L’application de la transformee bilineaire nous fournit l’expression du filtre numerique :

H (z) =0.0181 (1 + z−1)

3

1− 1.176z−1 + 1.183z−2 − 0.2781z−3

Page 125: Signal

4.7. TRAITEMENT DU SIGNAL 115

4.7.3 TFD et analyse spectrale

4.7.3.1 TFD et interpolation

Soit une sequence xn de longueur N et sa Tfd sur N points notee XN [k]. On va fabriquer plusieurssequences de longueur 2N a partir de xn et etudier leurs Tfd.Les demonstrations seront faites pour un ordre N quelconque. On pourra ensuite, pour aider lacomprehension des resultats, les appliquer a la sequence particuliere de longueur 8 illustree Fig.(4.20).

0 1 2 3 4 5 6 70

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Indices temporels

Sequence test.

0 1 2 3 4 5 6 70

0.5

1

1.5

2

2.5

3

3.5

4

Indices fréquentiels

Tfd de la sequence test.

Fig. 4.20 – Allures de la sequence et de sa Tfd.

1. On construit la suite yn par concatenation :

yn = xn + xn−N n ∈ [0, 2N [

Exprimer Y2N [l] la Tfd d’ordre 2N de yn en fonction de XN [k].

L’indice frequentiel l de Y2N [l] est defini sur [0, 2N [.

Y2N [l] =2N−1∑n=0

yne−j2π nl

2N

=N−1∑n=0

xne−j2π nl

2N +2N−1∑n=N

xn−Ne−j2π nl2N

=N−1∑n=0

xne−j2π nl

2N +N−1∑p=0

xpe−j2π

(p+N)l2N

=N−1∑n=0

xne−j2π nl

2N + e−jπk

N−1∑p=0

xpe−j2π pl

2N

=(1 + (−1)k

) N−1∑n=0

xne−j2πn l

2N

=(1 + (−1)k

)XN

[l

2

]

=

2XN

[l2

]l pair

0 l impair

Page 126: Signal

116 CORRECTIONS DES TRAVAUX DIRIGES

La concatenation de sequence n’apporte aucune information dans le domaine spectral puisqueles N points supplementaires sont nuls.

0 5 10 150

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Indices temporels

y2N

0 5 10 150

1

2

3

4

5

6

7

8

Indices fréquentiels

Y2N

Fig. 4.21 – Concatenation de sequence.

2. On construit la suite vn par ajout de 0 :

vn =

xn n ∈ [0, N [0 n ∈ [N, 2N [

Exprimer V2N [l] la Tfd d’ordre 2N de vn en fonction de XN [k].

V2N [l] =2N−1∑n=0

vne−j2π nl2N

=N−1∑n=0

xne−j2π nl2N

=N−1∑n=0

xne−j2πn l

2N

= XN

[l

2

]

L’ajout de valeurs nulles a la sequence originale nous permet d’obtenir un effet interessantpuisque nous obtenons un spectre de longueur plus grande et que les donnees manquantes ontete interpolees a partir des valeurs connues.

3. On construit la suite wn par interpolation d’ordre 0 :

wn =

xn

2pour n = 2m

0 pour n = 2m + 1m ∈ [0, N [

Page 127: Signal

4.7. TRAITEMENT DU SIGNAL 117

0 5 10 150

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Indices temporels

v2N

0 5 10 150

0.5

1

1.5

2

2.5

3

3.5

4

Indices fréquentiels

V2N

Fig. 4.22 – Technique du ¿Zero-paddingÀ.

Exprimer W2N [k] la Tfd d’ordre 2N de wn en fonction de XN [k].

W2N [l] =2N−1∑n=0

wne−j2π nl2N

=N−1∑p=0

w2pe−j2π 2pl

2N +N−1∑p=0

w2p+1e−j2π

(2p+1)l2N

=N−1∑p=0

xpe−j2π pl

N

= XN [l] + XN [l −N ]

Le spectre de la seconde est compose du spectre initial concatene.

0 5 10 150

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Indices temporels

w2N

0 5 10 150

0.5

1

1.5

2

2.5

3

3.5

4

Indices fréquentiels

W2N

Fig. 4.23 – Interpolation temporelle de degre 0.

4. Comparer les resultats des questions 1 et 3, et montrer qu’ils peuvent se deduire l’un de l’autrepar dualite.

Comparer egalement ces resultats a ceux trouves dans le TD sur l’echantillonnage lors de l’etudedu filtre sur-echantillonneur (exercice ¿Filtres non invariantsÀ, cf. 3.5.1.3).

Page 128: Signal

118 CORRECTIONS DES TRAVAUX DIRIGES

4.7.3.2 TFD et analyse spectrale

1. On echantillonne un signal xa (t) a la frequence Fe = 8, 192 kHz pendant un temps T . On obtientN echantillons. Quelle doit etre la valeur de T pour que le spectre calcule par Tfd calcule surl’ensemble des echantillons comporte une raie par Hertz.la resolution spectrale est donnee par :

R =N

Fe

On en deduit que pour une resolution de 1 Hz il nous faut mesurer 8192 echantillons. La dureed’observation est determinee par :

T =N

Fe

soit une duree de 1 seconde.

2. Le signal xa (t) est une sinusoıde pure de frequence f1 = 1 kHz et d’amplitude A = 3. Onconsidere l’echantillonnage ideal theorique de ce signal et on appelle x [n] la sequence sinusoıdalede longueur infinie ainsi obtenue. Representer la densite spectrale de puissance Γx (ν) de cettesequence.

xa (t) = A sin (2πf1t)

x [n] = A sin

(2π

f1

Fe

n

)

Γx (ν) = |X (ν)|2

X (ν) =∑

n

x [n] exp (−j2πnν)

=∑

n

A sin

(2π

f1

Fe

n

)exp (−j2πnν)

=A

2j

∑n

(exp

(j2π

f1

Fe

n

)− exp

(−j2π

f1

Fe

n

))exp (−j2πnν)

=A

2j

(∑n

exp

(−j2π

(ν − f1

Fe

)n

)−

∑n

exp

(−j2π

(ν +

f1

Fe

)n

))

=A

2j

(ν − f1

Fe

)− δ

(ν +

f1

Fe

))

Γx (ν) =A2

4

(ν − f1

Fe

)+ δ

(ν +

f1

Fe

))

+0,5-0,5 fF

1

e-

fF

1

e+

Γ (ν)x

f

A²4

Fig. 4.24 – Dsp du signal xa.

Page 129: Signal

4.7. TRAITEMENT DU SIGNAL 119

En realite, apres echantillonnage pendant la duree T et conversion numerique, la sequence y [n]obtenue est de longueur finie egale a N . La Dsp est estimee par un periodogramme d’ordre N , avecune fenetre rectangulaire.

1. Representer l’allure de la transformee de Fourier X (ν) de la sequence y [n]. En deduire lesraies donnees par le periodogramme sur un voisinage de f1 sachant que celui-ci est calcule al’aide d’une Tfd d’ordre N . On precisera les positions et les amplitudes exactes de ces raies.La fenetre rectangulaire d’observation Π est de longueur N et a pour Dsp :

Π (f) = N2 sin2c (πf)

On constate que l’echantillonnage frequentielle avec un pas de 1 Hz correspond a considerertous les nœuds du sinus cardinal ainsi que son maximum localise en f1 dont la valeur est egalea A2

2N3.

2. L’amplitude A restant constante, la frequence du signal xa (t) est modifiee pour passer a f2 =1, 0005 kHz. Representer alors l’allure des raies donnees par le periodogramme sur le memevoisinage de frequence que precedemment.Cette modification de la frequence du signal sinusoıdal a pour consequence de localiser lacontribution de la fenetre en 10005 Hz et non plus en 1 kHz comme l’illustre la figure 4.25.

0

0.2

0.4

0.6

0.8

1

996 997 998 999 1000 1001 1002 1003 1004 1005f

Fig. 4.25 – Illustration de la Tf de la fenetre rectangulaire d’observation localisee en f1 et f2.

L’echantillonnage en frequence n’a quant a lui pas change. On conservera les amplitudes dela Dsp aux valeurs entieres de frequences (cf. Fig. 4.25). C’est pourquoi, nous obtenons unedensite spectrale tres differente comme le montre la Fig. 4.26.

Ce resultat s’explique par le fait que notre estimateur ne sait mettre en evidence que les signauxtrigonometriques de frequence entiere. Ce qui n’est pas le cas de f2, notre estimateur va nousfournir alors une approximation du spectre sous la contrainte de conservation de l’energie. Auxvoisinage de 1 kHz, on constate une symetrie puisque f2 est a egale distance de f1 et f1 + 1.

3Le facteur N intervient car nous n’avons pas utilise une fenetre normalisee en energie. Il aurait fallu considererune fenetre d’amplitude de 1√

Net non de 1.

Page 130: Signal

120 CORRECTIONS DES TRAVAUX DIRIGES

0 500 1000 1500 2000 2500 3000 3500 4000-160

-140

-120

-100

-80

-60

-40

-20

0

20

40

Fréquences (Hz)

Puiss

ance

(dB)

Dsp ideale et reelle.

996 997 998 999 1000 1001 1002 1003 1004 10050

10

20

30

40

Fréquences (Hz)

Puiss

ance

(dB)

Agrandissement au voisinage de f1.

Fig. 4.26 – le periodogramme fournit une approximation du spectre.