320 likes | 476 Views
Polytech'Orléans. Filière ESI MODULE FILTRAGE COMPRESSION FASCICULE DE COURS FILTRAGE NUMÉRIQUE ANNÉE 2006-2007 SPE 4 Dr. Rodolphe WEBER. PLAN : La quantification : application au convertisseur analogique numérique application aux filtres numériques en virgule fixe
E N D
Polytech'Orléans Filière ESI MODULE FILTRAGE COMPRESSION FASCICULE DE COURS FILTRAGE NUMÉRIQUE ANNÉE 2006-2007 SPE 4 Dr. Rodolphe WEBER FILTRAGE - R.WEBER - POLYTECH'ORLEANS
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 FILTRAGE - R.WEBER - POLYTECH'ORLEANS
Introduction 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 FILTRAGE - R.WEBER - POLYTECH'ORLEANS
Quantification du signal à filtrer par le convertisseur AD modélisation en bruit d’une quantification idéale La quantification « idéale » round(x) : Q x(t) xq(t)=x(t)+e(t) Cas du CAN : Puissance de l’erreur (bruit) ? Répartition en fréquence de cette erreur (bruit) ? FILTRAGE - R.WEBER - POLYTECH'ORLEANS
Quantification du signal à filtrer par le convertisseur AD La quantification « idéale »: Puissance de l’erreur (bruit) Can b bits x(t) xq(t)=x(t)+e(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= Le cas du signal gaussien (10 bits) Pour bruit gaussien xs =xs/x x q -xs Attention, vrai si pas de saturation et nombre de niveaux suffisant (cf.matlab ech_ideal.m) FILTRAGE - R.WEBER - POLYTECH'ORLEANS
Quantification du signal à filtrer par le convertisseur AD xq, rsb=61.863457 dB La quantification « idéale »: Puissance de l’erreur (bruit) Le cas du signal sinusoïdal =xs/x= RSB= 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) ! FILTRAGE - R.WEBER - POLYTECH'ORLEANS
Quantification du signal à filtrer par le convertisseur AD 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 ! FILTRAGE - R.WEBER - POLYTECH'ORLEANS
Quantification du signal à filtrer par le convertisseur AD Les défauts d’un convertisseur analogique numérique Amplitude numérique Amplitude analogique Temps discret Temps continu Buffer Sample and Hold signal analogique Encoder • bruit • distorsion • bande passante • jitter • bruit de quantif. • non-linéarité différentielle • non-linéarité intégrale • bruit • distorsion • bande passante • 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 le Sous-échantillonnage FILTRAGE - R.WEBER - POLYTECH'ORLEANS
Quantification du signal à filtrer par le convertisseur AD Les défauts d’un convertisseur analogique numérique Mesurés pour un sinus pleine échelle Can b bits x(t) xq(t)=x(t)+e(t)+eb(t)+enl(t) • Sources de bruit : • Bruit système < 2MHz • Jitter < 3 Ghz • Comparator ambiguity >3Ghz Effective number of bits : SINAD=1.73+6.02 ENOB non-linéarités 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) Attention, très dépendant de la fréquence du signal utilisé pour le test FILTRAGE - R.WEBER - POLYTECH'ORLEANS
Quantification du signal à filtrer par le convertisseur AD Aperture Uncertainty (jitter) Pour que EA<1/2 LSB FILTRAGE - R.WEBER - POLYTECH'ORLEANS
Quantification du signal à filtrer par le convertisseur AD Les différents types d'erreurs statiques Offset Error Gain Error après ajustement de l'Offset Error Rajoute une composante continue Change le gain FILTRAGE - R.WEBER - POLYTECH'ORLEANS
Quantification du signal à filtrer par le convertisseur AD Les différents types d'erreurs statiques Absolute Accuracy Error Differential linearity ErrorDNL error Possibilité de code manquants si DNL > 1LSB Dépend uniquement du processus d’encodage Génère des nonlinéarités indépendamment de l’amplitude Elle inclut toutes les erreurs précédentes. Elle vaut au minimum ½ LSB. Génère des non-linéarités FILTRAGE - R.WEBER - POLYTECH'ORLEANS
Quantification du signal à filtrer par le convertisseur AD Test des paramètres dynamiques d'un ADC générateur CAN Spectre de puissance Attention au choix de la fréquence de test Attention à la calibration des mesures entre bruit et sinus et choix d’une fenêtre d’apodisation Attention, À la normalisation Ex. matlab Puissance raie: Pr Puissance bruit : Pb FILTRAGE - R.WEBER - POLYTECH'ORLEANS
Quantification des coefficients du filtre Im(z) fm 0.25 fp fz X O M 0 0.5 O Re(z) O X 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. FILTRAGE - R.WEBER - POLYTECH'ORLEANS
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) FILTRAGE - R.WEBER - POLYTECH'ORLEANS
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 Schema: FILTRAGE - R.WEBER - POLYTECH'ORLEANS
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 FILTRAGE - R.WEBER - POLYTECH'ORLEANS
Quantification des coefficients du filtre Les différentes structures cascades : donner les équations pour l'implantation. FILTRAGE - R.WEBER - POLYTECH'ORLEANS
Gestion de la dynamique • Problématique de la gestion de dynamique Si on supprime des bits de poids faible => rajout de bruit de quantification Si on supprime des bits de poids fort => risque de dépassement Problème ! Cas RIF : Cas RII : FILTRAGE - R.WEBER - POLYTECH'ORLEANS
Gestion de la dynamique Comment tronquer ? : • Représentation d’un nombre en virgule fixe f bits Q(b,f) b bits FILTRAGE - R.WEBER - POLYTECH'ORLEANS
Gestion de la dynamique • 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) Mise en place de facteurs d’échelle pour garantir que le résultat final tient dans la dynamique FILTRAGE - R.WEBER - POLYTECH'ORLEANS
Gestion de la dynamique Sur les structures suivantes, identifiez les points de dépassement FILTRAGE - R.WEBER - POLYTECH'ORLEANS
Gestion de la dynamique DSP |F(f)| t 2 max(|F(f)|) f 0 1 f 0 1 F y(n) x(n) Comment choisir , pour que si |x|<M, alors |y|<M ? 1 )Si x(n) est un bruit blanc de puissance P=2: DSP <M F t 2 f 1 0 1 2 )Si x(n) est un sinus d’amplitude A: A.|F(fo)|<A.max(|F(f)|)=A||F||∞ DSP A<M DSP t t A2/2.|F(fo)|2 A2/2 f 0 1 fo f 0 1 fo FILTRAGE - R.WEBER - POLYTECH'ORLEANS
Gestion de la dynamique Exemple théorique de la structure 1D FILTRAGE - R.WEBER - POLYTECH'ORLEANS
Calcul du bruit en sortie Localiser les sources de bruit : x xq x + eq troncature Avantage/inconvénient des 2 solutions ? FILTRAGE - R.WEBER - POLYTECH'ORLEANS
Calcul du bruit en sortie 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) démonstration avec filtre.exe FILTRAGE - R.WEBER - POLYTECH'ORLEANS
Calcul du bruit en sortie Comment dimensionner les registres internes ? Puissance bruit de troncature filtré Puissance bruit du CAN filtré ? FILTRAGE - R.WEBER - POLYTECH'ORLEANS
Calcul du bruit en sortie F bruit Bruit filtré Si le bruit a une puissance Quelle est la puissance du bruit filtré ? FILTRAGE - R.WEBER - POLYTECH'ORLEANS
Calcul du bruit en sortie CAN 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 ? Q Q Q Q FILTRAGE - R.WEBER - POLYTECH'ORLEANS
Calcul du bruit en sortie FILTRAGE - R.WEBER - POLYTECH'ORLEANS
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 FILTRAGE - R.WEBER - POLYTECH'ORLEANS
Cas des RIF • 2 structures possibles • même sensibilité sur les coefficients • compromis bruit/ressources/vitesses FILTRAGE - R.WEBER - POLYTECH'ORLEANS