Upload
anastaise-guyon
View
115
Download
0
Embed Size (px)
Citation preview
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 1
Polytech'Orléans
Filière ESI
MODULE FILTRAGE COMPRESSIONFASCICULE DE COURS
FILTRAGE NUMÉRIQUE
ANNÉE 2006-2007SPE 4Dr. Rodolphe WEBER
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 2
PLAN :- La quantification :
- application au convertisseur analogique numérique- application aux filtres numériques en virgule fixe
-les filtres récursifs- Quantification des coefficients- Quantification des opérateurs- Optimisation d’une structure
-les filtres non récursifs- autres implantations possibles
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 3
Les effets d'une représentation en virgule fixe dans les filtres numériques
Ils ont pour origine 3 sources différentes :- Quantification du signal à filtrer par le convertisseur AD :
dégradation du RSB, non-linéarités
- Quantification des coefficients du filtre déformation de la réponse spectrale, voire divergence
- Limitation de la dynamique de calcul dégradation du RSB ,risque de saturation, non-linéarités
Introduction
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 4
La quantification « idéale » round(x) : Q xq(t)=x(t)+e(t)x(t)
modélisation en bruit d’une quantification idéale
Puissance de l’erreur (bruit) ?Répartition en fréquence de cette erreur (bruit) ?
Cas du CAN :
Quantification du signal à filtrer par le convertisseur AD
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 5
La quantification « idéale »: Puissance de l’erreur (bruit)Can
b bitsxq(t)=x(t)+e(t)x(t)
Quel est le rapport signal sur bruit (erreur) en sortie de la quantification ou du can ?
Puissance du signal => x2=
Puissance de l’erreur => e2=
-100 -80 -60 -40 -20 0
0
20
40
60
80
100
-20log
RSB=10log(x2/e
2) (dB)
b=16
810
1214 42
65.8
86
(dB)
2
22
310log 2 6,02 4,77 20logbx
s
RSB dB bx
Attention, vrai si pas de saturation et nombre de niveaux suffisant (cf.matlab ech_ideal.m)
Pour bruit gaussienxs
-xs
x
=xs/x
q
(10 bits)
Quantification du signal à filtrer par le convertisseur AD
Le cas du signal gaussien
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 6
La quantification « idéale »: Puissance de l’erreur (bruit)Le cas du signal sinusoïdal
Que devient l’expression du RSB, pour un sinus pleine échelle ?
!
Phase aléatoire (10 bits) Période non commensurable (10 bits) Période commensurable (10 bits)
xq, rsb=61.863457 dB
=xs/x= RSB=
Quantification du signal à filtrer par le convertisseur AD
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 7
La quantification « idéale »: Répartition fréquentielle de l’erreur
Distorsion d'intermodulation
Un convertisseur n'est pas linéaire : Vs=G0+G1.Ve+G2Ve2+…GnVen
=0 si linéaire
si on injecte des sinus de fréquences f1 et f2 , d'amplitude a on obtient toutes les combinaisons du type m.f1n.f2
• ordre 2 : 2f1, 2f2, f1+f2, f2-f1
• ordre 3 : 3 f1, 3f2, 2f2-f1,2f1-f2,2f2+f1,2f1+f2
Le convertisseur même idéal n’est pas linéaire !
Quantification du signal à filtrer par le convertisseur AD
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 8
signal analogique
BufferSample and Hold Encoder
• bruit• distorsion• bande passante
• bruit• distorsion• bande passante• jitter
• bruit de quantif.• non-linéarité différentielle• non-linéarité intégrale
Amplitude analogique Amplitude numérique
Temps continu Temps discret
Les défauts d’un convertisseur analogique numérique
Sources de bruit : en vert-Bruit système < 2MHz-Jitter < 3 Ghz-Comparator ambiguity >3Ghz
Sources de non-linéarités : en bleu
Bande passante : important pour leSous-échantillonnage
Quantification du signal à filtrer par le convertisseur AD
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 9
Sources de bruit : -Bruit système < 2MHz -Jitter < 3 Ghz-Comparator ambiguity >3Ghz
2
22
310log 2 6,02 1.73 20logbx
s
RSB dB bx
Effective number of bits : SINAD=1.73+6.02 ENOB
Les défauts d’un convertisseur analogique numérique
Test des paramètres dynamiques d'un ADC
•Signal to noise ratio : SNR= Pr/Pb•Total harmonic distorsion :
•Signal to noise distorsion : SINAD=Pr/(Pb+THD)•Effective numbers of bits : SINAD=1.73+6.02 ENOB•Spurious- free dynamique range (SDFR)
1ième harmonique
i
THD P
Attention, très dépendant de la fréquence du signal utilisé pour le test
Mesurés pour un sinus pleine échelle
Quantification du signal à filtrer par le convertisseur AD
Can b bits
xq(t)=x(t)+e(t)+eb(t)+enl(t)x(t)
non-linéarités
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 10
Aperture Uncertainty (jitter)
Quantification du signal à filtrer par le convertisseur AD
Pour que EA<1/2 LSB
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 11
Offset Error Gain Error
Les différents types d'erreurs statiques
après ajustement de l'Offset ErrorRajoute une composante continue Change le gain
Quantification du signal à filtrer par le convertisseur AD
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 12
Differential linearity ErrorDNL error
Possibilité de code manquants si DNL > 1LSBDépend uniquement du processus d’encodageGénère des nonlinéarités indépendamment de l’amplitude
Quantification du signal à filtrer par le convertisseur AD
Absolute Accuracy Error
Elle inclut toutes les erreurs précédentes. Elle vaut au minimum ½ LSB. Génère des non-linéarités
Les différents types d'erreurs statiques
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 13
Test des paramètres dynamiques d'un ADC
Quantification du signal à filtrer par le convertisseur AD
Puissance raie: Pr
Puissance bruit : Pb
Attention,À la normalisation
Ex. matlab
1 2
2 0
1( ) ( ) ( )E DSP f DSP W f d
w
2 2( )w w n
générateur CAN Spectre de puissance
Attention au choix de la fréquence de testAttention à la calibration des mesures entre bruit et sinus et choix d’une fenêtre d’apodisation
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 14
Quantification des coefficients du filtre
Im(z)
Re(z)O
O
O
X
X
fp
0
fz
0.5
0.25fm
M
,1
,1
( )
N
z ii
c D
p ii
MH f K
M
Rappel : la réponse fréquentielle est directement liée à la position des pôles et des zéros.
Démonstration avec le programme Filtre
Les pôles influencent essentiellement la bande passante et les zéros la bande atténuée.
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 15
Quantification des coefficients du filtre
La quantification des coefficients modifie les dits coefficients :
La position des pôles et des zéros est modifiée( La réponse fréquentielle est modifiée)
1 20 1 2
1 21 21
a a .z a .zT(z) A
b .z b .z
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 16
Quantification des coefficients du filtre
Une même réponse fréquentielle peut être implantée sous différentes structures :
structure directe structure parallèle structure cascade
,0 ,1
,1
1
Ni
d d ii
Ni
d ii
a a .zK
b .z
10, 1,
1 21 1, 2,
.
1 . .
Qi i
i i i
h h zK
b z b z
1 2
0, 1, 2,
1 21 1, 2,1
Qi i i
i i i
a a .z a .zK
b .z b .z
,1
,1
( )( ) .
( )
N
o iiN
p ii
z zH z K
z z
Schema:
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 17
Quantification des coefficients du filtre
Ces structures n'ont pas la même sensibilité à une variation de leur coefficients leur réponse fréquentielle est plus ou moins sensible à une variation des coefficients.
La structure cascade est la moins sensible. sensibilité du dénominateur (pôles) > sensibilité du numérateur (zéros)
Illustration avec Episip
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 18
Quantification des coefficients du filtre
Les différentes structures cascades :
donner les équations pour l'implantation.
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 19
Gestion de la dynamique
•Problématique de la gestion de dynamique
Cas RIF :
Cas RII :
Si on supprime des bits de poids fort => risque de dépassement
Si on supprime des bits de poids faible => rajout de bruit de quantification
Problème !
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 20
Comment tronquer ? : •Représentation d’un nombre en virgule fixe
b bits
f bits
Q(b,f)
Gestion de la dynamique
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 21
Il y a 2 sources potentielles de dépassement :- Les additionneurs : en complément à 2, dépassement temporaire possible dans une suite de sommations si le résultat final tient dans la dynamique
-(ex : sur 4 bits calculer -4-7+6 puis -4+7+6)
- les multiplieurs : -Les sorties :en complément à 2, dépassement temporaire possible dans une suite de sommations si le résultat final tient dans la dynamique(ex : sur 4 bits calculer 3x3-6x2 puis 3x3+6x2)
Gestion de la dynamique
Mise en place de facteurs d’échelle pour garantir que le résultat final tient dans la dynamique
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 22
Sur les structures suivantes, identifiez les points de dépassement
Gestion de la dynamique
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 23
x(n) F y(n)
Comment choisir , pour que si |x|<M, alors |y|<M ?
1 )Si x(n) est un bruit blanc de puissance P=2:
10f
DSP
21
2
0
( )P DSP f df
<M
t
10f
DSP
2
12 22 2
20
( )filtréP F f df F
t
2F
t
A<M
10f
DSP
fo
A2/2
t
A.|F(fo)|<A.max(|F(f)|)=A||F||∞
10f
DSP
fo
A2/2.|F(fo)|2
|F(f)|
10 f
max(|F(f)|)
2
1
F
1
F
2 )Si x(n) est un sinus d’amplitude A:
F
1
12
0
1( )
2
ppi
pF F e d
Gestion de la dynamique
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 24
Exemple théorique de la structure 1D
Gestion de la dynamique
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 25
Calcul du bruit en sortie
x
tron
catu
re
xq x + eq
2
22
2
212
12 2
m
m
n
q n
A
2q
2 Puissance du bruit de quantificationq
Localiser les sources de bruit :
Avantage/inconvénient des 2 solutions ?
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 26
Calcul du bruit en sortie
démonstration avec filtre.exe
Influence du facteur d’échelle sur le rapport signal sur bruit
Rapport signal sur bruit sans et avec k1 ?
Apparier les pôles et les zéros
Augmenter la taille des registres (LSB)
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 27
Comment dimensionner les registres internes ?
Calcul du bruit en sortie
Puissance bruit de troncature
filtré
Puissance bruit du CAN filtré
?
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 28
Calcul du bruit en sortie
bruit F Bruit filtré
Si le bruit a une puissance 2q
Quelle est la puissance du bruit filtré ?
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 29
Calcul du bruit en sortie
CAN
Q
Q Q
Q
Q
Quelle doit être la taille des registres internes pour que le bruit de sortie dû CAN soit égal au bruit de sortie dû à la troncature des multiplieurs ?
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 30
Calcul du bruit en sortie
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 31
Calcul du bruit en sortie
Résumé des paramètres modifiant le bruit en sortie :- le type de structure- le type de quantification- le choix de la norme- l'appariement des pôles et des zéros- l'ordre des cellules
démonstration episip
2006-2007 FILTRAGE - R.WEBER - POLYTECH'ORLEANS 32
Cas des RIF
-2 structures possibles- même sensibilité sur les coefficients- compromis bruit/ressources/vitesses