École Nationale des Sciences de l’Informatique
Filières : Systèmes et Logiciels Embarqués & Image
Module : Technologies du Traitement du Signal et Image
R. Besrour Niveau : II3 ENSI : 2015/2016
PLAN
Chapitre 1 : Généralités
Chapitre 2 : TFTD et TFD (TFR)
Chapitre 3 : Filtrage Numérique
Chapitre 4 : Applications
Chapitre 1 : Généralités
1. Traitement numérique vs. analogique?
2. Opérations classiques en TNS
3. Processeur DSP
4.
Applications
Chaine de traitement numérique
Signal original Grandeur physique
Capteur
Adaptation du signal d’entrée Gain+Démodulation
Signal traité
Signal analogique
Signal analogique
MEM
Filtre anti-repliement
Echantillonnage
CAN
DSP
CNA
Filtre de Lissage
Ports E/S
Reconstruction du signal
TTSI
-1-
Signal numérique
Traitement numérique vs. analogique? (1/4)
Signal analogique
Circuit électronique à composants analogiques
Signal analogique
Signal analogique
CAN
DSP
CNA
Signal analogique
Signal numérique
Signal numérique
En quoi le passage par le numérique est-il intéressant même lorsque
l’entrée et la sortie sont analogiques????
TTSI
-2-
Traitement numérique vs. analogique? (2/4)
Numérique
Analogique
Précision / RSB
Fixes et connus à l’avance Liés à la taille des mots mémoire (16/24/32 bits)
Sources de bruit
Echantillonnage quantification
Reconfigurabilité Changer le logiciel
Dépend de la qualité des composants
Bruit électromagnétique, température, humidité, vieillissement
Matériel Calibration nécessaire
Largeur de bande utilisable
Limitée par l’échantillonnage Peut travailler à très
haute fréquence
TTSI
-3-
Traitement numérique vs. analogique? (3/4)
Algorithmes de TNS
Contrainte de temps réel
– filtrage – transformées – codage/décodage – reconnaissance de la parole – synthèse de signaux – estimation spectrale…
Cahier des charges
1. Calculs rapides 2. Contraintes temps réel (entrées/sorties à débit fixe) 3. Contraintes systèmes embarqués (taille limitée, faible consommation d’énergie)
Les DSP ont une architecture matérielle et logicielle dédiée permettant de répondre à ces besoins
TTSI
-4-
Traitement numérique vs. analogique? (4/4)
o Traitement temps réel
• Latence maximale autorisée entre l’arrivée d’une donnée et la disponibilité du
résultat du calcul correspondant.
o Débits de données important
• Signaux numériques = quantité importante de données transmises séquentiellement.
o Charge de calcul importante
• convolution, FFT…
oTraitements répétitifs
TTSI
-5-
Opérations classiques en TNS
o MAC : Multiplication-ACcumulation
• acc acc + bi . xi
• Filtres à réponse impulsionelle finie (RIF)
• Filtres à réponses impulsionelle infinie (RII)
o FFT
• Analyse spectrale
o Génération de formes d’ondes
• Communications numériques
TTSI
-6-
Processeur DSP (1/14)
Environnement externe
Conditionnement des signaux
Conversion des données
Traitement Numérique des Signaux
Interface Hôte
• Composant électronique utilisant conjointement du matériel (Hard) et du logiciel
(Soft) pour mettre en œuvre une application de traitement du signal
• Système DSP : interagit fortement avec son environnement (contraintes de temps réel
et de dynamique des phénomènes physiques)
• Composants du DSP (unité de traitement, registres, bus, mémoire, ports E/S,
périphériques, …) : fixent les performances expérimentales du système.
• Ressources logicielles (jeu d’instructions, OS) offrent la flexibilité au système.
TTSI
-7-
Processeur DSP (2/14)
Opérations les plus
courantes dans les
algorithmes de TNS
imposent
Contraintes
matérielles sur
l’architecture DSP
2 algorithmes classiques de TNS :
Filtre à Réponse Impulsionnelle Finie (RIF) Transformée de Fourier rapide (FFT)
Spécificités des DSP
TTSI
-8-
Processeur DSP (3/14)
Produit de Convolution Filtre RIF
TTSI
-9-
Processeur DSP (4/14)
Pour chaque cellule h(k)x(n-k) :
– Recherche de l’instruction
– Recherche du coefficients h(k)
– Recherche de la donnée x(n-k)
– Multiplication h(k)x(n-k)
– Accumulation h(k-1)x(n-k-1) + h(k)x(n-k)
– Décalage en mémoire x(n-k) x(n-k-1)
4 accès en mémoire
2 accès à l’unité de calcul
TTSI
-10-
Processeur DSP (5/14)
Architecture Von Neuman
Système à usage général
Une mémoire pour le code et les données
Double utilisation des bus données et adresses
1. Recherche Instruction 2. Recherche Data_1 3. Recherche Data_2
Plusieurs cycles !!!
TTSI
-11-
Processeur DSP (6/14)
Limitations de l’architecture Von Neumann
Code avec un microprocesseur x86 d’Intel
TTSI
-12-
Processeur DSP (7/14)
Publicité
Architecture Harvard
• Mémoires PM et DM séparées
• Bus indépendants pour chaque mémoire
: PMD et DMD
• en 1 cycle : Instr. fetch & Data fetch
• Memory Mapped IO
• Core : chemins de données optimisés,
MAC, adressage approprié des données
• Software
:
instructions dédiées aux
applications (FFT, video, parole, …)
TTSI
-13-
Processeur DSP (8/14)
Architecture Harvard modifiée Plus de puissance de calcul
o Architecture Harvard
:
accès
simultanée aux données et aux
instructions
o Architecture Harvard modifiée :
• accès simultanée à 2 données
(DM) et une instruction
• donne les performances de3 bus
avec une architecture à 2 bus
TTSI
-14-
Processeur DSP (9/14)
o Texas Instrument TMS320Cxxxx
o Analog Devices ADSPxxxx, SHARC, blackfin
o un processeur DSP est préférable pour :
• minimiser la taille
• minimiser la consommation
• traitement temps-réel à grand débit
o un processeur d’usage général est préférable pour :
• disposer d’une grande quantité de mémoire
• développer sous un système d’exploitation avancé
• nécessité de mixer calcul numérique et autres taches
TTSI
-15-
Processeur DSP (10/14)
Critères de performance d’un DSP
Horloge
la rapidité de l'exécution des instructions
1er critère : Puissance de calcul d’un DSP
Encore faut-il trouver une bonne définition de ce qu’est la vitesse d’exécution, ce qui n’est pas forcément simple
TTSI
-16-
Processeur DSP (11/14)
Acronyme
Définition
MFLOPS
Nombre d’opérations à virgule
flottante (multiplications,
Million FLoating-point
additions, soustractions, etc.) que le DSP à virgule flottante peut
Operations Per
réaliser en une seconde.
Second
MOPS
Nombre total d’opérations (traitement et transfert de données,
Million Operations
accès DMA, opérations d’E/S) que le DSP peut effectuer en une
Per Second
seconde.
TTSI
-17-
Processeur DSP (12/14)
MIPS
Nombre de codes machines (instructions) que le DSP peut
Million Instructions
effectuer en une seconde.
Per Second.
MMACS
Nombre de MAC que le DSP peut effectuer en une seconde
Million Multiply and
Accumulate Per Second.
Ex : DSP56156 30MIPS
• taux d’échantillonnage 48 kHz Te=20.833µs
• quel est le nombre d’instructions maximum entre 2 échantillons ?
TTSI
-18-
Processeur DSP (13/14)
2ème critère :
Mesure du temps d’exécution « Benchmark »
Mesurer le temps que met
le DSP pour exécuter des
programmes « standards »
de traitements du signal
TTSI
-19-
Processeur DSP (14/14)
Quelques DSP
Constructeur
Modèle
Horloge (MHz)
MMACS
Virgule Fixe/Flottante
Données (bits)
Analog Devices
Texas Instruments
ADSP-21xx
80/160
80/100
TMS320 C24
TMS320 C54
TMS320 C55
TMS320 C62
TMS320 C67
40
160
200
300
300
40
160
400
400
400
Fixe
Fixe
Fixe
Fixe
Fixe
flottante
16
16
16
16
16
32
TTSI
-20-
Applications (1/3)
o Communications
• sans fil (cellulaire, télévision numérique, radio numérique)
• filaire (DSL, câble)
• modem
• cryptage
o Audio
• mixage et édition
• effets
• suppression du bruit
o Image / Vidéo
• compression / Codage
• traitement
TTSI
-21-
Applications (2/3)
o Militaire
• imagerie (radar, sonar, …)
• guidage de missiles
o Biomédical
• équipements de monitoring (signaux biophysiques, ElectroEncéphaloGramme EEG,
Publicité
ElectroCardioGramme (ECG)
• radiographie
o Instrumentation
• analyseur de spectre
• générations de fonctions
o Automatisation
• commande de machines
• contrôle de moteurs
• robots
TTSI
-22-
Applications (3/3)
o Electronique Automobile
• contrôle du moteur
• assistance au freinage
• aide à la navigation
• commandes vocales
TTSI
-23-
Chapitre 2: TFTD et TFD(TFR)
1. Transformée de Fourier des signaux à Temps Discret
2. De la TFTD à la Transformée de Fourier Discrète TFD
3. Transformée de Fourier Discrète TFD
4. Analyse spectrale et TFD
5. Précision de la TFD
6. TFD et fenêtrage temporel
7. Conclusion
Transformée de Fourier des signaux à Temps Discret (1/5)
Question : Comment faire l’analyse fréquentielle de signaux discrets?
1. Définition
Soit un signal discret. La TFTD de ce signal est donnée par l’expression :
La TF d’un signal discret est une fonction continue ou non de la variable continue f.
f est une variable continue
2. Condition d’existence de la TFTD
La TF d’un signal discret existe si . Si le signal est absolument
sommable.
L’existence de la TFTD est donc liée à la convergence absolue de la série
TTSI
-25-
Transformée de Fourier des signaux à Temps Discret (2/5)
3. Périodicité de la TFTD
La TF des signaux discrets est périodique de période f=1 toute l’information
fréquentielle du signal est localisée dans l’intervalle de fréquence
TTSI
-26-
Transformée de Fourier des signaux à Temps Discret (3/5)
4. Périodicité de la TFTD : généralisation avec Fe ≠ 0
Pour un signal échantillonné à la fréquence Fe, sa TFTD Xe(f) est périodique de période Fe
l’information fréquentielle est contenue dans sa bande
5. TF inverse des signaux discrets
Comme la TF des signaux discrets est périodique de période 1, l’expression de la TFTD
inverse est donnée par :
Rq : intégrale car f est une variable continue
TTSI
-27-
Transformée de Fourier des signaux à Temps Discret (4/5)
6. Représentation spectrale
signal discret (support discret)
En fonction de la nature (périodique ou non) de , on a deux types de représentation
spectrale possibles
x(n) non périodique
TFTD
x(n) périodique
TFTD
X(f) est à support continu
X(f) est à support discret
TTSI
-28-
Transformée de Fourier des signaux à Temps Discret (5/5)
7. Propriétés de la TFTD
Globalement, la TFTD possède les mêmes propriétés que la TF (voire module Math de l’ing
II1), à savoir la linéarité, le décalage temporel, le décalage fréquentiel ou modulation, la TF
de la dérivée du signal, la relation de Parseval (conservation de l’énergie), les relations de
Plancherel.
Bilan sur la TFTD :
• la TF fonctionne sur un signal à temps discret
• mais en fréquence, on repasse en continu on perd l’avantage du
numérique !!!
TTSI
-29-
De la TFTD à la Transformée de Fourier Discrète TFD (1/2)
o Objectif : on veut calculer la TF d’un signal discret à l’aide d’un calculateur
o Difficultés :
•
•
Le calcul de la TF nécessite une infinité de points de mesures x(n) (pas toujours
possible dans la pratique : contraintes temps réel, …)
Le calculateur ne peut calculer une TFTD car sa réponse fréquentielle est forcément
discrète = un nombre fini de points fréquentiel fn alors que f varie continument …
o Solution : Transformée de Fourier Discrète (TFD)
•
Limiter la durée de x(n) considérer un nombre fini N de points temporels
• Discrétiser la fréquence considérer un nombre fini L de points fréquentiels
A un nombre fini de valeurs x(1),…, x(N), on fait correspondre un nombre fini de valeurs
X(f1),…,X(fL) telle que la TFD de x soit une approximation aussi bonne que possible de X(f)
TTSI
-30-
De la TFTD à la Transformée de Fourier Discrète TFD (2/2)
Question : Quelle est l’influence du nombre de points temporels N et du nombre de
points fréquentiels L sur l’observation spectrale ?
Soit un signal discret de durée finie N. Sa TFTD est :
Discrétisation de la fréquence sur L points :
est périodique de période 1, donc
L’approximation discrète de la TFTD de ce signal est :
k et n ne jouent pas le même rôle : n : variable temporelle n=0,…, N-1 k : variable fréquentielle k=0,…, L-1
TTSI
-31-
Transformée de Fourier Discrète TFD (1/4)
1. Définition :
o La TFD évaluée sur un nombre L de points fréquentiels d’un signal discret est
définie par :
N : nombre de points temporels n : variable temporelle n=0,…,N-1 L : nombre de points fréquentiels k: variable fréquentielle k=0,…,L-1
X(k) est périodique de période L.
o La TFD inverse est :
est une suite périodique de période L
la discrétisation de X(k) a entrainé une périodisation de x(n)
TTSI
-32-
Transformée de Fourier Discrète TFD (2/4)
TFTD : Discrétisation en temporel Périodisation en fréquentiel
TFD : Discrétisation en fréquentiel Périodisation en temporel
TTSI
-33-
Transformée de Fourier Discrète TFD (3/4)
2. Que se passe t-il si l’on applique la TFD à un signal périodique ?
Soit xp(n) un signal périodique de période n. pour calculer sa TFD, on se restreint à une
période.
o La TFD
o La TFD inverse
TFD
Suite x(n) périodique de période N
Suite X(k) périodique de période N
TFD inverse
TTSI
-34-
Transformée de Fourier Discrète TFD (4/4)
3. Propriétés de la TFD
La TFD possède les propriétés classiques de la TFTD mais tous les calculs d’indice k et n se
font modulo N.
4. TFD et convolution circulaire
Soit x(n) et y(n) des signaux discrets de durée finie N. Leur produit de convolution circulaire
est défini par :
c(n) est donc périodique de période N.
On peut voir la convolution circulaire comme la rotation d’une séquence autour d’une autre.
5. TFD et convolution circulaire
TTSI
-35-
Analyse spectrale et TFD (1/4)
1. Introduction
On veut utiliser la TFD pour analyser le contenu fréquentiel d’un signal continu x(t). Ceci
impose les opération suivantes :
o Echantillonnage de x(t) choix de la fréquence d’échantillonnage Fe
(fixée par le théorème de Shannon)
Numérisation OK
o Quantification pour générer le signal discret x(n)
Publicité
o Troncature de x(n) à N échantillons
o Discrétisation du domaine fréquentiel en L points
TFD quelle est l’influence
de ces 2 opérations sur le
spectre donné par la TFD ?
TTSI
-36-
Analyse spectrale et TFD (2/4)
2. Troncature du signal discret (fenêtrage temporel)
o Opération dans le domaine temporel
Soit x(n) un signal discret. Le signal résultant de la troncature de x(n) à N échantillons
est :
h(n) : fenêtre rectangulaire de largeur N
N : durée d’observation du signal x(n)
Note : si x(n) est issu de la discrétisation d’un signal à une période Te, la durée d’observation
est NTe.
o Influence de la troncature dans le domaine fréquentiel
Calculons la TFTD du signal tronqué :
La TFTD du signal tronqué xN(n) est obtenue par filtrage de la TFD de x(n) à travers un
filtre de réponse impulsionnelle H(f)
TTSI
-37-
Analyse spectrale et TFD (3/4)
3. Echantillonnage de XN(f)
o La TFD XN(k) est obtenue par discrétisation du domaine fréquentiel de XN(f)
o La distance entre 2 points fréquentiels est (ou : prise en compte fréquence
d’échantillonnage)
o Avec l’opération de fenêtrage, on obtient :
XN(k) est constitué d’échantillons de X(f) filtré à travers le filtre H(f).
TTSI
-38-
Analyse spectrale et TFD (4/4)
4. Influences du fenêtrage temporel et de la discrétisation fréquentielle
o TFD du signal tronqué xN(n) :
Le choix du pas fréquentiel 1/L (ou Fe/L) aura
une influence sur la précision de l’analyse spectrale
(précision de mesure d’une fréquence particulière)
o TFTD de la fenêtre rectangulaire
la convolution fréquentielle de X(f) par H(f) aura
pour conséquence l’apparition d’ondulations dans le spectre
XN(f) et donc dans XN(k) : c’est le problème de résolution
TTSI
-39-
Précision de la TFD (1/3)
1. Problématique
o Fenêtrage le spectre des la sinusoïde apparait sous forme de plusieurs raies non
nulles
o La plus importante en module est proche de la vraie fréquence f0.
o L’erreur maximale commise sur cette estimation est 1/L.
TTSI
-40-
Précision de la TFD (2/3)
2. Deux objectifs
o Résolution en fréquence (largeur du lobe) permet de distinguer 2 fréquences proches
Exemple : soit un signal contenant 2 fréquences f1 et f2. si |f1-f2|<1/N, les lobes principaux
seront proches pour les distinguer
la résolution en fréquence est de l’ordre de 1/N (ou Fe/N)
o Résolution en amplitude (atténuation des lobes secondaires) permet de distinguer
des raies spectrales de faibles amplitudes ou une raie de faible amplitude proche d’une
raie d’amplitude élevée.
TTSI
-41-
Précision de la TFD (3/3)
3. Amélioration de la précision
o Diminuer Fe = augmenter Te
• suppression des hautes fréquences • amélioration de la précision sur les fréquences restantes
o Augmentation du nombre de points fréquentiel L
• pas toujours possible
o Augmentation du nombre de points temporels N
• ajout d’échantillons nuls • interpolation fréquentielle : zero padding • ajout de K-1 zéros entre les échantillons • précision de 1/KN au lieu de 1/N • exemple en 1D
[1, 2, 3] [1, 0, 0, 2, 0, 0, 3]
• application : zoom sur une image
TTSI
-42-
TFD et fenêtrage temporel (1/3)
1. Objectif
Amélioration de l’analyse spectrale par pondération des échantillons avant filtrage
2. Réalisation
Remplacement de la fenêtre rectangulaire h(n) par une fenêtre dont la TF présente des
ondulations plus faibles.
Exemples de fenêtre
Fenêtre de Hanning
Fenêtre de Hamming
Chaque type de fenêtre a une réponse en fréquence particulière (largeur du lobe principale,
amplitude des lobes secondaires,…) qui permet de choisir au mieux la « bonne » en fonction
des applications.
TTSI
-43-
TFD et fenêtrage temporel (2/3)
En général les résolutions en fréquence et en amplitude sont d’autant meilleures que le lobe
principal est étroit et les lobes secondaires sont de faibles amplitudes.
3. Choix de la fenêtre critères de sélection
• rapport A entre les maximum du lobe central et des lobes secondaires de la TFD des
fenêtres
• atténuation des lobes secondaires de la TFD des fenêtres S
• largeur du lobe central ΔF
TTSI
-44-
TFD et fenêtrage temporel (3/3)
Rapport d’amplitude entre le lobe principal et le lobe secondaire
Largeur du lobe principal
-13 dB
-25 dB
-31 dB
-41 dB
-47 dB
2/N
4/N
4/N
4/N
6/N
Type de fenêtre
Rectangulaire
Triangulaire
Hanning
Hamming
Blackman
Diminution de la largeur du lobe principal augmentation de l’amplitude des lobes
secondaires d’où un compromis à trouver.
TTSI
-45-
Transformée de Fourier Rapide FFT (1/2)
o D’après la définition ci-dessus, il faut, pour calculer 1 valeur en fréquence de la TFD d’un
signal de N points N-1 sommes complexes et N produits complexes
o Pour calculer une TFD à N points, il faudra donc N(N-1) sommes complexes N²
produits complexes
o Sur un signal son wav de 6 secondes qui a 6*44100 =264600 points, on arrive à 1011
opérations complexes !!!!!
La FFT va permettre de diminuer cela
TTSI
-46-
Transformée de Fourier Rapide FFT (2/2)
Objectif : Trouver un algorithme de calcul de la TFD de {x(n)}
La TFD de {x(n)} s’écrit :
Propriétés de WN :
TTSI
-47-
Conclusion
o TFTD
• Idem TF mais avec une somme
• signal non périodique support en fréquence continu
• signal périodique support périodique
• la TFTD d’un signal est périodique de période Fe
• mais impossible à exploiter par un calculateur …
o TFD
• Limitation de la durée du signal par fenêtrage
• Discrétisation de la fréquence d’où une périodisation dans le temps
• Le fenêtrage implique des déformations du spectre fréquentiel
• Gourmand en calcul FFT !!!
TTSI
-48-