192
1 Traitement des données. De l’acquisition des signaux et images jusqu’à leur interprétation Didier VRAY, Denis FRIBOULET MASTER et École Doctorale MEGA [email protected]

Traitement des données. De l’acquisition des signaux et ...vray/doc_cours/cours_MEGA.pdf · 4 SIGNAL ? Domaines d’application : • communication, aéronautique, astronautique,

  • Upload
    vudan

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

1

Traitement des données. De l’acquisition des signaux et images jusqu’à leur

interprétation

Didier VRAY, Denis FRIBOULET MASTER et École Doctorale MEGA

[email protected]

2 BIBLIOGRAPHIE

Ouvrages généraux

• Bernard MULGREW, "Digital Signal Processing, concepts and applications", Palgrave MacMillan, 2003

• Alan OPPENHEIM, A. SCHAFER, "Discrete-time Signal Processing", PRENTICE HALL, 1999

• Alan OPPENHEIM, A. WILLSKY, "Signals and Systems", PRENTICE HALL, 1997

• J. Mc CLELLAN, "DSP First, A multimedia approach", PRENTICE HALL, 1999

• François de COULON, "Théorie et traitement des signaux", DUNOD, 1984

• Murat KUNT, "Traitement Numérique des signaux", 1981

Applications ou pour aller plus loin

• J. MARS, J.-L. LACOUME, "Traitement du signal pour géologues et géophysiciens", TECHNIP 2004, Tome 3 : Techniques avancées et Tome 2 : Techniques de base, Tome 1 : Prospection sismique

• M. BELLANGER, "Traitement numérique du signal : Théorie et pratique", 8ème édition, DUNOD, 2006

• S. MARPLE, "Digital spectral analysis", PRENTICE-HALL, 1987

3

Traitement du signal et applications

Introduction

Denis Friboulet – Didier Vray

4 SIGNAL ?

Domaines d’application : • communication, aéronautique, astronautique, acoustique, contrôle de processus

chimique, ingénierie biomédicale, traitement de la parole, économie, météorologie... • information représentée sous forme de signal

Signal :

• fonction de une ou plusieurs variables indépendantes : f(x,y,z) • représente / contient information sur un phénomène (physique)

Signaux continus: f(t), t ∈ R Signaux discrets: f[n], n ∈ Z Types de signaux

Dimension du signal : • 1D : f(t) f[n] • 2D :f(u,v) f[i,j] • 3D : f(u,v,w) f[i,j,k] • etc...

t

n

5 SIGNAL ?

Mesures • Capteur, statistiques.... • Développement des capteurs : microphone, céramiques piézoélectriques, antennes,

capteurs CCD, de pression

Acquisition numérique :

• Stockage • Traitement numérique par ordinateur • Perte d’information ? • Importance des techniques numériques

Capteur t

Capteur Echantillonnage t

6 EXEMPLES DE SIGNAUX

Signal de parole

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 -0.3 -0.2 -0.1

0 0.1 0.2 0.3 0.4

Temps (s)

ampl

itude

‘e’

b on j ou r 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

-0.4

-0.2

0

0.2

0.4

0.6

Temps (s)

ampl

itude

b on j ou r

7 EXEMPLES DE SIGNAUX

Évolution de la rente 5% sous le consulat et le 1er empire

0

10

20

30

40

50

60

70

80

90

100%

1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815

Coup d’état du 18 brumaire

Paix de Lunéville

L’Autriche attaque la Bavière

Victoire sur la Prusse à Iéna Victoire sur la Russie à Eylau

Victoire sur la Russie à Friedland Traité de Tilsit avec la Russie

Début de la campagne de Russie

Début de la retraite de Russie

Défaite de Vitoria. L'Autriche se joint à la Prusse et

à la Russie contre la France. Défaite de Leipzig.

Défaites en Espagne et au Portugal

Abdication de Napoléon

Waterloo

Napoléon débarque à Golfe Juan

Victoire sur l’Autriche à Ulm

L’Angleterre recherche la paix

et l’obtient à Amiens

© Le Monde 28/01/1997

8 EXEMPLES DE SIGNAUX

Évolution hebdomadaire du Dow Jones du 5 janvier 1929 au 4 janvier 1930

50

100

150

200

250

300

350

400

5 jan. 1929 4 jan. 1930

9 EXEMPLES DE SIGNAUX

Signaux ultrasonores

Signal réel

t

τ = 2d/c , c ≈ 1540 m/s (tissus biologiques)

Émission

Réception

d

t

Composante spéculaire Composante diffuse

10 EXEMPLES DE SIGNAUX

Images ultrasonores: échographie intravasculaire

11 EXEMPLES DE SIGNAUX

Images ultrasonores: échographie intravasculaire

Plaque artérielle

12 EXEMPLES DE SIGNAUX

Images cardiaques échographie ultrasonore et en IRM

13 EXEMPLES DE SIGNAUX

Tomographie X

14 EXEMPLES DE SIGNAUX

Tomographie par rayonnement X synchrotron

15 EXEMPLES DE SIGNAUX

Tomographie X

16 TRAITEMENT DU SIGNAL ?

Buts : • Modélisation : représentation d’un phénomène (caractérisation, prédiction...) • Analyse : extraction d’information (mesure, compression, détection, reconnaissance...) • Filtrage, restauration : transformation du signal (minimisation du bruit, suppression de

parasite...) • Etc.

Notion de système de traitement :

Notion de domaine de représentation : • Transformée de Fourier • Modèles autorégressifs, transformée de Laplace, transformée de Wigner, transformée

en ondelettes, transformée cosinus....

Système de Traitement t t

17 EXEMPLES DE TRAITEMENT

Imagerie ultrasonore

Image ?

N Signaux

18 EXEMPLES DE TRAITEMENT

Signaux acquis

Image Compressée

Détection d'enveloppe

Compression logarithmique

Enveloppe

19 EXEMPLES DE TRAITEMENT

Signal de parole : analyse ?

b on j ou r 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

-0.4

-0.2

0

0.2

0.4

0.6

Temps (s)

ampl

itude

b on j ou r

20 EXEMPLES DE TRAITEMENT

Domaine de représentation : temps-fréquence

21 EXEMPLES DE TRAITEMENT

Détection de rupture

Cas idéal

0 5 10 15 20 -2

-1

0

1

2

0 50 100 150 200 250 -2

-1

0

1

2 Cas réel avec bruit gaussien (σ = 0.4)

0 50 100 150 200 250 -2

-1

0

1

2

Opérateur différentiel : [ 1 -1 ]

0 5 10 15 20 -2

-1

0

1

2

Opérateur différentiel : [ 1 -1 ]

22 EXEMPLES DE TRAITEMENT

Détection de rupture

Opérateur différentiel : [ 1 -1 ] Opérateur optimisé : Canny[86] – Deriche[87]

Cas réel avec bruit gaussien (σ = 0.4)

0 50 100 150 200 250 -2

-1

0

1

2

0 50 100 150 200 250 -2

-1

0

1

2

0 50 100 150 200 250 -1

0

1

2

3

4

23 EXEMPLES DE TRAITEMENT

Détection de rupture

0 50 100 150 200 250 -4

-2

0

2

4

0 50 100 150 200 250 -4

-2

0

2

4

6

Cas réel avec bruit gaussien (σ = 1.0) Cas réel avec bruit gaussien (σ = 1.2)

0 50 100 150 200 250 -4

-2

0

2

4

0 50 100 150 200 250 -4

-2

0

2

4

Opérateur optimisé :

24 EXEMPLES DE TRAITEMENT

Image : Détection de contours

Bords horizontaux

Bords verticaux

Norme du gradient Seuillage

||2

25 EXEMPLES DE TRAITEMENT

Détection de contour par ensemble de niveau basé sur les dérivées (gradient)

Ensemble de niveau: Principe d’évolution Evolution basée sur le

gradient d’une image IRM

26 EXEMPLES DE TRAITEMENT

Détection de contour par ensemble de niveau basé sur les statistiques

Histogramme

Sang

Histogramme

Muscle

27 EXEMPLES DE TRAITEMENT

Détection de contour par ensemble de niveau basé sur les statistiques

28 EXEMPLES DE TRAITEMENT

Visualisation de l’information ?

29 EXEMPLES DE TRAITEMENT

Visualisation : Rendu de volume par lancer de rayon

Plan de visualisation

1. Intersection avec l’objet : Tracé incrémental d’un rayon dans le volume discret

2. Estimation de la normale à l’objet : opérateur différentiel discret dans les 3 directions

N

α

L

N

3. Calcul de la lumière émise au point d’intersection : modèle de diffusion

Id = Ip (N . L)

4. Application des étapes 1, 2 et 3 à l'ensemble des rayons partant du plan de visualisation

30 EXEMPLES DE TRAITEMENT

© Joe Kniss, Utah

31 EXEMPLES DE TRAITEMENT

32

Signaux de base

Opération élémentaires sur les signaux

33 TRANSFORMATIONS DE LA VARIABLE INDEPENDANTE

Retournement

f(t) f(-t)

f[n] f[-n]

Opérations de base sur les signaux: • Retournement, décalage, changement d’échelle, etc. transformation de la variable indépendante

34 TRANSFORMATIONS DE LA VARIABLE INDEPENDANTE

Changement d’échelle

f(t) f(2t)

f[n] f[2n]

35 TRANSFORMATIONS DE LA VARIABLE INDEPENDANTE

Décalage temporel

f(t) f(t-t0)

Retard

f[n]

f(t+t0)

Avance

f[n-n0]

Retard

f[n+n0]

Avance

t 0

-t 0

-n 0

n 0

36 TRANSFORMATIONS DE LA VARIABLE INDEPENDANTE

Signaux pairs : invariance par retournement

f(-t) = f(t) f[-n] = f[n]

f[-n] = - f[n]

Signaux impairs : symétrie par retournement

f(-t) = - f(t)

37 SIGNAUX DE BASE CONTINUS

Signal sinusoïdal : 0( ) cos(2 )f t A f tπ φ= +

A AcosΦ

T 0 = 1 / f 0

A : amplitude φ : phase f0 : fréquence T0 : période

Variation de la fréquence f0 :

f1 f2 f3

f1 < f2 < f3

38 SIGNAUX DE BASE CONTINUS

Exponentielle complexe tfjtfe tfj00

2 2sin2cos0 πππ +=

Interprétation

Partie réelle

tfe tfj0

2 2cos)Re( 0 ππ =

tfe tfj0

2 2sin)Im( 0 ππ =

)(212cos 00 22

0tfjtfj eetf πππ −+=

)(212sin 00 22

0tfjtfj ee

jtf πππ −−=

Partie imaginaire

Exponentielles harmoniques Zketf tkfjk ∈= ,)( 02π

f0 : fréquence fondamentale

f0: vitesse de rotation

sin 2πf0t

t

Re

Im

cos 2πf0t

39 SIGNAUX DE BASE CONTINUS

Échelon unité

Impulsion unité (ou Dirac) : δ(t)

Représentation

u(t) = 0 si t < 0

1 si t > 0

1

( ) 1t dtδ+∞

−∞

=∫on veut avec

1 u∆(t)

1/∆ δ∆(t)

Aire = 1 δ(t) = lim δ∆(t) ∆ → 0

1

δ(t)

C

Cδ(t) δ(t-t0)

t0

dttdut )()( =δ

40 SIGNAUX DE BASE CONTINUS

Dirac : interprétation

δ(t)

t τ 0

Intervalle d’intégration

1

u(t)

0)( =∫∞−

tdττδ si t < 0

t τ 0

Intervalle d’intégration

δ(t)

1)( =∫∞−

tdττδ si t > 0

L’aire du Dirac est "concentrée" en un point

41 SIGNAUX DE BASE CONTINUS

Dirac : Propriété

Dirac : Propriété x(t) δ(t) = x(0) δ(t) Dirac de poids x(0)

x(t) δ(t)

x(0) δ(t)

( ) 1t dtδ+∞

−∞

=∫

Dirac : Propriété x(t) δ(t-t0) = x(t0) δ(t-t0)

x(t) δ(t-t0)

t0

x(t) x(t0)δ(t-t0)

t0

42 SIGNAUX DE BASE CONTINUS

0 0( ) ( ) ( )x t t t dt x tδ+∞

−∞

− =∫ Dirac : Propriété

Dirac : Propriété ( ) ( ) (0)x t t dt xδ+∞

−∞

=∫

43 SIGNAUX DE BASE CONTINUS

2

1

21 2( , ) ( )

t

st

E t t s t dt= ∫

Énergie et puissance moyennes d’un signal continu s(t)

• Énergie moyenne calculée sur l’intervalle [t1, t2] :

2

1

21 2

2 1

1( , ) ( )t

st

P t t s t dtt t

=− ∫

• Puissance moyenne calculée sur l’intervalle [t1, t2] :

Interprétation : énergie dissipée par unité de temps

44 SIGNAUX DE BASE DISCRETS

Échelon unité

Impulsion unité : on définit

Propriétés

u[n] = 0 si n < 0

1 si n ≥ 0

[ ] [ ]n

mu n mδ

=−∞= ∑ conséquences et [ ] [ ] [ 1]n u n u nδ = − −

x[n] δ[n] = x[0] δ[n]

x[n] δ[n-n0] = x[n0] δ[n-n0]

[ ] 1n

nδ+∞

=−∞=∑

0 0[ ] [ ] [ ]n

x n n n x nδ+∞

=−∞− =∑

[ ] [ ] [0]n

x n n xδ+∞

=−∞=∑

0

1

.......

δ[n] = 1 si n = 0

0 si n ≠ 0

0

1

45 SIGNAUX DE BASE DISCRETS

Sinusoïdes discrètes : cos 2πf0n

A la différence du cas continu, la rapidité des oscillations n’augmente pas continûment avec f0

0 10 20 300

0.5

1fréquence = 0

0 10 20 30-1

0

1fréquence = 1/16

0 10 20 30-1

0

1fréquence = 1/8

0 10 20 30-1

0

1fréquence = 1/4

0 10 20 30-1

0

1fréquence = 1/2

0 10 20 30-1

0

1fréquence = 3/4

0 10 20 30-1

0

1fréquence = 7/8

0 10 20 30-1

0

1fréquence = 15/16

0 10 20 300

0.5

1fréquence = 1

46 SIGNAUX DE BASE DISCRETS

Exponentielles discrètes

Mêmes propriétés que sinusoïdes (différence de comportement par rapport au cas continu et contraintes sur la périodicité)

nfjnfe nfj00

2 2sin2cos0 πππ +=

47 SIGNAUX DE BASE DISCRETS

Énergie et puissance d’un signal discret s[n]

2

1

2[ ]n

n ns n

=∑

2

1

2

2 1

1 [ ]n

n ns n

n n =− ∑

• Énergie moyenne :

• Puissance moyenne :

48

Les Systèmes Linéaires Invariants

49 Notion de Système

Définition :

• Un système est un modèle mathématique d’un processus physique qui relie un signal d’entrée à un signal de sortie

• Un système est un dispositif de traitement du signal • En entrée : e(t) signal d’entrée • En sortie : s(t) signal de sortie

Exemples :

• Amplificateur, système audio, téléphone, système vidéo • Un système complexe peut être vu comme l’interconnexion de plusieurs systèmes dont

les fonctions sont plus simples

Questions • Quelles sont les propriétés intéressantes des systèmes ?

• Comment caractériser un système ? = Comment modéliser la relation entre entrée et sortie ?

50 Représentation des Systèmes

Représentation sous forme de schéma bloc

e(t) s(t) Scontinu

e[n] s[n] Sdiscret

s(t) = S{e(t)}

s[n] = S{e[n]}

Interconnections des systèmes • Série / Cascade

• Parallèle

• Série / Parallèle

• Feed-back

Système 1 Système 2 Input Output

Système 1

Système 2

+ Output Input

Système 1

Système 3

+ Output Input

Système 2

Système 4

51 PROPRIETES DES SYSTEMES

ETUDE DE 2 PROPRIETES FONDAMENTALES (système continu ou discret): LINEARITE INVARIANCE EN TEMPS LINEARITE (Propriété de superposition) Soit y1[n]=S{x1[n]} et y2(t)=S{x2[n]} ALORS a y1[n]+ b y2[n] = S{a x1[n]+b x2[n]} Conséquence : une entrée nulle produit une sortie nulle INVARIANCE EN TEMPS Soit y[n]=S{x[n]} ALORS y[n-n0]=S{x[n-n0]} La sortie du système ne dépend pas de l'origine des temps La sortie du système ne dépend pas de l’instant où est appliquée l’entrée On notera SLIT un système Linéaire et Invariant en Temps

52

x(t)

t

0 1 2

y(t)

t

0 1 2

EXEMPLES - linéarité et invariance en temps des systèmes suivants : y[n] = 2x[n], y(t) = x(t-2) -2x(t-19) y[n] = x[-n], y(t) = sin(6t) x(t) y[n] = 2x[n]+3, y(t) = a exp(x(t))

UTILISATION DES PROPRIETES : Soit un système LINEAIRE et INVARIANT EN TEMPS qui a en sortie y(t) lorsque l’entrée est x(t) : Quelle est la réponse du système lorsque l’entrée est x1(t)

x1(t)

t 0 1

4 3 2

LIT L IT

53 RAPPEL DE QUELQUES PROPRIETES DE L’IMPULSION UNITE

δ ( )t dt =−∞

+∞

∫ 1[ ] 1nδ+∞

−∞

=∑

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

+∞

∫ 0[ ] [ ] [0]x n n xδ+∞

−∞

=∑

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

+∞

∫ 0 0x n n n x n[ ] [ ] [ ]δ − =

−∞

+∞

∑ 0 0

δ τ τ( ) ( )d u tt

=−∞∫δ[ ] [ ]k u n

k

n

==−∞∑

( ) ( ) (0) ( )x t t x tδ δ=[ ] [ ] [0] [ ]x n n x nδ δ=

0 0 0( ) ( ) ( ) ( )x t t t x t t tδ δ− = −0 0 0[ ] [ ] [ ] [ ]x n n n x n n nδ δ− = −

54 REPRESENTATION DES SIGNAUX EN SOMME D’IMPULSIONS

Exemple de la représentation d’un signal discret en terme d’impulsions retardées

Généralisation : • Tout signal discret peut être décrit comme une somme

d’impulsions de Dirac retardées et pondérées par l’amplitude de ce signal :

Décomposition équivalente pour les signaux continus :

x n x k n kk

[ ] [ ] [ ]= −=−∞

+∞

∑ δ

x t x t d( ) ( ) ( )= −−∞

+∞

∫ τ δ τ τ

[ ]x n

[ 2] [ 2]x nδ− +

[0] [ ]x nδ

-4 -3 -2 -1 0 1 2 3 4

-4 -1 2 3 -3 -2 0 1 4

2 -4 -3 -2 -1 0 1 3 4

-4 -3 -2 -1 0 1 2 3 4

-4 -3 -2 -1 0 1 2 3 4

-1

-4 -3 -2 0 1 2 3 4

[ 1] [ 1]x nδ− +

[1] [ 1]x nδ −

[2] [ 2]x nδ −

n

n

n

n

n

55 NOTION DE REPONSE IMPULSIONNELLE

La réponse impulsionnelle h[n] d’un système est la réponse du système lorsque le signal d’entrée est l’impulsion de Dirac δ[n] :

Dans le cas des systèmes linéaires et invariant en temps (SLIT), la réponse impulsionnelle h[n] permet de caractériser totalement le système.

La Transformée de Fourier ou la transformée en z de la réponse impulsionnelle permettent de déduire :

• La réponse en fréquence ou gain complexe H(f) • Le gain en fonction de fréquence |H(f)| ou la phase arg(H(f) • La fonction de transfert H(z)

δ[n] h[n] S

56 EQUATION DE CONVOLUTION

Considérons un système S linéaire et invariant en temps (LTI) de réponse impulsionnelle h[n]. Nous pouvons donc écrire :

entrée S sortie δ[n] h[n] δ[n-k] h[n-k] x[k] δ[n-k] x[k] h[n-k]

x[n] S y[n]

D’où l’équation de convolution discrète qui lie signal d’entrée, signal de sortie et réponse impulsionnelle d’un système LIT :

[ ] [ ]k

x k n kδ+∞

=−∞

−∑ [ ] [ ]k

x k h n k+∞

=−∞

−∑

[ ] [ ] [ ]k

y n x k h n k+∞

=−∞

= −∑

57 EQUATION DE CONVOLUTION

Un changement de variable permet de convertir l’équation de convolution sous une autre forme:

Notation de la convolution

L’équation de convolution permet de calculer la sortie du système pour n’importe quelle entrée x[n]

[ ] [ ] [ ] [ ] [ ]k k

y n x k h n k h k x n k+∞ +∞

=−∞ =−∞

= − = −∑ ∑

[ ] [ ] [ ] [ ] [ ]y n x n h n h n x n= ∗ = ∗

58 CALCUL PRATIQUE DE LA CONVOLUTION

y[n] ? x[n] h[n] S

y[n] = x[n] * h[n]

0 1 2 3 4 5 6 7 8 9 10

x[k]

0 4 k

k 0

k 0

k 0

k 0

k 0

h[n-k]

h[n-k]

h[n-k]

h[n-k]

h[n-k]

n n-6

n-6

n-6

n-6

n-6

n<0

n

n

n

n

0<n<4

4<n<6

6<n<10

n>10

x[n]

0 1 2 3 4 5

1

0 1 2 3 4 5 6 7

h[n]

1 2 4 8 16

32

64

59 CALCUL PRATIQUE DE LA CONVOLUTION

Cas usuel : • soit x de durée N, h de durée M, avec N≥M (signaux à durée finie) • x et h ont des amplitudes nulles pour les temps (indices) négatifs (signaux causaux)

alors l’équation de convolution se simplifie : On note que la durée de y[n] est N+M-1 : la convolution ‘allonge’ les signaux

[0] [0] [0][1] [0] [1] [1] [0][2] [0] [2] [1] [1] [2] [0]

.....[ ] [ 1] [ 1] .... [ ] [ ] ... [ ] [0]

.....[ 2] [ 1] [ 1]

y x hy x h x hy x h x h x h

y i x i M h M x i M j h M j x i h

y N M x N h M

== += + +

= − + − + + − + − + +

+ − = − −

1 1

0 020[ ] [ ] [ ] [ ] [ ]

N M

k kN Mày n x k h n k h k x n k pour n

− −

= =

+ −= − = − =∑ ∑

60 ILLUSTRATION DE LA CONVOLUTION DE SIGNAUX CONTINUS

( ) ( ) * ( )

( ) ( )

( ) ( )

y t x t h t

x h t d

h x t d

τ τ τ

τ τ τ

+∞

−∞

+∞

−∞

=

= −

= −

τ

h(τ)

τ

h(t0-τ)

t0>0

t0

0 0( ) ( ) ( )y t x h t dτ τ τ+∞

−∞

= −∫

τ

x(τ)h(t0-τ)

t

( )( ) * ( )y t

x t h t=

t0

τ

x(τ)

t0

y(t) ? x(t) S

h(t)

61 PROPRIETES DE LA CONVOLUTION

Commutativité

Mise en cascade

Distributivité

Élément neutre, définition de la réponse impulsionnelle d’un système LIT

Attention, ces propriétés ne sont valables que pour les systèmes LIT

[ ] [ ] [ ] [ ]x n h n h n x n∗ = ∗

1 2 1 2[ ] { [ ] [ ]} { [ ] [ ]} [ ]x n h n h n x n h n h n∗ ∗ = ∗ ∗

1 2 1 2[ ] { [ ] [ ]} { [ ] [ ]} { [ ] [ ]}x n h n h n x n h n x n h n∗ + = ∗ + ∗

[ ] [ ] [ ]n h n h nδ ∗ =

62 PROPRIETES DE LA CONVOLUTION

Fonction propre d’un système LIT

Soit un système LIT de réponse impulsionnelle h(t) Considérons le signal d’entrée x(t) exponentielle complexe (phaseur pur) : Calculons la sortie correspondante à ce système: H(f0) est une constante complexe dont la valeur ne dépend que de f0 et de la réponse

impulsionnelle du système

Résultat extrêmement important : La réponse d’un système LIT à un signal d’entrée de type exponentielle complexe (fonction sinusoïdale de fréquence fixée), est le même signal (pas de changement de fréquence) mais pondéré par un coefficient qui dépend uniquement de la réponse impulsionnelle du système.

On dit que l’exponentielle complexe est une fonction propre des systèmes SLIT

0

0

2( ) jf tfx t e π=

02 ( )( ) ( ) ( ) ( ) jf ty t x t h t h e dπ ττ τ+∞

−∞

= ∗ = ∫

0 0 02 2 20( ) ( )jf t jf jf te h e d e H fπ π τ πτ τ

+∞−

−∞

= =∫

63 EXEMPLES DE SYSTEMES LIT

RETARD PUR

On déduit que la réponse impulsionnelle de ce système est

x[n] y[n]=x(n-n0) retard n0

0 0[ ] [ ] [ ] [ ]y n x n n x n n nδ= − = ∗ −

h[n]

n 0 n0

1 h[n]=δ[n-n0]

64 EXEMPLES DE SYSTEMES LIT

MOYENNEUR TEMPOREL

On déduit que la réponse impulsionnelle de ce système est

x[n] y[n] Moyenneur sur M échantillons

1

0

[ ] [ ]k M

kh n n kδ

= −

=

= −∑0

1

M-1

h[n]

1 1 1

0 0 0

[ ] [ ] [ 1] [ 2] .... [ 1]

[ ] [ ] [ ] [ ]* [ ]k M k M k M

k k k

y n x n x n x n x n M

x n k x n n k x n n kδ δ= − = − = −

= = =

= + − + − + + − +

= − = ∗ − = −∑ ∑ ∑

65 PROPRIETES DES SYSTEMES

LINEARITE

INVARIANCE EN TEMPS

CAUSALITE Définition générale : La sortie d’un système causal ne dépend que des valeurs présentes ou

passées de l’entrée

STABILITE

Définition générale: Un système est stable si à toute entrée d’amplitude bornée correspond une sortie bornée

66 DESCRIPTION DES SYSTEMES EQUATIONS AUX DIFFERENCES

L’expression la plus générale reliant entrée x[n] et sortie y[n] d’un système LIT

est de la forme :

Si on considère un système causal d’ordre N, l’expression peut s’écrire :

Exemple d’un système du 1er ordre : y[n]=x[n] +Ky[n-1]

Exemple d’un système du 2ème ordre : y[n]=x[n] +a1y[n-1]+ a2y[n-2]

[ ] [ ]k kk k

b x n k a y n k+∞ +∞

=−∞ =−∞

− = −∑ ∑

0 1[ ] [ ] [ ]

M N

k kk k

y n b x n k a y n k= =

= − − −∑ ∑

67

Transformée de Fourier des signaux continus

68 TRANSFORMÉE DE FOURIER DES SIGNAUX CONTINUS

Principe : représenter un signal continu comme la combinaison linéaire de signaux de base (pour faciliter l'analyse des signaux et des systèmes)

Choix des signaux de base • Ils doivent pouvoir représenter une large classe de signaux • La réponse d'un système linéaire invariant à un signal de base doit être simple

Signaux de base : • Ensemble des exponentielles complexes de la forme: • Elle constituent les fonctions propres des systèmes linéaires invariants

ftje π2

x(t) y(t) h(t) 2 2 2( )j ft j f j fte h e d Heπ π τ πτ τ

+∞−

−∞

=∫

2 ( )( ) ( ) ( ) ( ) ( ) ( ) j f ty t x t h t h x t d h e dπ ττ τ τ τ τ+∞ +∞

−∞ −∞

= ∗ = − = =∫ ∫

Conséquence - interprétation : • un système linéaire invariant ne change pas la fréquence d'une sinusoïde

On a donc: y(t) = H x(t)

x(t) y(t) h(t)

69 SERIES DE FOURIER

Exemple • x(t) fréquence fondamentale f0, a0 = 1, A1=1/2, A2=1, A3=2/3 et Ak=0 pour k > 3 Θk = 0 ∀ k

Rappel sur les séries de Fourier : • x(t) : signal réel, périodique, de période T0 = 1/f0

(vérifiant les conditions de Dirichlet)

• x(t) peut s'écrire sous la forme :

)2cos()( 01

0 kk

k tkfAatx θπ ++= ∑∞

=

Interprétation: • Équivalence des représentations dans le domaine temporel et dans le domaine de Fourier

1 1

1/2 2/3

0 f 0 2 f 0 3 f 0

A k

f

= 0 20 40 60 80 100 120

-1

0

1

2

3

4

70 SERIES DE FOURIER

1

02 cos(6 )3

f tπ

0cos(4 )f tπ

-60 -40 -20 0 20 40 60 0

1

2

-60 -40 -20 0 20 40 60 -0.5

0

0.5

-60 -40 -20 0 20 40 60 -1

0

1

-60 -40 -20 0 20 40 60 -1

0

1

-60 -40 -20 0 20 40 60 -2

0

2

4

01 cos(2 )2

f tπ

= x(t)

+

+

+

1 1

1/2 2/3

0 f 0 2 f 0 3 f 0

A k

f

71 SERIES DE FOURIER

Equivalence des formulations

Ecriture des séries de Fourier sous forme d'exponentielles complexes harmoniques: • x(t) : signal réel, périodique, de période T0 = 1/f0

(vérifiant les conditions de Dirichlet)

• x(t) peut s'écrire sous la forme :

où les ak sont les coefficients complexes de la série

tkfj

kkeatx 02)( π∑

+∞

−∞==

tkfj

kk

tkfj

kk eaeatx 00 22)( ππ ∑∑

+∞

−∞=

∗−

−+∞

−∞=

∗∗ ==tkfj

kkeatx 02)( π∑

+∞

−∞==)()( txtx =∗a/ x(t) réel:

kk aa =∗− kk aa −

∗ =donc et (1)

][)( 000 22

10

2 tkfjk

tkfj

kk

tkfj

kk eaeaaeatx πππ −

+∞

=

+∞

−∞=++== ∑∑b/ Réécriture de x(t) (2)

)(2)( 02

10

tkfj

kkeaatx π∑

+∞

=ℜ+=c/ (1) dans (2):

kjkk eAa θ

21

= )2cos()( 01

0 kk

k tkfAatx θπ ++= ∑∞

=d/ en posant on retrouve:

72 SERIES DE FOURIER

Calcul des coefficients de la série :

Exemple

Parties réelles et imaginaire Re(ak)

ak

0 0

0 0

Module et Phase

a2 a1 a0 a-1 a-2

24

1( )− j 1 24

1( )+ jj211+ j

211−

1 421

πje4

21

πje

− πje 15.025 −πje 15.0

25

Im(ak)

Θ(ak) ||ak||

x(t)

tkfj

kkeatx 02)( π∑

+∞

−∞== dtetx

Ta tkfj

Tk 00

2

0)(1 π−∫=

73 SERIES DE FOURIER

Influence de la période :

20T

−20T1T− 1T 0T0T− 02T02T−

10 4TT =

10 8TT =

10 16TT =

-10 -8 -6 -4 -2 0 2 4 6 8 10 -1

0

1

2

-20 -15 -10 -5 0 5 10 15 20 -1

0

1

2

-40 -30 -20 -10 0 10 20 30 40 -1

0

1

2

ak

ak

ak

74 TRANSFORMÉE DE FOURIER DES SIGNAUX CONTINUS

Définitions

dtetxfX ftj∫+∞

∞−

−= π2)()( dfefXtx ftj∫+∞

∞−

= π2)()(

Transformée de Fourier Transformée de Fourier inverse

Représentation fréquentielle d’un signal x(t) par X(f), ou « spectre » du signal

Notations – conventions

X(f) = TF[x(t)] et x(t) = TF-1[X(f)] x(t) X(f) TF

Conditions de convergence = Conditions de Dirichlet:

1. x(t) est absolument intégrable

2. x(t) a un nombre fini de maxima et de minima dans tout intervalle fini

3. x(t) a un nombre fini de discontinuités dans tout intervalle fini. De plus, chacune de

ces discontinuités doit être finie.

∞<∫+∞

∞−

dttx )(

75 TRANSFORMÉE DE FOURIER DES SIGNAUX CONTINUS

Exemple : e-at u(t)

Transformée de Fourier:

1

fjafX

π21)(

+=

Im(X(f)) Re(X(f))

f

f

Θ(X(f)) ||X(f)||

f

π / 2

− π / 2

f

1/a

1/a

76 TRANSFORMÉE DE FOURIER DES SIGNAUX CONTINUS

Contenu fréquentiel

Cas 2

TF

||X(f)||

-50 0 50 0

2

4

6

8

10

12

||X(f)||

-100 -50 0 50 100 -0.2

0

0.2

0.4

0.6

0.8

1

1.2

x(t)

Cas 1

TF

-20 -10 0 10 20 0

1

2

3

4

5

6

-100 -50 0 50 100 -0.2

0

0.2

0.4

0.6

0.8

1

1.2

x(t) ||X(f)||

77 TRANSFORMÉE DE FOURIER : PROPRIETES

Symétries : • Si x(t) est un signal réel, on a X(-f) = X*(f), d’où les propriété suivantes

Re[X(-f)] = Re[X(f)] Paire

Im[X(-f)] = - Im[X(f)] Impaire Θ[X(-f)] = -Θ[X(f)] Impaire

||X(-f)|| = ||X(f)|| Paire

• Si de plus x(t) est un signal pair, alors X(f) est purement réelle

Exemple: e-at u(t)

Exemple: e-a|t|

Décalage temporel : 0ft-j2e π

Conséquence : un décalage temporel n'affecte pas le module de la T.F.

Exemples: δ(t) et δ(t-t0) x(t-t0) X(f) TF

Linéarité

x(t) X(f) TF

y(t) Y(f) TF ax(t)+by(t) aX(f)+bY(f)

TF Si et on a :

Changement d’échelle :

afX

a1TF x(at)

78 TRANSFORMÉE DE FOURIER : PROPRIETES

• La TF de x(t) est alors donnée par : ∑+∞

−∞=−=

kk kffafX )()( 0δ

Exemples: tfje 02π )2cos( 0tfπ )2sin( 0tfπ0 0( ) ( )T

kt t kTδ δ

+∞

=−∞= −∑Peigne de Dirac:

Signaux périodiques :

• Si x(t) périodique, de fréquence f0, on a :

tkfj

kkeatx 02)( π∑

+∞

−∞== (Série de Fourier)

x(t)

TF

t

T0 f0

-f0 0 2f0 -2f0 … …

X(f) a0 a1 a-1

a2 a-2

79 TRANSFORMÉE DE FOURIER : PROPRIETES

Dualité :

x(t) X(f) TF

X(t) x(-f) TF

Si alors

)(2 ffXj π Dérivation :

TF dt

tdx )(

1 1( ) (0) ( )2 2

X f X fj f

δπ

+ Intégration :

TF ∫∞−

tdx ττ )( Exemple: u(t)

Conservation de l'énergie (signaux à énergie finie) : Égalité de Parseval

2 2[ ( )] ( ) [ ( ))] ( )E x t x t dt E X f X f df+∞ +∞

−∞ −∞

= = =∫ ∫

222 t4a2ax(t)π+

=

Exemples: TF de

1=x(t)

80 TRANSFORMÉE DE FOURIER ET CONVOLUTION

Conséquence pour un système linéaire invariant :

Exemple: définition de la réponse impulsionnelle

Propriété fondamentale

Exemple: retrouver x(t-t0)

x(t) X(f) TF

h(t) H(f) TF x(t) ∗ h(t) X(f) H(f)

TF Si et on a :

Description temporelle :

x(t) y(t) h(t) X(f) Y(f) H(f)

Description fréquentielle :

y(t) = x(t) ∗ h(t) Y(f) = X(f) H(f)

H(f) : Réponse du système en fréquence

81 TRANSFORMÉE DE FOURIER ET CONVOLUTION

Association de systèmes

H1(f) H2(f) H2(f) H1(f) H1(f) H2(f)

Propriété duale (modulation)

x(t) X(f) TF

h(t) H(f) TF x(t) h(t) X(f) ∗ H(f) TF

Si et on a :

Exemple: filtrage

||X(f)||

-50 0 50 0

2

4

6

8

10

12 x(t)

-100 -50 0 50 100 -0.2

0

0.2

0.4

0.6

0.8

1

1.2 x(t) ||X(f)||

82 PRINCIPALES PROPRIÉTÉS DE LA TRANSFORMÉE DE FOURIER

83 PRINCIPALES TRANSFORMÉES DE FOURIER

84

ECHANTILLONNAGE DES SIGNAUX

85 Notations - Définitions

• L’amplitude et la variable temporel peuvent être continues ou discrètes • On définit les différents types de signaux

Signal analogique x(t) Signal échantillonné xe(t) Signal quantifié Signal numérique x[k]

xe(t)

x(t)

x[k]

86 Notations - Définitions

Echantillonnage des signaux : une nécessité

Questions : • De l’information est-elle perdue lors de l’échantillonnage des signaux ? • Peut-on restituer totalement le signal analogique à partir de ses

échantillons ?

t

Echantillonnage Traitement numérique Reconstruction

87 Opération d’échantillonnage

Fe=1/T est la fréquence d’échantillonnage On suppose un échantillonnage régulier

t

x(t)

t

xe(t)

> < T

88 Opérateur d’échantillonnage

Modèle d’une fonction d’échantillonnage périodique à la période T

Par TF de l’égalité précédente, on déduit les propriétés spectrales du signal échantillonné

Conclusion : l’échantillonnage de x(t) a pour conséquence la périodisation de son spectre

Rappel : δT(t) est le peigne de Dirac TF du peigne de Dirac

x(t) xe(t)

δT(t)

X

( ) ( ) ( ) [ ] ( )e Tk

x t x t t x kT t kTδ δ+∞

=−∞

= = −∑

( ) ( )Tk

t t kTδ δ+∞

=−∞

= −∑

11{ ( )} ( )T

T

TF t fT

δ δ=

11 1( ) ( )* ( ) ( )e

kT

kX f X f f X fT T T

δ+∞

=−∞

= = −∑

89 Echantillonnage et périodisation du spectre

Modèle d’une fonction d’échantillonnage périodique à la période

Avec une fréquence d’échantillonnage plus faible : recouvrement spectral

0

X(f) X(f)

f Fmax

0

Xe(f)

f Fmax Fe=1/Te -1/Te

0

Xe(f)

f Fmax Fe 2Fe -Fe -2Fe

eT

D’où le théorème d’échantillonnage de Shannon : Pour pouvoir reconstruire un signal analogique de bande fréquentielle limitée à Fmax à partir de ses échantillons il faut que la fréquence d'échantillonnage Fe soit supérieure à 2 fois la fréquence maximale :

Fe > 2Fmax

90 Restitution d’un signal correctement échantillonné

Raisonnons dans le domaine fréquentiel : comment obtenir le spectre du signal original à partir du spectre du signal échantillonné ? En filtrant le signal échantillonné avec un filtre passe-bas idéal HL(f)

( ) ( ). ( )R e LX f X f H f=

0

X(f) X(f)

f Fmax

0

Xe(f)

f Fmax Fe

0

HL(f)

f fc -fc

0

XR(f)

f Fmax

-Fe

91 Théorème d’échantillonnage de Shannon

On comprend que la restitution du signal analogique n’est pas possible dans le cas suivant. Aucun filtre ne peut permettre de revenir au motif spectral original.

0

Xe(f)

f Fmax Fe 2Fe -Fe -2Fe

92 Echantillonnage réel

0

X(f) X(f)

f

0

Xe(f)

f Fmax Fe -Fe

0

Xe(f)xHG(f)

f

0

Xeg(f)

f Fe/2 Fe -Fe

Fe/2

Avec repliement (aliasing)

Sans repliement

HG(f)

Filtre analogique antirepliement

Avant échantillonnage, on annule le spectre pour les fréquences supérieures à Fe/2

93 Echantillonnage réel

Tout signal physique est par définition à durée finie Td On peut le modéliser par x(t)=x(t) . rect(t/Td) Sa transformée de Fourier montre que ce type de signal ne peut être

simultanément à bande limitée Le spectre de ce type de signal ne présente pas de fréquence maximale.

Il y aura donc toujours plus ou moins de repliement de spectre.

Solution : utilisation, avant échantillonnage d'un filtre analogique antirepliement (HG(f), hG(t)) dont la fonction est de rendre le spectre nulle pour les fréquences supérieures à Fe/2

94 Choix pratique de la fréquence d’échantillonnage

Il est indispensable d’avoir une bonne idée de la gamme de fréquence que contient le signal

Suréchantillonner le signal de 10 à 100 fois Fmax pour visualiser le signal Choisir ensuite une fréquence d'échantillonnage adaptée: visualisation Fe=5..20 Fmax optimisation du nombre d’échantillons Fe>=2 Fmax traitement numérique Fe=3..10 Fmax Dans tous les cas, Fmax doit être significatif. Choisir explicitement un seuil d’amplitude sur le spectre (exemple -40dB

de l’amplitude maximale) Garder toujours à l’esprit que l’échantillonnage en dessous de la

fréquence limite de Shannon provoque du recouvrement qu’aucun traitement ne pourra effacer.

Cas particulier des signaux à bande étroite

95 Quantification

Il est nécessaire de quantifier les valeurs de l’amplitude du signal lors de la phase de création du signal numérique (suite de nombres )

Chaque valeur d'amplitude est choisie parmi un ensemble fini de valeurs possibles

Le mode de quantification uniforme est le plus répandu. On subdivise la plage totale de conversion en n intervalles d'égale amplitude.

96

Transformée de Fourier des signaux discrets

97 RAPPELS PRELIMINAIRES

( ) ( ) ( ) ( )e e

TFT e e f e e

n nt t nT f f f f nfδ δ δ δ

+∞ +∞

=−∞ =−∞= − ←→ ⋅ = −∑ ∑

Echantillonnage d'un signal continu s(t) à la période Te = 1/fe se(t)

( )eT tδ : Peigne de Dirac de période Te

On a :

( ) ( ) ( )ee e fS f f S f fδ⋅= ∗ Périodisation de la

TF à fe

Donc

( )ef fδ : Peigne de Dirac de période fe = 1/Te

( ) ( ) ( )ee Ts t s t tδ=

TF←→

f

0 f e - f e 2f e - 2f e

. . . . . .

0 - T e 2T e t

. . . . . .

T e

98 RAPPELS PRELIMINAIRES

Echantillonnage d'un signal continu s(t) TF périodique

0 T t

se(t)

0 f e

e S ( f )

. . . . . .

f

TF←→

f

S( f )

0

t

s(t)

99 RAPPELS PRELIMINAIRES

Propriété duale : échantillonnage de la TF S(f) à la fréquence fe Sef(f)

avec

: Peigne de Dirac de période fe

Périodisation du signal à Te = 1/fe

TF←→

0 f

S( f )

f fe

Sechf(f)

0

t

s(t)

( ) ( ) ( )eef fS f S f fδ= ( )

ef fδ

( ) ( ) ( ) ( ) ( )e e

TFef e T fs t T s t f S f fδ δ= ⋅ ∗ ←→

s e f (t)

T e t

100 TRANSFORMÉE DE FOURIER DE SIGNAUX DISCRETS

Définition de la transformée de Fourier d’un signal discret

s[n]

0 1 n 2 …… i ……

TF←→

Propriétés fondamentales • La transformée de Fourier d'un signal discret est continue et périodique, de période 1 • Le signal discret est décomposé en une intégrale finie d'exponentielles discrètes

2( ) [ ] j fn

nS f s n e π

+∞−

=−∞= ∑

Transformée de Fourier inverse

Transformée de Fourier

2

1[ ] ( ) j fns n S f e dfπ= ∫

Transformée de Fourier d’un signal à temps discrets (TFTD)

1

S ( f )

. . . . . .

f 0

101 PRINCIPALES PROPRIÉTÉS DE LA TRANSFORMÉE DE FOURIER D’UN

SIGNAL À TEMPS DISCRETS

Propriétés très proches de celles de la transformée de Fourier continue Différences liées à la périodicité de la transformée de Fourier à temps discrets

102 PRINCIPALES TRANSFORMÉES DE FOURIER DE SIGNAUX À TEMPS DISCRETS

103

Transformée de Fourier discrète : DFT et FFT

104 TRANSFORMEE DE FOURIER DISCRETE

Echantillonnage d'une période de la TF sur N points périodisation du signal

TF←→

La DFT peut donc toujours être vue comme l’échantillonnage sur N points de la TF périodique et continue d'un signal discret défini sur N points.

S(k /N)

1

N points

0 f

1 période

Transformée de Fourier discrète (DFT) • on ne garde qu'une période (N points) du signal et de la TF • L’axe des fréquences de la TF est normalisé de 0 à N-1

/[ ] ( ) f k NS k S f == pour k = 0, N-1

S[k]

k 0 1 N-1

n

s[n]

0 N - 1

N points

n

sP[n]

0 N-1

105 TRANSFORMEE DE FOURIER DISCRETE

21

0[ ] [ ]

N j knN

nS k s n e

π− −

== ∑

DFT inverse

DFT

21

0

1[ ] [ ]N j kn

N

ks n S k e

N

π−

== ∑

Transformée de Fourier discrète (DFT)

Propriétés fondamentales • La DFT (et son inverse) sont discrètes et périodique, de période N • La DFT (et son inverse) correspondent à une somme finie d'exponentielles discrètes:

la DFT (et son inverse) peuvent donc se calculer numériquement en machine Implantation efficace de la DFT si N est une puissance de 2 : algorithme de FFT

S[k]

k 0 1 N-1

DFT

Ne pas oublier

n

s[n]

0 N-1

106 PROPRIÉTÉS DE LA TRANSFORMÉE DE FOURIER DISCRETE

Propriétés particulières liées à la périodicité implicite du signal et de la transformée

n

sP[n]

0 N-1

S[k]

k 0 1 N-1

n

sP[n-n0]

0 N-1

Exemple: décalage temporel d’un signal s[n] défini sur N points

Décalage du signal s[n] associé à la DFT S[k] Décalage circulaire sur N points

Décalage de n0

Décalage de n0

DFT

s[n-n0] n 0 n0

s[n] n 0

Notation: décalage circulaire de n0 sur N points

0[( ) ]Nx n n−

107 PROPRIÉTÉS DE LA TRANSFORMÉE DE FOURIER DISCRETE

108 TRANSFORMEE DE FOURIER DISCRETE

Exemple : DFT sous Matlab

my_signal = [1 0.9 0.7 0.4 0];

my_DFT = fft(my_signal);

stem( abs(my_DFT) );

stem( angle(my_DFT) );

DFT←→

-5 0 5 10

0

0.2

0.4

0.6

0.8

1 s[n]

-1 0 1 2 3 4 5

0

0.5

1

1.5

2

2.5

3 Module de la DFT

-1 0 1 2 3 4 5 -3

-2

-1

0

1

2

3 Phase de la DFT

109 DFT : ZERO-PADDING (AJOUT DE ZEROS)

S(k /N)

1

N points

0 f

1 période

S(k / M )

f 1

M points

0

TFTD←→

DFT←→

DFT←→

s[n] : signal discret de N points

DFT directe: application de la DFT à un tableau de N points ⇔ échantillonnage de S(f) sur N points

Echantillonnage de S(f) sur M > N points

Intérêt pratique : en rajoutant les zéros au signal discret on peut donc choisir d’effectuer une DFT sur un nombre M de points quelconque et donc choisir l’échantillonnage de la TF continue

du signal discret s[n]

0

S ( f )

. . .

f

. . .

1

s[n]

n 0

n

s[n]

0 N-1

n

s[n]

0 N-1

110 TRANSFORMEE DE FOURIER DISCRETE

Zero-padding et DFT sous Matlab my_first_signal = [1 0.9 0.7 0.4 0]; wanted_length = N; % N = 5, 10 or 50 nb_zeros_to_add = wanted_length - length(my_first_signal); my_signal = [ my_first_signal zeros(1, nb_zeros_to_add) ]; module_DFT = abs( fft(my_signal) );

-1 0 1 2 3 4 5

0

0.5

1

1.5

2

2.5

3S[k]

0 10 20 30 40 50

0

0.5

1

1.5

2

2.5

3DFT

0 2 4 6 8 10

0

0.5

1

1.5

2

2.5

3DFT

-5 0 5 10

0

0.2

0.4

0.6

0.8

1s[n]

0 10 20 30 40 50

0

0.2

0.4

0.6

0.8

1s[n]

-5 0 5 10

0

0.2

0.4

0.6

0.8

1s[n]

N=5 N=10 N=50

111 TRANSFORMEE DE FOURIER DISCRETE

Zero-padding et DFT sous Matlab

my_signal = [1 0.9 0.7 0.4 0]; module_DFT = abs( fft(my_signal) ); module_DFT = abs( fft(my_signal, 10) ); module_DFT = abs( fft(my_signal, 50) );

-1 0 1 2 3 4 5

0

0.5

1

1.5

2

2.5

3 S[k]

0 2 4 6 8 10

0

0.5

1

1.5

2

2.5

3 DFT sur 10 points

0 10 20 30 40 50

0

0.5

1

1.5

2

2.5

3 DFT sur 50 points

-5 0 5 10

0

0.2

0.4

0.6

0.8

1 s[n]

112

RESUME DES TRANSFORMEES

←→

←→

←→

←→

S ( f )

S(k /N)

1 0 f

N points 1 période

f

S( f )

e S ( f )

0

0 f

. . .

f

. . .

e

. . . . . .

f 0 1

S[k]

k 0 1 N-1

←→

DFT

s(t)

t

s[n]

n 0 1 …… i ……

se(t)

t 0 Te

n

s[n]

0 N-1

N points

n

s[n]

0 N-1

113 Exemple pratique d’application

On désire étudier le spectre d’un signal continu en l'échantillonnant et en utilisant un circuit spécialisé permettant d'effectuer une FFT. On sait que:

• La fréquence maximum contenue dans ce signal est inférieure à 2,5 kHz. • On désire étudier son spectre avec une résolution maximum de 5 Hz.

Quelles conditions d’acquisition faut-il utiliser ? • Fréquence d'échantillonnage minimum fe min ? On choisit finalement d’échantillonner à 10 fois la fréquence d'échantillonnage minimum.

• Quelle sera la durée D de l'acquisition ?

• Quel est le nombre N de points d’échantillonnage du signal ? Quel est le nombre de points de la TFD si on veut optimiser les performances de la FFT?

114

115

116

117

118

Filtrage linéaire des signaux

119 Filtrage - Exemples

Filtrage du son réalisé par un « bouchon d’oreille »

Le filtrage réalisé par le « bouchon d’oreille » dépend de son positionnement

120 Filtrage- Exemples

Filtre analogique : réponse du filtre d’entrée d’un récepteur VHF 144MHz

Récepteur d’ondes radio VHF 144MHz

Zoom sur le filtre d’entrée

Réponse en fréquence du filtre passe-bande d’entrée, centré sur 144MHz

Antenne de réception (bande des « 2 mètres »)

144MHz

121 Filtrage- Exemples

Filtre de réjection (coupe bande) autour de 144MHz

Objectif : améliorer la réception des signaux de provenant de satellites météorologiques (137-138MHz) qui sont perturbés par les radios amateurs VHF à 144MHz.

Filtre analogique LC

Réponse en fréquence du filtre coupe-bande centré sur 144MHz

122 Filtrage- Exemples

Filtre 3 voies pour enceintes audio HIFI

Objectif : filtrer le signal sonore pour l’adapter à chacun des 3 haut-parleurs : aigu (HF, filtre passe-haut), médium (MF, filtre passe-bande) et grave (LF, filtre passe-bas)

Filtre 3 voies 24 dB/octave

Enceintes HIFI 3 voies

123 Définitions

L’opération de filtrage permet de modifier les amplitudes des composantes fréquentielles d’un signal

• Un filtre linéaire est défini comme un système linéaire et invariant en temps • Le filtre est défini par sa réponse impulsionnelle h(t) ou son gain complexe H(f) • La réponse fréquentielle H(f) est la transformée de Fourier de réponse impulsionnelle h(t) • Le signal filtré est le résultat de la convolution entre le signal et la réponse impulsionnelle h(t)

Exemple du module de la réponse fréquentielle d’un filtre passe-bas. Fréquence de coupure à 10kHz.

Exemple du module de la réponse fréquentielle d’un filtre passe-bande. Fréquence de coupure à 8 et 11kHz.

124 Filtre passe-bas idéal

Domaine temporel ou domaine fréquentiel ? L’utilisation des filtres se fait plutôt dans le domaine temporel (convolution) La synthèse se fait plutôt dans le domaine fréquentiel (gain en fréquence, gabarit du filtre)

{ }1( ) ( ) 2 sin (2 )c ch t TF H f f c f t−= =( ) ( )2 c

fH f rectf

=

Filtre passe-bas idéal :

f

1

-fc fc t

2fc

1/2fc

Gain en fréquence Réponse impulsionnelle

125 Filtres numériques

Synthèse d’un filtre numérique à Réponse Impulsionnelle Finie (RIF) Exemple de la synthèse d’un filtre passe bas par la méthode des fenêtres

Filtre passe-bas idéal de fréquence de coupure fc

Mais le filtre numérique est de longueur infinie…..

( ) ( )2 c

fH f rectf

=

Réponse impulsionnelle

sin(2 )h[n] cnfnπ

π=

• Il faut tronquer la réponse impulsionnelle en ne conservant que M échantillons • Cela revient à la multiplier par une fenêtre rectangulaire • Cela revient donc à convoluer la réponse fréquentielle du filtre idéal par un sinus cardinal

fc -fc

TFTD inverse

126 Synthèse des filtres RIF réalisables en pratique : méthode des fenêtres

La troncature de la réponse impulsionnelle introduit des ondulations sur le gain en fréquence. Le filtre passe bas n’est plus idéal

Réponse fréquentielle d’un filtre de longueur 101, 21, et 7 échantillons pour un filtre de fréquence de coupure fc=0.23

127

M=101

M=7

M=21

128 Filtrage numérique. Classification des filtres

Classification des filtres : • Filtres à Réponse Impulsionnelle Finie (RIF)

Forme générale RIF : • Filtres à Réponse Impulsionnelle Infinie (RII) Forme générale RII :

Classification des réalisations:

• Réalisation transversale ou non récursive • Réalisation récursive • Réalisation par TF discrète

[ ] [ ]0

M

kk

y n b x n k=

= −∑

[ ] [ ] [ ]∑∑==

−+−=M

kk

N

kk knxbknyany

01

La transformée en z est un outil mathématique très utile pour la synthèse des filtres numériques

129 Filtres numériques réalisables en pratique

Etudes des filtres à Réponse Impulsionnelle Finie (RIF)

Réponse impulsionnelle entièrement définie par une un nombre fini d’échantillons Principales propriétés des filtres RIF : - ces filtres sont toujours stables - leur réponse fréquentielle peut présenter une phase linéaire - la durée du régime transitoire est limitée à la durée de la réponse impulsionnelle - pas de propagation des erreurs de calcul (programmation non récursive)

- faiblesse : pour améliorer les performances du filtre on peut être amené à augmenter le nombre d’échantillons

3 principales méthodes de synthèse de filtres RIF : Méthode des fenêtres (FIR1 en Matlab) Méthode de l'échantillonnage en fréquence (FIR2 en Matlab) Méthode de synthèse de filtre optimal (REMEZ en Matlab)

130 Filtrage numérique

Utilisation des filtres RIF dans le domaine temporel : convolution numérique

Soit le filtrage du signal numérique x[n] par le filtre de réponse impulsionnelle h[n] Soit x[n] : x[0]=10, x[1]=7, x[2]=5, x[3]=12, x[4]=3, et x vaut 0 ailleurs Et h[n] : h[-1]=1/3, h[0]=1/3, h[1]=1/3, et h vaut 0 ailleurs (filtre non causal)

Soit y le signal résultant du filtrage de x par h. y est obtenu par la convolution de x par h Calcul de y[n] [ ] [ ] [ ]

ky n x k h n k

=−∞

= ⋅ −∑

131 Filtrage numérique

Résultat du filtrage de x par h pour notre cas : [ ] [ ] [ ]4

0ky n x k h n k

=

= ⋅ −∑ pour n de -1 à 5

Analyse fréquentielle :

y : 1/3(10 17 22 24 20 15 3) X

132 Etude du filtre moyenneur

Moyenneur : filtre numérique simple, moyenne glissante sur M points

[ ] [ ]1

0

1 M

ky n x n k

M

=

= −∑

Réponse fréquentielle, TF de la réponse impulsionnelle :

Relation entrée-sortie (filtre causal)

Cas du moyenneur temporel sur 3 points : Réponse impulsionnelle correspondante : h[n]= 1/3 pour n de 0 à 2, h[n]=0 ailleurs

1( ) (1 2cos 2 )3

H f fπ= +

H(f)

[ ] [ ]1

0

1 M

kh n n k

=

= −∑

133 Etude du filtre moyenneur, moyenne glissante, running average filter

Filtrage du signal constitué de la somme d’une « rampe continue » et d’un signal sinusoidal à la fréquence 1/8

Comparaison du signal filtré avec un moyenneur sur 3 points et un moyenneur sur 7 points

134 Etude du filtre moyenneur, moyenne glissante, running average filter

Exemple du filtrage d’une image. Le filtre sera appliqué successivement sur chaque ligne de l’image

Exemple de la ligne n° 40. C’est un signal

135 Etude du filtre moyenneur, moyenne glissante, running average filter

Exemple du filtrage de la ligne n° 40 par un filtre moyenneur causal sur 11 points

Exemple du filtrage de la ligne n° 40 par un filtre moyenneur non causal sur 11 points

Noter le décalage spatial et l’amplitude du résultat

136 Etude du filtre moyenneur, moyenne glissante, running average filter

Résultat sur l’image complète du filtrage par un filtre moyenneur non causal sur 11 points • Le filtre a été appliqué d’abord sur les lignes puis sur les colonnes • L’amplitude du résultat a été recalculée pour occuper toute l’échelle des niveaux de gris

137 Etude du filtre moyenneur, moyenne glissante, running average filter

Comment éliminer une composante sinusoïdale de fréquence 1/11 superposée à l’image • On applique un filtre moyenneur de 11 points sur les lignes

Image avant et après filtrage. Noter la suppression de la composante sinus mais aussi l’élargissement des motifs

Détail d’une ligne

138 Filtres numériques réalisables en pratique

Etudes des filtres à Réponse Impulsionnelle Infinie (RII)

Le problème est de trouver les coefficients du filtre ak et bk pour que le filtre soit causal et stable et respecte au plus près le gabarit fréquentiel. Spécificités des filtres RII - peuvent être obtenus par transposition d'un filtre continu - peuvent être obtenus avec un petit nombre de coefficients - mise en œuvre récursive - peuvent être instables - la réponse fréquentielle peut présenter une phase non linéaire - une bonne précision de calcul est nécessaire pour éviter la propagation des erreurs Principales méthodes de synthèse de filtre IIR: Transposition du filtre analogique en filtre numérique Méthode de l'invariance impulsionnelle Equivalence à la dérivation Equivalence à l'intégration : transformation bilinéaire

Forme générale : [ ] [ ] [ ]∑∑==

−+−=M

kk

N

kk knxbknyany

01

139 Filtres numériques réalisables en pratique. Filtres RII

Calcul de la réponse impulsionnelle : calcul de la sortie lorsque l’entrée est un dirac δ[n] on suppose que l’entrée est nulle avant l’instant de départ on suppose que la sortie est nulle avant l’instant de départ

Exemple du filtre RII défini par son équation entrée-sortie : [ ] [ ]0.8 1 5 [ ]y n y n x n= − +

Résultat du calcul :

[ ] 5 (0.8) [ ]nh n u n= ⋅ ⋅

Avec u[n], l’échelon unité

La transformée en Z est très utile pour ce calcul dans le cas général

140 Filtres numériques réalisables en pratique. Filtres RII

Exemple du filtre RII défini par son équation entrée-sortie : [ ] [ ]0.8 1 5 [ ]y n y n x n= − +

Noter la possible propagation des erreurs de calcul Noter le petit nombre de coefficients pour définir le filtre (2)

Calcul de la réponse du filtre pour le signal d’entrée x[n] x[n] = 2δ[n] - 3 δ[n-1] +2 δ[n-3]

y[0] = 0.8y[-1]+5x[0] = 0.8(0) + 5(2) = 10 y[1] = 0.8y[0]+5x[1] = 0.8(10) + 5(-3) = -7 y[2] = 0.8y[1]+5x[2] = 0.8(-7) + 5(0) = -5,6 y[3] = 0.8y[2]+5x[3] = 0.8(5,6) + 5(2) = 5,52 y[4] = 0.8y[3]+5x[4] = 0.8(5,52) + 5(0) = 4,416 ………. Ensuite la sortie est proportionnelle à (0,8)n

141 Filtres numériques réalisables. Exemple du filtre passe-bas du 1er ordre

Filtre numérique équivalent au filtre RC analogique passe bas :

Calcul de la réponse fréquentielle TFTD ou propriétés de la TZ

Relation entrée-sortie de ce filtre linéaire caractérisé par l’équation aux différences suivante :

On déduit la réponse impulsionnelle par calcul de la réponse à δ[n] ou avec la transformée en Z

[ ] [ ]1 [ ] 1y n ay n x n avec a− − = <

[ ] [ ] [ ] 'nh n a u n avec u n l échelon unité=

2

1( )1 j fH f

ae π−=−

142

Les fenêtres de pondération

143 Fenêtres de pondération

Modélisation

Pour traiter ou analyser un signal, on est amené à limiter sa durée. La transformée de Fourier du signal 'tronqué' n'est alors qu'une approximation de la transformée de Fourier du signal de départ. Il est important de faire un choix raisonné de la fenêtre de pondération w(t) qui est utilisée pour limiter la durée du signal.

Dans le domaine temporel :

La fenêtre qu’on utilise intuitivement est la fenêtre rectangulaire qui permet simplement de garder les échantillons du signal sur une durée fixée sans modifier leur amplitude. Le spectre du signal tronqué est donc convolué (en fréquence) par la TF du rectangle c’est à dire un sinus cardinal

Devient dans le domaine fréquentiel :

( ) )()( twtxtxw =

( ) )(*)( fWfXfX w =

144 Fenêtres de pondération

Analyse d’un signal sinus de fréquence 100Hz, échantillonné à 1000Hz et limité à L=64 échantillons

0[ ] exp( 2 ) ( / )x n j f n rect n Lπ= ⋅ 0sin( )( ) ( ) *sin( )

LfX f f ff

πδπ

= −

En échelle log ::

Élargissement du pic théorique à cause de la convolution par le sinus cardinal

145 Fenêtres de pondération

Paramètres fréquentiels caractéristiques des fenêtres de pondération: - Largeur du lobe principal résolution fréquentiel - Amplitude du 1er lobe secondaire résolution dynamique - Pente de décroissance des lobes secondaires résolution dynamique

146 Fenêtres de pondération

Diverses fenêtres ont été inventées dans le but de limiter les oscillations dans les lobes secondaires et réduire la largeur du lobe principal

Fenêtres de Hamming généralisées: Avec α=1 fenêtre rectangulaire α=0,54 fenêtre de Hamming α=0,5 fenêtre de hanning Fenêtres triangulaire ou Bartlett Fenêtre parabolique Fenêtre cosinusoïdale Fenêtre de Blackmann Fenêtre de Kaiser

( )

−+= )2cos()1()(

Tt

TtrecttwH

πααα

( ) [ ])1(sinc)1(sinc2

)1()(sinc −++−

+= TfTfTTfTfWHααα

147 Comparaison des fenêtres de pondération

Comparaison des différentes fenêtres de pondération dans le domaine temporel et le domaine fréquentiel

148 Comparaison des fenêtres de pondération

Analyse d’un signal constitué de la somme de 2 sinus échantillonnés à 4000Hz sur 200 points

Rectangle

Hamming

149

Analyse temps fréquence des signaux

Philippe Delachartre – Didier Vray INSA-Lyon

150

Introduction

Espace de représentation

Evolution temporelle

Regarder sous un autre angle

Choix de l'espace de représentation décision la détection l'estimation la classification la reconnaissance

151

Exemple introductif

• Signal 1 : somme de deux sinus f1=0,1 et f2=0,2 • Signal 2 : sinus avec rupture de fréquence f1=0,1 et

f2=0,2

TEMPS FREQUENCE

SIGNAL 1

SIGNAL 2

152

Le plan temps-fréquence

• Domaine temporel ------------ domaine fréquentiel • Dans le spectre : information délocalisée en temps • Signal à durée limitée et signal à bande limitée

• Inégalité d'Heisenberg-Gabor :

• Pour une gaussienne

∆ ∆t f. ≥1

4π2/1≥BT

153

Grandeurs locales : amplitude et fréquence instantanées

• Notion de « spectre instantané » ou de fréquence localisée dans le temps

• Exemple de la portée en musique

– Le temps est indiqué horizontalement

– La fréquence est indiquée verticalement

• Toutefois, l’axe des temps et des fréquences ont une résolution fixée

154

Représentation temps-fréquence • Vers une représentation temps-fréquence (RTF)

• Représentation schématique de ce qui est souhaitable

T t fx ( , )

t

f

f0 exp(j2πf0t)

t

f

δ(t-t0)

t0

t

f

exp(-αt²)

t

f

α

Exp(j2πt²α/2)

155

Transformée de Fourier à Court Terme (TFCT)

• TFCT du signal x(t) définie par :

• Interprétation :

TF locale au voisinage de t.

• Autre définition :

TFCT obtenue en filtrant x(t) par un filtre passe-bande de réponse fréquentielle H*(ξ-f) centré sur f

∫ τ−ττ=+∞

∞−

τπ− de)t(*h)(x)h;f,t(TFCT f2jx

)t(*h)(x)(xt −ττ=τ ∫ ττ==+∞

∞−

τπ− de)(x)f(X)h;f,t(TFCT f2jttx

ξ−ξ∫ ξ=−⊗= −ξπ+∞

∞−

π− de)f(*H)(Xe)f(*H)f(X)f(X t)f(2jft2jt

∫ ξ−ξξ=+∞

∞−

π− πξ de)f(*H)(Xe)h;f,t(TFCT t2jtf2jx

156

Transformée de Fourier à Court Terme (TFCT)

• Résolution en temps et en fréquence

)tt()t(x 01 −δ=

)tt(*hede)t(*h)t()h;f,t(TFCT 0ft2jf2j

0x0

1 −=∫ τ−τ−τδ= π−+∞

∞−

τπ−

t

f

t0

h(t)

157

Transformée de Fourier à Court Terme (TFCT)

Compromis entre résolution en temps et en fréquence exprimé par l’inégalité d'Heisenberg-Gabor.

e)t(x t0f2j2

π=

)ff(*Hede)f(*H)f()h;f,t(TFCT 0t)ff(2jt)f(2j

0x0

2 −=ξ−ξ∫ −ξδ= −π−ξπ+∞

∞−

t

f

f0 H(f)

158

Transformée en ondelettes

Représentation temps-échelle continue :

Représentation Temps-Fréquence pour

Pavage dyadique

Interprétation : filtres à Q-constant (Q = f0 / B)

)ats(h

a1)s(h avec ds)s(h)s(x)a,t(T ta**tax −∫ ==

+∞

∞−

a f f= / 0

t

f

159

Représentations temps-fréquence bilinéaires

Distribution d’énergie

• Energie de x(t) :

et : densités d’énergie respectivement temporelle et spectrale.

Rechercher une grandeur mixte qui sera une densité conjointe telle que :

Le « spectre instantané » est censé « déployer » l’énergie du signal

Deux contraintes naturelles :

∫=∫=+∞

−∞

+∞

−∞df)f(Xdt)t(xE 22

x

x t( ) 2X f( ) 2

T t fx ( , )

∫ ∫=+∞

∞−

+∞

∞−dtdf)f,t(TE xx

T t fx ( , )

)t(p=)t(xdf)f,t(Tet )f(P=)f(Xdt)f,t(T x2

xx2

x =∫=∫+∞

∞−

+∞

∞−

160

Spectrogramme

Le Sonagraphe

Le principe peut être modélisé ainsi :

Spectrogramme ou sonagramme donc aussi :

non négatif et à valeur réelle

Choix de la fenêtre d’analyse

Le spectrogramme est le module carré de la TFCT

2

*x de)f(H)(X)h;f,t(S t2j∫ ξ−ξξ=∞+

∞−

πξ

2f2j

*x de)t(h)(x)h;f,t(S ∫ τ−ττ=∞+

∞−

τπ−

161

Effet de la longueur de la fenêtre

162

Distribution de Wigner-Ville (DWV)

Définition Propriétés Structure des interférences Soit : Les termes d’interférences sont localisées autour

du temps et de la fréquence

∫+∞

∞−

τπ− ττ

−τ

+= de)2

t(y)2

t(x)f,t(W f2j*y,x

tf2j10121

1e)tt(x)t(x avec )t(x)t(x)t(x π−=+=tf2j

2022e)tt(x)t(x π−=et

2ttt 21

12+

=2

fff 2112

+=

163

Distribution de Wigner-Ville (DWV)

La fréquence des oscillations est dans la direction du temps et la fréquence des oscillations est dans la direction de la fréquence

21 ff −

21 tt −

t

f

Wx1(t,f)

(t1,f1)

Wx2(t,f)

(t2,f2)

direction des oscillations

1/(t1-t2)

1/(f1-f2)

Ix1,x2(t,f)

164

Distribution de Wigner-Ville (DWV)

165

Distribution de Wigner-Ville (DWV)

166

Programming in Matlab

Denis Friboulet – Didier Vray INSA-Lyon

167 Overview of the MATLAB Environment

The Matlab system consists of these main parts :

• MATLAB is an interactive system whose basic data element is an array that does not require dimensioning

• It allows you to solve many technical computing problems, especially those with matrix and vector formulations

• The name MATLAB stands for matrix laboratory

• MATLAB features a family of add-on application-specific solutions called toolboxes. • Toolboxes are comprehensive collections of MATLAB functions (M-files) that extend the

MATLAB environment to solve particular classes of problems • For example : signal processing, image processing, DSP, Optimization, control systems,

neural networks, fuzzy logic, wavelets, simulation, and many other areas.

168 Overview of the MATLAB Environment

Overview of Matlab environment :

• Desktop Tools and Development Environment Many of these tools are graphical user interfaces. It includes:

the MATLAB desktop command Window, an editor and debugger, a code analyzer, browsers for viewing help, the workspace, and files, and other tools.

• Mathematical Function Library A vast collection of computational algorithms ranging from elementary functions, like sum,

sine, cosine, and complex arithmetic, to more sophisticated functions like matrix inverse, matrix eigenvalues, Bessel functions, and fast Fourier transforms

• The Language The MATLAB language is a high-level matrix/array language with control flow statements,

functions, data structures, input/output, and object-oriented programming features.

169 Overview of the MATLAB Environment

Overview of Matlab environment :

• Graphics MATLAB has extensive facilities for displaying vectors and matrices as graphs, as well as

annotating and printing these graphs. It includes high-level functions for two-dimensional and three-dimensional data visualization, image processing, animation, and presentation graphics

• External interface The external interfaces library allows you to write C and Fortran programs that interact

with MATLAB. It includes facilities for calling routines from MATLAB (dynamic linking), for calling MATLAB as a computational engine, and for reading and writing MAT-files

170 Matlab Documentation

To view the online documentation, select Help menu then Product Help in Matlab.

The Help command provides information about any Matlab function Example >> help filter

A useful command for getting started is >> intro

There are many demonstration programs that illustrate the capabilities of Matlab.

These can be started with the command >> demo

You can also download from the Matlab website the pdf version of the documentation: getstartwithMatlab.pdf which is the main source of this lesson

On the Matlab website you will find several forum of discussion and the possibility of exchanging .m files with Matlab users.

171 Starting a Matlab session

The desktop • When you start MATLAB, the desktop appears, containing tools (graphical user interfaces)

for managing files, variables, and applications associated with MATLAB

172 Matrix and arrays

About matrix

• In the MATLAB environment, a matrix is a rectangular array of numbers. Special meaning is attached to 1-by-1 matrices, which are scalars, and to matrices with only one row or column, which are vectors.

“think of everything as a matrix”

Where other programming languages work with numbers one at a time, MATLAB allows you to work with entire matrices quickly and easily

Albrecht Durer magical square matrix :

173 Matrix and arrays Entering matrix

• To enter Dürer’s matrix, simply type in the Command Window • A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]

• Separate the elements of a row with blanks or commas. • Use a semicolon ; to indicate the end of each row. • Surround the entire list of elements with square brackets [ ]

• MATLAB displays the matrix you just entered: A = 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1

• Once you have entered the matrix, it is automatically remembered in the MATLAB

workspace. You can refer to it simply as A. >> A • Note that semicolon ; at the end of a Matlab command does not display its result >> A; %does not display the matrix • Text placed after % in a command line is not interpreted

174 Matrix and arrays

special properties of a magic square : summing its elements. If you take the sum along any row or column, or along either of the two main diagonals,

you will always get the same number. Let us verify that using MATLAB.

>> sum(A) MATLAB replies with ans = 34 34 34 34

• It is the sum along each column : Matlab has a preference for working with the columns of a matrix

• Note that when an output variable is not specified, MATLAB uses the variable ans, short for answer

One way to get the row sums is to transpose the matrix

>> sum(A')' MATLAB replies with ans = 34 34 34 34

175 Matrix and arrays

The apostrophe operator (e.g., A') performs a complex conjugate transposition

• It flips a matrix about its main diagonal, and also changes the sign of the imaginary component of any complex elements of the matrix

The dot-apostrophe operator (e.g., A.'), transposes without affecting the sign of complex elements.

>> sum(diag(A)) MATLAB replies with ans = 34 For the antidiagonal : >> sum(diag(fliplr(A))) MATLAB replies with ans = 34 fliplr stands for flip a matrix from left to right

176 Matrix and arrays

Subscripts : The element in row i and column j of A is denoted by A(i,j) >> A(1,4) + A(2,4) + A(3,4) + A(4,4) MATLAB replies with

ans = 34 To use the value of an element outside of the matrix, it is an error: >> t = A(4,5) Index exceeds matrix dimensions Conversely, if you store a value in an element outside of the matrix, the size increases

to accommodate the newcomer: >> X = A; X(4,5) = 17 MATLAB replies with X = 16 3 2 13 0 5 10 11 8 0 9 6 7 12 0 4 15 14 1 17

177 Matrix and arrays

It is also possible to refer to the elements of a matrix with a single subscript, A(k) In which case the array is regarded as one long column vector formed from the

columns of the original matrix. A(8) is another way of referring to the value stored in A(4,2). Matlab replies with 15 The Colon Operator

1:10 is a row vector containing the integers from 1 to 10: 1 2 3 4 5 6 7 8 9 10 To obtain non unit spacing, specify an increment. For example, 100:-7:50 is 100 93 86 79 72 65 58 51 0:pi/4:pi is 0 0.7854 1.5708 2.3562 3.1416

178 Matrix and arrays

The Colon Operator Subscript expressions involving colons refer to portions of a matrix: >> sum(A(1:4,4)) computes the sum of the fourth column Tricks : The colon by itself refers to all the elements in a row or column of a matrix sum(A(:,4 )) computes the sum of the fourth column end refers to the last row or column, so sum(A(:,end )) computes also the sum of the fourth column B = magic(4) produces (magic is a Matlab built-in function): B = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 To produce the same matrix as Dürer painting, column 2 and 3 have to be exchanged : >> A = B(:,[1 3 2 4])

179 Expressions

Variables Matlab does not require any type declarations or dimension statements.

When Matlab encounters a new variable name, it automatically creates the variable and

allocates the appropriate amount of storage. If the variable already exists, Matlab changes its contents and, if necessary, allocates

new storage. MATLAB is case sensitive

Tricks : Choose long variable name

180 Expressions

Numbers Some examples of numbers are : 3 -99 0.0001 9.6397238 1.60210e-20 6.02252e23 1i -3.14159j 3e5i All numbers are stored internally using the long format specified by the IEEE® floating-

point standard. Floating-point numbers have a finite precision of roughly 16 significant decimal digits and a finite range of roughly 10-308 to 10+308

Tricks : The section “Avoiding Common Problems with Floating-Point Arithmetic” gives a few of

the examples showing how IEEE floating-point arithmetic affects computations in Matlab

181 Expressions

Operators Expressions use familiar arithmetic operators and precedence rules. + Addition - Subtraction * Multiplication / Division \ Left division (described in “Linear Algebra” in the MATLAB documentation) ^ Power ' Complex conjugate transpose ( ) Specify evaluation order Several special functions provide values of useful constants : pi 3.14159265... i Imaginary unit, j Same as i eps Floating-point relative precision, realmin Smallest floating-point number, realmax Largest floating-point number, Inf Infinity NaN Not-a-number

182 Working with matrix

MATLAB software provides four functions that generate basic matrices. zeros All zeros ones All ones rand Uniformly distributed random elements randn Normally distributed random elements

Examples : >> Z = zeros(2,4) Z = 0 0 0 0 0 0 0 0 >> F = 5*ones(3,3) F = 5 5 5 5 5 5 5 5 5 >> N = fix(10*rand(1,10)) N = 9 2 6 4 8 7 4 0 8 4 >> R = randn(4,4) R = 0.6353 0.0860 -0.3210 -1.2316 -0.6014 -2.0046 1.2366 1.0556 0.5512 -0.4931 -0.6313 -0.1132 -1.0998 0.4620 -2.3252 0.3792

183 Expressions

The load function The load function reads binary files containing matrices generated by earlier Matlab

sessions, or reads text files containing numeric data. The text file should be organized as a rectangular table of numbers, separated by

blanks, with one row per line, and an equal number of elements in each row.

The save function The workspace does not persist after you end the MATLAB session. To save the

workspace to a file that can be read during a later MATLAB session, use the save function which craetes a binary file called a MAT-file, which has a .mat extension.

>> save FILENAME X saves only X >> save FILENAME X Y Z saves X, Y, and Z. The wildcard '*' can be used to save only those variables that match a pattern

184 Expressions

M-files You can create your own matrices using M-files, which are text files containing

Matlab code. Use the Matlab Editor or another text editor to create a file containing the same statements you would type at the Matlab command line. Save the file under name that ends in .m.

To execute the successive commands of the M-file, you have just to type the name

of the file after the Matlab prompt.

185 Arrays

Operators The list of operators includes + Addition - Subtraction .* Element-by-element multiplication ./ Element-by-element division .\ Element-by-element left division .^ Element-by-element power .' Unconjugated array transpose Array operations are useful for building tables. Suppose n is the column vector >> n = (0:9)'; >> pows = [n n.^2 2.^n] builds a table of squares and powers of 2: pows = 0 0 1 1 1 2 2 4 4 3 9 8 4 16 16 5 25 32 6 36 64 7 49 128 8 64 256 9 81 512

186 Graphics

Creating a new Matlab figure The command >> figure creates a new Matlab figure The command >> figure (N) creates a new Matlab figure numbered N

Creating a Plot

The plot function has different forms, depending on the input arguments. If y is a vector, plot(y) produces a piecewise linear graph of the elements of y versus the index of the elements of y. If you specify two vectors as arguments, plot(x,y) produces a graph of y versus x.

Example x = 0:pi/100:2*pi; y = sin(x); plot(x,y) xlabel('x = 0:2\pi') % The characters \pi create the symbol π ylabel('Sine of x') title('Plot of the Sine Function','FontSize',12)

187 Graphics

Plotting Multiple Data Sets in One Graph Multiple x-y pair arguments create multiple graphs with a single call to plot (colours

automatically cycle) Example

x = 0:pi/100:2*pi; y = sin(x); y2 = sin(x-.25); y3 = sin(x-.5); plot(x,y,x,y2,x,y3) legend('sin(x)','sin(x-.25)','sin(x-.5)')

The command >> figure creates a new Matlab figure The command >> figure (N) creates a new Matlab figure numbered N

188 Graphics

Creating a Plot

The plot function has different forms, depending on the input arguments. If y is a vector, plot(y) produces a piecewise linear graph of the elements of y versus the index of the elements of y. If you specify two vectors as arguments, plot(x,y) produces a graph of y versus x.

Example x = 0:pi/100:2*pi; y = sin(x); plot(x,y) xlabel('x = 0:2\pi') % The characters pi create the symbol π ylabel('Sine of x') title('Plot of the Sine Function','FontSize',12)

189 Graphics

Specifying Line Styles and Colors It is possible to specify color, line styles, and markers (such as plus signs or circles)

when you plot your data using the plot command:

190 Graphics

Placing Markers at Every Tenth Data Point Example x1 = 0:pi/100:2*pi; x2 = 0:pi/10:2*pi; plot(x1,sin(x1),'r:',x2,sin(x2),'r+')

Graphing Imaginary and Complex Data When the arguments to plot are complex, the imaginary part is ignored except when you

pass plot a single complex argument. plot(Z) where Z is a complex vector or matrix, is equivalent to plot(real(Z),imag(Z)) Example t = 0:pi/10:2*pi; plot(exp(i*t),'-o') axis equal

191 Graphics

Displaying Multiple Plots in One Figure The subplot command enables you to display multiple plots in the same window or

print them on the same piece of paper. Typing subplot(m,n,p) partitions the figure window into an m-by-n matrix of small subplots

and selects the pth subplot for the current plot. The plots are numbered along the first row of the figure window, then the second row, and so on.

Example t = 0:pi/10:2*pi; [X,Y,Z] = cylinder(4*cos(t)); subplot(2,2,1); mesh(X) subplot(2,2,2); mesh(Y) subplot(2,2,3); mesh(Z) subplot(2,2,4); mesh(X,Y,Z)

192 Programming Avoid For loops For loops are inefficient in Matlab because overhead of interpreting the code The process to convert For loop could be refferd to as vectorizing : convert in a matrix-

vector operation It is often necessary to form a matrix by repeating one or more values throughout. Example x=[1 3 4 6 8 9 2 ] % x is a length-7 row vector X=ones(10,1)*x % X is a 10x7 matrix

Conditional Control – if, else, switch

Loop Control – for, while, continue, break

Creating functions

Exercise Explain the following lines of Matlab code

A=randn(6,3) B=A>0; A=A.*(A>0)

Write a new function which replace the negative element of the matrix A by -2 Test the following commands : A=randn(6,3) xy=find(A>0.5) find function returns the list of indices where a condition is true