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



Documents pareils
Quantification Scalaire et Prédictive

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

Systèmes de transmission

Systèmes de communications numériques 2

Transmission d informations sur le réseau électrique

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

Chaine de transmission

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

I. Polynômes de Tchebychev

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

Expérience 3 Formats de signalisation binaire

LABO PROJET : IMPLEMENTATION D UN MODEM ADSL SOUS MATLAB

Chapitre I La fonction transmission

LES CARACTERISTIQUES DES SUPPORTS DE TRANSMISSION

Systèmes de communications numériques 2

Continuité et dérivabilité d une fonction

Communications numériques

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

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

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

Correction de l examen de la première session

Partie 1: Gestion de l interférence entre symboles

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

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

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

Une introduction aux codes correcteurs quantiques

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

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

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.

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

ISO/CEI NORME INTERNATIONALE

TP Modulation Démodulation BPSK

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

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

Texte Agrégation limitée par diffusion interne

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

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

M1107 : Initiation à la mesure du signal. T_MesSig

Echantillonnage Non uniforme

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

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

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

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

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

CCP PSI Mathématiques 1 : un corrigé

Statistiques Descriptives à une dimension

La couche physique de l ADSL (voie descendante)

PROBABILITES ET STATISTIQUE I&II

Transmission des signaux numériques

1. PRESENTATION DU PROJET

Optimisation Discrète

NOMBRES COMPLEXES. Exercice 1 :

Projet Matlab : un logiciel de cryptage

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

Architectures et Protocoles des Réseaux

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

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

Représentation d un entier en base b

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

Cours d analyse numérique SMI-S4

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

3 Approximation de solutions d équations

Recherche De Coalescences Binaires Étalonnage Du Détecteur

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

Limitations of the Playstation 3 for High Performance Cluster Computing

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.

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

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

Enregistrement et transformation du son. S. Natkin Novembre 2001

INF6304 Interfaces Intelligentes

Programmation linéaire

Les réseaux cellulaires

I Stabilité, Commandabilité et Observabilité Introduction Un exemple emprunté à la robotique Le plan Problème...

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

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 =

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

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

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

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

F411 - Courbes Paramétrées, Polaires

Electron S.R.L. - MERLINO - MILAN ITALIE Tel ( ) Fax Web electron@electron.it

Ebauche Rapport finale

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

Le calculateur numérique pour la commande des processus

1 Définition de la non stationnarité

Chapitre 2 Les ondes progressives périodiques

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

Compatibilité Électromagnétique

Informatique Générale

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

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

L exclusion mutuelle distribuée

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

Cours 7 : Utilisation de modules sous python

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

Séries Statistiques Simples

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

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

Transcription:

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

Table des matières I Introduction 7 1 Implantation logicielle et/ou matérielle........................................ 7 1.1 Critères de qualité.............................................. 7 1.2 Structure d implantation........................................... 8 1.3 Puissance de calcul.............................................. 8 2 Réalisation de systèmes discrets........................................... 9 II Filtres Numériques 11 1 Filtres FIR....................................................... 11 1.1 Structure directe............................................... 11 1.2 Structure symétrique............................................. 15 1.3 Structure cascade............................................... 15 1.4 Réalisation récursive............................................. 17 2 Filtres IIR....................................................... 18 2.1 Formes directes................................................ 18 2.2 Graphe de flot de données.......................................... 19 2.3 Décomposition cascade............................................ 20 3 Structure couplée................................................... 21 4 Algorithme de GOERTZEL.............................................. 22 4.1 Calcul de la réponse impulsionnelle d un résonnateur............................ 24 4.2 Amplitude du signal à la sortie du résonnateur................................ 24 III Quantification et Stabilité 27 1 Introduction...................................................... 27 2 Modélisation du bruit de quantification........................................ 27 3 Effets de la quantification............................................... 28 4 Quantification des coefficients............................................ 28 4.1 Position des pôles et des zéros après quantification............................. 28 4.2 Quantification et stabilité........................................... 29 4.3 Variance de fonction de transfert en fonction de la quantification des coefficients............. 31 4.4 Sensibilité des pôles et des zéros à la quantification des coefficients.................... 32 5 Quantification des données.............................................. 34 5.1 Cycles limites................................................. 35 6 Mise à l échelle et ordonnancement des cellules dans une structure cascade.................... 38 6.1 Appariement des pôles et des zéros..................................... 38 6.2 Facteur d échelle............................................... 39 6.3 Bruit de calcul dans un filtre récursif..................................... 41 6.4 Ordonnancement des cellules........................................ 42 6.5 Rapport signal sur bruit............................................ 42 IV Traitement multicadence 43 1 Suréchantillonnage.................................................. 43 1.1 Transformée en Z du signal suréchantillonné................................ 44 1.2 Identité remarquable du suréchantillonnage................................. 46 1.3 Décomposition polyphase, cas du suréchantillonnage............................ 46 2 Décimation...................................................... 47 2.1 Transformée en Z du signal décimé..................................... 48 2.2 Identité remarquable de la décimation.................................... 50 1

2 TABLE DES MATIÈRES 2.3 Décomposition polyphase, cas de la décimation............................... 51 2.4 Exemple d application : le convertisseur Sigma-Delta............................ 51 3 Commutativité de la décimation et du suréchantillonnage.............................. 52 4 Changement de fréquence d échantillonnage..................................... 52 4.1 Principe général............................................... 52 4.2 Implantation polyphase............................................ 54 5 Banc de filtres..................................................... 55 5.1 Quelques propriétés de la transformée en Z................................. 55 5.2 Banc de filtres à 2 canaux.......................................... 56 5.3 Banc de filtres multicadence à 2 canaux................................... 56 5.4 Filtres miroirs en quadrature (QMF)..................................... 58 5.5 Filtre conjugués en quadrature........................................ 60 V Transformée en ondelettes 61 1 Banc de filtres..................................................... 61 2 Filtres de Daubechies................................................. 62 2.1 Calcul des coefficients du filtre demi bande................................. 62 2.2 Calcul des coefficients des filtres d analyse et de synthèse......................... 62 2.3 Implantation des bancs de filtres....................................... 65 3 Lifting Scheme.................................................... 67 3.1 Principes................................................... 67 3.2 Décomposition polyphase.......................................... 69 3.3 Exemple de factorisation........................................... 70 VI Transformée de Fourier rapide 73 1 Algorithme de COOLEY-TUCKEY.......................................... 73 1.1 Calcul du nombre d opérations........................................ 74 2 Décimation en temps et fréquence.......................................... 76 2.1 TFD de taille 2................................................ 76 2.2 Décimation en temps............................................. 76 2.3 Décimation en fréquence........................................... 77 2.4 Briques de base................................................ 78 2.5 Réalisation complète de l algorithme.................................... 79 3 Dérivation algébrique de l algorithme en base 2 avec décimation en temps (P=2 et Q=N/2)............ 81 3.1 1ère étape de l algorithme.......................................... 82 4 Bruit de calcul..................................................... 83 4.1 Facteur d échelle............................................... 83 4.2 Rapport signal sur bruit de quantification pour une TFD.......................... 84 4.3 Influence du facteur d échelle sur le RSB.................................. 84 4.4 Rapport signal sur bruit de quantification pour une TFR.......................... 85 4.5 Réalisation de la TFR en virgule flottante par bloc............................. 85 5 Convolution par traitement par bloc......................................... 86 5.1 Implantation de l algorithme......................................... 88

Table des figures I.1 Structure parallèle.................................................. 8 I.2 Structure cascade................................................... 8 I.3 Briques de base pour les algos de TNS........................................ 9 II.1 Structure directe.................................................... 11 II.2 Étape de réalisation d un filtre à réponse impulsionnelle finie............................ 12 II.3 Multiplieur-accumulateur............................................... 13 II.4 Gestion du tableau de données............................................ 13 II.5 Étape de réalisation d un filtre à réponse impulsionnelle finie à l aide d un multiplieur accumulateur....... 14 II.6 Structure symétrique pour un nombre pair de coefficients............................... 15 II.7 Structure cascade................................................... 16 II.8 Stucture cascade symétrique............................................. 17 II.9 Filtre moyenneur................................................... 17 II.10 Forme directe I.................................................... 18 II.11 Structure directe II.................................................. 19 II.12 Réseau correspondant à la forme directe II et matrice correspondante........................ 19 II.13 Matrice transposée et Réseau correspondant obtenu (forme directe transposée II)................. 20 II.14 Forme directe transposée II.............................................. 20 II.15 Structure directe transposée.............................................. 20 II.16 Structure couplée................................................... 22 II.17 Résonnateur à coefficient complexe......................................... 23 II.18 Résonnateur avec partie récusrsive à coefficients réels................................ 23 III.1 Erreur d arrondi.................................................... 28 III.2 Échantillonnage du plan complexe pour cellule d ordre 2 implantée sous forme directe.............. 30 III.3 Échantillonnage du plan complexe pour une structure couplée........................... 30 III.4 Triangle de stabilité.................................................. 31 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 2........................... 35 III.7 Source de bruit équivalente.............................................. 35 III.8 Phénomène de bande morte equation (III.27), la réponse idéale est représentée en pointillé............. 37 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.............................................. 37 III.10Suppression du phénomène de bande morte en utilisant une troncature vers 0.................... 38 III.11Circularité de la représentation en complément à 2.................................. 38 III.12Appariement des pôles et des zéros.......................................... 39 III.13Cellule directe de type II............................................... 39 III.14Structure directe de type II avec mise à l échelle................................... 41 IV.1 Structure d un modulateur DQPSK en bande de base................................ 43 IV.2 représentation du suréchantillonnage......................................... 44 IV.3 Suréchantillonnage d un facteur 3 dans le domaine temporel............................ 44 IV.4 Suréchantillonnage dans le domaine fréquentiel................................... 45 IV.5 Filtre d interpolation après le suréchantillonnage.................................. 45 IV.6 Signal suréchantillonné et interpolé.......................................... 45 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)................................................. 46 IV.8 Identité remarquable suréchantillonnage....................................... 46 3

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

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

6 TABLE DES FIGURES

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... 1. Le temps de latence est le temps entre l arrivée du premier échantillon et la restitution du premier résultat. 7

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

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)).

10 Introduction

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

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 à 0. 1. Les coefficients sont eux aussi contenu dans des cases mémoires qui resteront constantes dans le temps

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 3. 3. 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[].

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

Filtres Numériques 15 1.2 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

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

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.

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.

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. 0 1 0 0 0 0 0 0 0 0 0 b 0 0 z 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 a 1 0 b 1 0 z 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 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

20 Filtres Numériques 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 b 0 0 0 0 1 0 0 0 0 0 a 1 0 0 0 z 1 0 0 0 0 0 0 0 0 0 b 1 0 0 0 0 0 0 0 0 a 2 0 0 0 0 z 1 0 0 0 0 0 0 0 0 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 2 1 + a k1 z 1 + a k2 z 2, b 0 = b 10 b 20... 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)

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 2 1 + 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.

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.17. 2. 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)

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 1 1 2 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).

(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) = 1 1 2 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)

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 = 1 + 2 + + N, N 1 [1 + 2 + + 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)

26 Filtres Numériques

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

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 1 2 2 b, le rapport signal sur bruit de quantification devient alors ( ) SQNR(dB) = 10 log(σx) 2 2 10 log, 12 = 10 log(σ 2 x) + 4.77 + 6.02b. 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

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)

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 1 1 + a 2 < 1. = 1 + a 1 1 + 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.

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/ ( 1 + 1.9z 1 + 0.1z 2), le discriminant de D(z) est = 3.61 0.4 = 3.21. les racines sont donc : ρ 1 = 1 + 3.21 2 ρ 2 = 1 3.21 2 Il y a un pôle en dehors du cercle unité, donc le filtre et instable. = 0.375 = 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).

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.

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)

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

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 2 1 1 a 2. ( 1 + r 2 1 r 2 1 r 4 + 1 2r 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), ).

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 10 9 8.1 7.29 6.561 5.9 5.31 4.78. 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 10 0 0 0 0 0 0 0 sortie 10 9 8.1 7.2 6.3 5.4 4.5 4.5 sortie quantifiée 10 9 8 7 6 5 5 5 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 10 0 0 0 0 0 0 0 sortie 10-9 8.1-7.2 6.3-5.4 4.5-4.5 sortie quantifiée 10-9 8-7 6-5 5-5 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) + 0.988y(n 1). y(n) = x(n) 0.988y(n 1). (III.27) (III.28)

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) = 1.1 2 0.9 2 = 4 2,

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) = 1.1 2 0.9 2 = 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.

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

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ω

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 α2 1 1 0 H(f) 2 df = q2 1 12 α 2 0 1 0 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 = q2 12 + q2 12 + q2 12 1 0 1 0 1 0 α 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=1 1 0 3 α i H i (f) 2 df i=j (III.36)

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 α 2 0 1 0 1 0 H(f 2 df H(f) 2 df = σ2 x q 2 12 1 α 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.

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

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)

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)

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.

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)

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.

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.

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,

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.18. 2.4 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

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

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 :

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).

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 2.3 48e3 = 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)

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 1 + + h N 1 z (N 1). (IV.34) On considère maintenant cette suite retournée temporellement : H (z) = h N 1 + + h 1 z (N 2) + h 0 z (N 1), que l on peut reécrire : H (z) = (h N 1 z N 1 + + 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

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) + 1 2 [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)

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.36. 2. 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

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.

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.

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

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 0 0 0 0 0 0 q 1 q 0 0 0 0 1 p 2 q 2 q 1 q 0 0 0 4 1 = 0 q 2 q 1 q 0 0 6 p 4 0 0 q 2 q 1 q 0 4. (V.5) 0 0 0 0 q 2 q 1 1 p 6 0 0 0 0 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 2 + 16z 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

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, 4830 + 0, 8365z 1 + 0, 2241z 2 0, 1294 z 3 F 0 (z) = 0, 1294 + 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, 4830 + 0, 8365z 1 0, 2241z 2 0, 1294z 3 H 1 (z) = 0, 1294 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) :

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.

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

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

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)

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 0 0 1 = [ 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. [ ] [ ] [ ] 1 0 1 0 1 0 =, (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)

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) [ ] [ ] [ ] [ ] 1 0 1 S(z) H e 0 (z) H0 o (z) X e (z) T (z) 1 0 1 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 [ ] [ ] 1 0 1 Sn (z) H1(z) e H1 o =, (V.42) (z) 0 1/K T n (z) 1 0 1 n=1

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) = 8 + 3 4 z 1 1 8 z 2 H (0) o 1 0 (z) = 4 + 1 4 z 1 H (0) 1 e 1 (z) = 2 1 2 z 1 H (0) o 1 (z) = 1 1 2 1 2 z 1 = H (1) 1 1 e (z) + ( 1 8 + 3 4 z 1 1 8 z 2 ) T 1 (z) o (z) + ( 1 4 + 1 4 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) 1 1 8 + 3 4 z 1 1 ( 8 z 2 = H (1) e 0 (z) + 1 2 1 ) 2 z 1 S 1 (z) 1 4 + 1 4 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) = 1 4 + 1 4 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) : 1 2 1 2 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 [ 1 8 + 3 4 z 1 1 8 z 2 1 4 + ] [ 1 4 z 1 1 1 1 2 1 = 4 + ] [ ] [ ] 1 4 z 1 1 0 z 1 0 2 z 1 1 0 1 1 2 z 1. 2 1 0 1 La structure correspondant à cette factorisation est représentée figure 3.3

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 + 1 4 ( 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 + 1 2 (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

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.

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 ( 32.10 6 ) nécessaires rend ce calcul difficilement utilisable dans la pratique. N + 128 16384 16256 1024 1048576 1047552 4096 16777216 16773120 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

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) +

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.

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

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 = 8 2.3 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

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 = 8 2.4 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

Transformée de Fourier rapide 79 2.5 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 + 128 448 896 1024 5120 10240 4096 24576 49152 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 (110 011).

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(000+100)=100 000 001 RCP(100+100)=010 100 010 RCP(010+100)=110 010 011 RCP(110+100)=001 110 100 RCP(001+100)=101 001 101 RCP(101+100)=011 101 110 RCP(011+100)=111 011 111 111 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 1 2 4 N/2 Nbre de papillons par groupe 1 2 4 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.

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.

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

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

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 2 1 2 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) 54 9 1024 (r=10) 36 6 4096 (r=12) 24 4 TABLE VI.5 Rapport signal sur bruit pour b = 16 4.3 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.

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 4 + + 1 1 + 1 2 + ( 1 2) 2 + + = N ( 1 ( ) r ) 1 = N 1. 2 ( ) ) r 1 1 2 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].

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 1 1 + 4 N 4 4 ) n ( 1 2 ) r ) ( ) r 2 1 + + 4) 4 (VI.32) σ 2 e tot 2 3 2 2b. 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) 66 11 1024 (r=10) 57 9.5 4096 (r=12) 51 8.5 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)

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)

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 > 4 1 + L 1 ) (log M 2 (L + M 1) + 1). (VI.39)

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 4 1 + 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

90 Transformée de Fourier rapide L M M + L 1 Gain 32 225 256 0.78 64 449 512 1.4 128 897 1024 2.55 256 1793 2048 4.67 512 3585 4096 8.62 1024 7169 8192 16 TABLE VI.7 Choix des tailles des séquences de longueur 64. Ce gain augmente avec la longueur du filtre. 1. 1. Nous n avons considéré ici que les multiplications