28
Pour voir où nous en sommes dans le cours S.S.I. expliquer le signal numérique utiliser Matlab comment exploiter le spectre comment bien échantillonner, et que signifie ‘sous échantillonner’ qu’est ce qu’un filtre ? comment créer des filtres quasi rectangulaires Comment créer des bancs de filtres pour Rappel de la démarche suivie Signal numérique spect re Sous- échantillonner filtre r Compresser selon le principe de mp3 Des bancs de filtres pour découper le spectre Nous sommes ici ! Créer des filtres quasi rectangulaires Du son à l’image ?

Pour voir où nous en sommes dans le cours S.S.I. expliquer le signal numérique utiliser Matlab comment exploiter le spectre comment bien échantillonner,

Embed Size (px)

Citation preview

Page 1: Pour voir où nous en sommes dans le cours S.S.I. expliquer le signal numérique utiliser Matlab comment exploiter le spectre comment bien échantillonner,

Pour voir où nous en sommes dans le cours S.S.I.

• expliquer le signal numérique• utiliser Matlab• comment exploiter le spectre• comment bien échantillonner, et

que signifie ‘sous échantillonner’• qu’est ce qu’un filtre ?• comment créer des filtres quasi

rectangulaires• Comment créer des bancs de filtres

pour découper le spectre• Comment compresser avec un

banc de filtres et un sous échantillonnage

• Du son à l’image numérique

Rappel de la démarche suivieSignal numérique

spectre

Sous-échantillonner

filtrer

Compresser selon le principe de mp3

Des bancs de filtres pour découper le spectre

Nous sommes ici !

Créer des filtres quasi rectangulaires

Du son à l’image ?

Page 2: Pour voir où nous en sommes dans le cours S.S.I. expliquer le signal numérique utiliser Matlab comment exploiter le spectre comment bien échantillonner,

Filtrage (numérique) des Signaux

- Importance de l’interprétation dans le domaine des fréquences

- Exemples d’objectifs du filtrage (sons, images, transmissions, ...)

- Formalisation d’un filtre (convolution) ; notion de causalité

- Lien avec la transformée de Fourier et la transformée en z

- Filtres à réponse impulsionnelle finie (ou non récursifs)

- Technique élémentaire de synthèse des filtres numérique

- Exemples de filtres utilisé en compression MP3 et en reconnaissance de parole

- Filtres non récursifs ; problème de stabilité

- Illustration en synthèse de son (timbre d’un instrument, compression de la voix en téléphonie mobile)

Page 3: Pour voir où nous en sommes dans le cours S.S.I. expliquer le signal numérique utiliser Matlab comment exploiter le spectre comment bien échantillonner,

Opération usuelle de filtrage, d’annulation d’écho, etc ... : déformation linéaire invariante dans le temps par un milieu de transmission

Une composante sinusoïdale est amplifiée et déphasée différemment suivant la fréquence : trouver cette déformation et la compenser

-3.14159

-2.35696

-1.57233

-0.78770

-0.00307

0.78157

1.56620

2.35083

3.13546

-2

-1

0

1

2

-2.35696

-1.57233

-0.78770

-0.00307

0.78157

1.56620

2.35083

3.13546

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.10

Fréquence

Atténuation

Fréquence

Déphasage

Importance de l’interprétation dans le domaine des fréquences

Filtrer un signal c’est calculer une combinaison linéaire d’échantillons successifsdu signal afin de modifier l’amplitude et la phase de ses composantes sinusoïdales

Signal émisMilieu de transmission Signal capté

et déformé

Page 4: Pour voir où nous en sommes dans le cours S.S.I. expliquer le signal numérique utiliser Matlab comment exploiter le spectre comment bien échantillonner,

0 100 200 300 400 500 6000

10

20

X t

t

.

0 204.8 409.6 614.4 819.2 10242

1

0

1

2

xt

Re xf t

t

.

Lissage par filtrage passe-bas(atténuation du bruit)

0 50 100 150 200 250 300 350 400 450 500 5502

0

2

xt

t

.

0 50 100 150 200 250 300 350 400 450 500 5502

0

2

xt

t

.

élimination d’unecomposante à 50 Hz

temps

temps

Exemples de Filtrage

fréquencecomposante à 50 Hz

Page 5: Pour voir où nous en sommes dans le cours S.S.I. expliquer le signal numérique utiliser Matlab comment exploiter le spectre comment bien échantillonner,

Modulation d ’amplitude = translation en fréquenceexemple d’utilisation du filtrage en communication numérique

30 80 130-1.2

-0.8

-0.4

-0.0

0.4

0.8

1.2

30 80 130-1.2

-0.8

-0.4

-0.0

0.4

0.8

1.2

-50 0 50 100

2

5

8

-50 0 50 100

2

5

8

0 8 16 24 32-1.2

-0.8

-0.4

-0.0

0.4

0.8

1.2

-50 0 50 100

2

5

8

0 8 16 24 32-1.2

-0.8

-0.4

-0.0

0.4

0.8

1.2

-50 0 50 100

2

5

8

0 8 16 24 32-1.2

-0.8

-0.4

-0.0

0.4

0.8

1.2

-50 0 50 100

2

5

8

0 8 16 24 32-1.2

-0.8

-0.4

-0.0

0.4

0.8

1.2

-50 0 50 100

2

5

8

0 8 16 24 32-1.2

-0.8

-0.4

-0.0

0.4

0.8

1.2

-50 0 50 100

2

5

8

0 8 16 24 32-1.2

-0.8

-0.4

-0.0

0.4

0.8

1.2

-50 0 50 100

2

5

8

0 8 16 24 32-1.2

-0.8

-0.4

-0.0

0.4

0.8

1.2

-50 0 50 100

2

5

8

Bande de base

modulation

Addition, transmission(multiplexage)

démodulation

filtrage

e j t1 e j t2

e j t 1 e j t 2

1 2

2 1 1 2

0 8 16 24 32-1.2

-0.8

-0.4

-0.0

0.4

0.8

1.2

0 8 16 24 32-1.2

-0.8

-0.4

-0.0

0.4

0.8

1.2

temps fréq. temps fréq.

Page 6: Pour voir où nous en sommes dans le cours S.S.I. expliquer le signal numérique utiliser Matlab comment exploiter le spectre comment bien échantillonner,

Filtrage des bruits ( par exemple lorsque le signal intéressant

est dans les basses fréquences)

(basses fréquences = variations lentes)

Page 7: Pour voir où nous en sommes dans le cours S.S.I. expliquer le signal numérique utiliser Matlab comment exploiter le spectre comment bien échantillonner,

cc

Filtrage passe bas d’une image

Page 8: Pour voir où nous en sommes dans le cours S.S.I. expliquer le signal numérique utiliser Matlab comment exploiter le spectre comment bien échantillonner,

cc

filtrage passe haut (dérivation) d’une image en vue de la détection de contours(il y a contour quand il y a une variation rapide de l’intensité)

Pour mettre en évidence les contours on amplifie les hautes fréquences

Page 9: Pour voir où nous en sommes dans le cours S.S.I. expliquer le signal numérique utiliser Matlab comment exploiter le spectre comment bien échantillonner,

Traitement d’antennes :

Retrouver par un réseau de capteurs (antenne) la direction de propagation des ondes sonores ou électromagnétiquesen ajustant les gains et les retards appliqués à chacun des signaux captéset reconstruire le signal provenant de cette direction(et remplacer les antennes paraboliques pour les réceptions satellites)

Application en Radar, Sonar, antennes adaptatives en communications numériquesfiltrage spatio - temporel

n

nn txnbty )().()( )(txn

onde plane provenantd’une direction

deuxième onde (provenant d’une autre direction)

Page 10: Pour voir où nous en sommes dans le cours S.S.I. expliquer le signal numérique utiliser Matlab comment exploiter le spectre comment bien échantillonner,

Filtrage (numérique) des Signaux

Numérique : dès que la bande de fréquence occupée par le signal est suffisamment faible pour le permettre : plus fiable, plus souple que le filtrage analogique ; actuellement les téléviseurs font des traitements numériques(de l’ordre d’un milliard de multiplications par seconde)

filtre caractérisé par sa réponse impulsionnelle

h(t)

Filtrage numérique = convolution discrète*

entrée(signal original)

x(t)

sortie signal filtré

y(t)

y(t) = h() x(t-)

* filtrage analogique = équation différentielle linéaire

Filtre causal : sa réponse impulsionnelle h(t) est nulle pour les temps négatifs(en général nécessité pour la programmation)

Page 11: Pour voir où nous en sommes dans le cours S.S.I. expliquer le signal numérique utiliser Matlab comment exploiter le spectre comment bien échantillonner,

Filtrage (numérique) des Signaux

Résultat fondamental pour l’interprétation et parfois pour l’implémentation

La transformée de Fourier (ou la transformée en z) Y(z)d’une convolution y(t) de deux fonctions x(t) et h(t)est le produit des transformées X(z) et H(z) de ces deux fonctions

y(t) = h() x(t-) Y(z)=H(z).X(z)

La transformée de Fourier de x(t) est X(ei.) : valeur de X(z) pour z= ei.

Fourier / z

Y(ei.)=H(ei.).X(ei.)

K

t

tzthzH0

).()(

transformée en z d’une convolution ~

produit de polynômes

Page 12: Pour voir où nous en sommes dans le cours S.S.I. expliquer le signal numérique utiliser Matlab comment exploiter le spectre comment bien échantillonner,

Filtrage (numérique) des Signaux

Filtre passe-bas : typiquement pour réaliser un lissage

Filtre passe-bande : ne conserver que les composantesdans une bande de fréquence ; ainsi dans MP3 le signal estfiltré dans quelques dizaines de bandes de fréquences et analysédans chacune de ces bandes

En général on se donne la réponse en fréquence du filtre

(par transformée de Fourier inverse on obtient la réponse impulsionnelle b(t))

K

txbty0

)().()(

filtre à réponse impulsionnelle finie

Convolution = filtre à réponse impulsionnelle finie = filtre non récursif

La fonction de transfert B(z) est un polynôme

B(z)x(t) y(t)

K

t

tztbzB0

).()(

Schéma

Synthèse d’un filtre

Page 13: Pour voir où nous en sommes dans le cours S.S.I. expliquer le signal numérique utiliser Matlab comment exploiter le spectre comment bien échantillonner,

synthèse des filtre numériques à réponse impulsionnelle finie

Filtre idéal réponse en fréquence (module et éventuellement phase)

« Gabarit » : tolérance

transformée de fourier inverse : réponse impulsionnelletroncature dans le domaine temporel : modification de la réponse en fréquencetransformée de Fourier : vérification : est ce que le gabarit est respecté

Bande passante

Ban

de d

e tr

ansi

tion

Fréquencede coupure

freq.

Bandeatténuée

Page 14: Pour voir où nous en sommes dans le cours S.S.I. expliquer le signal numérique utiliser Matlab comment exploiter le spectre comment bien échantillonner,

3.14 0 3.140.5

0

0.5

1

1.5

.

112 84 56 28 0 28 56 84 11210

5

0

5

10

.

3.14 0 3.140.5

0

0.5

1

1.5

.

112 84 56 28 0 28 56 84 11210

5

0

5

10

.

Troncature

Oscillations

Fréquence Temps

Troncature(Atténuation des oscillations en utilisant une fenêtre de pondération)

Réalisation d’un filtre passe-bande

Page 15: Pour voir où nous en sommes dans le cours S.S.I. expliquer le signal numérique utiliser Matlab comment exploiter le spectre comment bien échantillonner,

0 210 420 630 840 10500

10

20

X t

t

.

0 200 400 600 800 1000 12002

1

0

1

2

xt

t

.

0 204.8 409.6 614.4 819.2 10242

1

0

1

2

xt

Re xf t

t

.

Lissage par filtrage passe-bas

fréquence

fréquenced’échant.

Page 16: Pour voir où nous en sommes dans le cours S.S.I. expliquer le signal numérique utiliser Matlab comment exploiter le spectre comment bien échantillonner,

Filtrage des signauxdans différentes bandes de fréquences

T. FourierSélection des canaux utiles (effet de masquage1er codage

T. Cos etcodage

T. Cos etcodage

T. Cos etcodage

T. Cos etcodage

T. Cos etcodage

Em

issi

on d

es d

onné

es

Principe du codage MP3

Page 17: Pour voir où nous en sommes dans le cours S.S.I. expliquer le signal numérique utiliser Matlab comment exploiter le spectre comment bien échantillonner,

Filtres MP3

0 32 64 96 128 160 192 224 256 288 320 352 384 416 448 480 5120.01

0.015

0.04

.

Réponse impulsionnelledes filtres (sans la modulation)

Réponse en fréquencedu filtre (la modulationse traduit par une translationen fréquence pour chacun des filtres)

Temps(échantillons)

Fréquence(kHz)1.03 0.78 0.52 0.26 0 0.26 0.52 0.78 1.03

0

0.0025

0.005

.

Fréquence d’échantillonnage 44100Hz

Page 18: Pour voir où nous en sommes dans le cours S.S.I. expliquer le signal numérique utiliser Matlab comment exploiter le spectre comment bien échantillonner,

Filtrage dans différentes bandes de fréquencesl’évolution de l’énergie en sortie de chacun des filtressert de base aux techniques de reconnaissance de parole

Page 19: Pour voir où nous en sommes dans le cours S.S.I. expliquer le signal numérique utiliser Matlab comment exploiter le spectre comment bien échantillonner,

Cas des filtres récursifs (ou à réponse impulsionnelle infinie) analogie avec les filtres à temps continu : l’équation différentielle est approximée par une équation aux différences et se traduit par une équation récurrente

Convolution = filtre à réponse impulsionnelle finie = filtre non récursif

Meilleure modélisation de résonances

Synthèse de parole et de sons

La fonction de transfert H(z) est un polynôme

Mais problèmes de précision et de stabilité (bouclage)

Cas des filtres récursifs

Page 20: Pour voir où nous en sommes dans le cours S.S.I. expliquer le signal numérique utiliser Matlab comment exploiter le spectre comment bien échantillonner,

y(t) = x(t) - p

a (k) y(t-k)k=1

La fonction de transfert n’est plus un polynômemais une fraction rationnelle

Cas des filtres récursifs

Y(z) = X(z)

A(z)=

1

1+ p

a (k) z-k

k=1

X(z)

(en synthèse de parolel’ordre p vaut 10 ou 12)

x(t)

- p

a (k) y(t-k)k=1

y(t)schémas usuels

Bouclage = risqued’instabilité

x(t)

- p

a (k) z-k

k=1

y(t)

Page 21: Pour voir où nous en sommes dans le cours S.S.I. expliquer le signal numérique utiliser Matlab comment exploiter le spectre comment bien échantillonner,

Stabilité d’un filtre

Filtre stable : si l’entrée est bornée la sortie est aussi bornée

les filtres à réponse impulsionnelle finie sont toujours stables

les filtres récursifs sont caractérisés par les racines du dénominateur zpA(z)

Le filtre 1/A(z) est stable si et seulement si le polynôme dénominateur zpA(z) a toutes ses racines (pôles du filtre)à l’intérieur du cercle de rayon 1

1.5 0 1.51.5

0

1.5

.

1.5 0 1.51.5

0

1.5

.

stable instable

Page 22: Pour voir où nous en sommes dans le cours S.S.I. expliquer le signal numérique utiliser Matlab comment exploiter le spectre comment bien échantillonner,

y(t)=x(t) - a(1).y(t-1)

A(z) = 1 + a(1) z -1|a(1)| < 1 filtre stable

Exemple élémentaire (filtre du premier ordre)

0 50 100

0

2

y t

xt

t

.

0 50 1000

50

y t

xt

t

.

a(1)= -0.95 a(1)= -1.05

filtre stable filtre instable

La réponse impulsionnelle est donnée par h(t) = a(1)t

Stabilité d’un filtre récursif

1.5 0 1.51.5

0

1.5

.

1.5 0 1.51.5

0

1.5

.

Page 23: Pour voir où nous en sommes dans le cours S.S.I. expliquer le signal numérique utiliser Matlab comment exploiter le spectre comment bien échantillonner,

On peut combiner des filtres

en cascade

en parallèle

B(z) B(z)/A(z)1/A(z)au lieu de

B(z)

C(z)

B(z)+C(z)au lieu de

Interprétation en termes de transformées en z : multiplications et additions de polynômesou de fractions rationnelles

B(z) B(z).C(z)C(z)au lieu de

Page 24: Pour voir où nous en sommes dans le cours S.S.I. expliquer le signal numérique utiliser Matlab comment exploiter le spectre comment bien échantillonner,

Filtre récursif du deuxième ordre(simulation d’une équation différentielleavec oscillations amorties)

0 20 40 60 80 1002

0

2

4

y t

xt

t

.

0.4 r 0.95

a1

2 r cos a2

r2

yt

xt

a1

yt 1 a

2y

t 2.

amortissement r

fréquencede résonance :

1.5 0 1.51.5

0

1.5

.0 200 400 600 800 1000

0

500

1000

A t 1

t

.

r

réponse enfréquence

temps

pôles (racines du dénominateur z2A(z))

réponse impulsionnelle

Page 25: Pour voir où nous en sommes dans le cours S.S.I. expliquer le signal numérique utiliser Matlab comment exploiter le spectre comment bien échantillonner,

Synthèse de son utilisant des filtres récursifs

0 200 400 600 800 10001

0

1

2

xt

t

.

0 200 400 600 800 10002

0

2

4

y t

xt

t

.

Entrée = suited’impulsions (mélodie) Sortie (mélodie + timbre)

0 200 400 600 800 1000

0

5

10

15

Yt

t

.0 200 400 600 800 1000

1

0

1

2

X t

t

.

fréquencefréquence

temps temps

Page 26: Pour voir où nous en sommes dans le cours S.S.I. expliquer le signal numérique utiliser Matlab comment exploiter le spectre comment bien échantillonner,

Analyse / Synthèse de la parole en téléphonie mobile

Code Excited Linear Prediction (CELP)

adresse dans unDictionnairede signaux

élémentairesPrédiction à long terme(intonation,

cordes vocales)

Modèle du conduit vocal

Filtres récursifs de synthèse

Informations déduitesdu signal analyséet transmises au synthétiseur

Page 27: Pour voir où nous en sommes dans le cours S.S.I. expliquer le signal numérique utiliser Matlab comment exploiter le spectre comment bien échantillonner,

0 128 256 384 512 640 768 896 10241

0

1

.0 4 8 12 16 20 24

10

0

10

.

1.5 0 1.51.5

0

1.5

.

41.6763.33 85 106.67128.33150

0

.

0 64 128 192 256 320 384 448 512

3.87

1.73

0

.

0 63.94 127.88 191.81 255.75 319.69 383.63 447.56 511.5 575.44 639.38 703.31 767.25 831.19 895.13 959.06 10231.5

0.5

0.5

.

signal analysé coefs de corrélation

pôles du filtre spectre du signal et réponse en fréquence

réponse impulsionnele

signauxrésiduelset synthétisés

temps

temps

temps

algorithme d’analysefondé sur les probabilités

et produisant les coefficients d’unfiltre récursif stable

ayant les mêmes caractéristiquesspectrales que le signal

Page 28: Pour voir où nous en sommes dans le cours S.S.I. expliquer le signal numérique utiliser Matlab comment exploiter le spectre comment bien échantillonner,

Le filtrage linéaire est une des bases du traitement du signal(avec la transformée de Fourier et les probabilités)à partir de laquelle il y a une grande variété d’extensionsde plus en plus élaborées

Quand on traite un signal fourni parun capteur, il y a la plupart du temps une opération de filtrage

En programmation : essentiellement un calcul de produit scalaire de deux vecteurs (somme de produits)