• Aucun résultat trouvé

Algorithmes pour le Traitement Numérique du Signal

N/A
N/A
Protected

Academic year: 2022

Partager "Algorithmes pour le Traitement Numérique du Signal"

Copied!
92
0
0

Texte intégral

(1)

Olivier V ENARD

ST4-SIG2

Année scolaire : 2009-2010

(2)
(3)

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 enZdu 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 enZdu signal décimé . . . 48

2.2 Identité remarquable de la décimation . . . 50

(4)

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 enZ . . . 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 uneTFD . . . 84

4.3 Influence du facteur d’échelle sur le RSB . . . 84

4.4 Rapport signal sur bruit de quantification pour uneTFR . . . 85

4.5 Réalisation de laTFRen virgule flottante par bloc . . . 85

5 Convolution par traitement par bloc . . . 86

5.1 Implantation de l’algorithme . . . 88

(5)

I.1 Structure parallèle . . . 8

I.2 Structure cascade . . . 8

I.3 Briques de base pour les algos deTNS . . . 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 directeII . . . 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 rapportFe/Fs= 16(fréquence d’échantillonnage et fréquence symbole). . . 46

IV.8 Identité remarquable suréchantillonnage . . . 46

(6)

IV.9 Structure polyphase pour le suréchantillonnage . . . 47

IV.10 Modèle du commutateur pour l’interpolation. . . 47

IV.11 Opération de décimation . . . 48

IV.12 repré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.15 Filtre anti-repliement avant décimation . . . 50

IV.16 Identité remarquable de la décimation . . . 50

IV.17 Décomposition polyphase pour la décimation . . . 51

IV.18 Décomposition polyphase pour la décimation après translation de ladécimation vers l’entrée . . . 52

IV.19 Modèle du commutateur pour la décimation . . . 52

IV.20 Filtrage du bruit de quantification pour un convertisseurΣ∆ . . . 52

IV.21 Filtres moyenneurs . . . 53

IV.22 Structure récursive pour un filtre moyenneur . . . 53

IV.23 Filtre moyenneur de longueurM suivi d’une décimation parM . . . 53

IV.24 Application de l’identité remarquable pour la décimation (figIV.16) . . . 53

IV.25 Suréchantillonnage . . . 53

IV.26 Décimation . . . 54

IV.27 Système complet . . . 54

IV.28 Structure SFD . . . 54

IV.29 Struture DFS . . . 54

IV.30 1èreétape . . . 54

IV.31 Structure finale . . . 55

IV.32 transformation passe-bas passe-haut par modulation . . . 56

IV.33 Banc de filtres à 2 canaux . . . 56

IV.34 Type de gabarit des filtres du banc . . . 57

IV.35 Banc de filtres à 2 canaux multicadence . . . 57

IV.36 Banc de filtres miroirs en quadrature . . . 59

IV.37 Branche passe-bas. . . 59

IV.38 Branche passe-haut . . . 59

IV.39 Structure résultante pour le banc d’analyse. . . 59

IV.40 Banc 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 deP(z)etP(−z) . . . 63

V.3 Racines deP(z). . . 63

V.4 racines deH0(z)et deF0(z) . . . 64

V.5 Gain deH0(z)etH1(z)dans le cas orthogonal . . . 64

V.6 racines deH0(z)et deF0(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 pourN= 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

(7)

VI.8 Structure complète avec décimation en fréquence pourN = 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 pourN= 8 . . . 79

VI.12Ordonnancement des données . . . 80

VI.13Organigramme d’implantation d’uneTFR . . . 81

VI.141ère étape de la décomposition . . . 83

VI.15Modèle du bruit de calcul pour l’évaluation d’uneTFR . . . 83

VI.16Contribution des papillons à une sortieX(k). . . 85

VI.17Convolution Linéaire (Les parties grisées représentent le support de chacune des séquences) . . . 87

VI.18Convolution de deux signauxN périodiques . . . 87

VI.19Convolution circulaire de longueurN . . . 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

(8)
(9)

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 enTNS:

– 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’échantillonnageTe.

– le traitement par bloc, tableau d’échantillon par tableau d’échantillon, comme la transformée de FOURIERrapide (TFR), par exemple. Dans ce cas la limite supérieure du temps de traitement estN·TesiN est la taille du tableau d’échantillons.

Cette différence de structure d’implantation induit un temps de latence1diffé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·Te) 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 com- plexité 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.

(10)

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 deDSP. 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 additiveH(z) =H1(z) +H2(z) +H3(z)(figureI.1). Cette approche utilise la technique de décomposition en éléments simples.

– Structure cascade ou pipeline supposant une forme multiplicativeH(z) =H1(z)·H2(z)·H3(z)(figureI.2). Cette approche repose sur une factorisation.

FIGUREI.1 – Structure parallèle

FIGUREI.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 calculTcqui 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érationNopnécessaire

(11)

à la réalisation de l’algorithme. Le troisième correspond au nombre de voieNv qu’il est nécessaire de traiter en parallèle. la puissance de calculPcnécessaire est alors donné par l’expression suivante :

Pc =Nv·Nop

Tc

. (I.1)

Si on appelleB la largeur de bande du signal, on doit avoir la fréquence d’échantillonnageFe > 2B. En introduisant cette inégalité dans (I.1) on obtient la borne inférieure sur la puissance de calcul nécessaire :

Pc>2B·Nv·Nop. (I.2)

Dans le cas d’un traitement par bloc pour un tableau deNéchantillons, l’inégalité devient : Pc >Nv·Nop

N·Tc

= 2BNv·Nop

N . (I.3)

2 Réalisation de systèmes discrets

Un systèmeLITest caractérisé par une équation aux différences à coefficients constants : y(n) =−

N

X

k=1

aky(n−k) +

M

X

k=0

bkx(n−k) (I.4)

qui correspond, après transformée en Z à la fonction de transfert :

Y(z) =

N

X

k=0

bkz−k

1 +

N

X

k=1

akz−k

(I.5)

À 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 aket desbk. 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).

(a) Retard

(b) Arc

(c) Multiplieur (d) Additionneur

FIGUREI.3 – Briques de base pour les algos deTNS

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 sortiey(n), peut être reformulée de diffèrentes manières chacune corres- pondant à 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 deTNS(figureI.3) que sont :

– Les retards (ou délais) correspondant à une sortie égale à l’entrée retardée dekpériodes d’échantillonnage que l’on note y(n) =x(n−k)(cf. figureI.3(a)).

– Les arcs correspondant à une sortie égale à l’entrée, notéey(n) =x(n)(cf. figureI.3(b)).

– Les multiplieurs avec le cas particulier de la multiplication par une constante scalaire ou complexe, notéey(n) =a·x(n) (cf. figureI.3(c)).

– Et enfin les additionneurs réalisant cette opération arithmétique entre deux, ou plus, entrées, notéez(n) =x(n) +y(n) (cf. figureI.3(d)).

(12)
(13)

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 :

y(n) =

N−1

X

k=0

bkx(n−k) (II.1)

ou par sa fonction de transfert enz:

H(z) =

N−1

X

k=0

bkz−k (II.2)

La réponse impulsionnelle d’un filtre FIR est donc identique à ses coefficients. Dans ce chapitre nous présenterons deux tech- niques d’implantation :

– la structure directe, – la structure cascade.

1.1 Structure directe

La structure directe (figureII.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

X

k=0

h(k)x(n−k). (II.3)

FIGUREII.1 – Structure directe

Cette structure nécessiteN−1cases mémoire et a une complexité de calcul deN multiplications etN−1additions 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 suiteb[]représente les coefficients du filtre. Nous avons ici un filtre d’ordreN−1.

(14)

(a) Chaîne de retards

x[n]

x[n−1]

· · · x[n−N+ 1]

(b) Données four- nies par le traite- ment

(c) Produit terme à terme

x[n]·b0

x[n−1]·b1

· · ·

x[n−N+ 1]·bN−1 (d) Données fournies par le traitement

(e) Somme des produit terme à terme

y[n] =

N−1

X

k=0

b[k]x[n−k]

(f) Données fournies par le trai- tement

FIGUREII.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 deN−1retards qui permettent de conserver en mémoire lesN−1valeurs dex[]précédent l’instant courantn. 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 symbolez−1qui est la transformée enzd’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 coefficientsb[]et la suite de donnée contenue dans la chaîne de retardsx[]. Cela se fait en deux étapes, on effectue les produits terme à terme entre la suite de coefficients1et la suite de donnée : b[k]x[n−k]pourk= 0· · ·N−1, (figureII.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 échantillonx[n]en entrée, l’ensemble de ces opérations est réalisé afin de fournir un nouvel échantillony[n]en sortie.

Cette manière de conduire les calculs suppose pour l’étape fig.II.2(c)que l’on aitNmultiplieurs en parallèle. Sur les proces- seurs 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(figureII.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 suitebk) sont contenus dans un tableau deN cases mémoires (mémoire1 par exemple sur la figureII.3).

– Les données du filtre (la suitex[]) sont contenues dans un tableau deN cases mémoires (mémoire2 par exemple sur la figureII.3).

Le calcul est alors conduit de la manière suivante :

1. Le nouvel échantillonx[]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

(15)

FIGUREII.3 – Multiplieur-accumulateur

(a) Vieillisement du tableau de donnée (b) Tableau de donnée après vieilli- sement

FIGUREII.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’étape2a; sinon aller à l’étape3.

3. Le contenu de l’accumulateur est transféré vers la case mémoire devant contenir le résultat du filtrage (ypar exemple).

4. Le tableau de données est préparé pour le prochain échantillonx[]. C’est l’étape de vieillissement des données (figureII.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’adresse1se trouve ainsi disponible pour recevoir le prochain échantillon en entrée du filtre.

5. on retourne à l’étape1en attente du prochain échantillonx[].

(16)

(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èmeproduit, accumulation avec le résultat précédent

FIGUREII.5 – Étape de réalisation d’un filtre à réponse impulsionnelle finie à l’aide d’un multiplieur accumulateur

(17)

1.2 Structure symétrique

Les filtres FIRsont souvent caractérisées par une phase linéaire, propriété qui se traduit par une symétrie ou une anti- symé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 :

y(n) =

N 2−1

X

k=0

h(k)x(n−k)±

N 2−1

X

k=0

h(N−1−k)x(n−(N−1−k)).

=

N 2−1

X

k=0

h(k)(x(n−k)±x(n−(N−1−k)))

(II.4)

Ce qui conduit à la structure représentée figureII.6:

FIGUREII.6 – Structure symétrique pour un nombre pair de coefficients.

Cette implantation nécessite toujoursN−1cases mémoire mais la complexité de calcul est réduite àN/2−1multiplications etN 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

X

k=0

bkz−k =

K

Y

k=1

Hk(z), (II.5)

avecHk(z) =bk0+bk1z−1+bk2z−2si les cellulesHksont d’ordre 2. On a alorsK= N2 cellules cascadées. Le coefficientb0

de la fonction de transfert initiale (H(z)), correspondant au gain du filtre peut être réparti sur tout les étages : b0=

K

Y

k=1

bk0,

ou affecté à une seule cellule, les autres cellules étant caractérisées par des polynomes normalisés (bk0= 1).

Ce type de décomposition (figureII.7) aboutit donc àK(K=N/2) cellule d’ordre 2, demandant chacune 3 multiplications et 2 additions. Soit donc3Kmultiplications et2Kadditions au lieu de, respectivement2Ket2K−1dans le cas de la structure directe.

Dans la mise en structure cascade, Il est toujours souhaitable de constituer des cellules du 2ndordre en appariant les racines complexes conjuguées, de manière à obtenir des coefficients réels. Cependant une des caractéristiques de certains filtresFIR, la phase linéaire, peut être dégradée par la conjonction de la factorisation en cellule du 2ndordre 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 enzd’un filtreFIR:

H(z) =

N−1

X

k=0

h(k)z−k

(18)

FIGUREII.7 – Structure cascade

que l’on évalue enz−1

H(z−1) =

N−1

X

k=0

h(k)zk.

On multiplie chaque côté de l’égalité parz−(N−1)

z−(N−1)H(z−1) =

N−1

X

k=0

h(k)zk−(N−1)

et l’on envisage séparement les deux cas, symétrique et anti-symétrique : Cas symétrique,h(k) =h(N−1−k)

z−(N−1)H(z−1) =

N−1

X

k=0

h(N−1−k)zN−1−k−(N−1)=

N−1

X

k=0

h(N−1−k)z−k,

z−(N−1)H(z−1) =

N−1

X

k=0

h(k)z−k=H(z).

Cas anti-symétrique,h(k) =−h(N−1−k)

z−(N−1)H(z−1) =

N−1

X

k=0

−h(N−1−k)zN−1−k−(N−1),

z−(N−1)H(z−1) =−

N−1

X

k=0

h(k)z−k =−H(z).

Dans le cas d’un filtre à (anti)symétrie de coefficients, un zéro deH(z)est aussi un zéro deH(z−1). Siz0etz0sont des racines complexes conjuguées deH(z), elles le sont aussi deH(z−1), de même bien sûr que z1

0 et z1 0

. On peut alors constituer une cellule d’ordre 4 ayant ces quatre racines, possédant une (anti)symétrie de coefficients, donc une phase linéaire :

Hk(z) =ck0(1−zkz−1)(1−zkz−1)

1−z−1 zk

1−z−1

zk

=ck0+ck1z−1+ck2z−2+ck1z−3+ck0z−4.

(19)

En adoptant la structure exploitant la (anti)symétrie des coefficients (figureII.8), on obtient pour chaque cellule 3 multiplications et 4 additions. Soit un filtre d’ordreN avecN = 4K0 etK0 = K/2, on a alors(3K)/2 multiplications et2Kadditions. 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 (figureII.7). Cela permet en plus de préserver la linéarité de la phase.

FIGUREII.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 à1permet une réalisation récursive d’un filtre FIR. Soit le filtre moyenneur dont la transformée enzest donnée par :

H(z) = 1 N

N−1

X

k=0

z−k (II.6)

La structure directe de ce filtre est représentée figureII.9(a)

(a) Structure directe (b) Structure récursive

FIGUREII.9 – Filtre moyenneur

En exprimant la somme discrète sous forme rationnelle on obtient : H(z) = 1

N

1−z−N

1−z−1, (II.7)

ce qui aboutit à une structure comportant une partie directe et une partie récursive. Le diagramme bloc correspondant est repré- sentée figureII.9(b). Cette transformation permet de passerN−1additions à 2 additions, par contre elle induit 2 cases mémoires supplémentaires :Ndans la branche directe et1dans la branche récursive au lieu deN−1dans la structure directe. L’autre gros avantage de cette structure est d’avoir un nombre d’opération indépendant de l’ordre du filtre.

(20)

2 Filtres IIR

2.1 Formes directes

La fonction rationnelle enzqui caractérise un filtre IIR est donné par

H(z) =

M

X

k=0

bkz−k

1 +

N

X

k=1

akz−k

, (II.8)

et peut être décomposée en deux systèmes cascades

H(z) =H1(z)H2(z) avecH1(z)comportant les zéros deH(z),

H1(z) =

M

X

k=0

bkz−k,

etH2(z)comprenant les pôles deH(z),

H2(z) = 1 1 +

N

X

k=1

akz−k .

En ayantH2(z)en cascade avecH1(z)on obtient la forme directe I (figureII.10). Dans cette structure nous avonsN+M+1

FIGUREII.10 – Forme directe I multiplications,M+Nadditions etM+Ncases mémoires.

Si maintenant on place en cascadeH1(z)aprèsH2(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

X

k=1

akw(n−k),

w(n)devient l’entrée deH1(z), la sortiey(n)correspond alors à l’équation aux différences

y(n) =

N

X

k=0

bkw(n−k).

Nous aboutissons ainsi à la structure directeII(figureII.11). On a toujoursM+N+ 1multiplications etM+Nadditions, mais seulementmax{M, N}cases mémoires au lieu deM+N.

Nous verrons par la suite que les structures directes peuvent être extrêmement sensible à la quantification des coefficients.

(21)

FIGUREII.11 – Structure directeII

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 TELLENGENnous 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 b0 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 −a1 0 b1 0 z−1 0

0 0 1 0 0 0 0 0 0

0 0 0 0 0 0 −a2 0 b2

FIGUREII.12 – Réseau correspondant à la forme directe II et matrice correspondante

En appliquant cette transformation à la forme directe II (figureII.11, on obtient la forme directe tranposée II (figureII.14).

Si on écrit les équations aux différences régissant ce système pourN =M = 2on obtient : y(n) =w1(n−1) +b0x(n),

w1(n) =b1x(n)−a1y(n) +w2(n−1), w2(n) =b2x(n)−a2y(n).

En remplaçantw1(n)etw2(n)par leurs valeurs il vient : y(n) =

2

X

k=0

bkx(n−k)−

2

X

k=1

aky(n−k),

(22)

0 0 0 1 0 0 0

1 0 0 0 0 0 0

0 b0 0 0 0 1 0

0 0 0 0 −a1 0 0

0 z−1 0 0 0 0 0

0 0 0 0 b1 0 0

0 0 0 0 0 0 −a2

0 0 0 0 z−1 0 0

0 0 0 0 0 0 b2

FIGUREII.13 – Matrice transposée et Réseau correspondant obtenu (forme directe transposée II)

FIGUREII.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é figureII.15.

FIGUREII.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 transfertH(z)en un produit de fonction de transfertHk(z)généralement du second ordre dans le cas de racines complexes conjuguées.

H(z) =

K

Y

k=1

Hk(z). (II.9)

avec

Hk(z) =bk0+bk1z−1+bk2z−2 1 +ak1z−1+ak2z−2 , et

b0=b10b20. . . bK0.

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.

(23)

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) = b0+b1z−1+b2z−2

1 +a1z−1+a2z−2 = b0z2+b1z+b2

z2+a1z+a2 (II.10)

La démarche consiste ensuite à décomposer (II.10) en éléments simples, sous la forme : H(z) =b0+ A

z−ρ+ A

z−ρ (II.11)

où(·)correspond au complexe conjugué,ρetρsont les poles complexes conjugués de (II.10).

A= d0

2 −jd0α1+d1

2

avec





d0=b1−b0a1, d1=b2−b0a2, ρ=α1+jα2. LaTZde la sortiey(n)en fonction de l’entréex(n)s’exprime alors par

Y(z) =H(z)X(z) =b0X(z) + A

z−ρX(z) + A

z−ρX(z) (II.12)

On pose

S(z) = A

z−ρX(z), (II.13)

qui correspond à l’équation aux différences

s(n+ 1) =ρs(n) +Ax(n), on a de même

s(n+ 1) =ρs(n) +Ax(n) en exprimants(n),ρetAsous forme complexe :





s(n) =v1(n) +jv2(n), ρ=α1+jα2,

A=q1+jq2. On obtient pours(n+ 1):

(v1(n+ 1) +jv2(n+ 1)) = (α1v1(n)−α2v2(n)) +j(α1v2(n) +α2v1(n)) + (q1+jq2)x(n), que l’on peut formuler sous forme matricielle :

v1(n+ 1) v2(n+ 1)

=

α1 −α2

α2 α1

v1(n) v2(n)

+ q1

q2

x(n). (II.14)

En utilisant (II.12) et (II.13) la sortie temporelle du système devient : y(n) =b0x(n) +s(n) +s(n)

=b0x(n) + 2R{s(n)} (II.15)

qui peut là encore s’écrire sous forme matricielle : y(n) =

2 0 v1(n)

v2(n)

+b0x(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é figureII.16.

L’intérêt de la structure couplée réside dans sa robustesse à la quantification des coefficients qui est obtenue au prix d’un coût légèrement supérieur en nombre d’opération par rapport à une structure directe d’ordre 2 : 7 multiplications (et non 8, la multiplication par 2 pouvant être effectuée par un simple décalage)et 5 additions au lieu de 5 multiplications et 4 additions.

(24)

FIGUREII.16 – Structure couplée

4 Algorithme de G OERTZEL

L’algorithme de GOERTZELcorrespond à 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 DTMF2.

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 FOURIERdiscrète :

X(k) =

N−1

X

n=0

x(n)e−j2Nπkn

=

N−1

X

n=0

x(n)WN−nk,

(II.17)

avecWN =ejN doncWNN k= 1. On peut donc introduire ce terme unitaire en facteur dans l’expression (II.17) :

X(k) =WNN k

N−1

X

n=0

x(n)WN−nk,

=

N−1

X

n=0

x(n)WN(N−n)k.

(II.18)

Si on noteX(k) =yk(m)avecm=Nl’équation (II.18) se réécrit :

yk(m) =

N−1

X

n=0

x(n)WNk(m−n), (II.19)

qui est l’expression du produit de convolution entre un signal de durée finiex(n), et un filtre de réponse impulsionnellehk(n) = WNknu(n)3. Ce filtre a pour transformée enZ:

Hk(z) =

+∞

X

n=0

WNnkz−n= 1

1−WNkz−1 (II.20)

avec comme rayon de convergence,|z|>1. Cette transformée enZcorrespond à un filtre récursif ayant un pôle enωk= 2πk/N qui a pour équation aux différences :

yk(n) =WNkyk(n−1) +x(n), (II.21)

qui correspond à la structure représentée figureII.17.

2. numérotation téléphonique à fréquence vocale 3. u(n)est la fonction échelon.

(25)

FIGUREII.17 – Résonnateur à coefficient complexe

Pour obtenir un dénominateur à coefficients réels, on le multiplie par un polynome ayant pour racineWN−k: Hk(z) = 1−WN−kz−1

1−WNkz−1

1−WN−kz−1

= 1−WN−kz−1 1−2 cos(2πk/N)

| {z }

(=αk)

z−1+z−2. (II.22)

L’équation aux différences pour la partie récursive est donc :

w(n) =x(n) +αkw(n−1)−w(n−2), (II.23) et pour la partie directe :

yk(n) =w(n)−WN−kw(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 pourn=N −1, alors que la partie récursive est évaluée pourn= 0· · ·N−1. On obtient donc la valeur correspondant à

FIGUREII.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’instantn=N−1:

X(k) =yk(N−1) =w(N−1)−WN−kw(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−αkw(N−1)w(N−2) (II.26) En terme de complexité, cet algorithme demandeN multiplications et2N −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é de2Nlog2(N)multiplications réelles. L’algorithme de GOERTZELrestera donc avantageux tant que l’on cherchera à évaluer l’énergie pour un nombre de fréquenceM 62 log2(N).

(26)

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θky(n−1)−y(n−2), (II.27) et dont la transformée enZest donnée par :

H(z) = Y(z)

X(z) = 1

1−2 cosθkz−1+z−2

= 1

(1−ekz−1) (1−e−jθkz−1).

(II.28)

On posez0=eketz¯0complexe conjugué dez0, on obtient alors comme expression pour la transformée enZ:

H(z) = 1

(1−z0z−1) (1−z¯0z−1)

= z2

(z−z0) (z−z¯0)

(II.29)

On obtient la réponse impulsionnelle en utilisant le théorème des résidus : h(n) = 1

2πj I

C

H(z)zn−1dz= X

zi⊂C

Res

H(z)zn−1 z=zi

. (II.30)

On choisit un contour d’intégrationCqui inclut le cercle unité et donc les deux pôles, on obtient alors l’expression suivante pour la réponse impulsionnelle :

h(n) =X

i

(z−zi)H(z)zn−1 z=z

i

. (II.31)

On remplaceH(z)dans cette équation par son expression (II.29) et on développe la somme : h(n) = (z0−z0) z20z0n−1

(z0−z0) (z0−z¯0)+ (¯z0−z¯0) z¯020n−1 (¯z0−z0) (¯z0−z¯0)

=ek(n+1) 2jsinθk

−−ek(n+1) 2jsinθ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 :

|y(n)|=

N−1

X

n=0

x(n−k)h(k)

6

N−1

X

n=0

|x(n−k)||h(k)|.

Si on considère que|x(n)|6xmax, alors cette équation se réécrit :

|y(n)|6xmax

N−1

X

n=0

|h(k)|. (II.33)

Pour que|y(n)|61on doit donc avoir la condition : xmax6 1

N−1

X

n=0

|h(k)|

= 1

N−1

X

n=0

sin (θk(n+ 1)) sinθk

. (II.34)

Nous allons maintenant étudier les cas extrêmes.

(27)

Cas le plus favorable

Cette situation se produit pourθk =π/2. On a alors :

N−1

X

n=0

sin (π/2(n+ 1)) sinπ/2

=

N−1

X

n=0

|sin (π/2(n+ 1))|=

N 2−1

X

n=0

|sin (π/2(2n+ 1))|=N

2 , (II.35)

on doit donc avoir :

xmax6 2

N (II.36)

Cas le moins favorable

Ce cas survient pourθk={0, π}. Siθk= 0, alors : lim

θk→0

sin (θk(n+ 1))

sinθk = (n+ 1) cos (θk(n+ 1)) cosθk

θ

k=0

=n+ 1. (II.37)

On a alors :

N−1

X

n=0

n+ 1 = 1 + 2 +· · ·+N, en remarquant que :

[1 + 2 +· · ·+N] + [N+ (N−1) +· · ·+ 1] =N(N+ 1) = 2

N−1

X

n=0

n+ 1, on obtient :

lim

θk→0

sin (θk(n+ 1)) sinθk

= N(N+ 1)

2 . (II.38)

on doit alors avoir :

xmax6 2

N(N+ 1). (II.39)

(28)
(29)

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. LesDSP 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’unDSP 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 lesDSP, 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 initialx(n)et d’une erreur de quantificatione(n)correspondant à la distance entre la valeur initiale du signal avant quantification et la valeur de celui-ci(xq(n))à la sortie de la non linéarité :

xq(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 :

xq(n) =a si a−∆

2 6x(n)< a+∆

2, (III.2)

aveca une valeur discrète représentée surb bits (pouvant donc prendre 2b 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)ete(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) :

SQNR= 10 log σ2x

σe2

. (III.3)

oùσx2est la variance du signal quantifié etσ2ela variance du bruit de quantification.

(30)

FIGUREIII.1 – Erreur d’arrondi

Si l’on appelle ∆l’intervalle de quantification, la variance du bruit de quantification sera σe2 = 122 sous les hypothèses ci-dessus. Si l’on considère une dynamique normalisée du signal d’entréex(n)comprise dans l’intervalle[−1,1]et que l’on ab bits pour le quantifier ; l’intervalle de quantification sera alors

∆ = 2

2b−1 ≈ 2 2b, le rapport signal sur bruit de quantification devient alors

SQNR(dB)= 10 log(σ2x)−10 log ∆2

12

,

= 10 log(σ2x) + 4.77 + 6.02b.

(III.4)

Cette relation fait apparaître que l’on gagne6dB de rapport signal sur bruit de quantification pour chaque bit de quantification supplémentaire.

3 Effets de la quantification

La quantification dans un filtre numérique intervient à deux niveaux :

– Les coefficients du filtre vont être représentés en précision finie et donc ne correspondront pas à ceux effectivement calculé en précision infinie. Les coefficients alors implantés réaliseront un filtre dont la fonction de transfert subira une pertubation du fait de la modification des coefficients induite par leur quantification.

– Les données seront représentées en mémoire en précision finie , elles seront donc quantifiées tout au long de l’algorithme soit en sortie des multiplieurs, soit au moment de l’écriture en mémoire. Cette quantification des données entraînera une dégradation du rapport signal sur bruit de l’algorithme

la quantification des coefficients entraîne une pertubation statique de la fonction de transfert, alors que la quantification des données entraîne une pertubation dynamique sur les données.

4 Quantification des coefficients

La quantification des coefficients va avoir un effet de pertubation sur la fonction de transfert synthétisée. Dans le cas d’une précision infinie, on part d’une infinité de possibilité quant aux fonctions de transfert réalisable, puisque les coefficients peuvent prendre une infinité de valeur. À partir du moment où ils ne peuvent prendre leurs valeurs que dans un ensemble fini, il est évident que l’on ne pourra réaliser qu’un ensemble fini de fonctions de transfert. Celles-ci seront plus ou moins éloignées des fonctions de tranfert initiale en fonction du nombre de bits disponibles pour coder les coefficients. Nous allons présenter dans la suite l’effet de la quantification des coefficients sur le comportement du filtre. Dans un premier temps nous verrons quelles sont les contraintes sur les pôles et les zéros dues à la quantification. Puis nous caractériserons la pertubation sur la fonction de transfert induite. Et enfin nous aborderons le problème de la sensiblité à la quantification.

4.1 Position des pôles et des zéros après quantification

Nous avons dit dans l’introduction que le nombre de fonction de transfert réalisable était fini puisque le nombre de valeur que pouvait prendre les coefficients était fini. Pour appréhender ce fait nous considérerons une fonction de transfert d’ordre 2 ayant

(31)

des racines complexes conjuguéesre±jθ, que l’on peut donc écrire sous la forme d’un produit de deux polynomes d’ordre 1 : D(z) = 1−rez−1

1−re−jθz−1 ,

= 1−2rcosθ z−1+r2z−2,

= 1 +a1z−1+a2z−2,

(III.5)

oùa1eta2seront les coefficients quantifiés. La quantification est représentée par l’opérateur Q(·). Après quantification on aura donc :

¯ r=p

Q(a2), (III.6)

¯

rcos ¯θ=Q(a1)

2 . (III.7)

Où¯retθ¯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(a1) 2p

Q(a2) (III.8)

La quantification implique un nombre de positions fini pour les racines du polynomeD(z). Si celui-ci correspond au dénomina- teur, 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 coefficienta1correspond au double de la partie réelle, le coefficienta2correspond 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 à√

a2.

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 de0etπque pour ceux ayant leurs racines autour deπ/2ou−π/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 coefficientb2est égal à1. L’équation aux différences correspond alors à

y(n) =x(n) +b1x(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 :

v1(n+ 1) v2(n+ 1)

=

α1 −α2

α2 α1

v1(n) v2(n)

+ q1

q2

x(n). (III.10)

et l’équation d’observation

y(n) = 2 0

v1(n) v2(n)

+b0x(n) (III.11)

oùα1etα2correspondent 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 de0etπ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α1etα2sont 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 |Ki|< pouri= 1· · ·N. (III.12)

(32)

(a) (b)

FIGUREIII.2 – Échantillonnage du plan complexe pour cellule d’ordre 2 implantée sous forme directe

(a) (b)

FIGUREIII.3 – Échantillonnage du plan complexe pour une structure couplée

Étude pour une cellule d’ordre 2 SoitD(z) =A2(z) = 1 +a1z−1+a2z−2etB2(z) =z−2A2 z−1 . On initialise le calcul des coefficients de réflexion en posant :

K2=a2, puis on calcul le polynomeA1(z)tel que :

A1(z) = A2(z)−K2B2(z)

1−K22 = 1 + a1

1 +a2z−1, on a alorsK1=a1/(1 +a2).

La condition de stabilité s’exprime par :

|K2|<1⇒ |a2|<1,

|K1|<1⇒

a1 1 +a2

<1.

La condition surK1définit une borne supérieure et inférieure sura1en fonction dea2. Le test sur les coefficients de réflexion fournit donc quatre conditions :

(−1< a2<1,

−a1−1< a2< a1−1.

Références

Documents relatifs

Objet et image se trouvent dans les plans principaux qui sont confondus avec le plan de front qui passe par le sommet S du miroir... Une simple analyse dimensionnelle des

On cherchera notamment à tracer la fonction de transfert du filtre et à comparer les résultats obtenus à la théorie.. Ne pas oublier qu’une mesure physique doit toujours

La sortie se faisant sur 8 bits au niveau du CNA, il n’est pas nécessaire de garder cette précision, aussi tronquerons-nous la sortie des multiplieurs sur 12 bits afin d’alléger

En supposant que le taux d’évolution annuel du prix du menu reste constant et égal à ce taux moyen après l’été 2015, donner une estimation du prix du menu, arrondi au

D’après le tableau de variations de la fonction C , le chiffre d’affaires hebdomadaire de la brasserie est maximal lorsque le prix du menu est environ égal à 15,89 €.. Le

Quand on prélève au hasard un échantillon de la population, la proportion f d'individus possé- dant le caractère étudié (appelée fréquence observée) n'est bien sûr

TD 4: Fonctions convexes Critère du second ordre pour la convexité?.

Calculer la moyenne du mois de naissance pour chacun des ´echantillons suivants : – les dix premiers ´el`eves.. – les dix