Algorithmes pour le Traitement Numérique du Signal. Olivier VENARD ST4-SIG2

Dimension: px
Commencer à balayer dès la page:

Download "Algorithmes pour le Traitement Numérique du Signal. Olivier VENARD ST4-SIG2"

Transcription

1 Algorithmes pour le Traitement Numérique du Signal Olivier VENARD ST4-SIG2 Année scolaire :

2

3 Table des matières I Introduction 7 1 Implantation logicielle et/ou matérielle Critères de qualité Structure d implantation Puissance de calcul Réalisation de systèmes discrets II Filtres Numériques 11 1 Filtres FIR Structure directe Structure symétrique Structure cascade Réalisation récursive Filtres IIR Formes directes Graphe de flot de données Décomposition cascade Structure couplée Algorithme de GOERTZEL Calcul de la réponse impulsionnelle d un résonnateur Amplitude du signal à la sortie du résonnateur III Quantification et Stabilité 27 1 Introduction Modélisation du bruit de quantification Effets de la quantification Quantification des coefficients Position des pôles et des zéros après quantification Quantification et stabilité Variance de fonction de transfert en fonction de la quantification des coefficients Sensibilité des pôles et des zéros à la quantification des coefficients Quantification des données Cycles limites Mise à l échelle et ordonnancement des cellules dans une structure cascade Appariement des pôles et des zéros Facteur d échelle Bruit de calcul dans un filtre récursif Ordonnancement des cellules Rapport signal sur bruit IV Traitement multicadence 43 1 Suréchantillonnage Transformée en Z du signal suréchantillonné Identité remarquable du suréchantillonnage Décomposition polyphase, cas du suréchantillonnage Décimation Transformée en Z du signal décimé Identité remarquable de la décimation

4 2 TABLE DES MATIÈRES 2.3 Décomposition polyphase, cas de la décimation Exemple d application : le convertisseur Sigma-Delta Commutativité de la décimation et du suréchantillonnage Changement de fréquence d échantillonnage Principe général Implantation polyphase Banc de filtres Quelques propriétés de la transformée en Z Banc de filtres à 2 canaux Banc de filtres multicadence à 2 canaux Filtres miroirs en quadrature (QMF) Filtre conjugués en quadrature V Transformée en ondelettes 61 1 Banc de filtres Filtres de Daubechies Calcul des coefficients du filtre demi bande Calcul des coefficients des filtres d analyse et de synthèse Implantation des bancs de filtres Lifting Scheme Principes Décomposition polyphase Exemple de factorisation VI Transformée de Fourier rapide 73 1 Algorithme de COOLEY-TUCKEY Calcul du nombre d opérations Décimation en temps et fréquence TFD de taille Décimation en temps Décimation en fréquence Briques de base Réalisation complète de l algorithme Dérivation algébrique de l algorithme en base 2 avec décimation en temps (P=2 et Q=N/2) ère étape de l algorithme Bruit de calcul Facteur d échelle Rapport signal sur bruit de quantification pour une TFD Influence du facteur d échelle sur le RSB Rapport signal sur bruit de quantification pour une TFR Réalisation de la TFR en virgule flottante par bloc Convolution par traitement par bloc Implantation de l algorithme

5 Table des figures I.1 Structure parallèle I.2 Structure cascade I.3 Briques de base pour les algos de TNS II.1 Structure directe II.2 Étape de réalisation d un filtre à réponse impulsionnelle finie II.3 Multiplieur-accumulateur II.4 Gestion du tableau de données II.5 Étape de réalisation d un filtre à réponse impulsionnelle finie à l aide d un multiplieur accumulateur II.6 Structure symétrique pour un nombre pair de coefficients II.7 Structure cascade II.8 Stucture cascade symétrique II.9 Filtre moyenneur II.10 Forme directe I II.11 Structure directe II II.12 Réseau correspondant à la forme directe II et matrice correspondante II.13 Matrice transposée et Réseau correspondant obtenu (forme directe transposée II) II.14 Forme directe transposée II II.15 Structure directe transposée II.16 Structure couplée II.17 Résonnateur à coefficient complexe II.18 Résonnateur avec partie récusrsive à coefficients réels III.1 Erreur d arrondi III.2 Échantillonnage du plan complexe pour cellule d ordre 2 implantée sous forme directe III.3 Échantillonnage du plan complexe pour une structure couplée III.4 Triangle de stabilité III.5 Sensibilité de la fonction de transfert à la quantification des coefficients en fonction de la structure d implantation 34 III.6 Sources de bruit dans le cas d une structure récursive d ordre III.7 Source de bruit équivalente III.8 Phénomène de bande morte equation (III.27), la réponse idéale est représentée en pointillé III.9 Phénomène de bande morte equation (III.28), la réponse idéale est représentée en noir, la réponse pour une précision de 9 bits est en gris III.10Suppression du phénomène de bande morte en utilisant une troncature vers III.11Circularité de la représentation en complément à III.12Appariement des pôles et des zéros III.13Cellule directe de type II III.14Structure directe de type II avec mise à l échelle IV.1 Structure d un modulateur DQPSK en bande de base IV.2 représentation du suréchantillonnage IV.3 Suréchantillonnage d un facteur 3 dans le domaine temporel IV.4 Suréchantillonnage dans le domaine fréquentiel IV.5 Filtre d interpolation après le suréchantillonnage IV.6 Signal suréchantillonné et interpolé IV.7 Filtre d interpolation idéal et filtre en cosinus surélevé pour un rapport F e /F s = 16 (fréquence d échantillonnage et fréquence symbole) IV.8 Identité remarquable suréchantillonnage

6 4 TABLE DES FIGURES IV.9 Structure polyphase pour le suréchantillonnage IV.10Modèle du commutateur pour l interpolation IV.11Opération de décimation IV.12représentation de la décimation IV.13Étape de la décimation par 3 d un signal dans le domaine temporel IV.14Étape de la décimation d un signal par 3 dans le domaine fréquentiel IV.15Filtre anti-repliement avant décimation IV.16Identité remarquable de la décimation IV.17Décomposition polyphase pour la décimation IV.18Décomposition polyphase pour la décimation après translation de ladécimation vers l entrée IV.19Modèle du commutateur pour la décimation IV.20Filtrage du bruit de quantification pour un convertisseur Σ IV.21Filtres moyenneurs IV.22Structure récursive pour un filtre moyenneur IV.23Filtre moyenneur de longueur M suivi d une décimation par M IV.24Application de l identité remarquable pour la décimation (figiv.16) IV.25Suréchantillonnage IV.26Décimation IV.27Système complet IV.28Structure SFD IV.29Struture DFS IV.301 ère étape IV.31Structure finale IV.32transformation passe-bas passe-haut par modulation IV.33Banc de filtres à 2 canaux IV.34Type de gabarit des filtres du banc IV.35Banc de filtres à 2 canaux multicadence IV.36Banc de filtres miroirs en quadrature IV.37Branche passe-bas IV.38Branche passe-haut IV.39Structure résultante pour le banc d analyse IV.40Banc d analyse et de synthèse V.1 bloc de base de la transformée en ondelettes, algorithme de Mallat V.2 gain de P (z) et P ( z) V.3 Racines de P (z) V.4 racines de H 0 (z) et de F 0 (z) V.5 Gain de H 0 (z) et H 1 (z) dans le cas orthogonal V.6 racines de H 0 (z) et de F 0 (z) dans le cas bi-orthogonal V.7 Gain du banc d analyse et du banc de synthèse dans le cas bi-orthogonal V.8 Gains des filtres du banc d analyse et du banc de synthèse V.9 Propriété remarquable de la décimation V.10 Structure polyphase pour le banc d analyse V.11 Identité remarquable pour l interpolation V.12 Structure polyphase du banc de synthèse V.13 Réseau correspondant à la factorisation de la matrice identité (V.28) V.14 Réseau correspondant à la factorisation de la matrice identité (V.29) V.15 Réseau correspondant à l opération de «lifting» et de «lifting» inverse (V.30) V.16 Structure d un étage de transformée en ondelette 5-3 après factorisation de la matrice polyphase V.17 Dépendance des données pour le banc d analyse V.18 Dépendance des données pour le banc de synthèse VI.1 Algorithme de COOLEY-TUCKEY (P = 3, Q = 2) VI.2 Structure papillon VI.3 Première étape de l algorithme avec une décimation temporelle, N = VI.4 Seconde étape de l algorithme avec une décimation temporelle, N = VI.5 Structure complète avec décimation en temps pour N = VI.6 Première étape de l algorithme avec une décimation fréquentielle, N = VI.7 Seconde étape de l algorithme avec une décimation fréquentielle, N =

7 TABLE DES FIGURES 5 VI.8 Structure complète avec décimation en fréquence pour N = VI.9 Structure papillon pour la décimation en temps VI.10Structure papillon pour la décimation en fréquence VI.11Décomposition complète pour N = VI.12Ordonnancement des données VI.13Organigramme d implantation d une TFR VI.141ère étape de la décomposition VI.15Modèle du bruit de calcul pour l évaluation d une TFR VI.16Contribution des papillons à une sortie X(k) VI.17Convolution Linéaire (Les parties grisées représentent le support de chacune des séquences) VI.18Convolution de deux signaux N périodiques VI.19Convolution circulaire de longueur N VI.20Convolution linéaire à l aide d une convolution circulaire VI.21Représentation de l algorithme «overlap and add» au cours du temps VI.22Algorithme «overlap and add»

8 6 TABLE DES FIGURES

9 Chapitre I Introduction Ce cours porte sur les techniques d implantation numérique de fonction de traitement de signal. Nous étudierons deux types de fonctions, les systèmes linéaires et invariants dans le temps (LIT) et la transformée de FOURIER. Ces deux types de fonctions correspondent à deux des principales classes de traitement que l on peut rencontrer en TNS : Le traitement au fil de l eau, échantillon par échantillon, pour le filtrage numérique. Le temps de traitement nécessaire pour l algorithme doit alors être inférieur à la période d échantillonnage T e. le traitement par bloc, tableau d échantillon par tableau d échantillon, comme la transformée de FOURIER rapide (TFR), par exemple. Dans ce cas la limite supérieure du temps de traitement est N T e si N est la taille du tableau d échantillons. Cette différence de structure d implantation induit un temps de latence 1 différent : Il correspond à la durée du traitement ou plus généralement à une période d échantillonnage dans le cas du traitement au fil de l eau, il est égale à la durée d acquisition d un tableau (N T e ) dans le cas du traitement par bloc. Ces deux principes d implantation ne sont pas hermétiquement cloisonnés et du fait du théorème de convolution on peut se douter qu il sera possible d implanter un algorithme de filtrage sous la forme d un traitement par bloc. 1 Implantation logicielle et/ou matérielle l implantation logicielle conduit «naturellement» à une structure de boucle du type «FOR» ou «WHILE» où les ressources matérielles sont réutilisées et conduit donc à un séquencement des opérations élémentaires alors que l implantation matérielle conduit à une implantation déroulée parallèle ou série. 1.1 Critères de qualité L étude de l implantation d algorithmes conduit à les comparer et donc à avoir des critères de comparaison et de qualité. Les critères qui vont conduire à une modification de l implantation sont : La complexité de calcul, Le coût mémoire, Les effets induits par la quantification (précision finie de la machine de calcul). La minimisation des chemins critiques. Complexité de calcul La complexité de calcul se résume en général au nombre d opérations, toutefois l «unité» de quantification de cette complexité diffère d une cible à l autre et dépendra en quelque sorte de la granularité d opération de celle-ci : Dans le cas d une structure micro-programmée, (Processeur de Traitement du signal, DSP), la granularité correspond à l opération que l on peut réaliser en un cycle machine ; en l occurence, indifférement, une multiplication-accumulation MAC, une multiplication ou une addition. Dans le cas d une implantation circuit, c est la surface silicium qui sera importante. Une multiplication aura un coût beaucoup plus élevé qu une addition, en fonction de l algorithme utilisé pour implanter cette multiplication, de la largeur du chemin de donnée Le temps de latence est le temps entre l arrivée du premier échantillon et la restitution du premier résultat. 7

10 8 Introduction Coût mémoire Le coût mémoire caractérise essentiellement la quantité de mémoire nécessaire à l éxécution d un algorithme, cependant sa technique d accès, différente suivant la cible pourra avoir des conséquences sur le temps de traitement. Du point de vue architecture d accès mémoire on rencontre deux types de DSP. Dans le premier type le bus mémoire accède directement au chemin de données le temps d accès aux données est donc inclus dans le temps d exécution de l opération. Dans le second cas, que l on nomme généralement architecture orienté registre, le chemin de donnée n est accédé qu au travers de registre. Ainsi le temps d accès aux données pourra induire un temps de cycle supplémentaire. longueur finie des mots la longueur finie des mots pour représenter les données en mémoire contraint la dynamique (bits de poids forts) et la précision (bits de poids faibles). Des algorithmes conduisants à des structures équivalentes pour une arithmétique en précision infinie pourront présenter des comportements profondément différents, en terme de sensibilité dans le cas d une arithmétique en précision finie. 1.2 Structure d implantation Outre les critères de «qualité» définis ci-dessus, d autre considérations peuvent être prises en compte dans le choix d un algorithme, notamment l architecture de la cible : Structure parallèle conduisant à une structure d algorithme additive H(z) = H 1 (z) + H 2 (z) + H 3 (z) (figure I.1). Cette approche utilise la technique de décomposition en éléments simples. Structure cascade ou pipeline supposant une forme multiplicative H(z) = H 1 (z) H 2 (z) H 3 (z) (figure I.2). Cette approche repose sur une factorisation. FIGURE I.1 Structure parallèle FIGURE I.2 Structure cascade 1.3 Puissance de calcul La complexité de calcul d un traitement peut être évaluée en fonction de plusieurs paramètres. Le premier concerne la périodicité de calcul T c qui peut correspondre à la période d échantillonnage dans le cas d un traitement au fil de l eau ou à un multiple de celle-ci dans le cas d un traitement par bloc. Le second paramètre concerne le nombre d opération N op nécessaire

11 Introduction 9 à la réalisation de l algorithme. Le troisième correspond au nombre de voie N v qu il est nécessaire de traiter en parallèle. la puissance de calcul P c nécessaire est alors donné par l expression suivante : P c = N v N op T c. (I.1) Si on appelle B la largeur de bande du signal, on doit avoir la fréquence d échantillonnage F e 2B. En introduisant cette inégalité dans (I.1) on obtient la borne inférieure sur la puissance de calcul nécessaire : P c 2B N v N op. Dans le cas d un traitement par bloc pour un tableau de N échantillons, l inégalité devient : (I.2) P c N v N op N T c = 2B N v N op N. (I.3) 2 Réalisation de systèmes discrets Un système LIT est caractérisé par une équation aux différences à coefficients constants : N M y(n) = a k y(n k) + b k x(n k) k=1 qui correspond, après transformée en Z à la fonction de transfert : Y (z) = 1 + k=0 N b k z k k=0 N a k z k À partir de l équation (I.5), on détermine la position des pôles et des zéros de la fonction de transfert qui sont des fonctions des a k et des b k. On détermine la réponse en fréquence du système à partir de la position des pôles et des zéros, en évaluant (I.5) sur le cercle unité (z = e jω ). k=1 (I.4) (I.5) (a) Retard (b) Arc (c) Multiplieur (d) Additionneur FIGURE I.3 Briques de base pour les algos de TNS On réalise l implantation matérielle ou logicielle à partir des équations (I.4) ou (I.5). L équation (I.4), qui représente le déroulement temporel du calcul permettant d évaluer la sortie y(n), peut être reformulée de diffèrentes manières chacune correspondant à une implantation (algorithme) différente. Ces différentes réalisations du système pourront aussi être avantageusement représentée (pour la compréhension) sous forme de diagramme bloc consistant en l interconnection des «briques» de base pour les algorithmes de TNS (figure I.3) que sont : Les retards (ou délais) correspondant à une sortie égale à l entrée retardée de k périodes d échantillonnage que l on note y(n) = x(n k) (cf. figure I.3(a)). Les arcs correspondant à une sortie égale à l entrée, notée y(n) = x(n) (cf. figure I.3(b)). Les multiplieurs avec le cas particulier de la multiplication par une constante scalaire ou complexe, notée y(n) = a x(n) (cf. figure I.3(c)). Et enfin les additionneurs réalisant cette opération arithmétique entre deux, ou plus, entrées, notée z(n) = x(n) + y(n) (cf. figure I.3(d)).

12 10 Introduction

13 Chapitre II Filtres Numériques Dans ce chapitre seront présentées les structures «classiques» des filtres numériques, ainsi que les problèmes de quantification associés. Les structures treillis, moins classiques, seront présentées dans le chapitre suivant. 1 Filtres FIR Un filtre FIR est décrit par une équation aux différences non récursive : ou par sa fonction de transfert en z : y(n) = N 1 k=0 H(z) = b k x(n k) N 1 k=0 b k z k (II.1) (II.2) La réponse impulsionnelle d un filtre FIR est donc identique à ses coefficients. Dans ce chapitre nous présenterons deux techniques d implantation : la structure directe, la structure cascade. 1.1 Structure directe La structure directe (figure II.1) découle directement de l équation aux différences (II.1) ou, de manière équivalente pour un filtre FIR, du produit de convolution : y(n) = N 1 k=0 h(k)x(n k). (II.3) FIGURE II.1 Structure directe Cette structure nécessite N 1 cases mémoire et a une complexité de calcul de N multiplications et N 1 additions par échantillons de sortie. Dans l équation (II.1), y[n] représente la sortie du filtre, x[n] l entrée du filtre et la suite b[] représente les coefficients du filtre. Nous avons ici un filtre d ordre N 1. 11

14 12 Filtres Numériques (a) Chaîne de retards x[n] x[n 1] x[n N + 1] (b) Données fournies par le traitement (c) Produit terme à terme x[n] b 0 x[n 1] b 1 x[n N + 1] b N 1 (d) Données fournies par le traitement (e) Somme des produit terme à terme y[n] = N 1 b[k]x[n k] k=0 (f) Données fournies par le traitement FIGURE II.2 Étape de réalisation d un filtre à réponse impulsionnelle finie L implantation d un filtre numérique dont le comportement est décrit par l équation aux différences (II.1) se fait en implantant les calculs décrit par cette équation. Pour ce faire nous avons besoin d une chaîne de N 1 retards qui permettent de conserver en mémoire les N 1 valeurs de x[] précédent l instant courant n. Cela est réalisé à l aide d une cascade de case mémoire (figure II.2(a)). Chaque case mémoire est représentée par un symbole z 1 qui est la transformée en z d un filtre ayant comme réponse impulsionnelle δ[n 1] c est à dire un filtre correspondant à un retard pur d une période d échantillonnage. Il faut ensuite réaliser le produit scalaire entre la suite de coefficients b[] et la suite de donnée contenue dans la chaîne de retards x[]. Cela se fait en deux étapes, on effectue les produits terme à terme entre la suite de coefficients 1 et la suite de donnée : b[k]x[n k] pour k = 0 N 1, (figure II.2(c)), la multiplication par une constante est représentée par un triangle. On effectue ensuite la somme des produits terme à terme. Pour chaque nouvel échantillon x[n] en entrée, l ensemble de ces opérations est réalisé afin de fournir un nouvel échantillon y[n] en sortie. Cette manière de conduire les calculs suppose pour l étape fig.ii.2(c) que l on ait N multiplieurs en parallèle. Sur les processeurs et notamment les processeurs de traitement du signal on dispose en général d un multiplieur intégré au sein d un structure appelée multiplieur-accumulateur(figure II.3), qui comme son nom l indique permet de réaliser une multiplication d en ajouter le résultat au contenu d un registre appelé accumulateur et de stocker le résultat de cette somme dans ce même accumulateur. Le déroulement des calculs à l aide d une structure «multiplieur-accumulateur» est représenté figure II.5. Les étapes de calculs sont les suivantes : Les coefficients du filtre (la suite b k ) sont contenus dans un tableau de N cases mémoires (mémoire1 par exemple sur la figure II.3). Les données du filtre (la suite x[]) sont contenues dans un tableau de N cases mémoires (mémoire2 par exemple sur la figure II.3). Le calcul est alors conduit de la manière suivante : 1. Le nouvel échantillon x[] est rangé au début du tableau de donnée et l accumulateur est mis à Les coefficients sont eux aussi contenu dans des cases mémoires qui resteront constantes dans le temps

15 Filtres Numériques 13 FIGURE II.3 Multiplieur-accumulateur (a) Vieillisement du tableau de donnée (b) Tableau de donnée après vieillisement FIGURE II.4 Gestion du tableau de données 2. Boucle de traitement sur le nombre de coefficients (N), compteur de coefficients est mis à 0. (a) Multiplication de la donnée et du coefficient courants et accumulation au résultat précédent dans l accumulateur. (b) Si encore des coefficients à traiter, incrémentation du compteur de coefficients et retour à l étape 2a ; sinon aller à l étape Le contenu de l accumulateur est transféré vers la case mémoire devant contenir le résultat du filtrage (y par exemple). 4. Le tableau de données est préparé pour le prochain échantillon x[]. C est l étape de vieillissement des données (figure II.4) : on recopie le contenu de chaque case mémoire dans la case mémoire immédiatement supérieure en partant de l adresse N 1, l adresse 1 se trouve ainsi disponible pour recevoir le prochain échantillon en entrée du filtre. 5. on retourne à l étape 1 en attente du prochain échantillon x[].

16 14 Filtres Numériques (a) premier produit, accumulateur préalablement mis à 0 (b) second produit, accumulation avec le résultat précédent (c) troisième produit, accumulation avec le résultat précédent (d) N ème produit, accumulation avec le résultat précédent FIGURE II.5 Étape de réalisation d un filtre à réponse impulsionnelle finie à l aide d un multiplieur accumulateur

17 Filtres Numériques Structure symétrique Les filtres FIR sont souvent caractérisées par une phase linéaire, propriété qui se traduit par une symétrie ou une antisymétrie des coefficents qu il est possible d exploiter pour réduire le coût en nombre d opérations. Cette propriété s exprime par : h(k) = ±h(n 1 k). Le produit de convolution s écrit alors dans le cas d un nombre pair de coefficients : N 2 1 y(n) = h(k)x(n k) ± h(n 1 k)x(n (N 1 k)). k=0 N 2 1 N 2 1 k=0 = h(k)(x(n k) ± x(n (N 1 k))) k=0 Ce qui conduit à la structure représentée figure II.6 : (II.4) FIGURE II.6 Structure symétrique pour un nombre pair de coefficients. Cette implantation nécessite toujours N 1 cases mémoire mais la complexité de calcul est réduite à N/2 1 multiplications et N additions. De plus la longueur du chemin critique est divisée par 2. Le gain est donc proportionnel à la longueur du filtre qui est souvent importante dans le cas des filtres FIR. 1.3 Structure cascade La structure cascade est directement dérivée de la mise sous forme produit de la fonction de transfert : H(z) = N 1 k=0 b k z k = K H k (z), k=1 (II.5) avec H k (z) = b k0 + b k1 z 1 + b k2 z 2 si les cellules H k sont d ordre 2. On a alors K = N 2 cellules cascadées. Le coefficient b 0 de la fonction de transfert initiale (H(z)), correspondant au gain du filtre peut être réparti sur tout les étages : b 0 = K b k0, k=1 ou affecté à une seule cellule, les autres cellules étant caractérisées par des polynomes normalisés (b k0 = 1). Ce type de décomposition (figure II.7) aboutit donc à K (K = N/2) cellule d ordre 2, demandant chacune 3 multiplications et 2 additions. Soit donc 3K multiplications et 2K additions au lieu de, respectivement 2K et 2K 1 dans le cas de la structure directe. Dans la mise en structure cascade, Il est toujours souhaitable de constituer des cellules du 2 nd ordre en appariant les racines complexes conjuguées, de manière à obtenir des coefficients réels. Cependant une des caractéristiques de certains filtres FIR, la phase linéaire, peut être dégradée par la conjonction de la factorisation en cellule du 2 nd ordre et la représentation en précision finie des coefficients de ces cellules, qui entraîne la perte de la propriété de (anti)symétrie des coefficients (condition nécessaire et suffisante pour une phase linéaire). Dans le cas où le filtre est à phase linéaire, on peut exploiter la (anti)symétrie des coefficients afin d obtenir une brique de base d ordre 4 ayant une (anti)symétrie de coefficients. Cette nouvelle structure a aussi pour conséquence de réduire le nombre d opérations par deux. Soit la fonction de transfert en z d un filtre FIR : H(z) = N 1 k=0 h(k)z k

18 16 Filtres Numériques FIGURE II.7 Structure cascade que l on évalue en z 1 On multiplie chaque côté de l égalité par z (N 1) H(z 1 ) = z (N 1) H(z 1 ) = N 1 k=0 N 1 k=0 h(k)z k. et l on envisage séparement les deux cas, symétrique et anti-symétrique : h(k)z k (N 1) Cas symétrique, h(k) = h(n 1 k) z (N 1) H(z 1 ) = N 1 k=0 Cas anti-symétrique, h(k) = h(n 1 k) h(n 1 k)z N 1 k (N 1) = z (N 1) H(z 1 ) = z (N 1) H(z 1 ) = N 1 k=0 N 1 k=0 N 1 k=0 h(n 1 k)z k, h(k)z k = H(z). h(n 1 k)z N 1 k (N 1), N 1 z (N 1) H(z 1 ) = h(k)z k = H(z). k=0 Dans le cas d un filtre à (anti)symétrie de coefficients, un zéro de H(z) est aussi un zéro de H(z 1 ). Si z 0 et z0 sont des racines complexes conjuguées de H(z), elles le sont aussi de H(z 1 ), de même bien sûr que 1 1 z 0 et z. On peut alors constituer une 0 cellule d ordre 4 ayant ces quatre racines, possédant une (anti)symétrie de coefficients, donc une phase linéaire : ) H k (z) = c k0 (1 z k z 1 )(1 zkz 1 ) (1 )(1 z 1 z 1 = c k0 + c k1 z 1 + c k2 z 2 + c k1 z 3 + c k0 z 4. z k z k

19 Filtres Numériques 17 En adoptant la structure exploitant la (anti)symétrie des coefficients (figure II.8), on obtient pour chaque cellule 3 multiplications et 4 additions. Soit un filtre d ordre N avec N = 4K et K = K/2, on a alors (3K)/2 multiplications et 2K additions. Ce qui divise par deux le nombre d opérations nécessaires par rapport à la structure où l on n exploite pas la (anti)symétrie des coefficients (figure II.7). Cela permet en plus de préserver la linéarité de la phase. FIGURE II.8 Stucture cascade symétrique 1.4 Réalisation récursive Le cas des filtres moyenneurs où tous les coefficients sont égaux en général à 1 permet une réalisation récursive d un filtre FIR. Soit le filtre moyenneur dont la transformée en z est donnée par : H(z) = 1 N N 1 k=0 z k (II.6) La structure directe de ce filtre est représentée figure II.9(a) (a) Structure directe (b) Structure récursive FIGURE II.9 Filtre moyenneur En exprimant la somme discrète sous forme rationnelle on obtient : H(z) = 1 N 1 z N, (II.7) 1 z 1 ce qui aboutit à une structure comportant une partie directe et une partie récursive. Le diagramme bloc correspondant est représentée figure II.9(b). Cette transformation permet de passer N 1 additions à 2 additions, par contre elle induit 2 cases mémoires supplémentaires : N dans la branche directe et 1 dans la branche récursive au lieu de N 1 dans la structure directe. L autre gros avantage de cette structure est d avoir un nombre d opération indépendant de l ordre du filtre.

20 18 Filtres Numériques 2 Filtres IIR 2.1 Formes directes La fonction rationnelle en z qui caractérise un filtre IIR est donné par H(z) = 1 + M b k z k k=0, N a k z k k=1 (II.8) et peut être décomposée en deux systèmes cascades H(z) = H 1 (z)h 2 (z) avec H 1 (z) comportant les zéros de H(z), M H 1 (z) = b k z k, k=0 et H 2 (z) comprenant les pôles de H(z), 1 H 2 (z) =. N 1 + a k z k k=1 En ayant H 2 (z) en cascade avec H 1 (z) on obtient la forme directe I (figure II.10). Dans cette structure nous avons N +M +1 FIGURE II.10 Forme directe I multiplications, M + N additions et M + N cases mémoires. Si maintenant on place en cascade H 1 (z) après H 2 (z), on obtient une structure qui utilise moins de mémoire. Dans ce cas la partie récursive correspond à l équation aux différences : w(n) = x(n) N a k w(n k), w(n) devient l entrée de H 1 (z), la sortie y(n) correspond alors à l équation aux différences y(n) = k=1 N b k w(n k). k=0 Nous aboutissons ainsi à la structure directe II (figure II.11). On a toujours M + N + 1 multiplications et M + N additions, mais seulement max{m, N} cases mémoires au lieu de M + N. Nous verrons par la suite que les structures directes peuvent être extrêmement sensible à la quantification des coefficients.

21 Filtres Numériques 19 FIGURE II.11 Structure directe II 2.2 Graphe de flot de données Il peut être intéressant pour manipuler les réseaux et notamment les transformer sans changer la relation entrée-sortie d utiliser les techniques et les méthodes de transformation associées aux graphes de flot de données. C est ainsi que peuvent être dérivées les structures transposées. La transposition d un graphe opère les transformations suivantes : L entrée devient la sortie et la sortie devient l entrée, Les directions des branches sont inversées et conservent la même transmittance, Les additions deviennent des nœuds, Les nœuds deviennent des additions. Le théorème TELLENGEN nous dit alors que la fonction de transfert entrée-sortie demeure inchangée. Cette transformation peut aussi s obtenir en partant d une description matricielle du graphe de donnée. Cette matrice est construite de la manière suivante : Les entrées correspondant aux numéros de ligne correspondent aux numéros de nœud de l entrée d un arc du graphe de flot de données, Les entrées correspondant aux numéros de colonne correspondent aux numéros de nœud de la sortie d un arc du graphe de flot de donnée, L entrée de la matrice correspondant à ces coordonnées correspond à la transmittance de l arc du graphe de flot de donnée. En transposant cette matrice et en en déduisant la graphe correspondant, on obtient la même structure transposée que celle obtenue par la méthode précédente b 0 0 z a 1 0 b 1 0 z a 2 0 b 2 FIGURE II.12 Réseau correspondant à la forme directe II et matrice correspondante En appliquant cette transformation à la forme directe II (figure II.11, on obtient la forme directe tranposée II (figure II.14). Si on écrit les équations aux différences régissant ce système pour N = M = 2 on obtient : En remplaçant w 1 (n) et w 2 (n) par leurs valeurs il vient : y(n) = w 1 (n 1) + b 0 x(n), w 1 (n) = b 1 x(n) a 1 y(n) + w 2 (n 1), w 2 (n) = b 2 x(n) a 2 y(n). y(n) = 2 b k x(n k) k=0 2 a k y(n k), k=1

22 20 Filtres Numériques b a z b a z b 2 FIGURE II.13 Matrice transposée et Réseau correspondant obtenu (forme directe transposée II) FIGURE II.14 Forme directe transposée II qui est l équation aux différences de départ. La relation entrée-sortie est donc bien inchangée. Cette transposition peut aussi avoir lieu pour les filtres FIR, on aboutit alors au diagramme bloc représenté figure II.15. FIGURE II.15 Structure directe transposée 2.3 Décomposition cascade La décomposition cascade consiste comme pour les filtres FIR à décomposer la fonction de transfert H(z) en un produit de fonction de transfert H k (z) généralement du second ordre dans le cas de racines complexes conjuguées. avec et H(z) = K H k (z). k=1 H k (z) = b k0 + b k1 z 1 + b k2 z a k1 z 1 + a k2 z 2, b 0 = b 10 b b K0. Chaque bloc du second ordre peut être réalisé par une structure directe I ou II ou par une structure transposée II. La manière d ordonner les cellules sera abordé dans le chapitre suivant. (II.9)

23 Filtres Numériques 21 3 Structure couplée La structure couplée s applique à des cellules d ordre 2, donc après factorisation de la fonction de transfert globale (II.9). H(z) = b 0 + b 1 z 1 + b 2 z a 1 z 1 + a 2 z 2 = b 0z 2 + b 1 z + b 2 z 2 + a 1 z + a 2 La démarche consiste ensuite à décomposer (II.10) en éléments simples, sous la forme : H(z) = b 0 + A z ρ + A z ρ (II.10) (II.11) où ( ) correspond au complexe conjugué, ρ et ρ sont les poles complexes conjugués de (II.10). A = d 0 2 j d 0α 1 + d 1 2α 2 d 0 = b 1 b 0 a 1, avec d 1 = b 2 b 0 a 2, ρ = α 1 + jα 2. La TZ de la sortie y(n) en fonction de l entrée x(n) s exprime alors par On pose qui correspond à l équation aux différences on a de même Y (z) = H(z)X(z) = b 0 X(z) + S(z) = A z ρ X(z) + A z ρ X(z) A z ρ X(z), s(n + 1) = ρs(n) + Ax(n), s (n + 1) = ρ s (n) + A x(n) en exprimant s(n), ρ et A sous forme complexe : s(n) = v 1 (n) + jv 2 (n), ρ = α 1 + jα 2, A = q 1 + jq 2. (II.12) (II.13) On obtient pour s(n + 1) : (v 1 (n + 1) + jv 2 (n + 1)) = (α 1 v 1 (n) α 2 v 2 (n)) + j (α 1 v 2 (n) + α 2 v 1 (n)) + (q 1 + jq 2 ) x(n), que l on peut formuler sous forme matricielle : [ ] [ ] [ ] v1 (n + 1) α1 α = 2 v1 (n) v 2 (n + 1) α 1 v 2 (n) α 2 [ ] q1 + x(n). q 2 (II.14) En utilisant (II.12) et (II.13) la sortie temporelle du système devient : y(n) = b 0 x(n) + s(n) + s (n) = b 0 x(n) + 2R{s(n)} (II.15) qui peut là encore s écrire sous forme matricielle : y(n) = [ 2 0 ] [ ] v 1 (n) + b v 2 (n) 0 x(n) (II.16) La représentation sous forme de bloc diagramme du système définit par l équation d état (II.14) et l équation de sortie (II.16) est donné figure II.16. L intérêt de la structure couplée réside dans sa robustesse à la quantification des coefficients qui est obtenue au prix d un coût légèrement supérieur en nombre d opération par rapport à une structure directe d ordre 2 : 7 multiplications (et non 8, la multiplication par 2 pouvant être effectuée par un simple décalage)et 5 additions au lieu de 5 multiplications et 4 additions.

24 22 Filtres Numériques FIGURE II.16 Structure couplée 4 Algorithme de GOERTZEL L algorithme de GOERTZEL correspond à une application de détection de fréquence, quand on ne s intéresse pas à l ensemble du spectre, mais seulement à quelques raies fréquentielles du signal comme dans le cas des signaux DTMF 2. Cet algorithme va permettre de détecter une fréquence à l aide d un filtre résonnateur IIR. Son équation aux différences est dérivée à partir de l équation de la transformée de FOURIER discrète : X(k) = = N 1 n=0 N 1 n=0 x(n)e j2 π N kn x(n)w nk N, (II.17) avec W N = e j 2π N donc W Nk N = 1. On peut donc introduire ce terme unitaire en facteur dans l expression (II.17) : N 1 X(k) = WN Nk x(n)w nk N, = N 1 n=0 n=0 x(n)w (N n)k N. (II.18) Si on note X(k) = y k (m) avec m = N l équation (II.18) se réécrit : y k (m) = N 1 n=0 x(n)w k(m n) N, (II.19) qui est l expression du produit de convolution entre un signal de durée finie x(n), et un filtre de réponse impulsionnelle h k (n) = W kn N u(n) 3. Ce filtre a pour transformée en Z : H k (z) = + n=0 WN nk z n 1 = 1 WN k (II.20) z 1 avec comme rayon de convergence, z > 1. Cette transformée en Z correspond à un filtre récursif ayant un pôle en ω k = 2πk/N qui a pour équation aux différences : qui correspond à la structure représentée figure II numérotation téléphonique à fréquence vocale 3. u(n) est la fonction échelon. y k (n) = W k Ny k (n 1) + x(n), (II.21)

25 Filtres Numériques 23 FIGURE II.17 Résonnateur à coefficient complexe Pour obtenir un dénominateur à coefficients réels, on le multiplie par un polynome ayant pour racine W k N : 1 W k N H k (z) = ( z 1 1 W k N z 1) ( 1 W k N z 1) 1 W k N = z cos(2πk/n) z } {{ } 1 + z 2. (=α k ) (II.22) L équation aux différences pour la partie récursive est donc : w(n) = x(n) + α k w(n 1) w(n 2), (II.23) et pour la partie directe : y k (n) = w(n) W k N w(n 1). (II.24) Comme on ne s intéresse qu à la valeur finale du calcul, la partie directe ne sera calculée que lors de la dernière itération, c est à dire pour n = N 1, alors que la partie récursive est évaluée pour n = 0 N 1. On obtient donc la valeur correspondant à FIGURE II.18 Résonnateur avec partie récusrsive à coefficients réels X(k) (II.17) en évaluant la partie directe de l équation aux différences (II.24) à l instant n = N 1 : X(k) = y k (N 1) = w(n 1) W k N w(n 2). (II.25) Ce type d algorithme est en général utilisé quand on cherche à détecter un seuil d énergie à une fréquence donnée, pour cela on calculera X(k) 2 : X(k) 2 = w(n 1) 2 + w(n 2) 2 α k w(n 1)w(N 2) (II.26) En terme de complexité, cet algorithme demande N multiplications et 2N 2 additions pour la partie récursive ainsi que 4 multiplications et 2 additions pour le calcul de (II.26). Un algorithme de tranformée de Fourier rapide a une complexité de 2N log 2 (N) multiplications réelles. L algorithme de GOERTZEL restera donc avantageux tant que l on cherchera à évaluer l énergie pour un nombre de fréquence M 2 log 2 (N).

26 (z z i )H(z)z n 1 z=zi 24 Filtres Numériques 4.1 Calcul de la réponse impulsionnelle d un résonnateur On s intéresse ici à la réponse impulsionnelle de la partie récursive (II.23) dont l équation aux différences est de la forme : y(n) = x(n) + 2 cos θ k y(n 1) y(n 2), (II.27) et dont la transformée en Z est donnée par : H(z) = Y (z) X(z) = cos θ k z 1 + z 2 1 = (1 e jθ k z 1 ) (1 e jθ k z 1 ). (II.28) On pose z 0 = e jθ k et z 0 complexe conjugué de z 0, on obtient alors comme expression pour la transformée en Z : H(z) = = 1 (1 z 0 z 1 ) (1 z 0 z 1 ) z 2 (z z 0 ) (z z 0 ) (II.29) On obtient la réponse impulsionnelle en utilisant le théorème des résidus : h(n) = 1 H(z)z n 1 dz = Res [ H(z)z n 1]. (II.30) 2πj C z i C z=zi On choisit un contour d intégration C qui inclut le cercle unité et donc les deux pôles, on obtient alors l expression suivante pour la réponse impulsionnelle : h(n) = i. (II.31) On remplace H(z) dans cette équation par son expression (II.29) et on développe la somme : h(n) = (z 0 z 0 ) = ejθ k(n+1) 2j sin θ k z0z 2 0 n 1 (z 0 z 0 ) (z 0 z 0 ) + ( z z 0 2 z 0 n 1 0 z 0 ) ( z 0 z 0 ) ( z 0 z 0 ) ejθk(n+1) 2j sin θ k = sin (θ k(n + 1)) sin θ k. (II.32) 4.2 Amplitude du signal à la sortie du résonnateur Nous allons maintenant étudier la dynamique du signal de sortie, afin d éviter tout risque de saturation dans le cas d une implantation concrète. Le maximum en valeur absolue de la réponse à ce filtre (II.27) est : N 1 N 1 y(n) = x(n k)h(k) x(n k) h(k). n=0 Si on considère que x(n) x max, alors cette équation se réécrit : n=0 N 1 y(n) x max n=0 h(k). (II.33) Pour que y(n) 1 on doit donc avoir la condition : x max Nous allons maintenant étudier les cas extrêmes. N 1 n=0 1 h(k) = N 1 n=0 1 sin (θ k (n + 1)) sin θ k. (II.34)

27 Filtres Numériques 25 Cas le plus favorable Cette situation se produit pour θ k = π/2. On a alors : on doit donc avoir : N 1 n=0 sin (π/2(n + 1)) sin π/2 N N 1 = 2 1 sin (π/2(n + 1)) = sin (π/2(2n + 1)) = N 2, n=0 x max 2 N n=0 (II.35) (II.36) Cas le moins favorable Ce cas survient pour θ k = {0, π}. Si θ k = 0, alors : sin (θ k (n + 1)) lim = (n + 1) cos (θ k(n + 1)) θ k 0 sin θ k cos θ k = n + 1. (II.37) θk =0 On a alors : en remarquant que : on obtient : on doit alors avoir : N 1 n=0 n + 1 = N, N 1 [ N] + [N + (N 1) + + 1] = N(N + 1) = 2 n + 1, sin (θ k (n + 1)) lim = θ k 0 sin θ k x max 2 N(N + 1). n=0 N(N + 1). (II.38) 2 (II.39)

28 26 Filtres Numériques

29 Chapitre III Quantification et Stabilité 1 Introduction L implantation effective de filtre sur une structure va se heurter à un problème de précision finie. En effet quand on calcul une fonction de transfert, les coefficients obtenus sont représentés avec une précision infinie. Les DSP ou les circuits intégrés spécifiques n auront pas cette capacité à représenter les nombres avec une précision infinie. Les coefficients du filtre à implanter se trouveront codés dans des registres de longueur finie. Le codage pourra être en virgule fixe ou en virgule flottante, dans la suite nous ne nous intéresserons uniquement au cas de la représentation virgule fixe. Nous verrons comment le bruit de quantification peut être représenté, quel effet il a quand il est appliqué sur les coefficients et sur les données. 2 Modélisation du bruit de quantification Suivant le type de cible matérielle le bruit de quantification interviendra à des endroits différents. Dans le cas d un DSP le résultat d une multiplication est transféré dans l accumulateur sans quantification, par contre ce dernier subira une quantification lors du stockage en mémoire. On ne conservera que les bits de poids forts en calcul fractionnaire simple précision. Dans le cas d un circuit intégré spécifique, la quantification du résultat interviendra en général après la multiplication puisqu alors seul les bits de poids forts seront implantés en hardware. On aura donc, pour les DSP, une source de bruit de quantification à chaque stockage en mémoire alors que dans le cas des circuits intégrés spécifiques on aura une source de quantification à chaque multiplication. La quantification est une opération non linéaire qui ramène un intervalle continu de valeur à une valeur discrète. Pour évaluer les effets de la distorsion apportés au signal par ce type de non linéarité, on est amené à élaborer un modèle linéarisé du bruit de quantification. Ce modèle repose sur une représentation statistique de l erreur introduite par la quantification. Le signal quantifié est alors vu comme la somme du signal initial x(n) et d une erreur de quantification e(n) correspondant à la distance entre la valeur initiale du signal avant quantification et la valeur de celui-ci (x q (n)) à la sortie de la non linéarité : x q (n) = x(n) + e(n) (III.1) Dans la suite on ne considérera que le bruit de quantification introduit par une technique d arrondi qui correspond à l opération suivante : x q (n) = a si a 2 x(n) < a + 2, avec a une valeur discrète représentée sur b bits (pouvant donc prendre 2 b valeurs) et = 2 b représentant l intervalle de quantification. Pour pouvoir évaluer quantitativement les effets du bruit de quantification on est amené on considérer le bruit de quantification e(n) comme un signal aléatoire sur lequel on émet les hypothèses suivantes : e(n) est uniformément distribué sur l intervalle [ 2, + [ 2, e(n) est blanc (ie. non corrélé), les différentes sources de bruit sont indépendantes, x(n) et e(n) sont indépendants. La qualité d un algorithme en précision finie s évaluera notamment par son rapport Signal sur Bruit de quantification (SQNR) : ( ) σ 2 SQNR = 10 log x. (III.3) où σ 2 x est la variance du signal quantifié et σ 2 e la variance du bruit de quantification. σ 2 e (III.2) 27

30 28 Quantification et Stabilité FIGURE III.1 Erreur d arrondi Si l on appelle l intervalle de quantification, la variance du bruit de quantification sera σe 2 = 2 12 sous les hypothèses ci-dessus. Si l on considère une dynamique normalisée du signal d entrée x(n) comprise dans l intervalle [ 1, 1] et que l on a b bits pour le quantifier ; l intervalle de quantification sera alors = 2 2 b b, le rapport signal sur bruit de quantification devient alors ( ) SQNR(dB) = 10 log(σx) log, 12 = 10 log(σ 2 x) b. Cette relation fait apparaître que l on gagne 6dB de rapport signal sur bruit de quantification pour chaque bit de quantification supplémentaire. (III.4) 3 Effets de la quantification La quantification dans un filtre numérique intervient à deux niveaux : Les coefficients du filtre vont être représentés en précision finie et donc ne correspondront pas à ceux effectivement calculé en précision infinie. Les coefficients alors implantés réaliseront un filtre dont la fonction de transfert subira une pertubation du fait de la modification des coefficients induite par leur quantification. Les données seront représentées en mémoire en précision finie, elles seront donc quantifiées tout au long de l algorithme soit en sortie des multiplieurs, soit au moment de l écriture en mémoire. Cette quantification des données entraînera une dégradation du rapport signal sur bruit de l algorithme la quantification des coefficients entraîne une pertubation statique de la fonction de transfert, alors que la quantification des données entraîne une pertubation dynamique sur les données. 4 Quantification des coefficients La quantification des coefficients va avoir un effet de pertubation sur la fonction de transfert synthétisée. Dans le cas d une précision infinie, on part d une infinité de possibilité quant aux fonctions de transfert réalisable, puisque les coefficients peuvent prendre une infinité de valeur. À partir du moment où ils ne peuvent prendre leurs valeurs que dans un ensemble fini, il est évident que l on ne pourra réaliser qu un ensemble fini de fonctions de transfert. Celles-ci seront plus ou moins éloignées des fonctions de tranfert initiale en fonction du nombre de bits disponibles pour coder les coefficients. Nous allons présenter dans la suite l effet de la quantification des coefficients sur le comportement du filtre. Dans un premier temps nous verrons quelles sont les contraintes sur les pôles et les zéros dues à la quantification. Puis nous caractériserons la pertubation sur la fonction de transfert induite. Et enfin nous aborderons le problème de la sensiblité à la quantification. 4.1 Position des pôles et des zéros après quantification Nous avons dit dans l introduction que le nombre de fonction de transfert réalisable était fini puisque le nombre de valeur que pouvait prendre les coefficients était fini. Pour appréhender ce fait nous considérerons une fonction de transfert d ordre 2 ayant

31 Quantification et Stabilité 29 des racines complexes conjuguées re ±jθ, que l on peut donc écrire sous la forme d un produit de deux polynomes d ordre 1 : D(z) = ( 1 re jθ z 1) ( 1 re jθ z 1), = 1 2r cos θ z 1 + r 2 z 2, = 1 + a 1 z 1 + a 2 z 2, (III.5) où a 1 et a 2 seront les coefficients quantifiés. La quantification est représentée par l opérateur Q( ). Après quantification on aura donc : r = Q(a 2 ), (III.6) r cos θ = Q(a 1). (III.7) 2 Où r et θ sont le module et l argument des racines complexes conjuguées après quantification des coefficients. En introduisant (III.6) dans (III.7) on obtient cos θ = Q(a 1) 2 (III.8) Q(a 2 ) La quantification implique un nombre de positions fini pour les racines du polynome D(z). Si celui-ci correspond au dénominateur, on aura un nombre fini de positions possibles pour les pôles, si il correspond au numérateur, on aura alors un nombre fini positions possibles pour les zéros. On aura donc un nombre fini de fonctions de transfert possibles. Le coefficient a 1 correspond au double de la partie réelle, le coefficient a 2 correspond au carré du module de la racine (III.6). Si ils sont quantifiés avec un pas. Alors la partie réelle de la racine est quantifiée uniformément avec un pas de /2. La quantification du module de la racine est non uniforme, du fait que le coefficient quantifié correspond à son carré. Les modules possibles pour les racines sont égales à a 2. la discrétisation du cercle est alors non uniforme et la densité des positions possibles est beaucoup plus faible pour des filtres ayant des pôles et des zéros autour de 0 et π que pour ceux ayant leurs racines autour de π/2 ou π/2. La position des zéros sur le cercle unitaire sera assurée pour une cellule d ordre 2 du fait que dans ce cas le coefficient b 2 est égal à 1. L équation aux différences correspond alors à y(n) = x(n) + b 1 x(n 1) + x(n 2). (III.9) La seule pertubation due à la quantification aura lieu sur la partie réelle de la racine qui correspond au cosinus de la pulsation discrète θ. Il y aura donc un zéro de transmission, seule sa position fréquentielle sera affecté par le processus de quantification. La structure couplée, qui est une représentation sous forme d état de la fonction de transfert d ordre 2 présente l avantage d introduire une discrétisation uniforme du cercle unité. Cette structure est définie par l équation d état : et l équation d observation [ v1 (n + 1) v 2 (n + 1) ] [ α1 α = 2 α 2 α 1 y(n) = [ 2 ] [ v1 (n) v 2 (n) ] + [ q1 q 2 ] x(n). (III.10) 0 ] [ ] v 1 (n) + b v 2 (n) 0 x(n) (III.11) où α 1 et α 2 correspondent aux coordonnées rectangulaires des racines qui sont donc discrétisées uniformément avec un pas de. Pour cette structure la position des racines autour de 0 et π est plus importante que dans le cas précédent. Par contre dans cette structure le cercle unité ne correspond plus par construction à une discrétisation du module comme dans le cas précédent. Si les valeurs α 1 et α 2 sont arrondies, la racine résultante peut donc se retrouver en dehors du cercle unité et rendre le filtre instable. 4.2 Quantification et stabilité Le processus de quantification peut donc entraîner des problèmes d instabilités dans l implantation d un filtre récursif. Test de stabilité de SCHÜR-COHN Cette méthode nous renseigne sur le fait que qu un polynome H(z) aura ses racines à l intérieur du cercle unité si les coefficients de réflexion associés sont inférieurs à 1. Pour une structure récursive on a alors la condition suivante : H(z) = 1 D(z) est stable si K i < pour i = 1 N. (III.12)

32 30 Quantification et Stabilité (a) (b) FIGURE III.2 Échantillonnage du plan complexe pour cellule d ordre 2 implantée sous forme directe (a) (b) FIGURE III.3 Échantillonnage du plan complexe pour une structure couplée Étude pour une cellule d ordre 2 Soit D(z) = A 2 (z) = 1 + a 1 z 1 + a 2 z 2 et B 2 (z) = z 2 A 2 ( z 1 ). On initialise le calcul des coefficients de réflexion en posant : puis on calcul le polynome A 1 (z) tel que : on a alors K 1 = a 1 /(1 + a 2 ). La condition de stabilité s exprime par : K 2 = a 2, A 1 (z) = A 2(z) K 2 B 2 (z) 1 K 2 2 K 2 < 1 a 2 < 1, K 1 < 1 a a 2 < 1. = 1 + a a 2 z 1, La condition sur K 1 définit une borne supérieure et inférieure sur a 1 en fonction de a 2. Le test sur les coefficients de réflexion fournit donc quatre conditions : { 1 < a 2 < 1, a 1 1 < a 2 < a 1 1.

33 Quantification et Stabilité 31 En traçant le domaine correspondant à ces quatre contraintes dans le plan (a 1, a 2 ) on obtient le triangle de stabilité (figure III.4). FIGURE III.4 Triangle de stabilité On peut aussi déduire du couple des coordonnées du point (a 1, a 2 ), le type de racines (complexes ou réelles) du polynome D(z). Il a pour discriminant : = a 2 1 4a 2, si a 2 = a 2 1/4, alors = 0 et D(z) a deux racines réelles identiques, si a 2 < a 2 1/4, > 0 et il y a deux racines réelles distinctes, si a 2 > a 2 1/4, < 0 et il y a deux racines complexes conjuguées. exemple de système instable Calcul des pôles Soit H(z) = 1/D(z) = 1/ ( z z 2), le discriminant de D(z) est = = les racines sont donc : ρ 1 = ρ 2 = Il y a un pôle en dehors du cercle unité, donc le filtre et instable. = = 1.395, Test SCHÜR-COHN En utilisant la méthode développé ci-dessus on en déduit la valeur du premier coefficient de réflexion K 2 = 0.1, qui est bien inférieur à 1. Le deuxième coefficient de réflexion est donné par K 1 = 1.9/1.1 = 1.73 qui est supérieur à 1, donc le filtre est instable. Ce test peut être étendu à un filtre d ordre quelquonque. On peut effet calculer les coefficients de réflexion manière récursive. Au premier qui est supérieur à 1, le filtre est instable. Triangle de stabilité Ce test peut être utilisé dans le cas d une structure d ordre 2. Si le point de coordonnée (a 1, a 2 ) appartient au triangle de stabilité, ce qui n est pas le cas de cet exemple, alors le filtre est stable. 4.3 Variance de fonction de transfert en fonction de la quantification des coefficients On peut exprimer la variance de la réponse en fréquence en fonction de la variance du bruit de quantification. Si chaque coefficient est arrondi à b bits, l erreur de quantification e(n) introduite est alors comprise dans l intervalle la valeur des coefficients quantifiés peut donc s écrire : 2 (b+1) e(n) 2 (b+1), h(n) = h(n) + e(n).

34 32 Quantification et Stabilité En effectuant la transformée de FOURIER de cette expression et du fait que cette transformation est linéaire, l erreur introduite par la quantification sur la fonction de transfert s exprime par : E(ω) = M 1 n=0 e(n)e iωn. On remarque que le bruit de quantification introduit par la technique d arrondi est à moyenne nulle, La composante continue de la fonction de transfert de bruit sera donc elle aussi nulle. E{e(n)} = 0 E(0) = 0. En supposant le bruit de quantification e(n) non corrélé et en appelant sa variance σe, 2 la variance de la fonction de tranfert de bruit peut s écrire : on a alors, soit un écart-type : σ 2 E = σ 2 E = 2 2b 12 M 1 n=0 σ 2 e = M σ 2 e, M = 2 2(b+1) 3 σ E = 2 (b+1) 3 M. Ainsi si la longueur du filtre est multiplié par 4, on doit rajouter un bit de quantification pour maintenir le même écart-type sur la fonction de transfert de bruit : Soit M = 4 M et b = b + 1, l écart-type de la fonction de transfert du filtre de longueur m s écrit alors : σ E = 2 (b +1) 3 M M, = 2 (b+2) 3 2 M = 2 (b+1) 3 M = σe. Ainsi la sensibilité de la fonction de transfert à la quantification des coefficients est proportionnelle à la longueur du filtre. Plus le filtre sera long, plus on aura besoin de bits pour coder les coeffcients afin de ne pas trop distordre la réponse en fréquence du filtre. 4.4 Sensibilité des pôles et des zéros à la quantification des coefficients Nous avons vu dans la partie précédente que la pertubation introduite sur la fonction de transfert était fonction de la longueur du filtre. Nous allons dans cette partie étudier la sensibilité des racines (pôles ou zéros) à la quantification des coefficients. Soit un filtre de transformée en Z (II.8) et les coefficients quantifiés {ā k } et { b k } définis par : ā k = a k + a k, bk = b k + b k, (III.13) où a k et b k représentent les erreurs de quantification. Dans la suite on ne s intéresse qu au dénominateur, l étude étant similaire en ce qui concerne le numérateur. En mettant le dénominateur sous forme produit, on obtient : le dénominateur quantifié devient alors : N N D(z) = 1 + a k z k ( = 1 pk z 1), (III.14) k=1 D(z) = k=1 N ( 1 pk z 1), (III.15) k=1 où les p k sont les pôles issus du processus de quantification des coefficients. On a donc p k = p k + p k avec p k l erreur induite par l ensemble des a k c est à dire l ensemble des erreurs de quantification a k sur les coefficients a k.

35 Quantification et Stabilité 33 Dans la section précédente nous avons mis en évidence que pour un nombre de bits donnés, plus le filtre était long, plus la fonction de transfert serait pertubée par le processus de quantification. Nous allons maintenant montrer que cette pertubation dépend aussi de la position des pôles les uns par rapport aux autres. Nous avons déjà dit que les p k dépendaient de l ensemble des a k. Ce que nous pouvons écrire par : p i = N k=1 p i a k a k. (III.16) Nous allons maintenant déterminer la dérivée partielle p i / a k pour k = 1, 2,..., N. Elle peut s obtenir à partir de la dérivation partielle de la fonction de transfert pour z = p i : D(z) = D(z) p i. (III.17) a k z a k on obtient alors : On a pour le numérateur : et pour le dénominateur : D(z) z D(z) a k z=pi p i a k = D(z) a k D(z) z z=pi. z=pi (III.18) = z k z=pi = p k i, (III.19) z=pi = z=pi z N ( 1 pk z 1) k=1 on rappelle que la dérivée d un produit de fonction est donnée par : La dérivée partielle au dénominateur s écrit donc : i f i x = i f i x f j. j i z=p i, (III.20) D(z) z = z=pi = N N p k z 2 k=1 N p k p 2 k=1 i N l=1 l k l=1 l k ( 1 pl z 1), z=p i ( 1 p l p i ). (III.21) Dans le terme de droite de (III.21) le terme produit est non nul seulement pour k = i. En effet pour k i on a : N l=1 l k ( 1 p ) l p i = ( 1 p i p 1 i ) N l=1 l k l i ( 1 p ) l = 0. p i En conséquence (III.21) devient : D(z) z z=pi = 1 p i N l=1 l i = 1 p i N = 1 p N i l=1 l i ( 1 p ) l p i 1 p i (p i p l ) N (p i p l ). l=1 l i (III.22)

36 34 Quantification et Stabilité En introduisant (III.19) et (III.22) dans (III.18), la dérivée partielle des pôles par rapport aux coefficients est alors donnée par : p i a k = p N k i N (p i p l ) l=1 l i. (III.23) L effet de la quantification de l ensemble des coefficients sur un pôle p i s obtient en introduisant (III.23) dans (III.16) : p i = N k=1 p N k i a k. N (p i p l ) l=1 l i (III.24) Le dénominateur de (III.22) représente la distance du pôle p i dont on étudie la sensibilité aux autres pôles p k du filtre. Plus cette distance sera faible plus la dérivée partielle sera importante, cette expression nous renseigne aussi sur le fait que plus le filtre aura de pôle (plus il sera d ordre élevé) plus cette dérivée partielle sera importante. Cette première expression nous enseigne l effet de la quantification d un seul coefficent sur chacun des pôles. L effet global de la quantification est donné par le terme somme de l ensemble des pertubations (III.24) qui en représente donc l effet cumulé. La conclusion est la suivante : pour que la dérivée partielle (III.22) soit la plus faible possible, il faut que les pôles du filtre soit le plus éloigné possible entre eux. Pour que l effet cumulé de la quantification des coefficients soit la plus petite possible, il faut qu il y ait le moins de coefficients possible. Ces deux contraintes font converger vers le même type de solutions : On implantera de préférence un filtre sous la forme de cellule d ordre le plus faible possible, soit des cellules d ordre 2. La figure III.5 illustre la plus faible sensibilité à la quantification des coefficients obtenue avec une structure cascade. (a) Structure directe (b) Structure cascade FIGURE III.5 Sensibilité de la fonction de transfert à la quantification des coefficients en fonction de la structure d implantation 5 Quantification des données La quantification des données peut intervenir à deux endroits dans un algorithme, soit après les multiplications, soit au moment de l écriture en mémoire. Dans les deux cas le bruit introduit peut être modélisé par un bruit additif (dans le cas du codage en virgule fixe). Pour une structure récursive d ordre 2, on peut se ramener dans les deux cas à une source de bruit équivalent en entrée. La transformée en Z de la sortie en fonction des entrées est donc : La puissance du bruit en sortie sera donc : Y (z) = 1 (X(z) + E(z)) 1 az 1 σ 2 es = σ 2 e 1 F e Fe 2 Fe 2 = σ 2 e h 2 (k), H ( e j2πft e ) 2 df

37 Quantification et Stabilité 35 (a) bruit après la multiplication (b) bruit à l écriture en mémoire FIGURE III.6 Sources de bruit dans le cas d une structure récursive d ordre 2 (a) quantification après la multiplication (b) quantification à l écriture en mémoire FIGURE III.7 Source de bruit équivalente en appliquant le théorème de PARSEVAL. Ici on a h(k) = a k donc : La source de bruit est donc filtrée (donc atténuée) par le filtre. Pour un filtre purement récursif du 2 nd ordre on trouve : σ 2 es = σ 2 e σes 2 = σe 2 a 2k = σe a 2. ( 1 + r 2 1 r 2 1 r r 2 cos θ On voit dans cette dernière expression que plus le pôle sera proche du cercle unité, plus le gain introduit sur le bruit de quantification sera important. 5.1 Cycles limites La quantification des données est un phénomène non linéaire. Pour évaluer la pertubation qu elle introduit sur les données on utilise un modèle linéaire additif, en la modélisant par un bruit supposé blanc uniforme et non corrélé avec les données. Ce modèle linéaire permet d apprécier la dégradation sous la forme d un rapport signal sur bruit de quantification. Cependant le phénomène non linéaire introduit des comportements particuliers qui ne peuvent être modélisé par un modèle linéaire. Ces comportements concerne ce que l on appelle les cycles limites. Cycles limites de petite amplitude Soit un filtre d équation aux différences : y(n) = x(n) + 0.9y(n 1), ).

38 36 Quantification et Stabilité la réponse impulsionnelle de ce filtre est h(n) = 0.9 n. Si on applique en entrée de ce filtre une impulsion d amplitude 10. La séquence correspondant à la sortie sera On suppose que l on ne peut représenter que la partie entière des données, la sortie du filtre est donc quantifiée en supprimant la partie fractionnaire. La séquence en sortie est alors : entrée sortie sortie quantifiée la sortie devient constante et égale à 5 pour une entrée nulle! Si le coefficient du filtre n est plus 0.9 mais 0.9, on a alors en sortie la séquence suivante : entrée sortie sortie quantifiée Dans le premier cas la sortie est une composante continue d amplitude 5 et dans le second un signal oscillant de fréquence F e /2 et d amplitude crête 5. On a donc un système qui «fournit» de l énergie alors que l entrée n est plus excitée. La quantification a donc pour effet de créer un système résonnant qui aura son pôle sur l axe réel soit à droite dans le premier cas soit à gauche dans le second. Cas général Cellule du 1 er ordre On considère que les valeurs sont codés sur b bits, dont 1 bit de signe. Q[ ] représente l opérateur non linéaire de quantification. Pour une entrée nulle l équation de récurrence du filtre se ramène après quantification à y(n) = Q[a y(n 1)], l erreur introduite par la quantification est bornée et est inférieure à q/2 avec q = 2 b. Si on a l égalité : Q[a y(n 1] = y(n 1) (III.25) l équation de récurrence devient y(n) = y(n 1) ou y(n) = y(n 1), suivant le signe du coefficient a. Ainsi la non linéarité a introduit un pôle sur le cercle unitaire en 1 ou 1. On obtient l égalité (III.25) quand on a la condition : y(n 1) Q[a y(n 1)] q 2, qui est vérifiée quand y(n 1) 0.5 q 1 a. (III.26) Cette dernière relation définit ce que l on appelle l intervalle de bande morte, qui correspond à la zone de valeur qui peuvent être présentes en sortie pour une entrée nulle. Dans l exemple numérique présenté en introduction on avait q = 1 et a=0.9, l intervalle de bande morte est donné, en utilisant la relation (III.26), par [ 5, 5]. La dynamique de cet intervalle dépend du nombre de bits disponibles pour représenter les données. la figure III.8 illustre le phénomène de bande morte pour une résolution respectivement de 7, 9 et 11 bits. cette figure représente la réponse impulsionnelle d un filtre correpondant à l équation aux différences : y(n) = x(n) y(n 1). y(n) = x(n) 0.988y(n 1). (III.27) (III.28)

39 Quantification et Stabilité 37 FIGURE III.8 Phénomène de bande morte equation (III.27), la réponse idéale est représentée en pointillé. FIGURE III.9 Phénomène de bande morte equation (III.28), la réponse idéale est représentée en noir, la réponse pour une précision de 9 bits est en gris. Cellule du 2 nd ordre sur le cercle unité si : Dans le cas des cellules du 2 nd ordre, on obtient après quantification des données, l apparition de pôles y(n 2) Q[a 2 y(n 2)] q 2, (III.29) qui est vérifiée si on a la condition : y(n 2) 0.5q 1 a 2. La fréquence des oscillations sera alors contrôlé par la valeur apparente du coefficient a 1. Il est possible de supprimer l effet des cycles limites de petites amplitudes en utilisant à la place d un arrondi, une troncature vers 0 avant le stockage en mémoire. La puissance du bruit de quantification est alors multiplié par 2, mais le phénomène de bande morte disparait (figure III.10). Cycles limites de grandes amplitudes Un autre phénomène peut intervenir du fait des «surtensions» si on utilise un additionneur en mode débordement. Ce phénomène provient de l opération de modulo du au codage en complément à deux des données. On considère dans l exemple qui suit que la dynamique des données est limitée à [ 3, 2]. Soit l équation de récurrence : y(n) = 1.1 y(n 1) 0.9 y(n 2), avec les conditions initiales : y(n 1) = 2 et y(n 2) = 2. à l instant n la sortie vaut : y(n) = = 4 2,

40 38 Quantification et Stabilité (a) Troncature vers 0 (b) la RI idéale est en gris, celle correspondant à une quantification sur 9 bits est en noir. FIGURE III.10 Suppression du phénomène de bande morte en utilisant une troncature vers 0. à l instant n + 1 : y(n + 1) = = 4 2, Ce phénomène se comprend mieux en observant la figure III.11 où on a représenté sur un cercle les valeurs correspondant au codage de l intervalle. L oscillation en sortie est causé par le phénomène de débordement dans l accumulateur, la solution FIGURE III.11 Circularité de la représentation en complément à 2 consiste alors à utiliser l accumulateur dans un mode où le débordement se traduira par une saturation et non un débordement. 6 Mise à l échelle et ordonnancement des cellules dans une structure cascade On a vu que si on veut minimiser la sensibilité des coefficients à la quantification, on a intérêt à implanter le filtre sous forme de structure cascade d ordre le plus faible possible (On choisira un ordre 2 qui est l ordre le plus faible permettant d avoir des racines complexes conjuguées). 6.1 Appariement des pôles et des zéros Le premier problème à résoudre est de fixer le critère d appariement des pôles et des zéros pour associer tel numérateur avec tel dénominateur. l objectif est d obtenir des cellules du 2 nd ordre ayant une surtension la plus faible possible. L appariement des pôles et des zéros va donc suivre la règle suivante : On choisit la paire de pôles complexes conjugués qui est la plus proche du cercle unité, donc celle qui provoque la surtension la plus importante. pour atténuer au maximum cette surtension, on l associe avec la paire de zéros complexes conjugués qui en est le proche en fréquence.

41 Quantification et Stabilité 39 Puis on prend les pôles suivants les plus proches du cercle unité et on les associe avec les zéros qui en sont les plus proches en fréquence, etc... FIGURE III.12 Appariement des pôles et des zéros 6.2 Facteur d échelle L implantation d une structure récursive va poser des problèmes de dynamique du fait de la surtension. Si on choisit une implantation sous forme directe de type II (figure III.13) L équation de récurrence pour le nœud v1(n) (figure III.13) est FIGURE III.13 Cellule directe de type II et la fonction de transfert v 1 (n) = x(n) + a 1 y(n 1) + a 2 y(n 2), V 1 (z) X(z) = 1 1 a 1 z 1 a 2 z 2. Au nœud v 1 (n) seul le dénominateur contribut à la sortie. Il y a donc risque de saturation, puisque la surtension ne sera pas atténuée par le zéro de transmission associé. Si on associe au filtre défini ci-dessus la réponse impulsionnelle h(n), on peut représenter la sortie par le produit de convolution : avec v 1 (n) = h(k)x(n k). k=0 n sin[(n + 1)θ] h(n) = r sin θ pour n 0

42 40 Quantification et Stabilité et a 1 = 2r cos θ, a 2 = r 2. Si la dynamique disponible est M. Pour qu il n y ait pas saturation, on doit avoir v 1 (n) < M on en déduit la condition : v 1 (n) h(k) x(n k). En majorant x(n k) par M, on obtient : d où on déduit la condition de mise à l échelle k=0 v 1 (n) M h(k), k=0 h(k) 1. Le facteur d échelle à appliquer sur les données x(n) pour éviter les situations de débordement est donné par α : k=0 α = 1. h(k) k=0 Cette approche revient à appliquer une contrainte très sévère qui peut énormément diminuer la dynamique de l entrée. Le bruit de quantification restant lui constant, puisque lié à la résolution, cela entraîne une diminution du rapport signal sur bruit de quantification. Mise à l echelle suivant une norme L p On peut utiliser d autres critères moins sévères, qui même s ils n excluent pas totalement les risques de saturation, les rendent peu probables. Ces contraintes sont dérivées de la norme L p définie dans le domaine de FOURIER par : H p = [ 1 2π 2π 0 ] 1 H(ω) p p dω. La norme L 1 correspond à la valeur moyenne de H(ω), La norme L 2, à sa valeur efficace, La norme L, à sa valeur crête : H = max H(ω). On a de plus la suite d inégalités : h(n) H 1 H 2 H h(n). la mise à l échelle suivant le choix d une norme L p, se fait en tenant compte de la relation : v 1 (n) H p X q avec n=0 1 p + 1 q = 1. (III.30) (III.31) Norme L Soit x(n) un signal déterministe dont la norme L 1 satisfait : alors qui est maximisé par v 1 (n) = 1 2π X 1 M, 2π v 1 (n) H(ω) 1 2π On doit donc introduire sur les données un facteur d échelle 0 H(ω)X(ω) e jω dω, 2π H(ω) X(ω) 1 H(ω) M. 0 α = 1 H. X(ω) e jω dω

43 Quantification et Stabilité 41 Norme L 2 On considère x(n) un signal déterministe d énergie finie X 2 2 = E. On en déduit la condition de mise à l échelle : X 2 = E M. Les relations (III.31) et (III.32) nous indiquent qu il n y aura pas débordement si on a la condition : (III.32) H 2 1. Dans le cas de signaux aléatoires dont la variance est connue, cela nous permet de dire que la variance ou la puissance moyenne du signal de sortie sera la même que celle du signal d entrée. Cela se traduit donc par le fait que la probabilité de débordement en sortie est la même qu en entrée. Ce type de mise à l échelle convient mieux à des signaux large bande, alors que le choix précédent (norme L de la fonction de transfert) est mieux adapté à des signaux bande étroite. 6.3 Bruit de calcul dans un filtre récursif Le synoptique d une cellule correspondant à la structure directe de type II avec mise à l échelle de l entrée est représentée figure III.14 avec α 0 α 1 = 1 la source équivalente de bruit de quantification est filtrée par la cellule entière. la puissance B du FIGURE III.14 Structure directe de type II avec mise à l échelle bruit issu de la quantification en sortie est donnée par : B = q2 12 α H(f) 2 df = q α H(f) 2 df. Dans le cas d une mise en cascade de plusieurs cellules pour réaliser un filtre d ordre supérieur à 2. Le bruit de quantification introduit à la première cellule est filtré par l ensemble des cellules, celui introduit à la seconde est filtré par cette cellule et toute les suivantes etc... Par exemple si on a trois cellules en cascade, la puissance totale du bruit de quantification en sortie est donné par : B = q q q α 2 1α 2 2α 2 3 H 1 (f) 2 H 2 (f) 2 H 3 (f) 2 df α 2 2α 2 3 H 2 (f) 2 H 3 (f) 2 df α 2 3 H 3 (f) 2 df (III.33) (III.34) (III.35) Dans le terme (III.35), α 3 correspond au facteur multiplicatif placé en sortie de la dernière cellule pour compenser l ensemble des facteurs d échelle introduit dans les étages précédents. Dans le terme (III.34), α 2 correspond au facteur d échelle qui permet d éviter ou de limiter les saturations dans le 3 ème et dernier étage. et ainsi de suite. La forme générale pour un nombre quelquonque de cellules est : B = q2 12 N j= α i H i (f) 2 df i=j (III.36)

44 42 Quantification et Stabilité 6.4 Ordonnancement des cellules Le problème de l ordonnancement des cellules peut recevoir plusieurs réponses. En analogique, on cascade les cellules du 2 nd ordre par ordre de surtension croissante pour minimiser les problèmes de saturation locale, mais on ne rencontre pas de problème de bruit de quantification. En numérique l ordonnancement des cellules dépend du type de norme que l on cherche à minimiser pour le bruit de quantification et du type de norme adoptée pour le calcul du facteur d échelle. On retiendra les règles suivantes : Si la mise à l échelle est faite suivant la norme L 2 et que l on souhaite minimiser la norme L du bruit de quantification, alors les cellules devront être ordonnées par ordre de surtension décroissante. Si la mise à l échelle est faite suivant la norme L et que l on souhaite minimiser la norme L 2 du bruit de quantification, alors les cellules seront ordonnées par ordre de surtension croissante. Si on choisit pour les 2 critères la même norme, L 2 ou L, La norme du bruit de quantification sera peu sensible à l ordonnancement des cellules. 6.5 Rapport signal sur bruit Si on considère une cellule d ordre 2 ayant en entrée un bruit blanc de variance σx, 2 le rapport signal sur bruit de quantification en sortie est donné par : q 2 12 σ 2 x 1 α H(f 2 df H(f) 2 df = σ2 x q α 2 0. (III.37) Plus la cellule aura une surtension importante, plus petit sera le facteur d échelle appliquée sur les données. Cela entraînera une dégradation du rapport signal sur bruit de quantification.

45 Chapitre IV Traitement multicadence Le traitement multicadence, traitement qui implique plusieurs fréquences d échantillonnage, peut avoir plusieurs motivations. Il peut être le fruit de contraintes liées à une application dans laquelle les flux de signaux numériques à traiter et à générer doivent l être à des fréquences d échantillonnage différentes. Cette situation peut se rencontrer par exemple dans les applications audio où co-existent plusieurs fréquences d échantillonnage : 32kHz, 44.1kHZ,, 48kHz, 96kHZ,... Cette approche peut aussi permettre d améliorer les caractéristiques d implantation d un algorithme en adoptant pour chacune de ses étapes un échantillonnage que l on appelle critique dans le sens où la fréquence de traitement est choisie égale à la fréquence de NYQUIST. Ainsi la chaîne de traitement correspondant à l émetteur bande de base d un modulateur DPQSK représentée figure IV.1, où l on a trois fréquences de traitement : la fréquence bit, la fréquence symbole et la fréquence d échantillonnage. Les frontières entre chaque domaine de fréquence de traitement doit gérer le changement correspondant. FIGURE IV.1 Structure d un modulateur DQPSK en bande de base Dans ce chapitre nous aborderons les changements de fréquence d échantillonnage entier ou rationnel, c est à dire pouvant se décomposer en une étape de suréchantillonnage par un facteur entier et une étape de décimation, là encore d un facteur entier. 1 Suréchantillonnage Le suréchantillonnage d un signal d un facteur L consiste à insérer L 1 échantillons à zéro entre chaque échantillon du signal d entrée. Cette opération correspond à l équation aux différences : y(m) = { x(n) si m = nl, 0 sinon. (IV.1) Cette opération de suréchantillonnage se représente par le diagramme bloc figure IV.2. 43

46 44 Traitement multicadence FIGURE IV.2 représentation du suréchantillonnage 1.1 Transformée en Z du signal suréchantillonné La transformée en Z du signal suréchantillonné est donné par : Y (z) = = + m= + n= y(m)z m = + n= x(n)(z L ) n = X(z L ). y(nl)z nl (avec m = nl) (IV.2) Si on évalue cette transformée en Z sur le cercle unité, en notant F e la fréquence d échantillonnage après le suréchantillonnage, on obtient : Y (z) = X ( z L) ( = X e j2π f L) ) ( ) z=e j2π f Fe = X (e j2π f Fe/L = X e j2π f F e. (IV.3) Fe Ceci illustre que y(n) et de x(n) ont le même spectre, seul change la fréquence d échantillonnage. Ceci n a rien de surprenant dans la mesure où le suréchantillonnage introduit seulement des échantillons à zéro, donc aucune information, dans le signal de départ et maintient un écart uniforme entre les échantillons significatifs (y(nl)). L opération de suréchantillonnage par un facteur L fait passer du signal représenté figure IV.3.a au signal représenté figure IV.3.b. (a) signal original (b) signal suréchantilloné par 3 FIGURE IV.3 Suréchantillonnage d un facteur 3 dans le domaine temporel La fréquence d échantillonnage du signal original est F e = F e /L, son spectre est représenté figure IV.4.a, il est F e périodique. Après suréchantillonnage, sa forme reste la même (figure IV.4.b)(aucune énergie n a été ajoutée au signal), mais la fréquence d échantillonnage est maintenant de F e. Si on considère les fréquences entre F e et F e, le suréchantillonnage fait apparaître ce que l on appelle des spectres miroirs autour des fréquences k Fe L pour k = 1 L 1. Pour obtenir une signal dont la forme temporelle correspondrait au signal x(n) que l on aurait échantillonné à une fréquence F e, il faut supprimer ces spectres miroirs et donc filtrer passe-bas le signal suréchantillonné y(m) avec un filtre ayant une bande atténuée à partir de Fe 2L, comme illustré sur le synoptique IV.5. Dans le domaine temporel ce filtre est simplement un filtre d interpolation. Les échantillons du signal de sortie x L (m) sont égaux aux échantillons du signal d entrée x(n) pour m = nl, sinon ils sont égaux à une combaison linéaire de l ensemble du signal d entrée (produit de convolution). Le filtre d interpolation idéal a pour gabarit : y(m) = + p= x L (m)h(p m) ( H k F ) { e 1 si k F e = L Fe 2L, L 0 sinon. (IV.4) (IV.5)

47 Traitement multicadence 45 (a) spectre du signal original (b) spectre du signal suréchantillonné d un facteur 3 FIGURE IV.4 Suréchantillonnage dans le domaine fréquentiel et pour réponse impulsionnelle h(n) = 1 L sinc ( ) n L. Ainsi en utilisant un tel filtre on aurait xl (m) = x(n) L pour m = nl. Le filtre d interpolation idéal doit donc avoir un gain de L dans la bande passante et répondre au gabarit : ( H L k F ) { e L si k F e = L F e 2L, L 0 sinon. Après interpolation du signal suréchantillonné on obtient le signal temporel représenté figure IV.6.a dont le spectre est représenté figure IV.6.b. (IV.6) FIGURE IV.5 Filtre d interpolation après le suréchantillonnage (a) domaine temporel (b) domaine fréquentiel FIGURE IV.6 Signal suréchantillonné et interpolé Filtres L ème de bande Les filtres dits L ème de bande répondent aux critères ci-dessus. Deux filtres particuliers sont le filtre ayant comme réponse impulsionnelle le sinus cardinal (filtre d interpolation idéal) et le filtre en cosinus surélevé Un filtre L ème de bande a les caractéristiques temporelles suivantes : { h(0) = 1 (IV.7) h(nl) = 0 n 0. Ces filtres ont comme propriété particulière : L 1 H (zwl n ) = L. n=0 (IV.8)

48 46 Traitement multicadence FIGURE IV.7 Filtre d interpolation idéal et filtre en cosinus surélevé pour un rapport F e /F s = 16 (fréquence d échantillonnage et fréquence symbole) 1.2 Identité remarquable du suréchantillonnage la propriété remarquable du traitement multicadence dans le cas du suréchantillonnage, figure IV.8. FIGURE IV.8 Identité remarquable suréchantillonnage La transformée en Z correspondant à la partie gauche de la figure IV.8 est le produit de la transformée en Z d un signal x(n) suréchantillonné d un facteur L et d un filtre ayant pour transformée en Z R(z L ) : Y (z) = X(z L )R(z L ). La transformée en Z correspondant au schéma bloc de la partie droite de la figure IV.8 est le suréchantillonnage du produit de la transformée en Z d un signal x(n) et d un filtre de transformée en Z R(z). W (z) =X(z)R(z), Y (z) =W (z L ) = X(z L )R( L ). Les deux systèmes représentés sur la figure IV.8 ont la même transformée en Z et sont donc équivalents. 1.3 Décomposition polyphase, cas du suréchantillonnage La décomposition polyphase est obtenue en effectuant le changement de variable n = ml + (L k 1) avec N = ll, k = 0 L 1 et m = 0 l 1. On obtient alors : avec Q(z) = N 1 n=0 k=0 q(n)z n = L 1 l 1 k=0 m=0 m=0 q(ml + L k 1)z (ml+l k 1), L 1 l 1 = z (L 1 k) q(ml + (L k 1))(z L ) m, L 1 Q(z) = z (L 1 k) R k (z L ). k=0 Rk(z) = l 1 m=0 r k (m)z m et r k (m) = q(ml + (L k 1)). (IV.9) (IV.10) Le diagramme bloc correspondant à l équation (IV.9) est représenté figure IV.9.a. En appliquant la propriété remarquable (figure IV.8), on obtient le synoptique figure IV.9.b.

49 Traitement multicadence 47 (a) Structure polyphase I (b) Structure polyphase II FIGURE IV.9 Structure polyphase pour le suréchantillonnage A chaque instant d échantillonage en sortie du système représenté sur la partie droite de la figure IV.9, une seule composante polyphase est non nulle. Cela conduit au modèle du commutateur représenté figure IV.10, où on ne considère à chaque instant d échantillonnage que la composante non nulle. Cette figure représente aussi la charge de calcul associée. FIGURE IV.10 Modèle du commutateur pour l interpolation 2 Décimation La décimation par M d un signal consiste à ne conserver en sortie qu un échantillon sur M du signal d entrée. Il s agit donc d une opération d échantillonnage sur un signal numérique et en tant que telle, elle doit respecter la règle de NYQUIST concernant la fréquence de ce nouvel échantillonnage afin de ne pas introduire de distorsion par repliement spectral dans le signal de sortie. Cette opération de décimation se représente par le diagramme bloc figure IV.12 et elle correspond à l équation aux différences : { x(n) si n = mm, y(m) = (IV.11) 0 sinon. que l on peut aussi écrire : y(m) = x(mm). (IV.12)

50 48 Traitement multicadence FIGURE IV.11 Opération de décimation FIGURE IV.12 représentation de la décimation L opération de décimation correspond donc à une opération d échantillonnage dans le domaine discret : y(m) = + m= x(n)δ(n mm), (IV.13) on note p(n) = δ(n mm), un peigne de kronecker de période M donc développable en série de FOURIER 1 : p(n) = 1 M M 1 k=0 P (k)e j2π k M n, avec P (k) les coefficients du développement en série de FOURIER, que l on obtient de la manière suivante : P (k) = 1 M M 1 + n=0 m= δ(n mm) e j2π k M n. (IV.14) (IV.15) avec δ(n mm) 0 pour n = mm, mais on a n {0, M 1}. Donc δ(n mm) 0 seulement pour n = 0. On a donc : et p(n) = 1 M P (k) = 1 M, M 1 k=0 e j2π k M n En introduisant (IV.17) dans (IV.13), on obtient sachant la relation n = mm : ( n ) M 1 1 y(m) = y = x(n) M M k=0 e j2π k M n (IV.16) (IV.17) (IV.18) que l on peut réécrire : y(m) = 1 M x(n) + 1 M 1 M x(n) k=1 e j2π k M n, (IV.19) où le terme de droite fait apparaître les versions modulées du signal initial autour de la nouvelle fréquence d échantillonnage 2π M et de ses multiples k 2π M. 2.1 Transformée en Z du signal décimé La transformée en Z du signal décimé est donné par : Y (z) = + m= y(m)z m, (IV.20) 1. Somme de POISSON.

51 Traitement multicadence 49 (a) signal non décimé (b) signal dont 2 échantillons sur 3 sont mis à zéro (c) signal décimé FIGURE IV.13 Étape de la décimation par 3 d un signal dans le domaine temporel donc Y (z) = = + n= + n= = 1 M = 1 M ( n ) y z n M M [ M 1 x(n) + k=0 n= M 1 k=0 X ] M 1 1 e j2π k M n z n M M x(n) k=0 ( z 1 M e j2π k M ( z 1 M e j2π k M ). ) n (IV.21) On note, avec W M = e j 2π M : Y (z) = 1 M M 1 k=0 ) X (z 1 M W k M (IV.22) La transformée en Z du signal décimé est donc : L évaluation de Z sur le cercle unité faire ressortir le changement de fréquence d échantillonnage : on a donc la relation : Y (z) = 1 M 1 M X(z 1 1 ) M ) + X (z 1 M W k M M k=1 (IV.23) ( ) z = e j2π f F e, avec F e la fréquence d échantillonnage après décimation, nous permet de z 1 M z=e j2π f F e = e j2π f MF e = e j2π f Fe, (IV.24) F e = MF e, qui montre bien que la fréquence d échantillonnage initiale est M fois supérieure à la fréquence d échantillonnage du signal décimé. Les figures IV.13 et IV.14 représentent le processus de décimation dans le domaine temporel et dans le domaine fréquentiel. Le signal initial dont le spectre est représenté à gauche, figure IV.14 est échantillonné à la fréquence d échantillonnage F e. Après décimation d un facteur M ce qui revient à mettre à zéro M 1 échantillons tout les M échantillons (voir figure centrale IV.13), le spectre se trouve périodisé à la fréquence F e /M (partie centrale de la figure IV.14). On ne conserve que les échantillons significatifs (non mis à zéro) pour obtenir le signal représenté sur la partie droite de la figure IV.13, dont le spectre est périodisé à la nouvelle fréquence d échantillonnage F e. On peut observer la partie centrale de la figure IV.14 à la lumière de l équation (IV.23). On retrouve bien autour de la fréquence nulle le spectre du signal initial pondéré d un facteur 1/M. Puis à tout les multiples positifs et négatifs de F e /M.

52 50 Traitement multicadence (a) spectre du signal non décimé (b) spectre du signal dont 2 échantillons sur 3 sont mis à zéro (c) spectre signal décimé FIGURE IV.14 Étape de la décimation d un signal par 3 dans le domaine fréquentiel Cette périodisation du spectre peut entraîner un repliement de spectre dans le signal décimé si aucune précaution n est prise. Pour pouvoir décimer un signal sans introduire de distorion due au repliement de spectre il est nécessaire que le signal décimé soit strictement à bande limité F e /2M. Pour cela l opération de décimation doit souvent être précédée d un filtre passe-bas (figure IV.15). FIGURE IV.15 Filtre anti-repliement avant décimation 2.2 Identité remarquable de la décimation Une propriété remarquable de la décimation est que la sortie d un système composé par un filtre suivi d un décimateur est la même que celle d un décimateur suivi d un filtre figure IV.16. L intérêt de cette transformation est que dans le second cas le filtre est évalué à la fréquence d échantillonnage la plus faible. FIGURE IV.16 Identité remarquable de la décimation Sur la partie gauche de la figure IV.16, une entrée x(n) est filtrée par un filtre de fonction de transfert H(z M ). La transformée en Z de la sortie v(n) du filtre est donnée par : V (z) = X(z)H(z M ), qui devient en sortie du sortie du décimateur (IV.22) : Y (z) = 1 M = 1 M = 1 M M 1 k=0 M 1 k=0 M 1 k=0 ) V (z 1 M W k M ) ( ( ) ) M X (z 1 M W k M H z 1 M W k M ) X (z 1 M W k M H (z). k=0 (IV.25) Sur la partie droite de cette figure, l entrée x(n) est d abord décimée, la transformée en Z de la sortie v(n) du décimateur est donc : V (z) = 1 M 1 ) X (z 1 M W k M M,

53 Traitement multicadence 51 puis la sortie du décimateur est filtrée par un filtre de fonction de transfert H(z). La transformée en Z de la sortie y(n) est donc : Y (z) = V (z)h(z) = 1 M M 1 k=0 ) X (z 1 M W k M H (z). (IV.26) Cette dernière équation est strictement identique à (IV.25). Les deux structures représentées figure IV.16 sont donc équivalentes. 2.3 Décomposition polyphase, cas de la décimation Si on considère un filtre FIR de longueur N ayant pour réponse impulsionnelle h(n), dont la transformée en Z est donnée par : H M (z) = N 1 n=0 h(n)z n, (IV.27) si N = mm (ce qui est toujours possible en rallongeant la séquence h avec des zéros), soit le changement de variable n = lm +k que l on introduit dans (IV.27), on obtient alors : avec H M (z) = E k (z) = = = M 1 k=0 M 1 k=0 M 1 k=0 m 1 l=0 N M 1 h(lm + k)z (lm+k) l=0 z k N M 1 h(lm + k) ( z M ) l l=0 z k E k (z M ) e k (l)z l = m 1 l=0 h(lm + k)z l. Ce qui nous permet de passer de la figure IV.15 à la structure représentée figure IV.17. (IV.28) (IV.29) FIGURE IV.17 Décomposition polyphase pour la décimation Puis en appliquant l identité remarquable de la décimation (figure IV.16), on obtient la structure figure IV Exemple d application : le convertisseur Sigma-Delta Le modulateur Σ d ordre 1 a pour fonction de transfert : Y (z) = X(z)z 1 + E(z)(1 z 1 ) (IV.30) En évaluant sur le cercle unité : ( ( 2πf H e (f) 2 = 2 1 cos F e )) ( ) 2 2πf (IV.31) si f F e. Le spectre de ce filtre de mise en forme est représenté figure 2.4 pour des modulateurs d ordre 1 et 2. F e

54 52 Traitement multicadence FIGURE IV.18 Décomposition polyphase pour la décimation après translation de ladécimation vers l entrée FIGURE IV.19 Modèle du commutateur pour la décimation FIGURE IV.20 Filtrage du bruit de quantification pour un convertisseur Σ 3 Commutativité de la décimation et du suréchantillonnage Les opérateurs de décimation et de suréchantillonnage sont commutatifs si le rapport de décimation (M) et le rapport de suréchantillonnage (L) sont premiers entre eux. 4 Changement de fréquence d échantillonnage 4.1 Principe général On souhaite changer numériquement la fréquence d échantillonnage d un signal x(n) et passer d une fréquence d échantillonnage F 1 à une fréquence d échantillonnage F 2 où F2 F 1 = L M est un rationnel. Cela conduit donc à suréchantillonner le signal

55 Traitement multicadence 53 (a) filtre moyenneur de longueur 128 (b) 3 filtres moyenneur de longueur 128 en cascade FIGURE IV.21 Filtres moyenneurs FIGURE IV.22 Structure récursive pour un filtre moyenneur FIGURE IV.23 Filtre moyenneur de longueur M suivi d une décimation par M FIGURE IV.24 Application de l identité remarquable pour la décimation (figiv.16) x(n) d un facteur L puis à le décimer d un facteur M. Le suréchantillonnage par L doit être suivie d un filtre passe-bas coupant à F e /2L pour supprimer les spectres dus à l suréchantillonnage, où F e est la fréquence d échantillonnage du signal de sortie (Figure IV.25). FIGURE IV.25 Suréchantillonnage La décimation par M doit être précédée d un filtrage anti-repliement ayant une fréquence de coupure de F e /2M, si F e est la fréquence d échantillonnage du signal d entrée (Figure IV.26). Le système complet de changement de fréquence d échantillonnage est donc représenté par le synoptique Figure (IV.27) Il apparait clairement sur cette figure qu il est possible de ne conserver qu un seul des deux filtres passe-bas : celui dont la fréquence de coupure est la plus basse :

56 54 Traitement multicadence FIGURE IV.26 Décimation FIGURE IV.27 Système complet Si L > M, on conserve le filtre H L (Z), si M > L, on conserve le filtre H M (Z). Dans cette configuration le filtre est évalué à la fréquence d échantillonnage la plus élevée, ce qui correspond à la densité maximum d opérations (MAC/s). La décomposition polyphase permet d obtenir une implantation où le filtre sera évalué à la fréquence d échantillonnage la plus basse. L objectif est donc de passer à l aide de ces identités d une structure suréchantillonnage filtrage décimation (SFD) (Figure IV.28) où le filtre passe-bas est évalué à la fréquence d échantillonnage la plus élevée à une structure décimation filtrage suréchantillonnage (DFS) (Figure IV.29). FIGURE IV.28 Structure SFD FIGURE IV.29 Struture DFS Le passage de la structure SFD à la structure DFS nécessite que les opérations de suréchantillonnage et de décimation soient commutatives, ce qui n est vrai que dans le cas où L et M sont premiers entre eux. 4.2 Implantation polyphase Dans cet exemple, on souhaite sur une réduction de fréquence d échantillonnage d un signal audio d un facteur 2/3 (passage de 48kHz à 32kHz). Dans la partie ci-dessous nous présentons la structure polyphase conduisant évaluer le filtre à la fréquence la plus basse possible. On a donc au départ la structure de la figure IV.28 avec L = 2 et M = 3. En appliquant la décomposition polyphase pour le suréchantillonnage (figure IV.9) on obtient la structure figure IV.30 : FIGURE IV.30 1 ère étape Puis on transforme le retard Z 1 = Z 2 Z 3. Puisque L et M sont premiers entre eux, les opérations de décimation et de suréchantillonage sont commutatives, on peut donc permutter le décimateur et le suréchantillonneur. Enfin on applique sur chacune des composantes polyphases une décomposition polyphase pour la décimation (figure IV.18), afin d obtenir la structure représentée figure IV.31 qui correspond à une implantation DFS (Figure IV.29).

57 Traitement multicadence 55 FIGURE IV.31 Structure finale À partir de la structure proposée figure IV.31, on pourra concevoir un système permettant d effectuer un changement de fréquence d échantillonnage 48kHz 32kHz avec, par exemple, 16 bits de précision. Cette précision déterminera le gabarit du filtre (ondulation dans la bande passante et dans la bande atténuée). Complexité de calcul Si on note N la longueur du filtre, la puissance de calcul nécessaire pour une implantation SFD est : N.F e.l = N.48e 3.2 MAC/s. Après la décomposition polyphase pour les suréchantillonnage réalisée dans l étape 1, la complexité de calcul devient, en posant N = Ll = 2l : N L.F e.l = N.48e3 MAC/s. En appliquant la décomposition polyphase pour la décimation à R 0 (z) et R 1 (z), on obtient pour chacun de ces filtres la complexité de calcul suivante (en notant l = Mm) : l M F e = m.48e3 MAC/s, on a donc une charge de calcul pour les deux filtres : 2.m.48e3 MAC/s. On peut exprimer cette charge de calcul en fonction de la longueur N du filtre, avec N = L.l = L.M.m = 2.3.m : 2.m.48e3 = 2 N e3 = N 48e3 MAC/s. 3 5 Banc de filtres 5.1 Quelques propriétés de la transformée en Z Modulation autour de F e /2 Soit un signal h(n) que l on module autour de F e /2, on a : h(n)e jπn = ( 1) n h(n). (IV.32) La transformée en Z du signal modulé est : h(n)e jπn z n = n n h(n) ( e jπ z ) n = H( z). (IV.33)

58 56 Traitement multicadence FIGURE IV.32 transformation passe-bas passe-haut par modulation Retournement temporel Soit H(z) la transformée en Z de la suite h(n) : H(z) = n h(n)z n = h 0 + h 1 z h N 1 z (N 1). (IV.34) On considère maintenant cette suite retournée temporellement : H (z) = h N h 1 z (N 2) + h 0 z (N 1), que l on peut reécrire : H (z) = (h N 1 z N h 1 z + h 0 )z (N 1), on a donc l égalité : H (z) = H ( z 1) z (N 1). (IV.35) 5.2 Banc de filtres à 2 canaux Dans un banc de filtres à 2 canaux on sépare le signal d entrée en un signal passe-haut et un signal passe-bas, respectivement d(n) et a(n) sur la figure IV.33. On appelle H 0 (z) et H 1 (z) les filtres passe bas et passe haut du banc d analyse et F 0 (z) et F 1 (z) les filtres passe bas et passe haut du banc de synthèse. On appelle X(z) la transformée en Z du signal x(n). L expression de la sortie du banc de filtre est donnée par : FIGURE IV.33 Banc de filtres à 2 canaux ˆX(z) = [F 0 (z)h 0 (z) + F 1 (z)h 1 (z)] X(z). (IV.36) Il y aura reconstruction parfaite, c est à dire ˆx(n) = x(n) à un retard près, si on a la propriété : F 0 (z)h 0 (z) + F 1 (z)h 1 (z) = z k. (IV.37) Cette dernière égalité correspond au fait que le banc de filtres n introduit aucune distorsion d amplitude, ni de phase. 5.3 Banc de filtres multicadence à 2 canaux L inconvénient de la structure représentée figure IV.33 est que le nombre d échantillon est multiplié par 2 en sortie du banc d analyse ; il y a autant d échantillon pour a(n) et d(n) que pour x(n). Si les filtres du banc d analyse H 0 (z) et H 1 (z) ont des gabarits correspondant à ceux représentés figure IV.34, alors il est possible d introduire un échantillonnage critique en décimant par deux en sortie des filtres du banc du d analyse. La structure obtenue est représentée figure IV.35. En considérant la transformée en Z du signal décimé, (IV.23), on peut écrire la transformée

59 Traitement multicadence 57 FIGURE IV.34 Type de gabarit des filtres du banc FIGURE IV.35 Banc de filtres à 2 canaux multicadence en Z de la sortie du filtre passe-bas du banc d analyse suivi du décimateur : A(z) = 1 [ ] H 0 (z 1/2 )X(z 1/2 ) + H 0 ( z 1/2 )X( z 1/2 ) 2 et celle de la sortie du filtre passe-haut suivi du décimateur par 2 : D(z) = 1 [ ] H 1 (z 1/2 )X(z 1/2 ) + H 1 ( z 1/2 )X( z 1/2 ) 2 (IV.38) (IV.39) Si maintenant on considère la transformée en Z d un signal suréchantillonné (IV.2). La sortie du banc de synthèse est alors donné par : ˆX(z) = A(z 2 )F 0 (z) + D(z 2 )F 1 (z). (IV.40) En remplaçant A(z) et D(z) par leurs expressions dans (IV.38) et (IV.39), on obtient : ˆX(z) = 1 2 [F 0(z)H 0 (z) + F 1 (z)h 1 (z)] X(z) [F 0(z)H 0 ( z) + F 1 (z)h 1 ( z)] X( z) (IV.41) Le premier terme de (IV.41) correspond à (IV.36) et le second terme est introduit du fait de la décimation (repliement de spectre) et du suréchantillonnnage (spectres miroirs). Pour obtenir une reconstruction parfaite on doit donc avoir les conditions : F 0 (z)h 0 ( z) + F 1 (z)h 1 ( z) = 0, (IV.42) et F 0 (z)h 0 (z) + F 1 (z)h 1 (z) = 2z l, (IV.43) où l correspond au temps de groupe de la mise en cascade des filtres passe-bas H 0 (z) et F 0 (z) et passe-haut H 1 (z) et F 1 (z). La première condition (IV.42) est réalisée si on choisit les filtres du banc de synthèse en fonction de ceux du banc d analyse de l une des deux manières suivantes : ou L équation (IV.43) se réécrit alors (respectivement) : F 0 (z) = H 1 ( z) et F 1 (z) = H 0 ( z), (IV.44) F 0 (z) = H 1 ( z) et F 1 (z) = H 0 ( z). (IV.45) H 1 ( z)h 0 (z) + H 0 ( z)h 1 (z) = 2z l, (IV.46)

60 58 Traitement multicadence ou En posant : H 1 ( z)h 0 (z) H 0 ( z)h 1 (z) = 2z l. P (z) = H 1 ( z)h 0 (z), (IV.47) (IV.48) Les deux relations (IV.46) et (IV.47) se réécrivent : P (z) + P ( z) = 2z l, (IV.49) ou P (z) P ( z) = 2z l. (IV.50) Les filtres P (z) vérifiant la propriété (IV.50) (ou de manière équivalente(iv.49)) sont des filtres demi-bandes 2. notation matricielle L équation (IV.41) peut s exprimer sous forme matricielle en faisant intervenir ce que l on nomme les matrices de modulation : [ ] X(z) = 1 [ ] [ ] [ ] F0 (z) F 1 (z) H0 (z) H 0 ( z) X(z). (IV.51) X( z) 2 F 0 ( z) F 1 ( z) H 1 (z) H 1 ( z) X( z) Que l on peut noter : La condition (IV.47) se reécrit alors : ˆx m (z) = 1 2 F m(z)h T m(z)x m (z). det H m (z) = 2z l (IV.52) (IV.53) 5.4 Filtres miroirs en quadrature (QMF) Si en plus des conditions (IV.45) (ou (IV.44)), on impose aussi : H 1 (z) = H 0 ( z). On a alors le jeu de contraintes : H 1 (z) = H 0 ( z), F 0 (z) = H 0 (z), F 1 (z) = H 0 ( z). (IV.54) (IV.55) (IV.56) le filtre passe-haut du banc d analyse correspond à la version modulée du filtre passe-bas (cf figure IV.32). La condition (IV.50) peut se réécrire : H 2 0 (z) H 2 1 (z) = 2z l (IV.57) ou H 2 0 (z) H 2 0 ( z) = 2z l, (IV.58) dans les expressions (IV.57) et (IV.58) les deux formulations des termes de gauche correspondent à la fonction de distorsion d amplitude et de phase. Si ces deux distorsions sont effectivement supprimées, alors ces termes correspondent à un retard pur tel qu exprimé dans ces expressions. Si H 0 (z) est à phase linéaire, alors l expression (IV.58) montre qu il n y aura pas de distorsion de phase. Il reste alors à choisir H 0 (z) afin de minimiser la distorsion d amplitude du banc de filtres. Le terme de gauche de l équation (IV.58) est une fonction impaire de z, et donc l doit être impaire, ce qui contraint à choisir H 0 (z) d ordre pair 3. En imposant les conditions (IV.45) et (IV.54), le banc de filtres représenté figure IV.35 devient celui représenté figure IV Ces filtres ont la propriété suivante concernant leurs coefficients : tous leurs coefficients de rang pair sauf le coefficient central (n = 0) sont nuls. 3. Sinon le banc de filtre aura un zéro de transmission à π/2

61 Traitement multicadence 59 FIGURE IV.36 Banc de filtres miroirs en quadrature Décomposition polyphase Les décompositions polyphases pour deux composantes de H 0 (z), H 0 ( z) et H 0 ( z) sont données par : H 0 (z) = m H 0 ( z) = m h 0 (2m)z 2m + z 1 m h 0 (2m)z 2m z 1 m h 0 (2m + 1)z 2m = H 0,0 (z 2 ) + z 1 H 0,1 (z 2 ), h 0 (2m + 1)z 2m = H 0,0 (z 2 ) z 1 H 0,1 (z 2 ), (IV.59) (IV.60) H 0 ( z) = m h 0 (2m)z 2m + z 1 m h 0 (2m + 1)z 2m = H 0,0 (z 2 ) + z 1 H 0,1 (z 2 ). (IV.61) L exploitation de la structure des expressions polyphases (IV.59) et (IV.60) permet d obtenir pour le banc d analyse la structure (a) Filtre passe-bas (b) Décomposition polyphase (c) Propriété de la décimation FIGURE IV.37 Branche passe-bas (a) Filtre passe-haut (b) Décomposition polyphase (c) Propriété de la décimation FIGURE IV.38 Branche passe-haut FIGURE IV.39 Structure résultante pour le banc d analyse représentée figure IV.39 et pour le banc global la structure représentée figure IV.40. Pour réaliser un tel banc de filtre, il faut donc trouver un filtre prototype P (z) = H 2 0 (z) respectant la propriété (IV.58). C est à dire un filtre P (z) qui soit un filtre demi-bande qui puisse s exprimer sous forme la forme factorisée H 2 0 (z) = H 0 (z)h 0 (z 1). Il n existe en fait pas de filtre FIR à phase linéaire permettant de vérifier la condition (IV.58) et pouvant se factoriser selon le modèle ci-dessus, hormis le filtre de HAAR : 1 + z 1. La réalisation d un tel banc de filtre se fait donc en utilisant une procédure d optimisation.

62 60 Traitement multicadence FIGURE IV.40 Banc d analyse et de synthèse 5.5 Filtre conjugués en quadrature Une autre structure de banc de filtre peut être obtenu en choisissant : H 1 (z) = z (N 1) H 0 ( z 1 ), (IV.62) le filtre passe-haut du banc d analyse correspond au filtre passs-bas modulé dont la réponse impulsionnelle a été retournée. Les filtres passe-bas et passe-haut du banc de synthèse sont alors donnés par : F 0 (z) = H 1 ( z) = z (N 1) H 0 (z 1 ), F 1 (z) = H 0 ( z). (IV.63) (IV.64) La propriété de reconstruction parfaite (IV.43)(distorsion d amplitude et de phase) s écrit alors : z (N 1) [ H 0 (z 1 )H 0 (z) + H 0 ( z 1 )H 0 ( z) ] = 2z l, (IV.65) avec l = N 1.

63 Chapitre V Transformée en ondelettes La norme JPEG2000 spécifie deux bases d ondelettes bi-orthogonales pour la compression : les filtres bi-orthogonaux 9-7 et 5-3. Les premiers sont utilisés dans le cas de la compression avec pertes et les seconds pour la compression sans pertes. La compression sans perte peut être obtenu dans le cas des filtres 5-3 car leurs coefficients peuvent être représentés exactement en précision finie. Ces deux bases sont dérivés à partir des filtres demi-bandes spécifiés par I.Daubechies et correspondent à une factorisation spectrale spécifique de ces filtres demi-bande qui dans le cas d une base orthogonale aboutissent respectivement aux bases d ondelettes dites D8 et D4. Structure de base de la transformée en ondelettes L algorithme classique d implantation de la transformée en ondelettes dyadique est l algorithme de Mallat où la transformée en ondelettes (TO) est réalisée par un filtre passe haut suivi d une décimation par 2 et d un filtre passe-bas suivi d une décimation par 2. Ce bloc de base est ensuite itéré à la sortie du filtre passe bas de l étage précédent. Le nombre d étage utilisé dans la transformation correspond au nombre de niveau de décomposition. On appelle les filtres appliqués pour réaliser la transformée en ondelettes filtres d analyse. FIGURE V.1 bloc de base de la transformée en ondelettes, algorithme de Mallat. La transformée en ondelettes est une transformation sans perte. On peut retrouver exactement le signal de départ après transformée inverse (TOI). Cette transformée inverse est obtenue en appliquant une interpolation par 2 puis un filtrage passe-bas sur le signal passe-bas obtenu par la TO et en appliquant une interpolation par 2 puis un filtrage passe-haut sur le signal passehaut obtenu par la TO. Le résultat de ces deux opérations sont ensuite sommés. Dans le cas d une base orthogonale, les filtres de synthèse, filtres correspondant à la transformée inverse, sont les mêmes que ceux d analyse, mais retournés temporellement. Pour une base bi-orthogonale les filtres de synthèse et d analyse sont différents et ne sont pas forcément de la même longueur. 1 Banc de filtres En posant P (z) = H 0 ( z)h 1 (z) : P (z) P ( z) = 2z l. Le terme de gauche de cette équation nous montre qu il s agit d une fonction impaire, pour que le terme de droite soit une fonction impaire il est nécessaire que l soit impair. Si on multiplie les deux cotés de cette équation par z l et que l on pose P 0 (z) = z l P (z), on obtient la condition sous la forme : P 0 (z) P 0 ( z) = 2. Le filtre de transformée en Z, P 0 ( z) correspond au filtre P 0 (z) modulé autour de la moitié de la fréquence d échantillonnage. Le type de filtre dont la transformée en Z respecte la condition donnée par l équation (V.2) sont les filtres demi-bande. Ces filtres ont la propriété suivante concernant leurs coefficients : tous leurs coefficients de rang pair sauf le coefficient central (n = 0) sont nuls. Pour calculer les filtres correspondant à une transformée en ondelettes, il suffit donc de choisir un filtre demi bande P 0 (z) puis de le factoriser en deux filtres H 0 (z) et H 1 ( z) et d en déduire F 0 (z) et F 1 (z). (V.1) (V.2) 61

64 62 Transformée en ondelettes 2 Filtres de Daubechies Le choix du filtre demi-bande conditionne les propriétés de la base d ondelettes que l on obtient. En général et c est tous particulièrement vrai dans les applications de compression, on souhaite obtenir une ondelette qui aura le plus de moments nuls. Le nombre de moments nuls est définit par la valeur de k dans l expression suivante : x k (t)ψ a,b (t)dt = 0, Cette propriété correspond au fait que la projection de toutes fonctions polynomiale de degré inférieur ou égale à k sur une ondelette ψ à l échelle a sera nulle. seules les fonctions de degré supérieur à k auront des coefficients non nuls. On cherchera donc à avoir le nombre de moments nuls k le plus élevé possible, toutefois le nombre de moments nuls implique une longueur minimale pour les filtres FIR réalisant la TO. Ingrid DAUBECHIES a montré que le nombre de moments nuls est relié au nombre de zéro du filtre à la moitié de fréquence d échantillonnage. Pour obtenir un filtre ayant le plus de moments nuls pour une longueur donné on utilise comme point de départ un polynome de la forme (1+z 1 ) 2p qui possède 2p racines à la fréquence de NYQUIST. Pour obtenir un filtre demi bande tout les coefficients de rang pair sauf le coefficient central doivent être nuls. Pour cela on multiplie le polynome (1 + z 1 ) 2p par un polynome Q(z). Si on se place dans le cas d un filtre causal on cherche donc à trouver un polynome P(z) de la forme : P (z) = (1 + z 1 ) 2p Q(z). (V.3) On a vu ci-dessus que l devait prendre une valeur impaire, donc pour que le polynome P (z) soit un filtre demi bande il faut que tous ses coefficients impairs hormis le coefficient central de rang l soient nuls. Le polynome (1 + z 1 ) 2p est de degré 2p, il aura donc 2p 2 coefficients de rang impair. Le polynome Q(z) doit donc être de degré 2p 2. Le polynome P (z) est donc de degré 4p 2 d où l = 2p 1. Ainsi on pourra obtenir une base d ondelettes ayant p moments nuls en choisissant à l analyse et à la synthèse des filtres de longueur 2p. 2.1 Calcul des coefficients du filtre demi bande On choisit de calculer les filtres correspondant à un filtre demi bande ayant 2p = 4 zéros à la moitié de la fréquence d échantillonnage. On a alors : P (z) = (1 + 4z 1 + 6z 2 + 4z 3 + z 4 )Q(z), (V.4) le polynome P (z) sera de degré 6 et on doit choisir Q(z) de degré 2 pour que les coefficients de degré 1 et 5 de P (z) soient nuls. En réécrivant l équation ci-dessus dans le domaine temporel sous forme matricielle on obtient : p 0 q q 1 q p 2 q 2 q 1 q = 0 q 2 q 1 q p q 2 q 1 q 0 4. (V.5) q 2 q 1 1 p q 2 d où l on tire les équations qui nous permettent de déterminer q 0, q 1 et q 2, on en tire le polynome Q(z) = ( 1+4z 1 z 2 )/16. Puis on obtient P (z) en substituant les valeurs obtenus dans l équation matricielle ci-dessus. Ce qui nous donne : P (z) = ( 1 + 9z z 3 + 9z 4 z 6 )/16. (V.6) La figure ci-dessous représente le gain en fréquence du filtre passe-bas demi bande correspondant à P (z) et du filtre passe-haut correspondant à P ( z). L axe des abscisses représentent les fréquences normalisées par rapport à la moitié de la fréquence d échantillonnage. La figure suivante représente sur le cercle unitaire les racines du polynome P (z).il a 4 racines à z = 1 (qui correspond à F e/2) et deux autres racines à z 0 = 0, 2679 et z 1 = 3, 7321 = 1/z 0. Cette dernière propriété correspond aux filtres à coefficients symétriques. 2.2 Calcul des coefficients des filtres d analyse et de synthèse On rappelle que le filtre demi bande P (z) correspond au produit des transformées en Z des filtres passe-bas du banc d analyse et du banc de synthèse respectivement H 0 (z) et F 0 (z) = H 1 ( z). Les coefficients de ces deux filtres peuvent être obtenus par factorisation spectrale du polynome P (z), c est à dire ici en choisissant de fabriquer un polynome à partir d une partie des racines

65 Transformée en ondelettes 63 FIGURE V.2 gain de P (z) et P ( z) FIGURE V.3 Racines de P (z) de P (z) et l autre polynome à partir des racines restantes. Le produit de ces deux polynomes correspondra donc par construction à P (z). Il existe plusieurs alternatives pour conduire cette factorisation spectrale. Si l on désire construire une base orthogonale on devra avoir pour le banc d analyse et de synthèse les mêmes filtres dont les coefficients seront seulement retournés temporellement. Mais dans ce cas il ne sera pas possible d obtenir des filtres à phase linéaire (sauf pour une base de Haar qui correspond à des filtres de longueurs 2). Si l on désire obtenir des filtres à phase linéaire ce qui peut être souhaitable dans le cas où l on traite des images, on obtiendra une base bi-orthogonale, c est à dire que les filtres du banc d analyse ne seront pas les mêmes que ceux du banc de synthèse. Base orthogonale, filtres D4 Dans le cas où l on souhaite obtenir des filtres orthogonaux, on contruit le filtre H 0 (z) en choisissant deux racines à z = 1 et z 0 par exemple soit un polynome de degré 3. On dénormalise son gain à z = 0 afin qu il soit égal à 2, on fera de même pour F 0 (z) en choisissant les autres racines à z = 1 et z 1 = 1/z 0, cette relation entre z 1 et z 0 se traduit par le fait que les coefficients de F 0 (z) sont les mêmes que ceux de H 0 (z) mais retournés : H 0 (z) = 0, , 8365z 1 + 0, 2241z 2 0, 1294 z 3 F 0 (z) = 0, , 2241z 1 + 0, 8365z 2 + 0, 4830z 3 (V.7) (V.8) Les filtres H 1 (z) et F 1 (z) sont obtenus à partir des relations données au paragraphe 1.2 : F 1 (z) = 0, , 8365z 1 0, 2241z 2 0, 1294z 3 H 1 (z) = 0, , 2241z 1 + 0, 8365z 2 0, 4830z 3 (V.9) (V.10) La fonction de gain pour ces deux filtres est la même, aussi dans la figure ci-dessous représentons nous les fonctions de transfert en gain de H 0 (z) et H 1 (z) :

66 64 Transformée en ondelettes FIGURE V.4 racines de H 0 (z) et de F 0 (z) FIGURE V.5 Gain de H 0 (z) et H 1 (z) dans le cas orthogonal Base bi-orthogonale, filtres 5-3 On obtient une base bi-orthogonale quand on cherche à obtenir des filtres à phase linéaire. La linéarité de la phase implique que les coefficients du filtres sont symétriques ou anti-symétriques ce qui se traduit au niveau des racines du polynome représentant la transformée en Z du filtre par le fait que si z 0 est une racine de ce polynome alors 1/z 0 en est aussi une racine. Ainsi on peut construire le filtre H 0 (z) en choisissant deux racines à z = 1 et les racines z 0 et z 1, on obtient alors un polynome de degré 4 donc un filtre de longueur 5, dont on dénormalise aussi le gain à z = 0 afin qu il soit égal à 2. On construit le polynome F 0 (z) à partir des deux dernières racines à z = 1. On obtient donc : H 0 (z) = ( 1 + 2z 1 + 6z 2 + 2z 3 z 4) 2/8, F 0 (z) = ( 1 + 2z 1 + z 2) 2/4. (V.11) (V.12) Les filtres H 1 (z) et F 1 (z) sont obtenus à partir des relations données au paragraphe 1.2 : F 1 (z) = ( 1 2z 1 + 6z 2 2z 3 z 4 ) 2/8, H 1 (z) = ( 1 + 2z 1 z 2 ) 2/4. (V.13) (V.14) Un des intérêts de cette base sont les valeurs des coefficients des filtres. En choisissant par exemple de transférer le gain de du filtre de longueur 5 vers le filtre de longueur 3, obtient alors les coefficients suivants : H 0 (z) = ( 1 + 2z 1 + 6z 2 + 2z 3 z 4 )/8, F 0 (z) = (1 + 2z 1 + z 2 )/2. (V.15) (V.16) Où tous les coefficients sont des entiers et les diviseurs des puissances de 2, ce qui peut être réalisé par simple décalage.

67 Transformée en ondelettes 65 FIGURE V.6 racines de H 0 (z) et de F 0 (z) dans le cas bi-orthogonal FIGURE V.7 Gain du banc d analyse et du banc de synthèse dans le cas bi-orthogonal FIGURE V.8 Gains des filtres du banc d analyse et du banc de synthèse On aura donc dans le cas du banc d analyse le filtre passe-bas qui aura un gain maximum de 1, 125 et le filtre passe-haut qui aura un gain de 2 (ce sera l inverse pour le banc de synthèse). 2.3 Implantation des bancs de filtres La structure d implantation classique de la transformée en ondelettes dyadique est l algorithme de S.MALLAT où une itération de transformée en ondelettes est réalisée par un filtrage passe-bas suivi d une décimation par 2 pour l approximation et d un filtrage passe-haut suivi d une décimation par 2 pour les détails (coefficients d ondelettes)(figure V.2). Structure polyphase Banc d analyse Dans cette configuration les filtres sont évalués à la fréquence d échantillonnage la plus élevée puis on supprime une sortie sur deux. On peut utiliser la propriété remarquable du traitement multicadence représentée figure V.9 pour

68 66 Transformée en ondelettes H M (Z) M M H(Z) FIGURE V.9 Propriété remarquable de la décimation permuter la décimation par 2 et le filtrage : Il faut donc pour pouvoir appliquer cette identité mettre le filtre passe haut et le filtre passe bas du banc d analyse sous la forme H(z 2 ). On réécrit la transformée en Z des filtres du banc d analyse en séparant les coefficients pairs et les coefficients impairs : H0 (z) = H0 e ( z 2 ) + z 1 H0 o ( z 2 ) (V.17) H1 (z) = H1 e ( z 2 ) + z 1 H1 o ( z 2 ) (V.18) De cette manière on obtient une formulation de la TZ qui nous permet d appliquer l identité remarquable ci-dessus (figure V.10). FIGURE V.10 Structure polyphase pour le banc d analyse l intérêt de cette structure repose dans le fait qu elle permet de paralléliser les calculs correspondant à l évaluation du banc de filtre et diviser la fréquence de fonctionnement d un facteur égal au facteur de décimation. Banc de synthèse Pour le banc de synthèse, le signal d entrée est suréchantillonné d un facteur 2 puis filtré. Là encore le filtre est évalué à la fréquence la plus élevée. On va donc utiliser une autre identité remarquable du traitement multicadence (figure V.11)pour modifier la structure d implantation : De manière identique au cas de la décimation on reformule les transformée en z des filtres du banc de synthèse en faisant apparaître les coefficients pairs et impairs : F0 (z) = F0 e ( z 2 ) + z 1 F0 o ( z 2 ) (V.19) F1 (z) = F1 e ( z 2 ) + z 1 F1 o ( z 2 ) (V.20) L H L (Z) H(Z) L FIGURE V.11 Identité remarquable pour l interpolation

69 Transformée en ondelettes 67 En appliquant l identité remarquable (figure V.11) à ces expressions on obtient la structure V.12 qui permet de diviser le nombre d opération par un facteur égal au taux d interpolation. FIGURE V.12 Structure polyphase du banc de synthèse La décomposition polyphase, si elle permet de supprimer les opérations devenues inutiles du fait de la décimation et de l interpolation, ne permet cependant pas le calcul en place. Il est nécessaire de disposer d un buffer pour les données en entrée et de les conserver tant que l on n a pas calculer les sorties passe haut et passe bas (détails et approximations). Une technique d implantation appelée lifting scheme, construite à partir d un factorisation des matrices dites polyphases, permet de réaliser le calcul de la transformée en ondelettes en place. 3 Lifting Scheme 3.1 Principes Structure non polyphase La structure de départ (figure V.1) où l on n a pas utilisé les propriétés du traitement multicadence afin d optimiser la structure d implantation peut être représentée par une équation matricielle mettant en jeu les matrices de modulation : [ ] [ X(z) = F0 (z) F 1 (z) ] [ ] [ ] H 0 (z) H 0 ( z) X(z), (V.21) H 1 (z) H 1 ( z) X( z) que l on peut étendre à l équation matricielle : [ ] [ ] [ ] [ ] X(z) F0 (z) F = 1 (z) H0 (z) H 0 ( z) X(z) X( z) F 0 ( z) F 1 ( z) H 1 (z) H 1 ( z) X( z) Pour que l on ait un système à reconstruction parfaite ce système doit se ramener à : [ ] [ ] [ ] X(z) = 2z X( z) l 1 0 X(z). (V.23) 0 1 X( z) Ce qui correspond aux systèmes d équation : H 0 (z)f 0 (z) + H 1 (z)f 1 (z) = 2z l H 0 ( z)f 0 (z) + H 1 ( z)f 1 (z) = 0 H 0 ( z)f 0 ( z) + H 1 ( z)f 1 ( z) = 2z l H 0 (z)f 0 ( z) + H 1 (z)f 1 ( z) = 0 Les systèmes d équation (V.24) et (V.25) sont équivalents, on retient donc le système (V.24) qui correspond à la condition de reconstruction parfaite pour l équation matricielle (V.21), On a vu que l équation (V.27) était satisfaite si l on choisissait : On peut dès lors réécrire l équation (V.26) sous la forme : où P (z) est un filtre demi-bande. H 0 (z)f 0 (z) + H 1 (z)f 1 (z) = 2z l H 0 ( z)f 0 (z) + H 1 ( z)f 1 (z) = 0. F 0 (z) = H 1 ( z) et F 1 (z) = H 0 ( z), P (z) P ( z) = 2z l et P (z) = H 0 (z)h 1 ( z), (V.22) (V.24) (V.25) (V.26) (V.27)

70 68 Transformée en ondelettes Réseau passe-tout On peut introduire entre les matrices de modulation de l équation matricielle (V.22) une matrice identité ou un produit de matrice correspondant à la matrice identité. Deux cas particulier de factorisation d une matrice identité correspondent d une part au produit de deux matrices triangulaires supérieures : [ ] = [ 1 A(z) 0 1 ] [ 1 A(z) 0 1 ], (V.28) qui correspond au réseau représenté figure 3.1. Et d autre part au produit de deux matrices triangulaires inférieures : FIGURE V.13 Réseau correspondant à la factorisation de la matrice identité (V.28) représenté graphiquement par le diagramme bloc figure 3.1. [ ] [ ] [ ] =, (V.29) 0 1 A(z) 1 A(z) 1 FIGURE V.14 Réseau correspondant à la factorisation de la matrice identité (V.29) En choisissant A(z) = S(z 2 ) dans le cas (V.28) et A(z) = T (z 2 ) dans le cas de (V.29), on obtient pour le réseau l équation matricielle suivante (Le choix d un polynome en z 2 se justifie ici car cela nous permettra d utiliser par la suite les identités remarquables du traitement multicadence) : [ ] [ ] [ ] [ X(z) F0 (z) F = 1 (z) 1 S(z 2 ) X( z) F 0 ( z) F 1 ( z) 0 1 qui correspond au diagramme bloc figure 3.1. Theorème du «lifting scheme» ] 1 0 T (z 2 ) 1 [ 1 0 T (z 2 ) 1 En effectuant les produits externes dans l équation matricielle (V.30), on obtient [ ] [ ] [ ] X(z) F0 (z) F = 1(z) 1 0 X( z) F 0 ( z) F 1( z) T (z 2 ) 1 ] [ ] [ ] [ ] 1 S(z 2 ) H0 (z) H 0 ( z) X(z), (V.30) 0 1 H 1 (z) H 1 ( z) X( z) [ ] [ ] [ ] 1 0 H 0 (z) H 0( z) X(z) T (z 2, (V.31) ) 1 H 1 (z) H 1 ( z) X( z)

71 Transformée en ondelettes 69 FIGURE V.15 Réseau correspondant à l opération de «lifting» et de «lifting» inverse (V.30) avec H 0(z) = H 0 (z) + H 1 (z)s(z 2 ) F 1(z) = F 1 (z) F 0 (z)s(z 2 ) Le theorème dit que si une paire de filtre (H 0 (z), H 1 (z)) est complémentaire (c est à dire permet une reconstruction parfaite, propriété exprimée par les conditions (V.24)), alors la paire de filtre (H 0(z), H 1 (z)) (avec H 0(z) défini par (V.32)) est aussi complémentaire. Il est possible de vérifier que la relation F 1(z) = H 0( z) est toujours vérifiée. En effectuant les produits externes de l équation (V.31), on obtient : [ ] [ ] [ ] [ ] X(z) F = 0 (z) F 1(z) H 0 (z) H 0( z) X(z) X( z) F 0( z) F 1( z) H 1(z) H 1( z), (V.34) X( z) avec H 1(z) = H 1 (z) + H 0(z)T (z 2 ) F 0(z) = F 0 (z) F 1(z)T (z 2 ). Cette opération correspond à l opération de «lifting» duale. Ici encore la relation F 0(z) = H 1( z) est vérifiée. L intéret de ce theorème vient aussi de sa réciproque : si une paire de filtre (H 0(z), H 1(z)) est complémentaire, alors ils peuvent s exprimer sous la forme 3.2 Décomposition polyphase H 1(z) = H 1 (z) + H 0(z)T (z 2 ) H 0(z) = H 0 (z) + H 1 (z)s(z 2 ) En réalisant une décomposition polyphase des filtres H 0 (z), H 1 (z), F 0 (z) et F 1 (z) (paragraphe 2.3) suivie d une application des identités remarquables du traitement multicadence (figures V.9 et V.11), on obtient pour les échantillons pairs et impairs du signal x(n), l équation matricielle : [ ] [ ] [ ] [ ] Xe (z) F e X o = 1 (z) F0 e (z) 1 S(z) 1 0 (z) F1 o (z) F0 o (z) 0 1 T (z) 1 (V.32) (V.33) (V.35) (V.36) (V.37) (V.38) [ ] [ ] [ ] [ ] S(z) H e 0 (z) H0 o (z) X e (z) T (z) H1(z) e H1 o (z) X o, (V.39) (z) où X e, H e, et F e correspondent aux composantes paires et X o, H o, et F o aux composantes impaires. En partant de l équation (V.39), on obtient alors le système d équation : { H 0e (z) = H0(z) e + H1(z)S(z) e H 0o (z) = H0 o (z) + H1 o (V.40) (z)s(z) { H 1e (z) = H1(z) e + H 0e (z)t (z) H 1o (z) = H1 o (z) + H 0o (V.41) (z)t (z) Ainsi on peut utiliser les systèmes d équations (V.41) et (V.40) pour factoriser une matrice polyphase et obtenir une implantation de type treillis. La forme générale d une factorisation est alors donnée par : [ ] [ ] H e 0 (z) H0 o (z) K 0 N [ ] [ ] Sn (z) H1(z) e H1 o =, (V.42) (z) 0 1/K T n (z) n=1

72 70 Transformée en ondelettes où K est une constante non nulle. On peut noter que les opérations de «lifting» et de «lifting dual» sont commutatives. 3.3 Exemple de factorisation On choisit de factoriser la matrice polyphase de la transformée en ondelette basée sur les filtres 5-3 (V.15) et (V.16) : On a alors les composantes polyphases suivantes : Le système d équation (V.41) s écrit 1 = H (1) H (0) 0 (z) = ( 1 + 2z 1 + 6z 2 + 2z 3 z 4 )/8 H (0) 1 (z) = ( 1 + 2z 1 z 2 )/2 H (0) e 1 0 (z) = z z 2 H (0) o 1 0 (z) = z 1 H (0) 1 e 1 (z) = z 1 H (0) o 1 (z) = z 1 = H (1) 1 1 e (z) + ( z z 2 ) T 1 (z) o (z) + ( z 1 ) T 1 (z). Comme ici H (0) 0 (z) est degré supérieur à H(0) 1 (z), on a T 1(z) = 0, H (1) 1 L étape suivante consiste à écrire le système d équation (V.40) e (z) = H (0) 1 e (z) et H (1) z 1 1 ( 8 z 2 = H (1) e 0 (z) ) 2 z 1 S 1 (z) z 1 = H (1) o 0 (z) + S1 (z). S 1 (z) correspond donc au quotient de la division polynomiale H (0) 0 Une solution est on en déduit alors e (z)/h (1) 1 S 1 (z) = z 1 H (1) e (z) = z 1, 0 H (1) o 0 (z) = 0. o (0) o (z) = H 1 (z). e (1) e (z) et H 0 (z) à son reste. On peut continuer à factoriser la matrice polyphase ainsi obtenue en réappliquant le système d équation (V.41) : z 1 = H (2) e 1 (z) + z 1 T 2 (z) 1 = H (2) o (z) 1 une solution est alors T 2 (z) = 1 2 z 1 2 H (2) e (z) = 0. On obtient donc la factorisation suivante de la matrice polyphase : 1 [ z z ] [ 1 4 z = 4 + ] [ ] [ ] 1 4 z z z z La structure correspondant à cette factorisation est représentée figure 3.3

73 Transformée en ondelettes 71 FIGURE V.16 Structure d un étage de transformée en ondelette 5-3 après factorisation de la matrice polyphase FIGURE V.17 Dépendance des données pour le banc d analyse Dépendance des données Banc d analyse L équation aux différences de la structure d analyse est : d i = d i 1 2 (a i + a i+1 ), (V.43) pour les détails et a i = a i ( d i 1 + d ) i, (V.44) pour les approximations. La figure V.17 illustre la dépendance des données pour le banc d analyse. Le calcul de d 1 et a 1 correspond au calcul régulier, l organisation de la dépendance des données fait que l on peut calculer en parallèle d i et a i à partir de l instant où l on a reçu a i+1. Les bords de l image sont traités par symétrisation, les flèches en traits pleins illustre les calculs effectués à partir de données inexistantes extrapolées par symétrie. Banc de synthèse L équation aux différences de la structure de synthèse est : a i = a i 1 4 ( d i 1 + d ) i, (V.45) pour les approximations et : d i = d i (a i + a i+1 ), (V.46) pour les détails. La figure V.18 illustre la dépendance des données pour le banc de synthèse. Le calcul de a 1 et d 0 correspond au calcul régulier, l organisation de la dépendance des données fait que l on peut calculer en parallèle a i et d i 1 à partir de l instant FIGURE V.18 Dépendance des données pour le banc de synthèse

74 72 Transformée en ondelettes où l on a reçu d i. Les bords de l image sont traités par symétrisation, les flèches en traits pleins illustre les calculs effectués à partir de données inexistantes extrapolées par symétrie. L énorme avantage de cette structure est qu elle est insensible par construction à la quantification des données. En effet la quantification des données qui intervient en sortie de l évaluation de T (z) et S(z) est la même au banc d analyse et au banc de synthèse où elle est retranchée. Si de plus on peut représenter exactement les coefficients, comme c est le cas pour les filtres bi-orthogonaux 5-3, on obtient une reconstruction parfaite en précision finie.

75 Chapitre VI Transformée de Fourier rapide ( ) La Transformée de Fourier Discrète (TFD) est définie par l équation W N = e j 2π N : X(k) = N 1 n=0 x(n)w nk N pour k = 0 N 1, (VI.1) ce calcul comporte le nombre d opérations suivant : N 2 multiplications ( ) complexes et N(N 1) additions ( + ) complexes Le tableau VI donne le nombre d opérations nécessaires pour calculer une TFD correspondant à des longueurs usuelles de signaux. Pour 4096 points, le nombres d opérations ( ) nécessaires rend ce calcul difficilement utilisable dans la pratique. N TABLE VI.1 Nombre d opérations complexes 1 Algorithme de COOLEY-TUCKEY L algorithme de COOLEY-TUCKEY[?] décompose le calcul d une TFD de longueur N (VI.2) en plusieurs calculs de TFD plus petite si N n est pas premier. Dans ce cas on peut écrire : N = P Q. (VI.2) On effectue alors les changements d indices suivants : Variable temps n : n = P q + p avec 0 q Q 1 et 0 p P 1, (VI.3) la séquence x(n) est donc divisée en P séquences x p (q) de longueur Q. Variable fréquence k : k = Qs + r avec 0 s P 1 et 0 r Q 1, (VI.4) la séquence X(k) est donc divisée en Q séquences X r (s) de longueur P. Après ce changement d indice, l exposant nk dans l expression de la TFD (VI.1) devient : nk = (P q + p)(qs + r) = Nqs + P qr + Qsp + pr, (VI.5) On obtient donc l expression suivante pour W nk N : W nk N = W Nsq N qui peut être simplifiée en utilisant les identitées suivantes : P qr WN W Qsp N W pr N, (VI.6) W Nsq N = e j 2π N Nsq = 1 car sq est un entier, 73

76 74 Transformée de Fourier rapide et on a de même P qr WN = e j 2π N P qr 2π j = e Q qr = W qr Q, W Qsp N = W sp P. En introduisant les changements d indice et les expressions ci-dessus dans l expression générale de la TFD (VI.1), on obtient alors : que l on peut écrire X(Qs + r) = X(Qs + r) = P 1 Q 1 p=0 q=0 P 1 p=0 W rp N x(p q + p)w sp P [ Q 1 q=0 W rq Q x(p q + p)w rq Q W rp N ] W sp P. (VI.7) Dans le terme entre crochets de l expression (VI.7), on considère une séquence décimée puisque l on ne conserve de la suite {x(n)} qu un échantillon tout les P échantillons. Cette décimation se faisant avec une phase p, on note cette nouvelle séquence : x p (q) = x (P q + p). Le terme entre crochet de (VI.7) correspond alors à la TFD de la séquence {x p (q)} de taille Q : (VI.8) On réécrit alors l expression (VI.7) : en notant : X p (r) = Q 1 q=0 X(Qs + r) = x p (q)w rq Q pour r = 0 Q 1. (VI.9) P 1 p=0 on obtient l expression finale qui correspond à une TFD de taille P : ( W rp N X p(r) ) W sp P, (VI.10) Y r (p) = W rp N X p(r) pour p = 0 P 1, (VI.11) X(Qs + r) = P 1 p=0 Y r (p)w sp P, pour s = 0 P 1. (VI.12) L Algorithme de COOLEY-TUCKEY se décompose donc en 3 phases : Création des P séquences décimées {x p (q)} et calcul des P TFD de taille Q, X p (r) (VI.9). Multiplication des sorties de ces TFD par les facteurs de rotation W rp N pour obtenir la séquence Y r(p), (VI.11). Calcul des Q TFD de taille P, (VI.12). 1.1 Calcul du nombre d opérations Le décompte du nombre d opérations pour chaque étape correspond à : La première étape consiste en le calcul de P TFD de taille Q, soit : P Q 2 = NQ complexes, P Q(Q 1) = N(Q 1) + complexes. La deuxième étape correspond à la multiplication par les facteurs de rotation : N complexes. La troisième étape consiste en le calcul de Q TFD de taille P : QP 2 = NP complexes, QP (P 1) = N(P 1) + complexes. On a donc un total de : N(P + Q + 1) et N(P + Q 2) +, au lieu de : N 2 = NP Q et N(N 1) = N(P Q 1) +

77 Transformée de Fourier rapide 75 FIGURE VI.1 Algorithme de COOLEY-TUCKEY (P = 3, Q = 2). dans le calcul direct. La réduction du nombre d opération est de type logarithmique car le terme P Q dans le calcul direct devient P + Q après application de l algorithme de COOLEY-TUCKEY. La réduction du nombre d opération est d autant plus grande que P +Q N. Après cette première étape de décomposition, il est possible d appliquer de nouveau l algorithme de COOLEY-TUCKEY pour chaque TFD de taille Q ou P si ils ne sont pas premiers. On peut alors calculer le nombre d opération en appliquant les formules ci-dessus de manière récursive. En examinant la figure (1), on peut s apercevoir qu un certain nombre de facteurs de rotation ont un exposant nul, ce qui correspond à une multiplication par 1. On rencontre cette situation pour tout les cas r = 0 ou p = 0. on a r = 0 pour P rotations et p = 0 pour Q rotations, en fait Q 1 car une correpond aussi à r = 0. On a donc en fait seulement N (P + Q 1) complexes pour le calcul des facteurs de rotation.

78 76 Transformée de Fourier rapide 2 Décimation en temps et fréquence Suivant la manière dont sera factorisé N, on conduira une décimation en temps ou en fréquence. N = P Q = 2 N 2 : décimation en temps, N = P Q = N 2 2 : décimation en fréquence. 2.1 TFD de taille 2 Soit une TFD de taille 2 : X(k) = = Ce qui correspond aux calculs suivants représenté : 1 x(n)e j 2π 2 nk (VI.13) n=0 1 x(n)e jπnk pour k = 0, 1 (VI.14) n=0 X(0) = x(0) + x(1) X(1) = x(0) x(1) (VI.15) (VI.16) FIGURE VI.2 Structure papillon 2.2 Décimation en temps On considère N = 8 = 2 3 = P Q = 2 4. FIGURE VI.3 Première étape de l algorithme avec une décimation temporelle, N = 8

79 Transformée de Fourier rapide 77 FIGURE VI.4 Seconde étape de l algorithme avec une décimation temporelle, N = 8 FIGURE VI.5 Structure complète avec décimation en temps pour N = Décimation en fréquence On considère N = 8 = 2 3 = P Q = 4 2. FIGURE VI.6 Première étape de l algorithme avec une décimation fréquentielle, N = 8

80 78 Transformée de Fourier rapide FIGURE VI.7 Seconde étape de l algorithme avec une décimation fréquentielle, N = 8 FIGURE VI.8 Structure complète avec décimation en fréquence pour N = Briques de base FIGURE VI.9 Structure papillon pour la décimation en temps FIGURE VI.10 Structure papillon pour la décimation en fréquence

81 Transformée de Fourier rapide Réalisation complète de l algorithme En reprenant l algorithme avec décimation en temps on obtient le graphe représenté figure VI.11 qui inclut les multiplications par 1. FIGURE VI.11 Décomposition complète pour N = 8 Nombre d opérations Si le nombre total de points est N = 2 r, le nombre total d étage est log 2 (N) = r. On a N/2 papillons élémentaires par étage. Il y a N/2 multiplications complexes par étage correspondant aux facteurs de rotation. La recombinaison des résultats de chaque papillon demande 2 additions complexes et comme il y a N/2 papillons par étage, on obtient un total de N additions par étage. Le nombre total d opération est donc : N/2 log 2 N complexes et N log 2 N + complexes On dit que cet algorithme a une complexité O (log 2 (N)). Le tableau 2.5 donne le nombre d opérations nécessaires pour quelques longueurs usuelles de signaux. N TABLE VI.2 Nombre d opérations complexes Calcul en place Une autre propriété remarquable de cet algorithme est le calcul en place : une fois que les données ont été consommées pour calculer un papillon, elles ne sont plus utilisées dans la suite des calculs (cf figure VI.11). Le résultat des calculs du papillons peuvent donc être placées à leur place en mémoire. Le nombre de case mémoire nécessaire pour cet algorithme est donc de N contre 2N pour le calcul direct de la TFD. Ordonnancement des données Pour conduire cet algorithme de manière régulière, il est nécessaire d organiser la séquence d entrée suivant un ordre particulier, dit bit-reverse. Cet ordonnancement vient du fait que à chaque étape de l algorithme les données en entrée d une TFD sont séparées en une séquence pour les entrées d indice pair et une autre séquence pour les entrées de rang impair (figure VI.12). L appellation de bit-reverse vient du fait que la place de la donnée (son adresse en mémoire) en entrée de l algorithme correspond à son indice en base 2 dont on a retourné les poids ( ).

82 80 Transformée de Fourier rapide FIGURE VI.12 Ordonnancement des données Cette technique d adressage est réalisée par l algorithme de propagation de la retenue à l envers (Reverse Carry Propagation). Si les données sont lues dans l ordre lexicographique (0, 1, 2, 3, ), la première donnée (x(0)) est placée dans la case mémoire 0. L adresse de la donnée suivante est calculée en rajoutant à l adresse de la donnée courante la taille de la TFD divisée par deux. Mais à la différence d une addition classique, si il y a une retenue, elle n est pas propagée vers les poids forts mais vers les poids faibles. Le tableau 2.5 montre le déroulement de cet algorithme pour TFR de taille N = 8. n Ad(x(n+1)) Ad(x(n)) 000 RCP( )= RCP( )= RCP( )= RCP( )= RCP( )= RCP( )= RCP( )= TABLE VI.3 Placement des données en mémoire (RCP :Reverse Carry Propagation) Régularité de l algorithme Cet algorithme de TFR est régulier : on peut déterminer un motif de traitement paramétrés par des variables. Cette propriété permet d obtenir une structure d implantation générique. Le traitement à chaque étage (cf figure VI.11) est déterminé par l écart entre les entrées d un papillon, le nombre de papillons dans une groupe, les facteurs de rotation associés et le nombre de groupe (cf tableau VI.4) 1 er étage 2 nd étage 3 ème étage log 2 (N) ème étage Écart entre les entrées N/2 Nbre de papillons par groupe N/2 Nbre de groupe N/2 N/4 N/8 1 Facteur de rotation W (N/2)k N W (N/4)k N W (N/8)k N W k N k = 0 k = 0, 1 k = 0 3 k = 0 N/2 1 TABLE VI.4 Paramètres de l algorithme Implantation séquentielle Un exemple d organigramme pour une implantation séquentielle sur une cible tel qu un processeur de traitement numérique des signaux est montré figure VI.13. Le traitement est organisé en imbriquant trois boucles : La plus extérieure sur les étages, Sur les groupes à l intérieur d un étage, Sur les papillons à l intérieur d un groupe. À chaque entrée dans une boucle, ses paramètres caratéristiques (cf tableau VI.4) sont mis à jour. L organigramme présenté réalise le calcul en virgule flottante par blocs au niveau de chaque étage.

83 Transformée de Fourier rapide 81 FIGURE VI.13 Organigramme d implantation d une TFR 3 Dérivation algébrique de l algorithme en base 2 avec décimation en temps (P=2 et Q=N/2) La version la plus répandue de l algorithme de COOLEY-TUCKEY est celle appliquée à une séquence de longueur N = 2 r. À chaque étage, la ou les TFD sont toujours de longueur paire et peuvent donc être décomposée en 2 TFD de longueur moitié et ce jusqu à ce que l on arrive à une TFD de longueur 2. La séquence d entrée est divisée en une séquence paire et une séquence impaire, l expression (VI.1) devient alors : X(k) = N 2 1 n=0 x(2n) W nk N 2 + W k N N 2 1 n=0 x(2n + 1) W nk N. (VI.17) 2 avec k = 0 N 1.

84 82 Transformée de Fourier rapide 3.1 1ère étape de l algorithme Cette première étape consiste à séparer le calcul d une TFD de taille N en le calcul de 2 TFD de taille N/2 appliquée chacune sur une version décimée de la séquence d entrée. En utilisant l antisymétrie autour de N/2 de l exponentielle complexe le calcul peut encore être simplifié, en effet : Si on note : W (k+ N 2 ) N = e 2πk j N X p (k) = X i (k) = e jπ 2πk j = e N N 2 1 n=0 N 2 1 n=0 x(2n) W nk N 2 avec k = 0 N 2 1. Le calcul de (VI.17) peut être réalisé par : { X(k) = X p (k) + WN k X i(k) X (k + N/2) = X p (k) W k N X i(k). Cette dernière expression correspond à la structure de calcul en papillon. Nombre d opérations = W k N. (VI.18) x(2n + 1) W nk N, (VI.19) 2 (VI.20) Le calcul des expressions (VI.18) et (VI.19) demande chacune : (N/2) 2 complexes et N/2 (N/2 1) + complexes. L application du facteur de rotation WN k dans (VI.20) est commun aux deux expressions et demande donc : N/2 complexes et La recombinaison des résultats intermédiaires dans (VI.20) demande : N + complexes. Soit au total : (N/2) 2 + (N/2) 2 + N/2 = N/2 (N + 1) complexes, N/2(N/2 1) + N/2(N/2 1) + N = N 2 /2 + complexes. On pourra noter que l on a prit en compte dans ce calcul le fait que Q = N/2 facteurs de rotation sont égaux à 1. À partir du moment où le nombre de points d entrée de chaque TFD après un niveau de décomposition est un multiple de 2, le processus décrit ci-dessus peut être itéré et conduit au graphe représenté figure VI.3

85 Transformée de Fourier rapide 83 FIGURE VI.14 1ère étape de la décomposition 4 Bruit de calcul Nous allons étudier le bruit de calcul en précision fixe. Dans ce contexte le bruit e(n) introduit au cours de l algorithme du fait de la limite de précision dans la représentation des données est supposé additif (figure VI.15). On considère ici un bruit introduit en sortie des multiplieurs (ce qui correspond plutôt à une architecture de type circuit où l on ne conserve en sortie des multiplications que les bits de poids forts). FIGURE VI.15 Modèle du bruit de calcul pour l évaluation d une TFR [ Le bruit de quantification e(n) est supposé blanc, indépendant des données et de distribution uniforme sur l intervalle 2, ] 2 où est le pas de quantification et correspond à = 2 b si il y a b bits pour représenter les données. La puissance d une source de bruit est donc σe 2 = 2 2b /12. La multiplication représentée figure VI.15 étant complexe, elle correspond à quatre multiplications réelles. Les différentes sources de bruit étant supposées non corrélées, la puissance totale du bruit introduit après une multiplication est donc : σ 2 e m = 4σ 2 e = 2 2b 3. (VI.21) Le calcul de chaque X(k) correspondant à N multiplications, le bruit total pour chaque X(k) est donc : σ 2 e tot = Nσ 2 e m = N 3 2 2b. (VI.22) 4.1 Facteur d échelle Le nombre fini de bits pour représenter les données limite d une part la précision, mais aussi la dynamique représentable. Si on concidère que l on représente l intervalle [ 1, 1] et que le calcul d une TFD correspond pour chacune des raies fréquentielle

86 84 Transformée de Fourier rapide à l équation : X(k) = N 1 n=0 x(n)w nk N. (VI.23) Pour pouvoir représenter le résultat sans débordement ou saturation, on doit donc avoir la condition X(k) 1, qui est réalisée si on introduit un facteur d échelle de 1/N sur les données car alors on a X(k) = N 1 n=0 ( ) 1 N x(n) W nk N 1 N 1 N n=0 x(n) 1 (VI.24) (VI.25) 4.2 Rapport signal sur bruit de quantification pour une TFD Si on fait l hypothèse que les données x(n) sont blanches et distribuées uniformément sur l intervalle [ 1, 1], la puissance du signal x(n) est donné par σ 2 x = et devient après mise à l échelle par le facteur 1/N (VI.25) : 1 1 x dx = 1 3, σ 2 x S = 1 3N 2. (VI.26) Chaque X(k) est la somme de N variables indépendantes (VI.23) dont la puissance est donnée par (VI.26). La puissance de chaque X(k) est donc donné par : σx 2 = Nσx 2 S = 1 3N. (VI.27) Le rapport signal sur bruit d une TFD de N = 2 r points avec des données représentée sur b bits est alors donné par : RSB T F D = σ2 X σ 2 e tot = 1/3N 2 2b N/3 = 22b N 2, (VI.28) ou encore en db RSB T F D (db) = 6b 6r. (VI.29) La table 4.2 donne les RSB ainsi que le nombre de nombre de bits effectifs correspondant (6dB/bits) pour quelques longueurs usuelles et une représentations des données sur 16 bits. On voit que si on choisit une fenêtre de 4096 points et qu aucune précaution n est prise, la précision des calculs n est que de 4 bits! N RSB (db) précision (bits effectifs) 128 (r=7) (r=10) (r=12) 24 4 TABLE VI.5 Rapport signal sur bruit pour b = Influence du facteur d échelle sur le RSB L introduction d un facteur d échelle (VI.25) est déterminant pour la dégradation du RSB. Si on peut représenter la dynamique des données que l on cherche calculer, alors il n est plus nécessaire d introduire un facteur d échelle et le rapport signal sur bruit de quantification devient : RSB T F D = Nσ2 x σe 2 = N/3 tot N/3 2 2b = 22b. (VI.30) Il ne dépend plus de la longueur de la fenêtre, mais uniquement du nombre de bits pour représenter les données. Mais ceci suppose que les résultats puissent être représenté sur r + b bits. Par exemple dans le cas où on dispose d un accumulateur sur 40 bits, il est possible de calculer une TFD de 256 points sur 16 bits avec 96dB de RSB.

87 Transformée de Fourier rapide 85 FIGURE VI.16 Contribution des papillons à une sortie X(k) 4.4 Rapport signal sur bruit de quantification pour une TFR Afin de déterminer le rapport signal sur bruit de quantification dans le cas d une TFR, il est nécessaire de connaître le nombre de source de bruit, et donc le nombre de papillons impliqués pour le calcul d une sortie X(k) (figure 4.4). La valeur d un X(k) dépend donc de : N 2 papillons du premier étage. papillons du second étage. N 4. 1 papillon du r ème étage. Le nombre de papillons impliqués dans le calcul d une sortie X(k) est donc : = N 2 ( N 2 + N ( 1 2) = N ( 1 ( ) r ) 1 = N 1. 2 ( ) ) r La puissance total du bruit de quantification est alors : σ 2 e tot = 4(N 1) 2 12 N 3 2 2b. (VI.31) On abouti donc au même RSB que dans le cas de la TFD (VI.28) Ce qui est normal car le nombre d opération pour calculer une valeur est le même dans le cas de la TFR que dans celui de la TFD, le gain en nombre d opération ne provenant que d une factorisation des calculs. 4.5 Réalisation de la TFR en virgule flottante par bloc Un papillon de l étage n correspond aux calculs suivants : X n+1 (k) = X n (k) + W X n (l), X n+1 (l) = X n (k) W X n (l). Si le module des entrées X n (k) et X n (l) appartient à l intervalle [ 1, 1], alors le module des sorties X n+1 (k) et X n+1 (l) appartient à l intervalle [ 2, 2]. Si on introduit un facteur d échelle de 1/2 devant chaque papillon alors le module de ses sorties appartiendra à l intervalle [ 1, 1].

88 86 Transformée de Fourier rapide Le calcul d une sortie implique les papillons de r étages, qui chacun sont précédés d un facteur d échelle de 1/2, le facteur d échelle global est alors : ( ) r 1 = 1 2 N. C est le même que dans le cas de la TFD, mais maintenant ce facteur d échelle est réparti au cours du calcul plutôt que d être appliqué directement en entrée. Chaque facteur d échelle multiplie donc la donnée entrante dans le papillon, mais aussi les sources de bruit qui le précéde. Il atténue donc la puissance des sources de bruit qui le précède d un facteur de 1/4. Dans le cas d une implantation en virgule flottante par bloc de l algorithme de TFR, il y a pour chaque sortie : Au 1 er étage 4(N/2) sources de bruit dont les puissances sont atténuées d un facteur (1/4) r 1 par les facteurs d échelle des r 1 étages suivants. Au 2 nd étage 4(N/4) sources de bruit dont les puissances sont atténuées d un facteur (1/4) r 2 par les facteurs d échelle des r 2 étages suivants.. Au dernier étage 4 sources de bruit non atténuées. La puissance totale du bruit de quantification pour une sortie est donc : σ 2 e tot = 2 2b 12 = 2 2b 3 =2 2 2b 3 ( 4 N 2 r 1 ( 1 2 n=0 ( 1 ( ) r N 4 4 ) n ( 1 2 ) r ) ( ) r ) 4 (VI.32) σ 2 e tot b. On obtient donc un bruit de quantification qui est indépendant de N la taille de TFR. Le rapport signal sur bruit de quantification est donné par : ou encore en db RSB T F R = σ2 X σe 2 = 1/3N tot 2 2b 2/3 = 1 3 3N 2 22b = 1 2N 22b = 1 2 r+1 22b = 2 2b r 1, (VI.33) RSB T F R (db) = 6b 3r 3. (VI.34) Le tableau 4.5 donne les rapports signaux obtenus pour quelques longueurs usuelles. Ces résultats sont à comparer avec ceux du tableau 4.2 pour voir le gain en RSB que permet d obtenir une réalisation en virgule flottante par bloc. N RSB (db) précision (bits) 128 (r=7) (r=10) (r=12) TABLE VI.6 Rapport signal sur bruit de la TFR pour b = 16 5 Convolution par traitement par bloc Le théorème de convolution nous dit qu une convolution dans le domaine temporel correspond à un produit dans le domaine fréquentiel. Soit à calculer y(n) = x(n) h(n), la convolution de x(n) par h(n) s écrit : y(n) = N 1 m=0 x(m)h(n m). (VI.35)

89 Transformée de Fourier rapide 87 La suite d opération correspondant à l équation (VI.35) est représentée sur la figure VI.17 : si la suite x(n) est de longueur M et h(n) de longueur L, alors y(n) sera de longueur N = M + L 1. Pour réaliser le produit de convolution, la séquence h(n) est retournée temporellement, puis pour chaque de n (correspondant à un décalage vers la droite de la séquence h(n m) l équation (VI.35) est évaluée. FIGURE VI.17 Convolution Linéaire (Les parties grisées représentent le support de chacune des séquences) On peut calculer X(f) et H(f) les transformées de FOURIER de x(n) et h(n), puis en utilisant le théorème de convolution, calculer le produit terme à terme Y (f) = X(f) H(f) et enfin obtenir la séquence y(n) par transformée de FOURIER inverse : y(n) = + Y (f)e j2π f Fe n df. Le résultat obtenue sera alors le même que celui obtenu par l équation (VI.35) et représenté figure VI.17 à la condition d utiliser la tranformée de FOURIER continue. Si par contre on utilise la transformée de FOURIER discrète (VI.36), comme ce sera toujours le cas dans la pratique, l échantillonnage dans le domaine fréquentielle se traduira dans le domaine temporel par une périodisation du signal. Si le domaine fréquentiel est discrétisé avec un pas d échantillonnage f = Fe N, alors cela correspond à la périodisation implicite du signal temporel suivante : T p = 1 f = N F e = N.T e (figure VI.20). X(k) = N 1 n=0 x(n)e j 2π N kn H(k) = N 1 n=0 h(n)e j 2π N kn (VI.36) Le produit fréquentiel X(k) H(k) correspond alors à la convolution de deux signaux périodiques (ici de même période N.T e ). La séquence y(n) est obtenue par transformée de FOURIER discrète inverse de Y (k). Y (k) étant échantillonné, la séquence y(n) est périodique. FIGURE VI.18 Convolution de deux signaux N périodiques y(n) = 1 N N 1 k=0 Y (k)e j 2π N kn. (VI.37) La convolution de deux signaux N périodiques correspond à une convolution N circulaire, que l on note : y(n) = x(n) h(n) et qui correspond à l équation : y(n) = N 1 m=0 x(m)h((n m)) N, (VI.38)

90 88 Transformée de Fourier rapide FIGURE VI.19 Convolution circulaire de longueur N avec (( )) N = ( ) ModN. Cette convolution est représentée figure VI.19. Pour réaliser la convolution linéaire (VI.35) à l aide d une convolution N circulaire il faut des séquences de longueur N, on doit donc compléter la séquence x(n) par L 1 échantillons à 0 et la séquence h(n) par M 1 échantillons à 0. Puis effectuer la convolution circulaire des deux séquences de longueur N = M + L 1, la séquence y(n) obtenue correspond alors au résultat de la convolution linéaire des séquences x(n) et h(n). Cette procédure est illustrée figure VI.20. FIGURE VI.20 Convolution linéaire à l aide d une convolution circulaire Afin d implanter cet algorithme avec une des deux séquences (x(n)) de très grande longueur, cette dernière est découpée en bloc de longueur M (figure VI.21), puis complétée par L 1 échantillons à 0, elle est convoluée de manière circulaire avec la séquence h(n) qui a été complétée avec M 1 échantillons à 0. Le résultat de cette convolution comporte deux parties (figure VI.21), les M premiers échantillons et les L 1 derniers échantillons qui correspondent à la zone où y(n) dépend du bloc x(n) courant et du bloc x(n) suivant. La séquence de sortie y(n) est réalisée en sommant les L 1 premières valeurs du résultat de la convolution circulaire du bloc courant et les L 1 dernières valeurs du résultat de la convolution du bloc précédent. 5.1 Implantation de l algorithme Dans le cas d un filtre FIR statique les coefficients ne varient pas avec le temps (ce qui n est pas le cas de l égalisation), H(k) la TFD sur N points de h(n), peut être calculée une fois pour toute. La séquence x(n) est découpée en bloc de longueur M et complétée à Npar des échantillons à 0, (on pourra choisir M tel que N = L + M 1 = 2 r afin d utiliser un algorithme de TFR), puis X(k) la TFD de x(n) sur N points est calculée. Les suites X(k) et H(k) sont multipliées et on réalise la TFD inverse de la séquence Y (k), soit y(n) dont on conserve les L 1 derniers échantillons qui seront sommés aux L 1 premiers échantillons de la séquence suivante. Pour le calcul d une convolution linéaire on a M L multiplications réelles. Si on utilise l algorithme «overlap and add» on a N 2 log 2(N) multiplications complexes (avec N = M + L 1) soit 2N log 2 (N) multiplications réelles pour la TFD puis 4N multiplications réelles pour le produit des 2 TFD et enfin 2N log 2 (N) multiplications réelles pour la TFD inverse. Soit un total de 4N log 2 N + 4N = 4N(log 2 N + 1) multiplications réelles. L algorithme «overlap and add» sera avantageux si on a la condition : LM > 4N(log 2 N + 1), ceci correspond donc à la condition : ( L > L 1 ) (log M 2 (L + M 1) + 1). (VI.39)

91 Transformée de Fourier rapide 89 FIGURE VI.21 Représentation de l algorithme «overlap and add» au cours du temps FIGURE VI.22 Algorithme «overlap and add» Pour un L donné, on choisit donc M, la longueur du bloc x(n) tel qu il minimise le terme de droite de l équation (VI.39) sous la contrainte M + L 1 = 2 r, on trouve ainsi l optimum en nombre d opération par échantillon en sortie : ( ( ) M opt = argmin L 1 M (log2 (L + M 1) + 1) ) M (VI.40) M opt = 2 r + 1 L. Ce qui nous donne les résultats suivants : Nous voyons dans le tableau VI.7 que le gain en nombre d opération n est pas systématique mais intervient à partir d un filtre

92 90 Transformée de Fourier rapide L M M + L 1 Gain TABLE VI.7 Choix des tailles des séquences de longueur 64. Ce gain augmente avec la longueur du filtre Nous n avons considéré ici que les multiplications

Quantification Scalaire et Prédictive

Quantification Scalaire et Prédictive Quantification Scalaire et Prédictive Marco Cagnazzo Département Traitement du Signal et des Images TELECOM ParisTech 7 Décembre 2012 M. Cagnazzo Quantification Scalaire et Prédictive 1/64 Plan Introduction

Plus en détail

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE Le schéma synoptique ci-dessous décrit les différentes étapes du traitement numérique

Plus en détail

Systèmes de transmission

Systèmes de transmission Systèmes de transmission Conception d une transmission série FABRE Maxime 2012 Introduction La transmission de données désigne le transport de quelque sorte d'information que ce soit, d'un endroit à un

Plus en détail

Systèmes de communications numériques 2

Systèmes de communications numériques 2 Systèmes de Communications Numériques Philippe Ciuciu, Christophe Vignat Laboratoire des Signaux et Systèmes cnrs supélec ups supélec, Plateau de Moulon, 9119 Gif-sur-Yvette [email protected] Université

Plus en détail

Transmission d informations sur le réseau électrique

Transmission d informations sur le réseau électrique Transmission d informations sur le réseau électrique Introduction Remarques Toutes les questions en italique devront être préparées par écrit avant la séance du TP. Les préparations seront ramassées en

Plus en détail

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE RANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE Un message numérique est une suite de nombres que l on considérera dans un premier temps comme indépendants.ils sont codés le plus souvent

Plus en détail

Chaine de transmission

Chaine de transmission Chaine de transmission Chaine de transmission 1. analogiques à l origine 2. convertis en signaux binaires Échantillonnage + quantification + codage 3. brassage des signaux binaires Multiplexage 4. séparation

Plus en détail

Intérêt du découpage en sous-bandes pour l analyse spectrale

Intérêt du découpage en sous-bandes pour l analyse spectrale Intérêt du découpage en sous-bandes pour l analyse spectrale David BONACCI Institut National Polytechnique de Toulouse (INP) École Nationale Supérieure d Électrotechnique, d Électronique, d Informatique,

Plus en détail

I. Polynômes de Tchebychev

I. Polynômes de Tchebychev Première épreuve CCP filière MP I. Polynômes de Tchebychev ( ) 1.a) Tout réel θ vérifie cos(nθ) = Re ((cos θ + i sin θ) n ) = Re Cn k (cos θ) n k i k (sin θ) k Or i k est réel quand k est pair et imaginaire

Plus en détail

Dan Istrate. Directeur de thèse : Eric Castelli Co-Directeur : Laurent Besacier

Dan Istrate. Directeur de thèse : Eric Castelli Co-Directeur : Laurent Besacier Détection et reconnaissance des sons pour la surveillance médicale Dan Istrate le 16 décembre 2003 Directeur de thèse : Eric Castelli Co-Directeur : Laurent Besacier Thèse mené dans le cadre d une collaboration

Plus en détail

Expérience 3 Formats de signalisation binaire

Expérience 3 Formats de signalisation binaire Expérience 3 Formats de signalisation binaire Introduction Procédures Effectuez les commandes suivantes: >> xhost nat >> rlogin nat >> setenv DISPLAY machine:0 >> setenv MATLABPATH /gel/usr/telecom/comm_tbx

Plus en détail

LABO 5-6 - 7 PROJET : IMPLEMENTATION D UN MODEM ADSL SOUS MATLAB

LABO 5-6 - 7 PROJET : IMPLEMENTATION D UN MODEM ADSL SOUS MATLAB LABO 5-6 - 7 PROJET : IMPLEMENTATION D UN MODEM ADSL SOUS MATLAB 5.1 Introduction Au cours de séances précédentes, nous avons appris à utiliser un certain nombre d'outils fondamentaux en traitement du

Plus en détail

Chapitre I La fonction transmission

Chapitre I La fonction transmission Chapitre I La fonction transmission 1. Terminologies 1.1 Mode guidé / non guidé Le signal est le vecteur de l information à transmettre. La transmission s effectue entre un émetteur et un récepteur reliés

Plus en détail

LES CARACTERISTIQUES DES SUPPORTS DE TRANSMISSION

LES CARACTERISTIQUES DES SUPPORTS DE TRANSMISSION LES CARACTERISTIQUES DES SUPPORTS DE TRANSMISSION LES CARACTERISTIQUES DES SUPPORTS DE TRANSMISSION ) Caractéristiques techniques des supports. L infrastructure d un réseau, la qualité de service offerte,

Plus en détail

Systèmes de communications numériques 2

Systèmes de communications numériques 2 Systèmes de Communications Numériques Philippe Ciuciu, Christophe Vignat Laboratoire des Signaux et Systèmes CNRS SUPÉLEC UPS SUPÉLEC, Plateau de Moulon, 91192 Gif-sur-Yvette [email protected] Université

Plus en détail

Continuité et dérivabilité d une fonction

Continuité et dérivabilité d une fonction DERNIÈRE IMPRESSIN LE 7 novembre 014 à 10:3 Continuité et dérivabilité d une fonction Table des matières 1 Continuité d une fonction 1.1 Limite finie en un point.......................... 1. Continuité

Plus en détail

Communications numériques

Communications numériques Communications numériques 1. Modulation numérique (a) message numérique/signal numérique (b) transmission binaire/m-aire en bande de base (c) modulation sur fréquence porteuse (d) paramètres, limite fondamentale

Plus en détail

Suites numériques 4. 1 Autres recettes pour calculer les limites

Suites numériques 4. 1 Autres recettes pour calculer les limites Suites numériques 4 1 Autres recettes pour calculer les limites La propriété suivante permet de calculer certaines limites comme on verra dans les exemples qui suivent. Propriété 1. Si u n l et fx) est

Plus en détail

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007 Vision industrielle et télédétection - Détection d ellipses Guillaume Martinez 17 décembre 2007 1 Table des matières 1 Le projet 3 1.1 Objectif................................ 3 1.2 Les choix techniques.........................

Plus en détail

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que Introduction. On suppose connus les ensembles N (des entiers naturels), Z des entiers relatifs et Q (des nombres rationnels). On s est rendu compte, depuis l antiquité, que l on ne peut pas tout mesurer

Plus en détail

Correction de l examen de la première session

Correction de l examen de la première session de l examen de la première session Julian Tugaut, Franck Licini, Didier Vincent Si vous trouvez des erreurs de Français ou de mathématiques ou bien si vous avez des questions et/ou des suggestions, envoyez-moi

Plus en détail

Partie 1: Gestion de l interférence entre symboles

Partie 1: Gestion de l interférence entre symboles Partie 1: Gestion de l interférence entre symboles Philippe Ciblat Télécom ParisTech, France Algo de Viterbi Egalisation OFDM Section 11 : Algorithme de Viterbi Philippe Ciblat Gestion de l interférence

Plus en détail

5.2 Théorème/Transformée de Fourier a) Théorème

5.2 Théorème/Transformée de Fourier a) Théorème . Théorème de Fourier et Transformée de Fourier Fourier, Joseph (788). Théorème/Transformée de Fourier a) Théorème Théorème «de Fourier»: N importe quelle courbe peut être décomposée en une superposition

Plus en détail

Étude des Corrélations entre Paramètres Statiques et Dynamiques des Convertisseurs Analogique-Numérique en vue d optimiser leur Flot de Test

Étude des Corrélations entre Paramètres Statiques et Dynamiques des Convertisseurs Analogique-Numérique en vue d optimiser leur Flot de Test 11 juillet 2003 Étude des Corrélations entre Paramètres Statiques et Dynamiques des Convertisseurs Analogique-Numérique en vue d optimiser leur Flot de Test Mariane Comte Plan 2 Introduction et objectif

Plus en détail

Exercices - Nombres complexes : corrigé. Formes algébriques et trigonométriques, module et argument

Exercices - Nombres complexes : corrigé. Formes algébriques et trigonométriques, module et argument Formes algébriques et trigonométriques, module et argument Exercice - - L/Math Sup - On multiplie le dénominateur par sa quantité conjuguée, et on obtient : Z = 4 i 3 + i 3 i 3 = 4 i 3 + 3 = + i 3. Pour

Plus en détail

Une introduction aux codes correcteurs quantiques

Une introduction aux codes correcteurs quantiques Une introduction aux codes correcteurs quantiques Jean-Pierre Tillich INRIA Rocquencourt, équipe-projet SECRET 20 mars 2008 1/38 De quoi est-il question ici? Code quantique : il est possible de corriger

Plus en détail

TD1 Signaux, énergie et puissance, signaux aléatoires

TD1 Signaux, énergie et puissance, signaux aléatoires TD1 Signaux, énergie et puissance, signaux aléatoires I ) Ecrire l'expression analytique des signaux représentés sur les figures suivantes à l'aide de signaux particuliers. Dans le cas du signal y(t) trouver

Plus en détail

Traitement du signal avec Scilab : la transformée de Fourier discrète

Traitement du signal avec Scilab : la transformée de Fourier discrète Traitement du signal avec Scilab : la transformée de Fourier discrète L objectif de cette séance est de valider l expression de la transformée de Fourier Discrète (TFD), telle que peut la déterminer un

Plus en détail

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R.

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R. Angles orientés Trigonométrie I. Préliminaires. Le radian Définition B R AB =R C O radian R A Soit C un cercle de centre O. Dire que l angle géométrique AOB a pour mesure radian signifie que la longueur

Plus en détail

Traitement du signal avec Scilab : transmission numérique en bande de base

Traitement du signal avec Scilab : transmission numérique en bande de base Traitement du signal avec Scilab : transmission numérique en bande de base La transmission d informations numériques en bande de base, même si elle peut paraître simple au premier abord, nécessite un certain

Plus en détail

ISO/CEI 11172-3 NORME INTERNATIONALE

ISO/CEI 11172-3 NORME INTERNATIONALE NORME INTERNATIONALE ISO/CEI 11172-3 Première édition 1993-08-01 Technologies de l information - Codage de l image animée et du son associé pour les supports de stockage numérique jusqu à environ Ii5 Mbit/s

Plus en détail

TP Modulation Démodulation BPSK

TP Modulation Démodulation BPSK I- INTRODUCTION : TP Modulation Démodulation BPSK La modulation BPSK est une modulation de phase (Phase Shift Keying = saut discret de phase) par signal numérique binaire (Binary). La phase d une porteuse

Plus en détail

Transmission de données. A) Principaux éléments intervenant dans la transmission

Transmission de données. A) Principaux éléments intervenant dans la transmission Page 1 / 7 A) Principaux éléments intervenant dans la transmission A.1 Equipement voisins Ordinateur ou terminal Ordinateur ou terminal Canal de transmission ETTD ETTD ETTD : Equipement Terminal de Traitement

Plus en détail

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

Texte Agrégation limitée par diffusion interne

Texte Agrégation limitée par diffusion interne Page n 1. Texte Agrégation limitée par diffusion interne 1 Le phénomène observé Un fût de déchets radioactifs est enterré secrètement dans le Cantal. Au bout de quelques années, il devient poreux et laisse

Plus en détail

aux différences est appelé équation aux différences d ordre n en forme normale.

aux différences est appelé équation aux différences d ordre n en forme normale. MODÉLISATION ET SIMULATION EQUATIONS AUX DIFFÉRENCES (I/II) 1. Rappels théoriques : résolution d équations aux différences 1.1. Équations aux différences. Définition. Soit x k = x(k) X l état scalaire

Plus en détail

ÉVALUATION FORMATIVE. On considère le circuit électrique RC représenté ci-dessous où R et C sont des constantes strictement positives.

ÉVALUATION FORMATIVE. On considère le circuit électrique RC représenté ci-dessous où R et C sont des constantes strictement positives. L G L G Prof. Éric J.M.DELHEZ ANALYSE MATHÉMATIQUE ÉALUATION FORMATIE Novembre 211 Ce test vous est proposé pour vous permettre de faire le point sur votre compréhension du cours d Analyse Mathématique.

Plus en détail

M1107 : Initiation à la mesure du signal. T_MesSig

M1107 : Initiation à la mesure du signal. T_MesSig 1/81 M1107 : Initiation à la mesure du signal T_MesSig Frédéric PAYAN IUT Nice Côte d Azur - Département R&T Université de Nice Sophia Antipolis [email protected] 15 octobre 2014 2/81 Curriculum

Plus en détail

Echantillonnage Non uniforme

Echantillonnage Non uniforme Echantillonnage Non uniforme Marie CHABERT IRIT/INP-ENSEEIHT/ ENSEEIHT/TéSASA Patrice MICHEL et Bernard LACAZE TéSA 1 Plan Introduction Echantillonnage uniforme Echantillonnage irrégulier Comparaison Cas

Plus en détail

Quatrième partie IV. Test. Test 15 février 2008 1 / 71

Quatrième partie IV. Test. Test 15 février 2008 1 / 71 Quatrième partie IV Test Test 15 février 2008 1 / 71 Outline Introduction 1 Introduction 2 Analyse statique 3 Test dynamique Test fonctionnel et structurel Test structurel Test fonctionnel 4 Conclusion

Plus en détail

Comparaison de fonctions Développements limités. Chapitre 10

Comparaison de fonctions Développements limités. Chapitre 10 PCSI - 4/5 www.ericreynaud.fr Chapitre Points importants 3 Questions de cours 6 Eercices corrigés Plan du cours 4 Eercices types 7 Devoir maison 5 Eercices Chap Et s il ne fallait retenir que si points?

Plus en détail

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34 Capacité d un canal Second Théorème de Shannon Théorie de l information 1/34 Plan du cours 1. Canaux discrets sans mémoire, exemples ; 2. Capacité ; 3. Canaux symétriques ; 4. Codage de canal ; 5. Second

Plus en détail

1S Modèles de rédaction Enoncés

1S Modèles de rédaction Enoncés Par l équipe des professeurs de 1S du lycée Parc de Vilgénis 1S Modèles de rédaction Enoncés Produit scalaire & Corrigés Exercice 1 : définition du produit scalaire Soit ABC un triangle tel que AB, AC

Plus en détail

Angles orientés et fonctions circulaires ( En première S )

Angles orientés et fonctions circulaires ( En première S ) Angles orientés et fonctions circulaires ( En première S ) Dernière mise à jour : Jeudi 01 Septembre 010 Vincent OBATON, Enseignant au lycée Stendhal de Grenoble (Année 006-007) Lycée Stendhal, Grenoble

Plus en détail

CCP PSI - 2010 Mathématiques 1 : un corrigé

CCP PSI - 2010 Mathématiques 1 : un corrigé CCP PSI - 00 Mathématiques : un corrigé Première partie. Définition d une structure euclidienne sur R n [X]... B est clairement symétrique et linéaire par rapport à sa seconde variable. De plus B(P, P

Plus en détail

Statistiques Descriptives à une dimension

Statistiques Descriptives à une dimension I. Introduction et Définitions 1. Introduction La statistique est une science qui a pour objectif de recueillir et de traiter les informations, souvent en très grand nombre. Elle regroupe l ensemble des

Plus en détail

La couche physique de l ADSL (voie descendante)

La couche physique de l ADSL (voie descendante) La couche physique de l ADSL (voie descendante) Philippe Ciblat École Nationale Supérieure des Télécommunications, Paris, France Problématique qq kilomètres CENTRAL câble de 0,4mm Objectifs initiaux :

Plus en détail

PROBABILITES ET STATISTIQUE I&II

PROBABILITES ET STATISTIQUE I&II PROBABILITES ET STATISTIQUE I&II TABLE DES MATIERES CHAPITRE I - COMBINATOIRE ELEMENTAIRE I.1. Rappel des notations de la théorie des ensemble I.1.a. Ensembles et sous-ensembles I.1.b. Diagrammes (dits

Plus en détail

Transmission des signaux numériques

Transmission des signaux numériques Transmission des signaux numériques par Hikmet SARI Chef de Département d Études à la Société Anonyme de Télécommunications (SAT) Professeur Associé à Télécom Paris. Transmission en bande de base... E

Plus en détail

1. PRESENTATION DU PROJET

1. PRESENTATION DU PROJET Bac STI2D Formation des enseignants Jean-François LIEBAUT Denis PENARD SIN 63 : Prototypage d un traitement de l information analogique et numérique (PSoC) 1. PRESENTATION DU PROJET Les systèmes d éclairage

Plus en détail

Optimisation Discrète

Optimisation Discrète Prof F Eisenbrand EPFL - DISOPT Optimisation Discrète Adrian Bock Semestre de printemps 2011 Série 7 7 avril 2011 Exercice 1 i Considérer le programme linéaire max{c T x : Ax b} avec c R n, A R m n et

Plus en détail

NOMBRES COMPLEXES. Exercice 1 :

NOMBRES COMPLEXES. Exercice 1 : Exercice 1 : NOMBRES COMPLEXES On donne θ 0 un réel tel que : cos(θ 0 ) 5 et sin(θ 0 ) 1 5. Calculer le module et l'argument de chacun des nombres complexes suivants (en fonction de θ 0 ) : a i( )( )(1

Plus en détail

Projet Matlab : un logiciel de cryptage

Projet Matlab : un logiciel de cryptage Projet Matlab : un logiciel de cryptage La stéganographie (du grec steganos : couvert et graphein : écriture) consiste à dissimuler une information au sein d'une autre à caractère anodin, de sorte que

Plus en détail

Information. BASES LITTERAIRES Etre capable de répondre à une question du type «la valeur trouvée respecte t-elle le cahier des charges?

Information. BASES LITTERAIRES Etre capable de répondre à une question du type «la valeur trouvée respecte t-elle le cahier des charges? Compétences générales Avoir des piles neuves, ou récentes dans sa machine à calculer. Etre capable de retrouver instantanément une info dans sa machine. Prendre une bouteille d eau. Prendre CNI + convocation.

Plus en détail

Architectures et Protocoles des Réseaux

Architectures et Protocoles des Réseaux Chapitre 5 - Les réseaux xdsl Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX [email protected] Claude Duvallet 1/32 Plan de la

Plus en détail

Filtrage stochastique non linéaire par la théorie de représentation des martingales

Filtrage stochastique non linéaire par la théorie de représentation des martingales Filtrage stochastique non linéaire par la théorie de représentation des martingales Adriana Climescu-Haulica Laboratoire de Modélisation et Calcul Institut d Informatique et Mathématiques Appliquées de

Plus en détail

EMETTEUR ULB. Architectures & circuits. Ecole ULB GDRO ESISAR - Valence 23-27/10/2006. David MARCHALAND STMicroelectronics 26/10/2006

EMETTEUR ULB. Architectures & circuits. Ecole ULB GDRO ESISAR - Valence 23-27/10/2006. David MARCHALAND STMicroelectronics 26/10/2006 EMETTEUR ULB Architectures & circuits David MARCHALAND STMicroelectronics 26/10/2006 Ecole ULB GDRO ESISAR - Valence 23-27/10/2006 Introduction Emergence des applications de type LR-WPAN : Dispositif communicant

Plus en détail

Représentation d un entier en base b

Représentation d un entier en base b Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

Cours d analyse numérique SMI-S4

Cours d analyse numérique SMI-S4 ours d analyse numérique SMI-S4 Introduction L objet de l analyse numérique est de concevoir et d étudier des méthodes de résolution de certains problèmes mathématiques, en général issus de problèmes réels,

Plus en détail

PHYSIQUE-CHIMIE. Partie I - Spectrophotomètre à réseau

PHYSIQUE-CHIMIE. Partie I - Spectrophotomètre à réseau PHYSIQUE-CHIMIE L absorption des radiations lumineuses par la matière dans le domaine s étendant du proche ultraviolet au très proche infrarouge a beaucoup d applications en analyse chimique quantitative

Plus en détail

3 Approximation de solutions d équations

3 Approximation de solutions d équations 3 Approximation de solutions d équations Une équation scalaire a la forme générale f(x) =0où f est une fonction de IR dans IR. Un système de n équations à n inconnues peut aussi se mettre sous une telle

Plus en détail

Recherche De Coalescences Binaires Étalonnage Du Détecteur

Recherche De Coalescences Binaires Étalonnage Du Détecteur Recherche De Coalescences Binaires Étalonnage Du Détecteur Fabrice Beauville Journées Jeunes Chercheurs 18/12/2003 Les Coalescences Binaires & VIRGO Système binaire d objets compacts (étoiles à neutrons,

Plus en détail

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII ALGORITHMIQUE II NOTION DE COMPLEXITE 1 2 Comment choisir entre différents algorithmes pour résoudre un même problème? Plusieurs critères de choix : Exactitude Simplicité Efficacité (but de ce chapitre)

Plus en détail

Limitations of the Playstation 3 for High Performance Cluster Computing

Limitations of the Playstation 3 for High Performance Cluster Computing Introduction Plan Limitations of the Playstation 3 for High Performance Cluster Computing July 2007 Introduction Plan Introduction Intérêts de la PS3 : rapide et puissante bon marché L utiliser pour faire

Plus en détail

Filtres passe-bas. On utilise les filtres passe-bas pour réduire l amplitude des composantes de fréquences supérieures à la celle de la coupure.

Filtres passe-bas. On utilise les filtres passe-bas pour réduire l amplitude des composantes de fréquences supérieures à la celle de la coupure. Filtres passe-bas Ce court document expose les principes des filtres passe-bas, leurs caractéristiques en fréquence et leurs principales topologies. Les éléments de contenu sont : Définition du filtre

Plus en détail

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Exercices - Polynômes : corrigé. Opérations sur les polynômes Opérations sur les polynômes Exercice 1 - Carré - L1/Math Sup - Si P = Q est le carré d un polynôme, alors Q est nécessairement de degré, et son coefficient dominant est égal à 1. On peut donc écrire Q(X)

Plus en détail

LA COUCHE PHYSIQUE EST LA COUCHE par laquelle l information est effectivemnt transmise.

LA COUCHE PHYSIQUE EST LA COUCHE par laquelle l information est effectivemnt transmise. M Informatique Réseaux Cours bis Couche Physique Notes de Cours LA COUCHE PHYSIQUE EST LA COUCHE par laquelle l information est effectivemnt transmise. Les technologies utilisées sont celles du traitement

Plus en détail

Enregistrement et transformation du son. S. Natkin Novembre 2001

Enregistrement et transformation du son. S. Natkin Novembre 2001 Enregistrement et transformation du son S. Natkin Novembre 2001 1 Éléments d acoustique 2 Dynamique de la puissance sonore 3 Acoustique géométrique: effets de diffusion et de diffraction des ondes sonores

Plus en détail

INF6304 Interfaces Intelligentes

INF6304 Interfaces Intelligentes INF6304 Interfaces Intelligentes filtres collaboratifs 1/42 INF6304 Interfaces Intelligentes Systèmes de recommandations, Approches filtres collaboratifs Michel C. Desmarais Génie informatique et génie

Plus en détail

Programmation linéaire

Programmation linéaire 1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit

Plus en détail

Les réseaux cellulaires

Les réseaux cellulaires Les réseaux cellulaires Introduction Master 2 Professionnel STIC-Informatique Module RMHD 1 Introduction Les réseaux cellulaires sont les réseaux dont l'évolution a probablement été la plus spectaculaire

Plus en détail

I Stabilité, Commandabilité et Observabilité 11. 1 Introduction 13 1.1 Un exemple emprunté à la robotique... 13 1.2 Le plan... 18 1.3 Problème...

I Stabilité, Commandabilité et Observabilité 11. 1 Introduction 13 1.1 Un exemple emprunté à la robotique... 13 1.2 Le plan... 18 1.3 Problème... TABLE DES MATIÈRES 5 Table des matières I Stabilité, Commandabilité et Observabilité 11 1 Introduction 13 1.1 Un exemple emprunté à la robotique................... 13 1.2 Le plan...................................

Plus en détail

3.2. Matlab/Simulink. 3.2.1. Généralités

3.2. Matlab/Simulink. 3.2.1. Généralités 3.2. Matlab/Simulink 3.2.1. Généralités Il s agit d un logiciel parfaitement dédié à la résolution de problèmes d'analyse numérique ou de traitement du signal. Il permet d'effectuer des calculs matriciels,

Plus en détail

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x = LE NOMBRE D OR Présentation et calcul du nombre d or Euclide avait trouvé un moyen de partager en deu un segment selon en «etrême et moyenne raison» Soit un segment [AB]. Le partage d Euclide consiste

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */. Page 1 de 9 MATLAB : COMMANDES DE BASE Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */. Aide help, help nom_de_commande Fenêtre de travail (Command Window) Ligne

Plus en détail

BTS Groupement A. Mathématiques Session 2011. Spécialités CIRA, IRIS, Systèmes électroniques, TPIL

BTS Groupement A. Mathématiques Session 2011. Spécialités CIRA, IRIS, Systèmes électroniques, TPIL BTS Groupement A Mathématiques Session 11 Exercice 1 : 1 points Spécialités CIRA, IRIS, Systèmes électroniques, TPIL On considère un circuit composé d une résistance et d un condensateur représenté par

Plus en détail

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer Pour commencer Exercice 1 - Ensembles de définition - Première année - 1. Le logarithme est défini si x + y > 0. On trouve donc le demi-plan supérieur délimité par la droite d équation x + y = 0.. 1 xy

Plus en détail

F411 - Courbes Paramétrées, Polaires

F411 - Courbes Paramétrées, Polaires 1/43 Courbes Paramétrées Courbes polaires Longueur d un arc, Courbure F411 - Courbes Paramétrées, Polaires Michel Fournié [email protected] http://www.math.univ-toulouse.fr/ fournie/ Année 2012/2013

Plus en détail

Electron S.R.L. - MERLINO - MILAN ITALIE Tel (++ 39 02) 90659200 Fax 90659180 Web www.electron.it, e-mail [email protected]

Electron S.R.L. - MERLINO - MILAN ITALIE Tel (++ 39 02) 90659200 Fax 90659180 Web www.electron.it, e-mail electron@electron.it Electron S.R.L. Design Production & Trading of Educational Equipment B3510--II APPLIICATIIONS DE TRANSDUCTEURS A ULTRASONS MANUEL D IINSTRUCTIIONS POUR L ETUDIIANT Electron S.R.L. - MERLINO - MILAN ITALIE

Plus en détail

Ebauche Rapport finale

Ebauche Rapport finale Ebauche Rapport finale Sommaire : 1 - Introduction au C.D.N. 2 - Définition de la problématique 3 - Etat de l'art : Présentatio de 3 Topologies streaming p2p 1) INTRODUCTION au C.D.N. La croissance rapide

Plus en détail

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

Introduction à l informatique temps réel Pierre-Yves Duval (cppm) Introduction à l informatique temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 7-11 Octobre 2002 -Définition et problématique - Illustration par des exemples -Automatisme:

Plus en détail

Le calculateur numérique pour la commande des processus

Le calculateur numérique pour la commande des processus Le calculateur numérique pour la commande des processus par Daniel JAUME Maître de Conférences au Laboratoire d Automatique du Conservatoire National des Arts et Métiers et Michel VERGÉ Professeur des

Plus en détail

1 Définition de la non stationnarité

1 Définition de la non stationnarité Chapitre 2: La non stationnarité -Testsdedétection Quelques notes de cours (non exhaustives) 1 Définition de la non stationnarité La plupart des séries économiques sont non stationnaires, c est-à-direqueleprocessusquiles

Plus en détail

Chapitre 2 Les ondes progressives périodiques

Chapitre 2 Les ondes progressives périodiques DERNIÈRE IMPRESSION LE er août 203 à 7:04 Chapitre 2 Les ondes progressives périodiques Table des matières Onde périodique 2 2 Les ondes sinusoïdales 3 3 Les ondes acoustiques 4 3. Les sons audibles.............................

Plus en détail

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES Théorème - Définition Soit un cercle (O,R) et un point. Une droite passant par coupe le cercle en deux points A et

Plus en détail

Compatibilité Électromagnétique

Compatibilité Électromagnétique Compatibilité Électromagnétique notions générales et applications à l électronique de puissance Ir. Stéphane COETS 18 mai 2005 Journée d étude en Électronique de Puissance 1 Plan de l exposé La Compatibilité

Plus en détail

Informatique Générale

Informatique Générale Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) [email protected] Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html

Plus en détail

TV NUMERIQUE MOBILE : DU DVB-T AU DVB-H

TV NUMERIQUE MOBILE : DU DVB-T AU DVB-H 115189_TechnoN32 21/11/05 16:11 Page 56 56-57 : DU DVB-T AU DVB-H Gérard POUSSET, V.P. Marketing : Business Development chez DiBcom Grâce à ses circuits de traitement de signal spécifiques, DiBcom propose

Plus en détail

G.P. DNS02 Septembre 2012. Réfraction...1 I.Préliminaires...1 II.Première partie...1 III.Deuxième partie...3. Réfraction

G.P. DNS02 Septembre 2012. Réfraction...1 I.Préliminaires...1 II.Première partie...1 III.Deuxième partie...3. Réfraction DNS Sujet Réfraction...1 I.Préliminaires...1 II.Première partie...1 III.Deuxième partie...3 Réfraction I. Préliminaires 1. Rappeler la valeur et l'unité de la perméabilité magnétique du vide µ 0. Donner

Plus en détail

L exclusion mutuelle distribuée

L exclusion mutuelle distribuée L exclusion mutuelle distribuée L algorithme de L Amport L algorithme est basé sur 2 concepts : L estampillage des messages La distribution d une file d attente sur l ensemble des sites du système distribué

Plus en détail

SUJET ZÉRO Epreuve d'informatique et modélisation de systèmes physiques

SUJET ZÉRO Epreuve d'informatique et modélisation de systèmes physiques SUJET ZÉRO Epreuve d'informatique et modélisation de systèmes physiques Durée 4 h Si, au cours de l épreuve, un candidat repère ce qui lui semble être une erreur d énoncé, d une part il le signale au chef

Plus en détail

Cours 7 : Utilisation de modules sous python

Cours 7 : Utilisation de modules sous python Cours 7 : Utilisation de modules sous python 2013/2014 Utilisation d un module Importer un module Exemple : le module random Importer un module Exemple : le module random Importer un module Un module est

Plus en détail

xdsl Digital Suscriber Line «Utiliser la totalité de la bande passante du cuivre»

xdsl Digital Suscriber Line «Utiliser la totalité de la bande passante du cuivre» xdsl Digital Suscriber Line «Utiliser la totalité de la bande passante du cuivre» Le marché en France ~ 9 millions d abonnés fin 2005 ~ 6 millions fin 2004 dont la moitié chez l opérateur historique et

Plus en détail

Séries Statistiques Simples

Séries Statistiques Simples 1. Collecte et Représentation de l Information 1.1 Définitions 1.2 Tableaux statistiques 1.3 Graphiques 2. Séries statistiques simples 2.1 Moyenne arithmétique 2.2 Mode & Classe modale 2.3 Effectifs &

Plus en détail

Téléinformatique. Chapitre V : La couche liaison de données dans Internet. ESEN Université De La Manouba

Téléinformatique. Chapitre V : La couche liaison de données dans Internet. ESEN Université De La Manouba Téléinformatique Chapitre V : La couche liaison de données dans Internet ESEN Université De La Manouba Les techniques DSL La bande passante du service voix est limitée à 4 khz, cependant la bande passante

Plus en détail

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd UE 503 L3 MIAGE Initiation Réseau et Programmation Web La couche physique A. Belaïd [email protected] http://www.loria.fr/~abelaid/ Année Universitaire 2011/2012 2 Le Modèle OSI La couche physique ou le

Plus en détail