École T SAT T

147
2 nde - = - = SAT ENS ENSSAT

Transcript of École T SAT T

Page 1: École T SAT T

Éle tronique et Informatique Industrielle 2nde année - EII220 septembre 2005Traitement Numérique du SignalPoly opié de ours

∑−=

−=

Daniel MenardOlivier SentieysENSSAT - Université de Rennes 1sentieysenssat.frhttp ://www.irisa.fr/R2D2http ://perso.univ-rennes1.fr/olivier.sentieys6 Rue de Kerampont - BP 44722305 LANNION - Fran eIRISA ENSSAT

SATENSENSSATInstitut de Re her he en Informatique et Systèmes AléatoiresÉ ole Nationale Supérieure de S ien es Appliquées et de Te hnologieTe hnople Anti ipa Lannion

Page 2: École T SAT T

ii

Page 3: École T SAT T

Table des matièresIntrodu tion 1Remarques sur la notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Présentation du do ument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Utilisation de Matlab et S ilab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Filtrage numérique 51.1 Introdu tion au ltrage numérique . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2 Représentation d'un ltre numérique . . . . . . . . . . . . . . . . . . . . . . . . . 61.3 Spé i ation d'un ltre numérique . . . . . . . . . . . . . . . . . . . . . . . . . . 81.3.1 Spé i ations des ltres passe-bas et passe-haut . . . . . . . . . . . . . . . 91.3.2 Spé i ations des ltres passe-bande et réje teur-de-bande . . . . . . . . . 91.4 Classi ation des ltres numériques . . . . . . . . . . . . . . . . . . . . . . . . . . 101.4.1 Filtres ré ursifs RII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.4.2 Filtres non ré ursifs RIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.5 Analyse fréquentielle des ltres numériques . . . . . . . . . . . . . . . . . . . . . . 121.6 Stru tures des ltres RII et RIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.6.1 Stru ture des ltres RIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.6.2 Stru ture des ltres RII . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Synthèse des ltres RII 172.1 Introdu tion et rappels en ltrage analogique . . . . . . . . . . . . . . . . . . . . . 172.1.1 Introdu tion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.1.2 Rappels en ltrage analogique . . . . . . . . . . . . . . . . . . . . . . . . . 172.2 Méthode de l'invarian e impulsionnelle . . . . . . . . . . . . . . . . . . . . . . . . 212.3 Transformation d'Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.4 Transformation bilinéaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 Synthèse des ltres RIF 293.1 Introdu tion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.2 Filtres à phase linéaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.2.1 Filtre RIF à phase linéaire de type I . . . . . . . . . . . . . . . . . . . . . . 313.2.2 Filtre RIF à phase linéaire de type II . . . . . . . . . . . . . . . . . . . . . 313.2.3 Filtre RIF à phase linéaire de type III . . . . . . . . . . . . . . . . . . . . . 323.2.4 Filtre RIF à phase linéaire de type IV . . . . . . . . . . . . . . . . . . . . . 323.3 Méthode de synthèse par fenêtrage . . . . . . . . . . . . . . . . . . . . . . . . . . 343.3.1 Cara téristiques des prin ipales fenêtres . . . . . . . . . . . . . . . . . . . 361

Page 4: École T SAT T

3.3.2 Choix de la fenêtre dans la méthode de synthèse . . . . . . . . . . . . . . . 373.4 Méthode de synthèse par é hantillonnage en fréquen e . . . . . . . . . . . . . . . 394 Transformée de Fourier Rapide 414.1 Naissan e de la TFR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.2 TFR partagée dans le temps (DIT) . . . . . . . . . . . . . . . . . . . . . . . . . . 424.3 TFR partagée dans les fréquen es (DIF) . . . . . . . . . . . . . . . . . . . . . . . 454.4 Autres graphes de la TFR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464.5 Annexes au hapitre sur la TFR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484.5.1 Graphe d'une TFR DIT radix 2 sur 16 points . . . . . . . . . . . . . . . . . 484.5.2 Graphe d'une TFR DIF radix 2 sur 16 points . . . . . . . . . . . . . . . . . 494.5.3 Graphe d'une TFR à géométrie onstante sur 16 points . . . . . . . . . . . 504.5.4 Graphe d'une TFR DIF radix 4 sur 16 points . . . . . . . . . . . . . . . . . 514.5.5 Algorithme DIF de la TFR radix 2 sur I points omplexes . . . . . . . . . . 525 Analyse spe trale de signaux numériques 555.1 Introdu tion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555.2 Tron ature d'un signal dis rétisé . . . . . . . . . . . . . . . . . . . . . . . . . . . 555.2.1 Opération dans le domaine temporel . . . . . . . . . . . . . . . . . . . . . 555.2.2 Conséquen es dans le domaine fréquentiel . . . . . . . . . . . . . . . . . . 565.3 Analyse spe trale par TFD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565.4 Zéro-Padding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585.5 Paramètres d'une analyse spe trale . . . . . . . . . . . . . . . . . . . . . . . . . . 595.6 Con lusion (méthodologie) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626 Systèmes multi- aden es 656.1 Rédu tion de la fréquen e d'é hantillonnage . . . . . . . . . . . . . . . . . . . . . 656.2 Augmentation de la fréquen e d'é hantillonnage . . . . . . . . . . . . . . . . . . . 666.2.1 Élévateur de fréquen e d'é hantillonnage . . . . . . . . . . . . . . . . . . . 686.2.2 Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 696.2.3 Multipli ation de la fréquen e d'é hantillonnage par un fa teur rationnel . . 697 Arithmétique virgule xe 717.1 Présentation de l'arithmétique virgule xe . . . . . . . . . . . . . . . . . . . . . . 717.1.1 Les diérents types de odage . . . . . . . . . . . . . . . . . . . . . . . . 717.1.2 Dénition des règles de l'arithmétique virgule xe . . . . . . . . . . . . . . 767.2 Codage en virgule xe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 797.2.1 Détermination de la dynamique des données . . . . . . . . . . . . . . . . . 817.2.2 Détermination de la position de la virgule . . . . . . . . . . . . . . . . . . 887.2.3 Détermination de la largeur des données . . . . . . . . . . . . . . . . . . . 937.3 Evaluation de la pré ision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977.3.1 Pro essus de quanti ation et de dépassement . . . . . . . . . . . . . . . . 977.3.2 Modélisation du bruit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997.3.3 Filtrage du bruit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1057.4 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1097.4.1 Des ription de l'appli ation . . . . . . . . . . . . . . . . . . . . . . . . . . 1097.4.2 Détermination de la spe i ation virgule xe . . . . . . . . . . . . . . . . . 1092

Page 5: École T SAT T

37.4.3 Code C de l'appli ation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1137.4.4 Evaluation de la pré ision . . . . . . . . . . . . . . . . . . . . . . . . . . . 1138 Pro esseurs de traitement du signal 1178.1 Introdu tion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1178.1.1 Les solutions ar hite turales . . . . . . . . . . . . . . . . . . . . . . . . . . 1178.1.2 Domaine d'appli ation des pro esseurs de traitement du signal . . . . . . . 1208.2 Des ription de l'unité de traitement . . . . . . . . . . . . . . . . . . . . . . . . . . 1218.2.1 Représentation des données . . . . . . . . . . . . . . . . . . . . . . . . . . 1218.2.2 Présentation des diérents éléments du hemin de données . . . . . . . . . 1238.2.3 Ar hite ture des hemins de données . . . . . . . . . . . . . . . . . . . . . 1288.3 Des ription de l'unité mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1298.3.1 Modèles de lo alisation des opérandes . . . . . . . . . . . . . . . . . . . . 1308.3.2 Spé i ité des DSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1328.3.3 Mode d'adressage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1328.4 Des ription de l'unité de ontrle . . . . . . . . . . . . . . . . . . . . . . . . . . . 1358.4.1 Type de ode et Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . 1358.4.2 Format du jeu d'instru tions . . . . . . . . . . . . . . . . . . . . . . . . . 1368.4.3 Stru ture de ontrle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

Page 6: École T SAT T

Introdu tionLe traitement numérique du signal est une notion qu'il n'est pas fa ile de dénir simplementétant donné le nombre important d'appli ations relevant de ette dis ipline. En premièreapproximation, on peut tout d'abord tenter d'expli iter ha un des mots de ette expression.Traitement signie que l'on est en présen e d'un pro essus de séquen ement d'opérationsprogrammées. Une séquen e d'opérations s'applique i i à une suite de données Numériquesqui vont représenter sous une forme dis rète un paramètre variable, ou Signal, qui le plussouvent est extérieur au pro essus de traitement.Il s'agit don d'appliquer un traitement ou une analyse de l'information à une séquen e denombres dis rets qui représente un signal provenant pour la majorité des appli ations dumonde physique qui nous entoure.Le traitement numérique d'un signal né essite un support matériel permettant d'ee tuerle traitement de l'information, e peut-être du matériel éle tronique spé ique à une tâ heparti ulière ou du matériel moins spé ialisé omme peut-l'être un ordinateur.Il faut pouvoir ommuniquer entre le monde physique extérieur et le pro essus par lequels'ee tue le traitement ; le signal extérieur, s'il est déni sur un support ontinu, doit êtrereprésenté sous une forme dis rète. Cela veut dire que l'on a epte de perdre de l'information :entre deux valeurs onsé utives et dis rètes du signal nous faisons l'hypothèse de ne disposerd'au une autre information. Nous verrons qu'une analyse du problème à traiter permet dedénir orre tement e qui est onservé ou non dans la forme numérique d'un signal.Il faut bien sûr dénir la séquen e des opérations qui transforme le signal numérique. Cetteopération orrespond à un obje tif de traitement bien pré is, par exemple supprimer l'é hodes lignes téléphoniques, re onnaître une signature radar, et ...Le développement de l'éle tronique permit le traitement du signal analogique ; un signal éle -tronique analogique suit ontinuement le signal physique qui lui est relié via un apteur. C'estle développement des al ulateurs numériques qui a onduit à l'essor du traitement numériquedu signal. C'est en eet une appro he souple - les traitements orrespondent à des logi iels, lessupports matériels sont polyvalents -, les états dis rets d'un al ulateur sont stables - e n'esten eet pas le as des systèmes analogiques fortement sensibles aux dérives dues par exempleaux onditions de température ou aux problèmes de vieillissement -. Cependant, l'appro henumérique peut se révéler parfois omplexe pour des appli ations très simples. La quantitéd'information pouvant être traitée est orrélée à la vitesse de al ul ; la réalisation d'un trai-tement sous forme analogique ira toujours plus vite que par une forme numérique ave un al ulateur et du logi iel. 1

Page 7: École T SAT T

2 Introdu tionRemarques sur la notationDans la suite du do ument, on notera par f la fréquen e en Hz, fe la fréquen e d'é han-tillonnage, T la période d'é hantillonnage et ω = 2πf la pulsation en rad/s. Pour des raisonsde simpli ité d'expression, on peut faire abstra tion de T si on sait que toutes les grandeursutilisées seront relatives à T ou fe.Pour es raisons, on peut utiliser dans le domaine fréquentiel, la variable Ω = 2πf.T = 2πf/feappelée pulsation relative. Un ltre numérique exprimé selon la variable Ω (ou un signaldis ret) sera don périodique de période 2π ( 'est à dire fe) (voir gure 1.7) et son gabaritsera déni entre 0 et π ( 'est à dire entre 0 et fe/2).Présentation du do umentCe do ument s'intéresse à l'analyse, la on eption et l'implantation des appli ations de trai-tement numérique du signal. Ce do ument orrespond à la suite du poly opié de ours deSignaux et Systèmes dis rets de première année. Les hapitres 1 à 6, rédigés par O. Sentieys, on ernent l'analyse et la on eption d'algorithmes de traitement numérique du signal. Lesltres numériques sont analysés dans le hapitre 1 et la synthèse des ltres RII et RIF estdétaillée dans les hapitres 2 et 3. La transformée de Fourier rapide est présentée dans le hapitre 4. Le hapitre 5 on erne l'analyse spe trale de signaux numériques. Les systèmesmulti- aden es sont analysés dans le hapitre 6.Les hapitres 7 et 8, rédigés par D. Ménard, on ernent l'implantation d'algorithmes de trai-tement numérique du signal. Le hapitre 7 détaille le pro essus de odage en virgule xe d'uneappli ation de TNS. Le hapitre 8 présente l'ar hite ture des pro esseurs de traitement dusignal et les outils de développement asso iés.Utilisation de Matlab et S ilabMatlab, A ronyme de Matrix Laboratory, est un environnement logi iel intera tif puissantdédié au al ul numérique et à la visualisation ; il est très utilisé dans les divers domaines dess ien es pour l'ingénieur, tant pour l'analyse que la on eption. Il existe également un nombreimportant de toolboxes qui étendent les possibilités de Matlab à divers domaines spé ialisés aumoyen de fon tions supplémentaires : traitement du signal, automatique, traitement d'images,optimisation, réseaux de neurones, logique oue et ... Il faut onsidérer Matlab omme étantavant tout un outil de al ul matri iel.S ilab (http ://www-ro q.inria.fr/s ilab) est un équivalent libre de droit de Matlab qui serévèle don intéressant si on ne possède pas de li en e Matlab. Même si elle est pro he danssa philosophie, la syntaxe des ommandes pour l'utilisation de S ilab n'est pas totalement ompatible ave Matlab.La plupart des exemples ou gures utilisés ont été réalisés sous Matlab ou S ilab et seront illus-trés sous Matlab à travers des exemple au ours du do ument an d'ee tuer l'apprentissagede e type de logi iel, aujourd'hui indispensable pour tout traiteur de signaux.

Page 8: École T SAT T

Introdu tion 3Remer iementsMer i à Mi hel Corazza, Hervé Chuberre et Olivier Boëard pour leur aide dans l'élaborationde e do ument.

Page 9: École T SAT T

4 Introdu tion

Page 10: École T SAT T

Chapitre 1Filtrage numérique1.1 Introdu tion au ltrage numériqueIl est di ile de donner une dénition formelle de la notion de ltrage. L'ingénieur éle tro-ni ien pense souvent à une modi ation des ara téristiques fréquentielles d'un signal donnéd'entrée. D'un point de vue théorique, le domaine fréquentiel est ouplé au domaine temporel,le ltrage modie don également la réponse dans e dernier.A une séquen e d'é hantillons d'un signal d'entrée à temps dis ret x(n), un ltre numérique,déni par sa réponse impulsionnelle h(n) ou par sa fon tion de transfert en z H(z), répondpar une séquen e d'é hantillons d'un signal de sortie y(n) (gure 1.1).h(n) <=> H(z)

Filtre numériquex(n) <=> X(z) y(n) <=> Y(z)7zFig. 1.1: Représentation sous forme de fon tion de transfert en zDes exemples de ltrage sont donnés i après. Rédu tion de bruit pour des signaux radio, des images issues de apteurs, ou en ore dessignaux audio. Modi ation de ertaines zones de fréquen e dans un signal audio ou sur une image. Limitation à une bande fréquentielle pré-dénie. Fon tions spé iales (dérivation, intégration, transformée de Hilbert, ...). Dans l'exemple du ode DTMF (Digital Tone Multiple Frequen y) utilisé en téléphonie,le signal transmis est la somme de deux sinusoïdes dont les fréquen es sont normalisées(voir gure 1.2 gau he). Il résulte du hoix de la tou he appuyée sur votre téléphone. Ceprin ipe est souvent qualié de fréquen es vo ales. A la ré eption, pour re onnaître le numéro omposé, une série de ban s de ltres est utilisée (voir gure 1.2 droite). Une premièredis rimination de deux zones fréquentielles est réalisée par un ltre passe haut et un ltrepasse-bas. Puis, dans haque zone, une série de ltres passe-bande suivis d'un déte teurpermet de déterminer la présen e d'une fréquen e parti ulière.5

Page 11: École T SAT T

6 Filtrage numériqueFréquences de tonalité du clavier numérique Schéma de détection de tonalité

1 2 3

4 5 6

7 8 9

* 0 #

697 Hz

770 Hz

852 Hz

941 Hz

1209 Hz 1336 Hz 1477 Hz

LP Filter

HP Filter

Limiter

Limiter

BP Filter Detector

BP Filter Detector

BP Filter Detector

BP Filter Detector

BP Filter Detector

BP Filter Detector

BP Filter Detector

697 Hz

770 Hz

852 Hz

941 Hz

1209 Hz

1336 Hz

1477 HzFig. 1.2: Exemple du ode DTMF en téléphonie1.2 Représentation d'un ltre numériqueUn ltrage numérique peut être représenté en utilisant plusieurs types de spé i ations.1. Fon tion de transfert en z. Ce mode de représentation est le plus usuel. Il permet delier l'entrée et la sortie dans le plan z par Y (z) = H(z).X(z). On posera dans la suite :H(z) =

N(z)

D(z)=

∑Ni=0 bi.z

−i

1 +∑N

i=1 ai.z−i(1.1)où N(z) est le polynme du numérateur de la fon tion de transfert, tandis que D(z) estson dénominateur. N est i i l'ordre du ltre. Dans le as où H(z) possède des ples,on parlera de ltres RII (pour Réponse Impulsionnelle Innie). Si N(z) = 1, on parlerade ltre tous-ples. Dans le as où D(z) = 1, le ltre ne possède que des zéros. Cettefamille de ltre orrespond au as des ltres RIF (pour Réponse Impulsionnelle Finie).Celle i n'a pas d'équivalent en ltrage analogique, et nous verrons que ses propriétés enfont une fon tion très utilisée en traitement numérique du signal.L'équation 1.1 peut également être représentée en mettant en avant les ples et les zéros.

H(z) = b0

∏Ni=1(z − zi)

∏Ni=1(z − pi)

(1.2)où pi sont les ples et zi sont les zéros de H(z). On rappelle i i que la stabilité du ltresera déterminé par l'appartenan e des ples au er le unité (i.e. |pi| < 1), et que deszéros appartenant au er le unité ara tériseront un ltre à minimum de phase.La gure 1.3 montre plusieurs versions de représentations de H(z). La forme dire te(gure1.3.a) peut être dé omposée en produit ou en somme de fon tions de transfertd'ordre inférieur, généralement d'ordre 2. L'équation 1.3 et la gure 1.3.b représentent laforme parallèle, tandis que l'équation 1.4 et la gure 1.3. représentent la forme as ade.H(z) =

M∑

i=1

Hi(z) =M∑

i=1

b0 + b1.z−1 + b2.z

−2

1 + a1.z−1 + a2.z−2(1.3)

Page 12: École T SAT T

1.2 Représentation d'un ltre numérique 7H(z) =

M∏

i=1

Hi(z) =

M∏

i=1

b0 + b1.z−1 + b2.z

−2

1 + a1.z−1 + a2.z−2(1.4)2. Réponse impulsionnelle. La réponse impulsionnelle est la fon tion en z inverse de

H(z).H(z) =

∞∑

n=0

h(n).z−n (1.5)Comme en ltrage analogique, la sortie d'un ltre y(nT ) est le résultat de la onvolutiondu signal d'entrée représenté de manière temporelle x(nT ) ave la réponse impulsionnelledu ltre h(nT ). On a alors y(nT ) = x(nT )∗h(nT ), ou, si on fait abstra tion de la périoded'é hantillonnage T :y(n) = x(n) ∗ h(n) =

∞∑

k=0

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

∞∑

k=0

x(n − k).h(k) (1.6)Dans le as où x(n) est une impulsion δ(n), on retrouve bien y(n) = h(n).Selon les as où h(n) est à support inni ou ni, on retrouvera respe tivement les deuxtypes de ltres RII et RIF.3. Équation aux diéren es. Une transformation en z inverse de l'équation 1.1 permetd'aboutir à la forme suivante :y(n) =

N∑

i=0

bi.x(n − i) −N

i=0

ai.y(n − i) (1.7)On identie i i deux parties distin tes : une partie fon tion de la valeur ourante et desvaleurs pré édentes de l'entrée x(n), et une partie fon tion des valeurs pré édentes de lasortie y(n). Selon si les ai sont non nuls ou nuls, on parlera don de ltres ré ursifs oude ltres non ré ursifs.H(z)

X(z) Y(z)

a) Forme directe

H1(z)

X(z) Y(z)

b) Forme parallèle

H2(z)

HM(z)

. . .

H1(z)X(z) Y(z)

c) Forme cascade

H2(z) HM(z). . .Fig. 1.3: Représentations sous forme de fon tions de transfert en z

Page 13: École T SAT T

8 Filtrage numérique1.3 Spé i ation d'un ltre numériqueAvant qu'un ltre numérique soit onçu et implanté, nous avons besoin de dénir ses spé i- ations. Un ltre doit laisser passer ertaines fréquen es, alors qu'il doit en atténuer (voireéliminer) d'autres. Nous devons don pouvoir représenter es ontraintes. Il y a quatre ltrede bases :1. les ltres passe-bas laissent passer les fréquen es inférieures à une fréquen e de oupurefc et bloquent elles qui lui sont supérieures (gure 1.4.a),2. les ltres passe-haut bloquent les fréquen es inférieures à une fréquen e de oupure fcet laissent passer elles qui lui sont supérieures (gure 1.4.b),3. les ltres passe-bande laissent passer les fréquen es autour d'une fréquen e entrale f0(ou omprises entre f1 et f2) et bloquent les autres (gure 1.4. ),4. les ltres réje teur-de-bande bloquent les fréquen es autour d'une fréquen e entrale f0(ou omprises entre f1 et f2) et laissent passer les autres (gure 1.4.d).

ΩπΩc

1

H(ejΩ)

a) Filtre passe-bas

ΩπΩc

1

H(ejΩ)

b) Filtre passe-haut

ΩπΩ0

1

H(ejΩ)

c) Filtre passe-bande

Ωπ

1

H(ejΩ)

d) Filtre réjecteur-de-bande

Ω2Ω1 Ω0 Ω2Ω1Fig. 1.4: Réponses fréquentielles idéales des 4 ltres de baseLes ltres représentés en gure 1.4 sont idéaux. Dans un as réel il ne peut y avoir de dis- ontinuités. Le passage entre zones passantes et zones atténuées se fait par des zones ditesde transition dont la largeur va exprimer la séle tivité du ltre. Les bandes passantes etatténuées ne sont également pas idéales, elles ontiennent des ondulations dont l'amplitudeest exprimée par les paramètres d'ondulation en bande passante et d'atténuation.Pour toutes es raisons, la spé i ation d'un ltre est habituellement réalisée à partir d'ungabarit fréquentiel, déni entre 0 et π.

Page 14: École T SAT T

1.3 Spé i ation d'un ltre numérique 91.3.1 Spé i ations des ltres passe-bas et passe-hautUn ltre passe-bas possède trois zones : la bande passante (0 ≤ Ω ≤ Ωp), la bande de transition(Ωp ≤ Ω ≤ Ωa) et la bande atténuée (Ωa ≤ Ω ≤ π). La gure 1.5.a montre une représenta-tion graphique du gabarit fréquentiel linéaire d'un ltre passe-bas, tandis que la gure 1.5.breprésente un gabarit fréquentiel en dB. Un ltre passe-haut verrait ses bandes atténuées etpassantes inversées, on aurait dans e as Ωp > Ωa. δ1 est l'ondulation en bande passante, δ2est l'atténuation.La séle tivité du ltre est dénie dans le tableau 1.1.ΩπΩp

1

|H(ejΩ)|

1-δ1

1+δ1

δ2

Ωa

Ωπ

Ωp

0 dB

|H(ejΩ)| (dB)

20log(1-δ1)

20log(1+δ1)

20logδ2

Ωa

a) Gabarit fréquentiel linéaire b) Gabarit fréquentiel en dBFig. 1.5: Gabarit fréquentiel d'un ltre passe-bas1.3.2 Spé i ations des ltres passe-bande et réje teur-de-bandeUn ltre passe-bande possède plusieurs zones : la bande passante (Ωp− ≤ Ω ≤ Ωp+), deuxbandes de transition et deux bandes atténuées (0 ≤ Ω ≤ Ωa− et Ωa+ ≤ Ω ≤ π). La gure 1.6montre une représentation graphique du gabarit fréquentiel linéaire d'un ltre passe-bande.Un ltre réje teur-de-bande verrait ses bandes atténuées et passantes inversées.Le tableau 1.1 résume les paramètres des diérents gabarits étudiés.Passe-bas Passe-haut Passe-bande Réje teur-de-bandeSéle tivité s

Ωp

Ωa

Ωa

Ωp

Ωp+−Ωp−

Ωa+−Ωa−

Ωa+−Ωa−

Ωp+−Ωp−Ondulation δ1 δ1 δ1 δ1Atténuation δ2 δ2 δ2 δ2Fréquen e entrale Ω0 - - √

Ωp+.Ωp−√

Ωp+.Ωp−Largeur de bande B - - Ωp+−Ωp−

Ω0

Ωp+−Ωp−

Ω0Tab. 1.1: Paramètres de spé i ation d'un ltre numérique

Page 15: École T SAT T

10 Filtrage numérique

ΩπΩp+

1

|H(ejΩ)|

1-δ1

1+δ1

δ2

Ωa+Ωa- Ωp-Fig. 1.6: Gabarit fréquentiel linéaire d'un ltre passe-bande1.4 Classi ation des ltres numériquesLes ltres numériques peuvent être lassés selon plusieurs ritères :1. la longueur de la réponse impulsionnelle implique deux types de ltres RII et RIF,2. le type de représentation, ou de stru ture, implique deux types de ltres ré ursifs et nonré ursifs.Nous verrons qu'à l'ex eption d'un as parti ulier, les ltres ré ursifs et non ré ursifs sontrespe tivement équivalents aux ltres RII et RIF.1.4.1 Filtres ré ursifs RIILes ltres analogiques ont né essairement une réponse impulsionnelle innie. Les ltres nu-mériques RII se omportent de manière similaire, mis à part les eets dus à la dis rétisation.Cette atégorie de ltre est également ara térisée par une fon tion de transfert en z ontenantdes ples, et une équation aux diéren es ré ursives, 'est à dire lorsque la sortie y(n) dépendà la fois des entrées et des sorties pré édentes.Les équations 1.8 et 1.9 montrent la fon tion de transfert en z et l'équation aux diéren es orrespondante de la forme générale d'un ltre RII. N est appelé i i l'ordre du ltre.H(z) =

N(z)

D(z)=

∑Ni=0 bi.z

−i

1 +∑N

i=1 ai.z−i(1.8)

y(n) =

N∑

i=0

bi.x(n − i) −N

i=0

ai.y(n − i) (1.9)A partir de l'équation 1.8, deux as se présentent :1. si N(z) n'est pas divisible par D(z), on a un nombre inni de termes dans la division

Page 16: École T SAT T

1.4 Classi ation des ltres numériques 11polynomiale de N(z) par D(z) :H(z) =

N∑

n=0

cn.z−n

h(n) = cn pour n = 0 . . .∞

H(z) est un ltre RII,2. si N(z) est divisible par D(z), on a un nombre ni de termes dans la division polynomialede N(z) par D(z) :H(z) =

N−1∑

n=0

cn.z−n

h(n) = cn pour n = 0 . . . N − 1

H(z) est un ltre RIF.Exemple 1.4.1 : Démontrer que le ltre moyenneurH(z) = 1

M1−z−M

1−z−1 = 1M

∑M−1i=0 z−ipeut être exprimé de manière ré ursive : y(n) = s(n − 1) + 1

M [e(n) − e(n − M)]ou de manière non ré ursive : y(n) = 1M

∑M−1i=0 e(n − i)Les prin ipales ara téristiques des ltres RII sont :1. une bande de transition qui peut être étroite ;2. des méthodes de synthèse par transposition des méthodes pour les ltres analogiques(voir hapitre 2) ;3. une instabilité potentielle due à des ples situés en dehors du er le unité (i.e. |pi| ≥ 1quel que soit i) ;4. une instabilité numérique (i.e. après quanti ation des oe ients et du signal) poten-tielle due au rebou lage.1.4.2 Filtres non ré ursifs RIFLes ltres RIF ne peuvent pas être dérivés des ltres analogiques. Il sont ependant trèslargement utilisés ar ils possèdent des propriétés uniques (phase linéaire, stabilité, exibilité).Les équations 1.10 et 1.11 montrent la fon tion de transfert en z et l'équation aux diéren es orrespondante de la forme générale d'un ltre RII. N est appelé i i la longueur de la réponseimpulsionnelle du ltre.

H(z) =

N−1∑

i=0

bi.z−i (1.10)

y(n) =N−1∑

i=0

bi.x(n − i) =N−1∑

i=0

h(i).x(n − i) (1.11)

Page 17: École T SAT T

12 Filtrage numériqueOn remarque en exploitant l'équation 1.11 que les oe ients bi du ltre sont également lesvaleurs de la réponse impulsionnelle h(n), qui se trouve don être limitée dans le temps.H(z) =

N−1∑

i=0

bi.z−i ⇐⇒ h(n) =

N−1∑

i=0

bi.δ(n − i) (1.12)h(n) =

bn pour 0 ≤ n ≤ N − 10 ailleurs

(1.13)Les prin ipales ara téristiques des ltres RIF sont :1. une bande de transition qui sera toujours plus large qu'un ltre RII ayant le mêmenombre de oe ients ;2. des méthodes de synthèse permettant de dériver n'importe quelle réponse fréquentielle(voir hapitre 3 ;3. une stabilité inhérente (∑N−1n=0 |h(n)| < ∞) ;4. une plus grande stabilité numérique que les RII ;5. une phase qui peut être exa tement linéaire, par onséquent un temps de propagationde groupe onstant et une absen e de distorsion harmonique dans le signal ;6. une plus grande fa ilité d'implantation dans un système numérique de traitement.1.5 Analyse fréquentielle des ltres numériquesL'analyse fréquentielle est la représentation de la fon tion de transfert du ltre dans le domainedes fréquen es, 'est à dire elui de Fourier. La fon tion de transfert en Ω est la transforméede Fourier du signal h(n).

H(ejΩ) =

∞∑

n=0

h(n).e−jnΩ = H(z)/z=ejΩ (1.14)Cette fon tion orrespond à un signal dis ret, elle est don périodique de période 2π. C'estpour ette raison que l'on a l'habitude d'utiliser la notation H(ejΩ) plutt que H(Ω). La gure1.7 représente un exemple de ltre passe-bas. En traitement du signal, on étudie généralementle module et la phase (ou argument) de la fon tion omplexe H(ejΩ).H(ejΩ) = Hr(e

jΩ) + jHi(ejΩ) = |H(ejΩ)|ejΦ(Ω) (1.15)1.6 Stru tures des ltres RII et RIF1.6.1 Stru ture des ltres RIFLa stru ture d'un ltre est un graphe ots de données (GFD) dans lequel les n÷uds sontdes opérations (les additions sont habituellement représentées par des er les ontenant un

+ et les multipli ations par des triangles asso iés aux oe ients multipli ande) et les ar sles dépendan es, 'est à dire le ot des données issues du signal. Certains ar s sont valués

Page 18: École T SAT T

1.6 Stru tures des ltres RII et RIF 13Ω2π

|H(ejΩ)|

πFig. 1.7: Exemple de ltre passe-basd'un oe ients z−1 représentant un délai d'une période d'é hantillonnage. Ce oe ient sereprésente également sous la forme d'un registre.L'équation :y(n) =

N∑

i=0

bi.x(n − i) = b0.x(n) + b1.x(n − 1) + . . . + bN−1.x(n − N + 1) + bN .x(n − N)représente le omportement temporel d'un ltre RIF. On peut en déduire immédiatement lastru ture dire te d'un ltre RIF qui est représentée à la gure 1.8.a. La stru ture transposéede la gure 1.8.b est obtenue après manipulation de ette équation.+

+

+

Z-1

Z-1

b1

bN-1

bN

x(n-1)

x(n-N)

x(n) y(n)b0

+

Z-1

+

Z-1

+

+

Z-1

b1

bN-1

bN

y(n)b0

x(n)

a) Structure directe b) Structure transposée Fig. 1.8: Stru tures des ltres RIF1.6.1.1 Complexité d'implantation d'un ltre RIFUn ltre RIF ne essite N + 1 opérations de multipli ation, N opérations d'addition pour haque nouvel é hantillons à ltrer. On peut également exprimer la omplexité en nombre

Page 19: École T SAT T

14 Filtrage numériquede multipli ation-a umulation (MAC), qui, dans le as du ltre RIF, vaut N + 1. Le oûtmémoire d'un ltrage RIF est de 2(N +1) (N +1 oe ients bi et N +1 points mémoire pourle ve teur des entrées x(i)).Si la fréquen e d'é hantillonnage du signal vaut Fe, ela signie que le al ul d'un ltre devraêtre réalisé en un temps Tcalcul inférieur à Te = 1Fe.Sur un pro esseur de type DSP apable d'exé uter une multipli ation-a umulation (MAC)à haque y le, de puissan e de al ul Pcalcul exprimée en MIPS (Million d'Instru tion ParSe onde), Le temps de al ul sera : Tcalcul = (N + 1).Tcycle = (N + 1)/Pcalcul. Aussi, lapuissan e de al ul d'un DSP pour l'implantation d'un ltrage RIF vaut :

Pcalcul (MIPS) > (N + 1).Fe/106 (1.16)1.6.2 Stru ture des ltres RIIL'équation suivante (1.17) montre que l'on peut représenter un ltre RII H(z) sous la formedu produit de 2 stru tures, dont une est une ltre RIF N(z), et l'autre un ltre RII tout-ple

1/D(z).H(z) =

N(z)

D(z)= [N(z)] ×

[

1

D(z)

]

=

[

N∑

i=0

bi.z−i

]

×[

1

1 +∑N

i=1 ai.z−i

] (1.17)La stru ture dire te d'un ltre RII est don obtenue en mettant en as ade un ltre RIF sousforme dire te, et la représentation immédiate du ltre tout-ple 1/D(z). Celle i est donnée àla gure 1.9.a. En réunissant les additions du entre de la gure, on obtient la forme dire te lassique utilisée dans la littérature représentée à la gure 1.9.b.

RII

Z-1

Z-1

b1

bN-1

bN

x(n-1)

x(n-N)

x(n) y(n)

Z-1

Z-1

-a1

-aN-1

-aN

y(n-1)

y(n-N)

+

+

+

+

+

+

Z-1

Z-1

b1

bN-1

bN

x(n) y(n)

Z-1

Z-1

-a1

-aN-1

-aN

+

+

+

RIF

a) Cascade b) Structure directe

b0 b0

Fig. 1.9: Stru tures dire tes des ltres RIIIl est bien entendu possible de représenter diéremment un ltre RII en utilisant la propriétéde ommutativité de la multipli ation. On a alors :H(z) =

[

1

D(z)

]

× [N(z)] =

[

1

1 +∑N

i=1 ai.z−i

]

×[

N∑

i=0

bi.z−i

] (1.18)

Page 20: École T SAT T

1.6 Stru tures des ltres RII et RIF 15On peut don é hanger sur la gure 1.9.a les 2 blo s RIF et RII. Les deux lignes à retardpermettant de mémoriser les signaux x(n) se retrouvant ommunes, il est possible de lesréunir en obtenant un ve teur unique de registres w(n), omme représenté à la gure 1.10.a.

b) Structure canonique transposée

+

Z-1

+

Z-1

-a1

-aN-1

-aN

+

+

Z-1

b1

bN-1

bN

y(n)b0

x(n)

a) Structure canonique directe

y(n)

Z-1

Z-1

-a1

-aN-1

-aN

Z-1

b1

bN-1

bN

b0x(n) +

+

+

+

+

+

w(n)

w(n-1)

w(n-N)Fig. 1.10: Stru tures anoniques des ltres RIIOn peut également représenter la stru ture anonique sous la forme d'un système d'équation(1.19) faisant apparaître le signal w(n).

W (z) = 1D(z) .X(z)

Y (z) = N(z).W (z)

w(n) = x(n) − ∑Ni=1 ai.w(n − i)

y(n) =∑N

i=0 bi.w(n − i)(1.19)1.6.2.1 Complexité d'implantation d'un ltre RIIUn ltre RII ne essite 2N + 1 opérations de multipli ation, 2N opérations d'addition pour haque nouvel é hantillons à ltrer ou 2N + 1 MAC. Le oût mémoire d'un ltrage RII enstru ture dire te est de 4N + 3 (2N + 1 oe ients bi et 2(N + 1) points mémoire pour lesve teurs des entrées x(n) et des sorties y(n)). La stru ture anonique permet de diminuer le oût mémoire qui ne ne essite plus que N + 1 points mémoire pour le ve teur w(n).Si la fréquen e d'é hantillonnage du signal vaut Fe, ela signie que le al ul du ltre devraêtre réalisé en un temps Tcalcul inférieur à Te = 1

Fe.Sur un pro esseur de type DSP apable d'exé uter une multipli ation-a umulation (MAC)à haque y le, de puissan e de al ul Pcalcul exprimée en MIPS (Million d'Instru tion ParSe onde), Le temps de al ul sera : Tcalcul = (2N + 1).Tcycle = (2N + 1)/Pcalcul. Aussi, lapuissan e de al ul d'un DSP pour l'implantation d'un ltrage RIF vaut :

Pcalcul (MIPS) > (2N + 1).Fe/106 (1.20)

Page 21: École T SAT T

16 Filtrage numériqueExemple 1.6.1 : Cellule élémentaire du premier ordreSoit le système qui, à la suite de données x(n), fait orrespondre la suite y(n) telle que :y(n) = x(n) + b.y(n − 1)où b est une onstante.1. Donner les réponses impulsionnelles et indi ielles de e système. par deux méthodes(suite numérique, transformée en Z). Que peut on dire de la stabilité du ltre.2. Étudier l'analogie ave le système ontinu de onstante de temps t, é hantillonné ave la période T .3. Étudier la réponse fréquentielle du ltre.4. Donner la stru ture de réalisation du ltre.Exemple 1.6.2 : Cellule du se ond ordre purement ré ursiveSoit le système qui, à la suite de données x(n), fait orrespondre la suite y(n) telle que :

y(n) = x(n) − b1.y(n − 1) − b2.y(n − 2)1. Donner la fon tion de transfert en Z du système.2. En déduire la réponse impulsionnelle du ltre numérique.3. Étudier la réponse fréquentielle du ltre. On regardera plus parti ulièrement l'inuen edes oe ients b1 et b2 sur les ples de la fon tion de transfert H(z).4. Tra er le diagramme des ples et zéros.5. Donner les stru tures de réalisation.

Page 22: École T SAT T

Chapitre 2Synthèse des ltres RII2.1 Introdu tion et rappels en ltrage analogique2.1.1 Introdu tionLa synthèse d'un ltre numérique est la re her he d'une fon tion H(z) (ou h(n)) orrespondantà la spé i ation sous forme de gabarit. La re her he de ette fon tion peut être réalisée selondiverses méthodes. La méthode la plus ourante est l'utilisation des méthodes de synthèse des ltres analogiquesaboutissant à une fon tion H(p) orrespondant aux spé i ations. Une fon tion permettantle passage du plan p dans le plan z (i.e. p = f(z)) est ensuite utilisée pour obtenir H(z).Cette fon tion doit maintenir la stabilité du ltre analogique et maintenir, au mieux, les ara téristiques de la réponse fréquentielle H(ejΩ) du ltre numérique. Nous étudions dansla suite du hapitre trois types de transformation f . Une synthèse dire te en z est également possible selon les mêmes prin ipes que la synthèseanalogique, mais elle ne sera pas présentée i i vu le nombre important d'outils développésdans le ontexte analogique. Enn, des méthodes d'optimisation issues de l'analyse numérique peuvent être utilisées ande re her her une fon tion H(z) s'appro hant le plus possible d'une fon tion prototype.La minimisation d'un ritère d'erreur entre la ourbe idéale et la ourbe réelle est alorsappliquée.La gure 2.1 résume la méthodologie de synthèse de ltres analogiques et numériques RII. Lespremières phases de synthèse analogique (normalisation, approximation et dénormalisation)sont expli ités dans la se tion suivantes, tandis que les diérentes transformations p → z sontprésentées aux se tions 2.2 à 2.4.2.1.2 Rappels en ltrage analogiqueLes ltre analogiques sont spé iés de manière équivalente aux ltres numériques (voir se tion1.3). Les fréquen es sont exprimées en fon tion de f (en Hz) ou de ω, la pulsation (en rad/s).La fon tion de transfert H(p) est exprimée en p = jω. La synthèse de ette fon tion H(p) est omposée de trois étapes prin ipales :1. normalisation du gabarit, 17

Page 23: École T SAT T

18 Synthèse des ltres RIISpécification

Gabarit analogique

Gabarit normalisé

Normalisation

Ordre du filtre

HNorm(p)

Approximation de H(p)

Types de filtre (Butterworth, Chebyshev,...)

H(p)

Dénormalisation

Filtrage numérique Filtrage analogique

Transformation p=f(z)

invariance impulsionnelle, bilinéaire

Choix d’une structure Rauch, Sallien-Key,

BiquadratiqueFig. 2.1: Méthodologie de synthèse de ltres analogique et numérique RII2. approximation de la fon tion de transfert normalisée HNorm(p),3. dénormalisation de HNorm(p) aboutissant à la fon tion de transfert H(p).2.1.2.1 NormalisationCette première phase permet d'aboutir au gabarit passe-bas prototype (ou gabarit normalisé)à partir de n'importe que des 4 types prin ipaux de ltres (passe-bas, passe-haut, passe-bande,réje teur-de-bande). Celui i (voir gure 2.2) est un gabarit passe-bas possédant une pulsationde oupure normalisée à 1 et une pulsation de bande atténuée valant 1s , s étant la séle tivitédénie au paragraphe 1.3 (voir tableau 1.1). Les valeurs d'ondulation et d'atténuation sontin hangées.2.1.2.2 Approximation de la fon tion de transfertLa phase suivante onsiste en la re her he d'une fon tion HNorm(p) entrant dans le gabaritprototype passe-bas déni avant. Il existe plusieurs fon tions d'approximation, nous exposons i-après les 4 fon tions les plus utilisées.Pour la détermination de l'ordre du ltre et des oe ients de la fon tion de transfert H(p), onpourra soit utiliser les formules et tableaux données i-après, soit utiliser les abaques fourniesen annexe ??.1. Filtres de ButterworthUn ltre passe-bas de Butterworth d'ordre N et de pulsation de oupure ωc est déni

Page 24: École T SAT T

2.1 Introdu tion et rappels en ltrage analogique 19ω1

1

|HNorm(p)|

1-δ1

1+δ1

δ2

1/s

ω 0

|HNorm(p)| (dB)

−∆1

∆1

∆2

a) Gabarit prototype linéaire b) Gabarit prototype en dB

1 1/s

Fig. 2.2: Gabarit prototype passe-baspar le arré de sa réponse fréquentielle :∣

∣HB(ω)∣

2=

1

1 +(

ωωc

)2N(2.1)Les prin ipales propriétés des ltres de Butterworth sont : l'amplitude est une fon tion monolithique dé roissante sur ω, la réponse fréquentiel est plate dans les bandes passante et atténuées, le gain maximum est pour ω = 0 et vaut 1, |HB(ωc)| =

√0.5, ωc est don la pulsation de oupure à −3dB, l'atténuation asymptotique dans les hautes fréquen es vaut 20.N dB/dé ade.L'ordre du ltre est déterminé par la relation :

N ≥log

(

1δ2√

δ1

)

log(

1s

) (2.2)N a1 a2 a3 a4 a52 1.41423 2 24 2.6131 3.4142 2.61315 3.2361 5.2361 5.2361 3.23616 3.8637 7.4641 9.1416 7.4641 3.8637Tab. 2.1: Coe ients du polynme du dénominateur d'un ltre passe-bas normalisé de But-terworth de degrés 2 à 62. Filtres de ChebyshevUn ltre passe-bas de Chebyshev de type I d'ordre N et de pulsation de oupure ωc estdéni par le arré de sa réponse fréquentielle :

∣HC(ω)∣

2=

1

1 + ǫ2T 2N

(

ωωc

) , (2.3)

Page 25: École T SAT T

20 Synthèse des ltres RIIoù TN (x) est un polynme de Chebyshev de degré N, ǫ un paramètre permettant derégler l'amplitude de l'ondulation en bande passante ou en bande atténuée.Les prin ipales propriétés des ltres de Chebyshev sont : pour un ltre de type I, l'amplitude dans la bande passante possède une ondulationrespe tant :0 ≤ ω ≤ ωc =⇒ 1

1 + ǫ2≤

∣HC(ω)∣

2 ≤ 1pour un ltre de type II, es ondulations sont situées dans la bande atténuée (ω ≥ ωc),|HC(0)| =

1/(1 + ǫ2), N impair1, N pair l'atténuation asymptotique dans les hautes fréquen es vaut 20.N dB/dé ade, maisl'ordre du ltre sera plus faible qu'un Butterworth à spé i ations équivalentes.3. Filtres elliptiquesLes ltres elliptiques possèdent des ondulations à la fois en bande passante et en bandeatténuée. Ils sont optimaux en terme de séle tivité, 'est à dire qu'ils donnent l'ordreminimal à spé i ation donnée. Un ltre passe-bas elliptique d'ordre N et de pulsationde oupure ωc est déni par le arré de sa réponse fréquentielle :

∣HE(ω)∣

2=

1

1 + ǫ2R2N

(

ωωc

) , (2.4)où RN (x) est une fon tion rationnelle de Chebyshev de degré N, ǫ un paramètre per-mettant de régler l'amplitude de l'ondulation en bande passante ou en bande atténuée.L'ondulation en bande passante, équivalente à un hebyshev-I, est omprise entre 1 et1/(1 + ǫ2).4. Filtres de BesselLes ltres de Bessel sont intéressants pour leur phase pro he de la linéarité. En ontre-partie, ils sont eux ayant la séle tivité la plus faible.2.1.2.3 DénormalisationCette dernière étape permet de passer de la fon tion de transfert normalisée HNorm(pN ) àla fon tion de transfert H(p). Nous appelons i i pN la variable de la fon tion normalisée. Ladénormalisation onsiste don en l'appli ation d'une fon tion f permettant de transformer ette variable pN en la variable p = jω : pN = f(p). La fon tion f dépend du type de ltrespé ié. Le tableau 2.2 résume les fon tions de dénormalisation pour les 4 types de ltres.passe-bas passe-haut passe-bande réje teur-de-bande

pN = pωc

pN = ωc

p pN = 1B

(

pω0

+ ω0p

)

pN =[

1B

(

pω0

+ ω0p

)]−1Tab. 2.2: Fon tions de dénormalisation

Page 26: École T SAT T

2.2 Méthode de l'invarian e impulsionnelle 21Exemple 2.1.1 : Synthèse d'un ltre passe-hautSoit le ltre déni par le gabarit suivant : fp fa δ1 δ23 kHz 1 kHz -3 dB -20 dB1. Dessiner le gabarit du ltre. En déduire le gabarit du ltre prototype.2. Pour les 4 types de ltre pré édents, déterminer l'ordre du ltre et la fon tion de transfertnormalisée HNorm(p).3. En déduire les fon tions de transfert H(p) des 4 types de ltre.2.2 Méthode de l'invarian e impulsionnelleLa méthode de l'invarian e impulsionnelle onsiste à ee tuer la synthèse d'un ltre numériquedont la réponse impulsionnelle h(nT ) est l'é hantillonnage de la réponse impulsionnelle ha(t)du ltre analogique équivalent (gure 2.3). On a alors :h(nT ) , ha(t)|t=nT (2.5)t

ha(t)

Ha(p)x(t) y(t)

filtre analogique

t

h(nT)

H(z)x(nT) y(nt)

filtre numérique

T

Fig. 2.3: Conservation de la réponse impulsionnelle entre les ltres analogique et numériqueDans le as où la fon tion de transfert du ltre analogique Ha(p) possède N ples simples pi,on peut é rire :Ha(p) =

N(p)

D(p)=

N∑

i=1

ki

p + pi

ha(t) =N

i=1

kie−pitSi on é hantillonne la réponse impulsionnelle du ltre analogique par h(nT ) = ha(t)|t=nT , onobtient la fon tion de transfert du ltre numérique H(z) :

Page 27: École T SAT T

22 Synthèse des ltres RIIh(nT ) =

N∑

i=1

kie−pinT

H(z) =

N∑

i=1

kiz

z − e−piT=

N∑

i=1

ki1

1 − e−piT z−1Si on étend ette formulation de H(z) à tout type de fon tion Ha(p), on peut, en utilisant laformule des résidus, obtenir une relation dire te entre Ha(p) −→ H(z) :H(z) =

pi de Ha(p)

Res

(

Ha(p)

1 − epT z−1, pi

) (2.6)Cette méthode de synthèse est simple. Elle onserve la réponse temporelle du ltre analo-gique équivalent et également la stabilité du ltre. Par ontre, la réponse fréquentielle du ltren'est pas onservée. En eet, ette transformation suit logiquement le théorème d'é hantillon-nage et le phénomène de re ouvrement de spe tre. Son utilisation doit respe ter les ontraintesdues à l'é hantillonnage, en parti ulier une bande passante inférieure à la moitié de la fréquen ed'é hantillonnage. La réponse fréquentielle est donnée par la formulation :H(ejωT ) = H(z)|z=ejωT =

1

T

k

Ha(jω + j2πk

T) (2.7)Par onséquent, la méthode de l'invarian e impulsionnelle n'est appli able qu'aux ltres àbande limitée satisfaisant l'équation :

|Ha(jω)| ≃ 0 pour |ω| > ωB avec ωB < πfe (2.8)La gure 2.4 montre le résultat de la réponse fréquentielle d'un ltre numérique dans le asoù le ltre analogique équivalent n'est pas à bande limitée. Le phénomène de re ouvrementde spe tre est i i important. On remarque également que la réponse fréquentielle de H(z)possède un fa teur multipli atif 1/T (équation 2.7). Ce fa teur, dont la valeur est très élevée(e.g. 10000 pour une fréquen e d'é hantillonnage de 10kHz), doit être atténué si on veut unltre réalisable. En pratique, on normalisera H(z) par (×T ) ou par (/H(z = ej0). Dans edernier as, on obtiendra une valeur en ω = 0 équivalente au ltre analogique.2.3 Transformation d'EulerL'eet de re ouvrement de la méthode de l'invarian e impulsionnelle est due à l'utilisationd'une fon tion non algébrique et non bije tive entre le plan p et le plan z. Nous allons don her her à utiliser une transformation algébriques entre es deux plans.La transformation d'Euler onsiste à utiliser l'approximation simple d'une dérivée :de(t)

dt|t=nT = lim

∆t→0

∆e(nT )

∆t≃ e[nT ] − e[(n − 1)T ]

T(2.9)Si on onsidère un système linéaire dis ret H(z) réalisant ette approximation, il aura laforme :

s(nT ) =e[nT ] − e[(n − 1)T ]

T(2.10)

Page 28: École T SAT T

2.3 Transformation d'Euler 231

Ha(p)

1/T

p

Ω

2Π−2Π Π

H(Ω)

Fig. 2.4: Réponses fréquentielles des ltres analogique et numériqueCe qui donne dans la plan z :S(z) =

1 − z−1

TE(z) (2.11)

H(z) =1 − z−1

T(2.12)Dans le plan p, la dérivation est obtenue par la fon tion de transfert Ha(p) = p. Par onséquent,la transformation d'Euler réalisant l'approximation d'une dérivée est dénie par :

H(z) , H(p)|p= 1−z−1

T

(2.13)La transformation inverse donnée par :z =

1

1 − pT(2.14)permet de her her une relation entre les fréquen es analogique (ωa) et numérique (ω). Onobtient :

z =1

1 − jωaT= ejωT (2.15)

z =1

2

[

1 +1 + jωaT

1 − jωaT

]

=1

2

[

1 + ej2 arctan(ωaT )] (2.16)La variable z par ourt don un er le de entre z = 1/2 et de rayon 1/2. Le er le unité duplan z est don transformé, impliquant une modi ation importante de la réponse fréquentielledu ltre donnée par l'équation 2.16. Cependant, il n'y a pas de phénomène de re ouvrementde spe tre. La stabilité est onservée.La se tion suivante montre une transformation utilisant le même prin ipe, mais dont les per-forman es en terme de réponse fréquentielle sont meilleures.

Page 29: École T SAT T

24 Synthèse des ltres RII2.4 Transformation bilinéaireLa transformation bilinéaire est issue d'un système linéaire dis ret H(z) réalisant l'approxima-tion d'une intégrale par la méthode des re tangles (voir gure 2.5. On peut l'exprimer ommeun ltre ré ursif donné par :s(nT ) = s((n − 1)T ) + T

e(nT ) + e((n − 1)T )

2(2.17)

t

e(nT)

nT(n-1)TFig. 2.5: Approximation d'une intégrale par la méthode des re tanglesCe qui donne dans la plan z :S(z) = z−1S(z) + T

E(z) + z−1E(z)

2(2.18)

H(z) =S(z)

E(z)=

T

2

1 + z−1

1 − z−1(2.19)Dans le plan p, l'intégration est obtenue par la fon tion de transfert Ha(p) = 1/p. Par onsé-quent, la transformation bilinéaire réalisant l'approximation d'une intégrale est dénie par :

H(z) , H(p)|p= 2

T1−z−1

1+z−1

(2.20)La transformation inverse donnée par :z =

2/T + p

2/T − p=

2/T + jωa

2/T − jωa(2.21)permet de her her une relation entre les fréquen es analogique (ωa) et numérique (ω). Onobtient :

z =2 + jωaT

2 − jωaT= ejωT (2.22)

|z| = 1 (2.23)arg(z) = arctan(

ωaT

2) + arctan(

ωaT

2) = 2 arctan(

ωaT

2) arctan(

ωaT

2) (2.24)

z = ejωT ⇒ arg(z) = ωT (2.25)Les équations 2.24 et 2.25 impliquent la relation entre les pulsations analogique et numérique :ωaT

2= tan

(

ωT

2

) (2.26)

Page 30: École T SAT T

2.4 Transformation bilinéaire 25Cette relation est très importante puisqu'elle permet de onnaître de manière analytique letransformation entre les réponses fréquentielles des ltres analogique et numérique. Cette re-lation s'appelle distorsion en fréquen e ou frequen y warping.La gure 2.6 montre que l'ensemble de l'axe imaginaire du plan p est transformé vers le er le unité du plan z ( f. équation 2.23 et 2.24) de manière bije tive. De plus, le domainede stabilité (demi-plan gau he du plan p) est transformé vers le disque unité (gure 2.6).Cette transformation évite don le phénomène de re ouvrement de spe tre et onserve lastabilité. Cependant, une ompression non linéaire de l'axe des fréquen es est réalisée ommele montrent l'équation 2.26 et la gure 2.7.plan p

p = jωa

plan z

z = ejωT

π 0

Fig. 2.6: Transformation du plan p vers le plan z

π

π/Tωa

ωT

−πFig. 2.7: Transformation non linéaire entre les fréquen es analogique et numérique : distorsionen fréquen eEn onséquen e, la synthèse de ltre numérique utilisant la transformation bilinéaire est uti-lisable quand ette ompression peut être tolérée ou ompensée. La gure 2.8 illustre e phé-nomène. Elle montre omment une réponse fréquentielle à temps ontinu et son gabarit esttransformée en une réponse fréquentielle à temps dis ret. Si les fréquen es ritiques (i.e. le ga-barit) sont modiées en utilisant une pré-distorsion (équation 2.26), alors le ltre numériquerespe tera les spé i ations initiales.

Page 31: École T SAT T

26 Synthèse des ltres RII

ΩπΩp

1

|H(ejΩ)|1-δ1

1+δ1

δ2

Ωa

ωa p

1

|Ha(jωa)|

1-δ1

1+

δ 1 δ 2

ωa a

π

ωaωa

Ω

ωa=2/T tan(Ω/2)

2πFig. 2.8: Transformation fréquentielle du ltre analogique Ha(ωa) vers le ltre numériqueH(Ω)

Page 32: École T SAT T

2.4 Transformation bilinéaire 27La méthodologie de synthèse par la transformation bilinéaire doit don suivre l'algorithmesuivant :1. à partir des spé i ations fréquentielles, ee tuer une pré-distorsion des fréquen es ri-tiques du gabarit :ωa p,a =

2

Ttan

(

Ωp,a

2

)

, (2.27)2. ee tuer la synthèse du ltre analogique Ha(p) (voir se tion 2.1),3. utiliser la transformation bilinéaire H(z) , H(p)|p= 2

T1−z−1

1+z−1

pour obtenir le ltre numé-rique H(z).La pré-distorsion assure que le ltre numérique ainsi synthétisé entre dans le gabarit initial.Exemple 2.4.1 : Synthèse d'un ltre IIR du premier ordreOn s'intéresse i i à la synthèse d'un ltre passe-bas RC du premier ordre par les méthodes del'invarian e impulsionnelle et bilinéaire. Soit le ltre :

Ha(p) =1

1 + pωc

,ave fc = 1kHz et fe = 10kHz.1. Donner la réponse fréquentielle du ltre analogique Ha(ωa). Donner les valeurs de sonmodule en f = 0, 1kHz, 5kHz et 10kHz.2. Exprimez les ltres numériques obtenus par invarian e impulsionnelle (Hi(z)) et trans-formation bilinéaire (Hb(z)). Pour Hb(z), il faudra s'assurer de la même fréquen e de oupure ωc que le ltre analogique. Pour Hi(z), il faudra s'assurer de la même valeur enΩ = 0 que le ltre analogique.3. Donner de manière analytique les réponses fréquentielles des deux ltres numériques.Donner les valeurs de leurs modules en f = 0, 1kHz, 5kHz et 10kHz.4. Tra er es deux réponses à l'aide de Matlab ou S ilab.

Page 33: École T SAT T

28 Synthèse des ltres RII

Page 34: École T SAT T

Chapitre 3Synthèse des ltres RIF3.1 Introdu tionUn ltre RIF est déni par sa fon tion de transfert en z :H(z) =

N−1∑

n=0

h(n).z−n (3.1)où la réponse impulsionnelle h(n) est de longueur N .A la diéren e des ltres RII, les ltres RIF ne sont réalisables que dans le domaine dis ret.Par onséquent, leurs méthodes de synthèse ne sont pas dérivées des ltres analogiques. Ondistingue trois prin ipales méthodes, dont deux seront détaillées dans les se tions suivantes.1. La méthode du fenêtrage (windowing) onsiste à appliquer une fenêtre de taille Nau ltre idéal équivalent (voir se tion 3.3).2. La méthode de l'é hantillonnage fréquentiel utilise la Transformée de Fourier Dis- rète inverse depuis une fon tion dis rète représentative du ltre et dénie en fréquen e(voir se tion 3.4).3. Les méthodes d'optimisation se on entrent sur la minimisation d'un ritère d'erreurentre la ourbe réelle et le ltre idéal. La plus utilisée est la méthode de Parks andM Clellan [PM73, qui reformule le problème de synthèse de ltre sous la forme d'uneapproximation polynmiale.3.2 Filtres à phase linéaireLes ltres RIF ont la parti ularité de pouvoir présenter une phase linéaire. Puisque pourles systèmes ausaux une phase nulle dans la bande passante n'est pas réalisable, une phaseexa tement linéaire évitera la modi ation de la forme du signal, 'est à dire le phénomène dedistorsion qui peut être très gênant, en parti ulier dans les systèmes audio. En eet, une phaselinéaire implique un temps de propagation de groupe onstant, et, par onséquent, l'eet dela phase sur le signal sera un simple dé alage temporel. On posera pour e type de ltre :H(ejΩ) = A(ejΩ)e−jαΩ+jβ, (3.2)29

Page 35: École T SAT T

30 Synthèse des ltres RIFoù α et β sont des onstantes et A(ejΩ) une fon tion réelle, éventuellement bipolaire, de Ω quel'on nommera plus tard pseudo-module1 (ou amplitude). Dans e as, le temps de propagationde groupe τg(Ω) = −dϕ(Ω)dΩ sera onstant et aura pour valeur α. ϕ(Ω) est i i la phase linéairedu ltre valant ϕ(Ω) = −αΩ + β. On distinguera par la suite quatre types de ltres selon lesvaleurs de α et β et de la parité de N .Le ltre H(z) et sa réponse fréquentielle H(ejΩ) sont donnés par :

H(z) =

N−1∑

n=0

h(n).z−n (3.3)H(ejΩ) = H(z)|z=ejΩ =

N−1∑

n=0

h(n).e−jnΩ (3.4)H(ejΩ) = ℜ[H(ejΩ)] + jℑ[H(ejΩ)] (3.5)H(ejΩ) = |H(ejΩ)|ej arg(Ω) = A(ejΩ)ejϕ(Ω) (3.6)

•1er as : ϕ(Ω) = −αΩ, −π ≤ Ω ≤ π Dans e as :H(ejΩ) = A(ejΩ)e−jαΩ = A(ejΩ)[cos αΩ − j sinαΩ] (3.7)H(ejΩ) =

N−1∑

n=0

h(n).e−jnΩ =

N−1∑

n=0

h(n)[cos nΩ − j sin nΩ] (3.8)En identiant les parties réelles et imaginaires des deux équations pré édentes, il est possibled'obtenir le système d'équation suivant :

A(ejΩ) cos αΩ =∑N−1

n=0 h(n) cos nΩ

A(ejΩ) sin αΩ =∑N−1

n=0 h(n) sin nΩ(3.9)

⇔N−1∑

n=0

h(n) cos nΩ sin αΩ −N−1∑

n=0

h(n) sin nΩ cos αΩ = 0 (3.10)⇔

N−1∑

n=0

h(n) sin[(α − n)Ω] = 0 (3.11)L'équation 3.11 résume don la ondition sur la réponse impulsionnelle pour que le ltre soità phase linéaire.Si α 6= 0, on montre que l'équation 3.11 est équivalente à :

α = N−12

h(n) = h(N − 1 − n) pour 0 ≤ n ≤ α(3.12)La réponse impulsionnelle est don symétrique. α est l'axe de symétrie de h(n). α peut êtreentier ou non selon si N est impair ou pair.1Le pseudo-module est souvent utilisé en rempla ement du module ar il évite les dis ontinuités dans lemodule dues à la valeur absolue et dans la phase dues à la détermination prin ipale [−π, π] de l'argument. Onpeut le voir omme une représentation du module intégrant ses variations de signe

Page 36: École T SAT T

3.2 Filtres à phase linéaire 31•2nd as : ϕ(Ω) = β−αΩ, −π ≤ Ω ≤ π Dans e as on obtient selon la même démonstrationque pour le premier as la relation suivante :

N−1∑

n=0

h(n) sin[(α − n)Ω + β] = 0 (3.13)On montre ensuite que l'équation 3.13 est équivalente à :

β = ±π/2

α = N−12

h(n) = −h(N − 1 − n) pour 0 ≤ n ≤ α(3.14)La réponse impulsionnelle est don antisymétrique par rapport à α.On déduit de es deux as que selon la parité de N et le type de symétrie de h(n), quatretypes distin ts de ltres sont à étudier.3.2.1 Filtre RIF à phase linéaire de type IUn ltre RIF à phase linéaire de type I est déni par une réponse impulsionnelle symétrique :

h(n) = h(N − 1 − n), 0 ≤ n ≤ α (3.15)ave N impair. Le retard α = N−12 est un entier. La réponse fréquentielle du ltre est :

H(ejΩ) = A(ejΩ)e−jαΩ =

N−1∑

n=0

h(n).e−jnΩ (3.16)En utilisant la relation de symétrie de l'équation 3.15 on obtient :H(ejΩ) = e−j N−1

N−12

n=0

an. cos(nΩ) (3.17)a0 = h(

N − 1

2) (3.18)

an = 2h(N − 1

2− n), n = 1, . . .

N − 1

2(3.19)3.2.2 Filtre RIF à phase linéaire de type IIUn ltre RIF à phase linéaire de type II est déni par une réponse impulsionnelle symétrique omme dans l'équation 3.15, ave N pair. Le retard α = N−1

2 n'est pas un entier. La réponsefréquentielle du ltre est :H(ejΩ) = e−j N−1

N2

n=1

bn. cos[(n − 1

2)Ω] (3.20)

bn = 2h(N

2− n), n = 1, . . .

N

2(3.21)

Page 37: École T SAT T

32 Synthèse des ltres RIFRemarque : si Ω = π alors cos[(n − 12)π] = 0 e qui implique que H(ejπ) = 0. Par onsequent, un ltrage ne respe tant pas ette ontrainte (e.g. un ltre passe-haut) est impos-sible à réaliser ave un ltre de type II.3.2.3 Filtre RIF à phase linéaire de type IIIUn ltre RIF à phase linéaire de type III est déni par une réponse impulsionnelle antisymé-trique :

h(n) = −h(N − 1 − n), 0 ≤ n ≤ α (3.22)ave N impair. Le retard α = N−12 est un entier, β = ±π/2. La réponse fréquentielle du ltreest :

H(ejΩ) = je−j N−12

Ω

N−12

n=1

cn. sin(nΩ) (3.23)cn = 2h(

N − 1

2− n), n = 1, . . .

N − 1

2(3.24)Remarque : H(ej0) = H(ejπ) = 0. Par onsequent, un ltrage ne respe tant pas ette ontrainte est impossible à réaliser ave un ltre de type III. Les ltres pass-bande ou ertainsdérivateurs sont réalisables.3.2.4 Filtre RIF à phase linéaire de type IVUn ltre RIF à phase linéaire de type III est déni par une réponse impulsionnelle antisy-métrique omme dans l'équation 3.22, ave N pair. Le retard α = N−1

2 n'est pas un entier,β = ±π/2. La réponse fréquentielle du ltre est :

H(ejΩ) = je−j N−12

Ω

N2

n=1

dn. sin[(n − 1

2)Ω] (3.25)

dn = 2h(N

2− n), n = 1, . . .

N

2(3.26)Remarque : H(ej0) = 0, H(ejπ) 6= 0. Par onsequent, un ltrage ne respe tant pas ette ontrainte est impossible à réaliser ave un ltre de type IV. Les ltres pass-haut ou ertainsdérivateurs sont réalisables.La gure 3.1 résume les ara téristiques des 4 types de ltre RIF à phase linéaire. Elle tra edes exemples de réponses impulsionnelle symétriques (types I et II) ou antisymétriques (typesIII et IV) et des exemples de réponses fréquentielles.Exemple 3.2.1 : Analyse d'un ltre numérique RIFSoit un ltre RIF déni par sa réponse impulsionnelle h(n) :

h(n) = 0.1δ(n) − 0.3δ(n − 2) + 0.5δ(n − 3) − 0.3δ(n − 4) + 0.1δ(n − 6)

Page 38: École T SAT T

3.2 Filtres à phase linéaire 33h(n)

α N-1

π 2π

h(n)

α N-1

a) Filtre de type I b) Filtre de type II

π 2π

h(n)

α N-1

π 2π

h(n)

α N-1

) Filtre de type III d) Filtre de type IVFig. 3.1: Les quatre types de ltres RIF à phase linéaire

Page 39: École T SAT T

34 Synthèse des ltres RIF1. Donner les expressions de l'équation aux diéren es nies ainsi que la fon tion de trans-fert en Z.2. Tra er la réponse impulsionnelle h(n) du ltre.3. Cal uler la réponse fréquentielle H(ejΩ) du ltre. Déterminer son module et sa phase.On note que :e−jΩ1 + e−jΩ2 = 2 × e−j

(Ω1+Ω2)2 × cos(

Ω2 − Ω1

2)4. Donner les valeurs du module en Ω = 0, π/2, , π , 2π.5. Tra er approximativement son module. De quel type de ltre s'agit-il ?3.3 Méthode de synthèse par fenêtrageSoit un ltre numérique idéal H(ejΩ), périodique de période 2π. Il est dé omposable en sériede Fourier par sa réponse impulsionnelle :

H(ejΩ) =∞∑

n=−∞h(n)e−jnΩ (3.27)Sa réponse impulsionnelle peut être exprimée en fon tion de H(ejΩ) par :

h(n) =1

∫ π

−πH(ejΩ)ejnΩdΩ (3.28)Ce ltre est non ausal et à réponse impulsionnelle innie. La manière la plus simple d'obtenirun ltre RIF appro hant H(ejΩ) est de limiter h(n) par :

h(n) =

h(n), 0 ≤ n < N0, n < 0 et n ≥ NOn obtient dans e as un ltre numérique RIF appro hé h(n) dont la réponse fréquentielleest modié par le phénomène de Gibbs [OS99, 'est à dire l'apparition d'ondulation dansles bandes passantes et atténuées d'amplitude onvergent vers une valeur non nulle lorsque

N → ∞. De manière plus générale, on peut représenter h(n) omme le produit du ltre idéalh(n) ave une fenêtre à durée nie w(n).

h(n) = h(n).w(n) (3.29)Dans l'exemple pré édent, w(n) est la fenêtre re tangulaire r(n) dénie par :r(n) =

1, 0 ≤ n < N0, n < 0 et n ≥ NOn peut alors étudier la réponse fréquentielle du ltre RIF ainsi synthétisé H(ejΩ) :

H(ejΩ) = H(z)|z=ejΩ =

N−1∑

n=0

h(n).w(n).e−jnΩ (3.30)H(ejΩ) =

1

∫ π

−πH(ejθ)W (ej(Ω−θ))dθ (3.31)

= H(ejΩ) ∗ W (ejΩ) (3.32)

Page 40: École T SAT T

3.3 Méthode de synthèse par fenêtrage 35La réponse fréquentielle du ltre H(ejΩ) sera don le résultat de la onvolution entre le ltreidéal et la transformée de Fourier de la fenêtre. Les ara téristiques de ette dernière sontdon très importantes. On devra trouver un fenêtrage dont le W (ejΩ) se rappro he le plus des ara téristiques de δ(Ω).La gure 3.2 montre e phénomène de onvolution. Les eets sur le ltre idéal sont : - l'ap-parition d'ondulations en bandes passante et atténuée, - une zone de transition moins rapidedéterminée par la largeur du lobe prin ipal.H(Ω) W(Ω)*

=H(Ω)^

Fig. 3.2: Pro essus de onvolution de la réponse fréquentielle du ltre idéal par la fenêtreExemple 3.3.1 : Cal ul de la TF de la fenêtre re tangulaireSoit la fenêtre re tangulaire r(n) dénie par : r(n) =

1, 0 ≤ n < N0, n < 0 et n ≥ N1. Cal uler la transformée de Fourier R(ejΩ) de r(n).2. Tra er sa réponse fréquentielle entre −π et π. Donner en parti ulier la valeur en 0 (am-plitude du lobe prin ipal), la largeur du lobe prin ipal et l'amplitude du lobe se ondaire.Exemple 3.3.2 : Filtrage passe bas RIF à phase linéaireSoit le ltre passe-bas idéal déni par :

H(ejΩ) =

e−jαΩ pour −Ωc ≤ Ω ≤ Ωc

0 pour Ωc < Ω ≤ π et − π ≤ Ω < −Ωc1. Tra er la réponse fréquentielle de H(ejΩ) en module et phase entre −2π et 2π.2. Cal uler et tra er h(n).3. Expliquer omment obtenir un ltre RIF de longueur N à partir de e ltre. On utiliserala fenêtre étudiée dans l'exemple pré édent. Donner et tra er les valeurs de h(n).4. Donner une formule analytique de la réponse fréquentielle du ltre H(ejΩ).5. Tra er son module et sa phase.

Page 41: École T SAT T

36 Synthèse des ltres RIF3.3.1 Cara téristiques des prin ipales fenêtresLes prin ipales fenêtres utilisées sont détaillées à la gure 3.3. Elles sont dénies par leséquation i dessous :Re tangulairew(n) =

1, 0 ≤ n < N0, n < 0 et n ≥ N

(3.33)Triangulaire (Bartlett)w(n) =

2nN−1 , 0 ≤ n ≤ N−1

2

2 − 2nN−1 , N−1

2 ≤ n ≤ N − 1

0, n < 0 et n ≥ N

(3.34)Hanningw(n) =

0.5 − 0.5 cos(

2πnN−1

)

, 0 ≤ n ≤ N − 1

0, n < 0 et n ≥ N(3.35)Hamming

w(n) =

0.54 − 0.46 cos(

2πnN−1

)

, 0 ≤ n ≤ N − 1

0, n < 0 et n ≥ N(3.36)Bla kman

w(n) =

0.42 − 0.5 cos(

2πnN−1

)

+ 0.08 cos(

4πnN−1

)

, 0 ≤ n ≤ N − 1

0, n < 0 et n ≥ N(3.37)

0 10 20 30 40 50 600

0.2

0.4

0.6

0.8

1

n

w(n

)

RectangulaireBartlett Hanning Hamming Blackman

Fig. 3.3: Réponses temporelles des prin ipales fenêtresCes fenêtres sont les prin ipales fon tions utilisées en analyse spe trale et en synthèse de ltreRIF. Leurs réponses fréquentielles 20 log10 |W (ejΩ)|sont données à la la gure 3.4 ave N = 64.

Page 42: École T SAT T

3.3 Méthode de synthèse par fenêtrage 37On voit que selon la fenêtre, la largeur du lobe prin ipal et l'amplitude du plus grand lobese ondaire dièrent. Par exemple, la fenêtre re tangulaire possède le lobe prin ipal le plusétroit (4π/N), mais le lobe se ondaire le moins atténué (−13dB). Le tableau 3.1 résume es ara téristiques. On y voit en parti ulier qu'en utilisant une fenêtre sans dis ontinuité et pluslisse (e.g. Hamming ou Bla kman), on peut réduire de manière importante l'amplitude deslobes se ondaires parasites. La olonne de droite est en relation ave la synthèse RIF et seradétaillée dans la se tion suivante.0 0.1 0.2 0.3 0.4 0.5

−80

−60

−40

−20

0

W d

B

Fenêtre rectangulaire

0 0.1 0.2 0.3 0.4 0.5−80

−60

−40

−20

0

W d

B

Fenêtre de Bartlett

0 0.1 0.2 0.3 0.4 0.5−80

−60

−40

−20

0

W d

B

Fenêtre de Hanning

0 0.1 0.2 0.3 0.4 0.5−80

−60

−40

−20

0

W d

BFenêtre de Hamming

0 0.1 0.2 0.3 0.4 0.5−80

−60

−40

−20

0

W d

B

Fenêtre de Blackman

Fig. 3.4: Réponses fréquentielles des prin ipales fenêtres3.3.2 Choix de la fenêtre dans la méthode de synthèseOn voit don que le hoix de la fenêtre aura une inuen e sur les performan es du ltre.En parti ulier, les ara téristiques importantes et leur inuen e sur le ltre synthétisé sontdétaillées i dessous. La largeur de la zone de transition ∆Ω = |Ωp−Ωa| dénie à la se tion 1.3.2 sera dire tementfon tion de la largeur du lobe prin ipal ∆Ωm donnée dans le tableau 3.1. Lorsque la fréquen ede oupure ou de transition du ltre n'est pas trop pro he de 0 ou de π, on peut onsidérerque ∆Ω ∼= ∆Ωm

2 . On voit don que la transition ∆Ω sera d'autant plus faible que N

Page 43: École T SAT T

38 Synthèse des ltres RIFType de fenêtre Rapport d'amplitude Largeur du lobe Atténuation minimaleentre lobe prin ipal prin ipal ∆Ωm en bande atténuée ∆Aet lobe se ondaireλRe tangulaire −13dB 4π/N -21dBBartlett −25dB 8π/N -25dBHanning −31dB 8π/N -44dBHamming −41dB 8π/N -53dBBla kman −57dB 12π/N -74dBTab. 3.1: Cara téristiques des prin ipales fenêtressera grand. Les ondulations en bande passante et en bande atténuée seront égales, on notera ∆A = δ1 =

δ2 et on parlera de ltre equiripple. Cette atténuation est donnée par la quatrième olonnedu tableau 3.1. On voit que ∆A ne dépend que du type de fenêtre et non de N .

∆Ω

∆A

1+∆AH(Ω)^

H(Ω)

W(Ω)

11−∆A

Fig. 3.5: Illustration de l'eet du fenêtrage sur le ltre idéalLa pro édure de synthèse d'un ltre numérique RIF par fenêtrage à partir de la réponseimpulsionnelle d'un ltre idéal h(n) onsiste à :1. hoisir en fon tion de l'atténuation ∆A le type de fenêtre à utiliser,2. hoisir en fon tion de la largeur de la zone de transition ∆Ω et du type de la fenêtrew(n) la longueur de la réponse impulsionnelle N .Le ltre RIF résultant h(n) est ensuite déni par h(n) = h(n).w(n). Il sera de longueur N .

Page 44: École T SAT T

3.4 Méthode de synthèse par é hantillonnage en fréquen e 39Remarque : un dé alage de α de la réponse impulsionnelle du ltre idéal h(n) peut êtrené essaire an de rendre le ltre h(n) à phase linéaire. On aura alors : h(n) = h(n−α).w(n).Le al ul de la largeur de la zone de transition ∆Ω est i i présenté de façon empirique. Dansla plupart des as, ette approximation reste susante, mais il est quelques fois né essaired'itérer plusieurs fois l'algorithme de synthèse an d'assurer que le ltre entre dans le gabaritspé ié. Aussi un dernier type de fenêtre dit de Kaiser peut être utilisée. Cette méthode,permettant d'obtenir une formulation exa te des paramètres ∆Ω et ∆A, ne sera développéei i, mais on peut se rapporter à [OS99 pour l'utiliser.Exemple 3.3.3 : Cara téristique d'un ltreSoit un ltre dénie par une zone de transition ∆Ω = 0.1π et une atténuation > 30dB,déterminer la taille et le type de fenêtre à utiliser.3.4 Méthode de synthèse par é hantillonnage en fréquen eLa méthode de synthèse par é hantillonnage en fréquen e est appliquée depuis la réponsefréquentielle d'un ltre ontinu idéal H(ejΩ). A partir de elle i et d'une valeur de N xée,on réalise un é hantillonnage en fréquen e de pas Ωe = 2πN dénie par :

H(ejkΩe) , H(ejΩ)|Ω= 2kπN

(3.38)ΩπΩc

1

H(ejΩ)

H(kΩe)

2πFig. 3.6: É hantillonnage fréquentiel d'un ltre dérivateurLa gure 3.6 montre un exemple de dérivateur dénie à partir d'un ltre ontinu. On remar-quera en parti ulier que prendre N points entre [0, 2π[ à un pas de 2πN élimine l'é hantillon en

Ω = 2π. Le ltre RIF h(n) est alors trouvé par TFD inverse de H(ejkΩe) :h(n) =

1

N

N−1∑

k=0

H(ejkΩe)e2jπ n.kN , n = 0, 1 . . . N − 1 (3.39)

h(n) = 0, ailleurs (3.40)Cette méthode de synthèse est très simple et permet de réaliser toute forme de ltre. De plus,elle peut être ombinée ave la méthode du fenêtrage. La fon tion de transfert en Z du ltre

Page 45: École T SAT T

40 Synthèse des ltres RIFsera :H(z) =

N−1∑

n=0

h(n)z−n (3.41)En retravaillant ette fon tion de transfert, on obtient :H(z) =

N−1∑

n=0

h(n)z−n =

N−1∑

n=0

[

1

N

N−1∑

k=0

H(ejkΩe)e2jπ n.kN

]

z−n (3.42)H(z) =

1

N

N−1∑

k=0

H(ejkΩe)

[

N−1∑

n=0

e2jπ n.kN z−n

] (3.43)H(z) =

1

N

N−1∑

k=0

H(ejkΩe)1 − e2jπ N.k

N z−N

1 − e2jπ kN z−1

(3.44)H(z) =

1 − z−N

N

N−1∑

k=0

H(ejkΩe)1

1 − e2jπ kN z−1

(3.45)La fon tion de transfert du ltre H(z) peut don être également exprimée omme une mise enparallèle de N ltres RII du premier ordre omplexe. Cette dé omposition permet d'obtenirdire tement les oe ients de ette stru ture du ltre à partir de la réponse fréquentiellere her hée.Exemple 3.4.1 : Synthèse d'un ltre passe-basSoit un ltre passe bas idéal déni par :H(ejΩ) =

1 pour |Ω| < Ωc = 4πN

0 pour 4πN ≤ |Ω| < π1. Tra er le ltre idéal entre [0, 2π]. Tra er ensuite le ltre é hantillonné H(ejkΩe).2. Cal uler h(n) par TFD inverse.3. Cal uler deux versions de H(z).

Page 46: École T SAT T

Chapitre 4Transformée de Fourier Rapide4.1 Naissan e de la TFRLa transformation de Fourier rapide (TFR), ou en ore Fast Fourier Transform (FFT), estdire tement issue d'une réorganisation du al ul des matri es de la transformée de Fourierdis rète (TFD) dont la dénition est donnée dans les équations 4.1 et 4.2. X(k) est la TFDdu signal x(n). N points du signal x(n) donnent N points de la TFD X(k).X(k) =

N−1∑

n=0

x(n).e(−2jπ n.kN

), k = 0, 1 . . . N − 1 (4.1)x(n) =

1

N

N−1∑

k=0

X(k).e(2jπ n.kN

), n = 0, 1 . . . N − 1 (4.2)x(n) et X(k) sont, dans le as général, des nombres omplexes.Nous pouvons réé rire l'équation 4.1 sous forme matri ielle en faisant ainsi apparaître la om-plexité de l'algorithme de la TFD.

X(0)X(1)...

X(N − 1)

=

1 1 1 · · · 1

1 W 1N W 2

N · · · W N−1N... ... ... ... ...

1 W 2N W 4

N · · · W2(N−1)N

1 W N−1N W

2(N−1)N · · · W

(N−1)2

N

×

x(0)x(1)...

x(N − 1)

(4.3)ave WN le twiddle fa tor égal à e(−2j πN

)La TFD revient à al uler un produit matri e-ve teur où haque élément est de type omplexe.La omplexité de al ul de la TFD est don de N2 multipli ations, et de N(N − 1) additionssur des nombres omplexes. Ce i revient à une omplexité de 4N2 multipli ations réelles etN(4N −2) additions réelles. Cet algorithme se omporte don en O(N2), mais ne possède pasde problèmes d'adressage ar les x(n) et les W k

N sont rangés dans l'ordre en mémoire.En exploitant les propriétés des W kN (symétrie, périodi ité, ...) :41

Page 47: École T SAT T

42 Transformée de Fourier RapideW

k(N−n)N = (W kn

N )∗ (4.4)W

k(n+N)N = W

n(k+N)N = W kn

N (4.5)W

n+N/2N = −W n

N (4.6)W 2kn

N = W knN/2 (4.7)on peut réduire le nombre d'opérations arithmétiques par un rapport de 2, mais la omplexitéglobale reste en O(N2) [OS75.De nombreux travaux ont essayé de réduire la omplexité de la transformée de Fourier dis- rète, mais il a fallu attendre 1965 et la paire Cooley et Tu key qui ont publié un algorithmeappli able quand N est le produit de 2 ou plusieurs entiers. Cette publi ation allait engendrerde nombreuses re her hes sur les algorithmes de al uls des transformées ; la FFT était née.Depuis, et en ore de nos jours, beau oup d'algorithmes de traitement numérique du signal sontbasés sur l'utilisation de et algorithme e a e (ou de ses nombreux dérivés) pour réduire leur omplexité.Le prin ipe fondamental de la TFR (en français dans le texte) repose sur la dé ompositiondu al ul d'une séquen e de N é hantillons en TFD su essives sur un nombre inférieur depoints. Selon la manière dont e prin ipe est implanté, on obtient diérents algorithmes, tous omparables au niveau de leur omplexité. TFR partagée dans le temps ou DIT (de imation in time) :

x(n) est dé omposé en sous séquen e. TFR partagée en fréquen es ou DIF (de imation in frequen y) :X(k) est dé omposé en sous séquen e.4.2 TFR partagée dans le temps (DIT)Depuis la formule 4.1, on partage X(k) en une somme sur les termes d'indi es pairs et uneautre sur les termes d'indi es impairs, dans notre exemple on se limitera au as où N est unepuissan e de deux.

X(k) =∑

n pair

x(n).W nkN +

n impair

x(n).W nkN (4.8)

X(k) =

N/2−1∑

n=0

x(2n).W 2nkN +

N/2−1∑

n=0

x(2n + 1).W(2n+1)kN (4.9)

X(k) =

N/2−1∑

n=0

x(2n).W nkN/2 + W k

N

N/2−1∑

n=0

x(2n + 1).W nkN/2 (4.10)

X(k) = G(k) + W kN .H(k) (4.11)où G(k) : TFD sur les N/2 points d'indi es pairs,

H(k) : TFD sur les N/2 points d'indi es impairs.De plus, on peut réduire la omplexité de al ul des é hantillons N/2 à N − 1 en al ulantX(k + N/2), puis en appliquant les propriétés de symétrie (voir équation 4.13. On obtient

Page 48: École T SAT T

4.2 TFR partagée dans le temps (DIT) 43ainsi le al ul d'un papillon de la TFR.X(k +

N

2) =

N/2−1∑

n=0

x(2n).Wn(k+N/2)N/2 + W

(k+N/2)N

N/2−1∑

n=0

x(2n + 1).Wn(k+N/2)N/2 (4.12)

X(k +N

2) = G(k) − W k

N .H(k) (4.13)L'appli ation de es équations est représentée graphiquement à la gure 4.1. On remarquequ'une TFD d'ordre N est dé omposée en 2 TFD d'ordre N/2 suivies d'une re ombinaisondont la omplexité est en O(N). X(0)X(1)X(2)X(3)X(4)X(5)X(6)X(7)N/2 pointsN/2 pointsTFDTFD

x(0)x(2)x(4)x(6)x(1)x(3)x(5)x(7)W1

8

W2

8

W3

8

W4

8

W5

8

W6

8

W7

8

W0

8

Fig. 4.1: Dé omposition DIT de la TFDComme N/2 est également un nombre pair, on peut de nouveau partager ha une des TFDd'ordre N/2 en deux TFD d'ordre N/4 jusqu'à arriver à une TFD sur deux points pour laquellele graphe ot est de omplexité O(N). Finalement il en résulte un graphe ot possédant log2Nétages de re ombinaison ( omplexité O′N)) omme représenté à la gure 4.3 ; la omplexitéde la transformée de Fourier est enn réduite à O(Nlog2N).L'opération élémentaire est i i appelée papillon DIT. On peut le représenter sous sa forme gé-nérale entre deux étages m et m+1 ave m = 1, 2, . . . , log2N (gure 4.2 et système d'équations4.14).Xm(p)

Xm(q) Xm+1(q)

Xm+1(p)

-1W rNFig. 4.2: Papillon DIT de la TFR

Xm+1(p) = Xm(p) + W rN .Xm(q)

Xm+1(q) = Xm(p) − W rN .Xm(q)

(4.14)

Page 49: École T SAT T

44 Transformée de Fourier RapideUn papillon DIT, dont les équations sont données i dessus (4.14) né essite 1 multipli ation,1 addition et 1 soustra tion sur des nombres omplexes. Le graphe omplet né essite le al ulde N2 × log2N papillons e qui donne don en unité de al ul : N

2 log2N multipli ations de nombres omplexes, Nlog2N additions/soustra tions de nombres omplexes, ou, 2Nlog2N multipli ations de nombre réels1, 3Nlog2N additions/soustra tions de nombre réels2.Cette omplexité pré ise peut servir à évaluer le temps de al ul d'une TFR omplète surn'importe quel pro esseur.X(0)

X(1)

X(2)

X(3)

X(4)

X(5)

X(6)

X(7)

X(8)

X(9)

X(10)

X(11)

X(12)

X(13)

X(14)

X(15)

X(0)

X(8)

X(4)

X(12)

X(2)

X(10)

X(6)

X(14)

X(1)

X(9)

X(5)

X(13)

X(3)

X(11)

X(7)

X(15)Fig. 4.3: Graphe d'une TFR DIF sur 16 é hantillons11 multipli ation omplexe requiert 4 multipli ations et 2 additions sur des nombres réels.21 addition omplexe requiert 2 additions sur des nombres réels.

Page 50: École T SAT T

4.3 TFR partagée dans les fréquen es (DIF) 45Si Xm(.) et Xm+1(.) peuvent être pla és en mémoire sur le même ve teur on parle de al ul enpla e. De plus, le fait de faire apparaître la séparation pair/impair au départ (DIT) puis deséparer à nouveau en N/4, N/8,... groupes d'é hantillons, implique en entrée des é hantillonsdont les adresses suivent un ordre appelé bit-reverse tel que : si la représentation en binaire de l'indi e (n) est (nb . . . n2n1n0) alors elle de son bit-reverse(n′) est (n0n1n2 . . . nb).A l'opposé de la TFD, la TFR génère un al ul d'adresse non négligeable. Entre deux étages met m+1, les W k ne varient pas linéairement ave les x(k). De plus, il est né essaire de présenterà l'algorithme les é hantillons dans un ordre non régulier (bit-reverse) e qui engendre un al uld'adresse supplémentaire. Ces problèmes ne sont pas négligeables - surtout sur un pro esseurgénéral - ar ils rajoutent à la omplexité élémentaire une omplexité d'adressage.4.3 TFR partagée dans les fréquen es (DIF)Depuis la formule 4.1, on partage X(k) en une somme sur les N/2 premiers termes et uneautre sur les N/2 autres termes :

X(k) =

N/2−1∑

n=0

x(n).W nkN +

N−1∑

n=N/2

x().W nkN (4.15)

X(k) =

N/2−1∑

n=0

x(n).W nkN + W

kN/2N

N/2−1∑

n=0

x(n + N/2).W nkN (4.16)

X(k) =

N/2−1∑

n=0

[

x(n) + (−1)k.x(n + N/2)]

W nkN (4.17)On ee tue une séparation des indi es pairs et impairs :

X(2p) =

N/2−1∑

n=0

[x(n) + x(n + N/2)] W 2pkN (4.18)

X(2p + 1) =

N/2−1∑

n=0

[x(n) − x(n + N/2)] W 2pkN .W n

N (4.19)X(2p) =

N/2−1∑

n=0

[x(n) + x(n + N/2)] W pkN/2 (4.20)

X(2p + 1) =

N/2−1∑

n=0

(

[x(n) − x(n + N/2)] W pkN/2

)

.W nN (4.21)De même que pour le partage temporel, le remaniement des équations amène le al ul de deuxTFD d'ordre inférieur selon le s héma de la gure 4.4.

Page 51: École T SAT T

46 Transformée de Fourier RapideX(0)X(2)X(4)X(6)X(1)X(3)X(5)X(7)x(0)x(1)x(2)x(3)x(4)x(5)x(6)x(7) N/2 points

N/2 pointsTFDTFDW0

8

W1

8

W3

8

W2

8Fig. 4.4: Dé omposition DIF de la TFDXm(p)

Xm(q) Xm+1(q)

Xm+1(p)

W rN-1Fig. 4.5: Papillon DIF de la TFROn peut également ontinuer à diviser es transformées d'ordre inférieur omme dans le aspré édent (DIT) jusqu'à arriver au papillon unitaire dont le graphe est dé rit à la gure 4.5et dans le système d'équations 4.22).

Xm+1(p) = Xm(p) + Xm(q)Xm+1(q) = [Xm(p) − Xm(q)].W r

N(4.22)La omplexité élémentaire est identique à la TFR partagée dans le temps, la seule diéren eréside dans le al ul d'adresse de la table des W k lors des étapes, qui est plus simple àprogrammer dans le as DIF. De plus e sont les é hantillons en sortie qui sont pla és en ordrebit-reverse.4.4 Autres graphes de la TFRDivers paramètres permettent de modier la stru ture du graphe ot de données de la Trans-formée de Fourier Rapide (mode d'adressage, stru ture graphique, base du al ul), nous allonsessayer d'en énumérer les prin ipaux.Le graphe à géométrie onstante se ara térise par le fait que haque passe d u al ul possèdela même stru ture graphique que les autres passes. Celui- i est dire tement issu de la dé om-position de la matri e [W ] de la transformée de Fourier dis rète en matri es de Good [Ka91selon la relation i dessous.

Page 52: École T SAT T

4.4 Autres graphes de la TFR 47W =

log2N∏

i=1

Di.Ciave : Di des matri es diagonales, et Ci les matri es de Good.Un exemple pour N=4 est représenté sous forme matri ielle dans l'équation 4.23 puis sous sonéquivalent de graphe dans la gure 4.6 i-dessous.

X(0)X(1)X(2)X(3)

=

1 1 0 00 0 1 11 −1 0 00 0 1 −1

×

1 0 0 00 1 0 00 0 1 00 0 0 W

×

1 1 0 00 0 1 11 −1 0 00 0 1 −1

×

x(0)x(1)x(2)x(3)

(4.23)1

1

W0

W1

x(0)

x(1)

x(2)

x(3)

X(0)

X(2)

X(1)

X(3)

1

1

1

-1Fig. 4.6: Graphe d'une TFR à géométrie onstante sur 4 é hantillonsUn autre paramètre donnant des graphes de al ul diérents est elui du bit-reverse. En eeton peut hoisir l'entrée omme la sortie selon l'ordre normal ou l'ordre bit-reverse. Ce i a poureet de modier la forme du graphe ainsi que du al ul des indi es des Wi. Cependant, sipour éviter un al ul d'adressage supplémentaire on désire obtenir un graphe dont à la fois lesentrées omme les sorties sont dans l'ordre naturel, on passe dans une forme de al ul dit "nonen pla e". Cette forme possède l'in onvénient majeur de perdre la notion de papillon. C'est àdire qu'entre deux passes su essives on est obligé de mémoriser les ve teurs intermédiaires, e qui a pour eet de doubler la mémoire né essaire à l'algorithme.On peut également utiliser d'autres bases de al ul de la transformée (nos exemples étant enbase 2) qui onsistent à séparer la TFD en plus de deux (quatre par exemple) TFD d'ordreinférieur e qui a pour eet de réduire un peu en ore la omplexité (O(Nlog4N) pour une TFRbase (ou radix) 4). Par ontre le papillon élémentaire voit son nombre de al ul augmenter. Onpeut iter l'exemple de la TFR DIF en base 4 dont la omplexité en opération est 3N4 log4Nmultipli ations omplexes et 4Nlog4N additions omplexes. Un exemple de graphe radix 4 estdonné en annexe du do ument.

Page 53: École T SAT T

48TransforméedeFourierRapide

4.5Annexesau hapitresurlaTFR4.5.1Graphed'uneTFRDITradix2sur16points

X(0)

X(1)

X(2)

X(3)

X(4)

X(5)

X(6)

X(7)

X(8)

X(9)

X(10)

X(11)

X(12)

X(13)

X(14)

X(15)

sort

ie o

rdre

no

rmal

X(0)

X(1)

X(2)

X(3)

X(4)

X(5)

X(6)

X(7)

X(8)

X(9)

X(10)

X(11)

X(12)

X(13)

X(14)

X(15)

entr

ée o

rdre

bit-

reve

rsed

0

0

0

0

0

0

0

0

0

1

2

3

4

5

6

7

0

2

4

6

0

2

4

6

0

2

FFT DIT RADIX-2 en place sur 16 points

A

B

A’

B’

FFT FFT inverse

A’ = A + BW B’ = A - BW W= e

A’ = A + BW B’ = A - BW W= e

k -kk

k -k

DIT:

(Décimation en

temps)-2j π

N

-2j π

N

0

2

0

2

0

2

Fig.4.7:Graphed'uneTFRDITradix2sur16points

Page 54: École T SAT T

4.5Annexesau hapitresurlaTFR49

4.5.2Graphed'uneTFRDIFradix2sur16points

A

B

A’

B’

FFT FFT inverse

A’ = A + B B’ = (A-B) W W= e

A’ = A + B B’ = (A-B) W W= e

k -k k-2j π

N

-2j π

N

X(0)

X(1)

X(2)

X(3)

X(4)

X(5)

X(6)

X(7)

X(8)

X(9)

X(10)

X(11)

X(12)

X(13)

X(14)

X(15)

X(0)

X(1)

X(2)

X(3)

X(4)

X(5)

X(6)

X(7)

X(8)

X(9)

X(10)

X(11)

X(12)

X(13)

X(14)

X(15)

0

1

2

3

4

5

6

7

0

2

4

6

0

2

4

6

0

4

0

4

0

4

0

4 0

0

0

0

0

0

0

0

FFT DIF RADIX-2 en place sur 16 points

entr

ée:

ordr

e no

rmal

sort

ie:

ordr

e bi

t-re

vers

ed

DIF:

(Décimation en

fréquence)

Fig.4.8:Graphed'uneTFRDIFradix2sur16points

Page 55: École T SAT T

50TransforméedeFourierRapide

4.5.3Graphed'uneTFRàgéométrie onstantesur16pointsA

B

A’

B’

FFT FFT inverse

A' = A + B•W B' = A - B•W W= e

A' = A + B•W B' = A - B•W W= e

k -k

-2jš N

FFT GEOMETRIE CONSTANTE sur 16 points

entr

ée:

ord

re b

it-re

vers

ed

sort

ie:

ord

re n

orm

al

Géométrie Constante

X(0)

X(1)

X(2)

X(3)

X(4)

X(5)

X(6)

X(7)

X(8)

X(9)

X(10)

X(11)

X(12)

X(13)

X(14)

X(15)

k-2jš N

X(0)

X(1)

X(2)

X(3)

X(4)

X(5)

X(6)

X(7)

X(8)

X(9)

X(10)

X(11)

X(12)

X(13)

X(14)

X(15)

0

0

0

0

0

0

0

0

0

0

0

0

4

4

4

4

0

2

4

6

0

2

4

6

0

1

2

3

4

5

6

7

k -k

Fig.4.9:Graphed'uneTFRàgéométrie onstantesur16points

Page 56: École T SAT T

4.5Annexesau hapitresurlaTFR51

4.5.4Graphed'uneTFRDIFradix4sur16pointsX(0)

X(1)

X(2)

X(3)

X(4)

X(5)

X(6)

X(7)

X(8)

X(9)

X(10)

X(11)

X(12)

X(13)

X(14)

X(15)

X(0)

X(1)

X(2)

X(3)

X(4)

X(5)

X(6)

X(7)

X(8)

X(9)

X(10)

X(11)

X(12)

X(13)

X(14)

X(15)

FFT DIF RADIX-4 en place sur 16 points

entr

ée:

ord

re n

orm

al

sort

ie:

ord

re b

it-re

vers

ed

0

1

2

3

0

0

0

0

FFT FFT inverse

A’ = A+B+C+D B’ = (A-jB-C+jD)W C’ = (A-B+C-D)W D’ = (A+jB-C-jD)W W = e

k

2k

-2jš N

A

D

B

C

A’

D’

B’

C’k

2k

3k

3k

A’ = A+B+C+D B’ = (A-jB-C+jD)W C’ = (A-B+C-D)W D’ = (A+jB-C-jD)W W = e

-k

-2k

-2jš N

-3k

Fig.4.10:Graphed'uneTFRDIFradix4sur16points

Page 57: École T SAT T

52 Transformée de Fourier Rapide4.5.5 Algorithme DIF de la TFR radix 2 sur I points omplexesComplexité de al ul : O(I.log2I)Nombre total de passes : log2INombre de groupes dans une passe : 2passeNombre de papillons al ulés : I.log2I/2Complexité d'un papillon : 2 additions et 1 multipli ation omplexes, ou 6 additions et 4multipli ations réelles.PROCEDURE FFT (X, isign )[I omplexe X: -- e hantillons temporels et spatiauxint isign: -- FFT / FFT inversevariables lo ales:[Ireal: Wr, Wi:-- ra ines Nième de l'unité-- Wr[k:= COS(2p k / I)-- Wi[k:= isign * SIN(2p k / I)int k,K:real C,S:int I1: -- nombre d'e hantillons par groupeint I2: -- nombre de papillons par groupeint I3: -- nombre de groupeint i,l: -- indi e des é hantillons du papillons omplexe t: -- variable temporaireDEBUTI2:=I;I3:=1;POUR passe DE 1 à LOG2I FAIREI1:=I2; I2:= I2 / 2; K:= I / I1;k:=0;POUR j DE 0 à I2-1 FAIREC:=Wr[k; -- COS (2p k / I)S:=Wi[k; -- SIN(2p k / I)k:=k + K;POUR i DE j à I-1 PAR I1 FAIREl:=i + I2;--- papillon X[i X[l--- X[i = X[i + X[l--- X[l = (X[i - X[l)t.r:=X[i.r - X[l.r;t.i:=X[i.i - X[l.i;X[i.r := X[i.r + X[l.r;

Page 58: École T SAT T

4.5 Annexes au hapitre sur la TFR 53X[i.i := X[i.i + X[l.i;X[l.r := C*t.r + S*t.i;X[l.i := C*t.i - S*t.r;FAITI3:=I3 * 2; -- nombre de groupesFAITFAIT-- bit reverse : remettre la sortie dans l'ordre normalj:=1POUR i DE 1 à I-1 FAIRESI i<j ALORSt:=X[jX[j:=X[iX[i:=tFINSIk:=I/2TANT QUE k<j FAIREj:=j-kk:=k/2FAITj:=j+kFAITSI isign=-1 ALORS--- normaliser X dans le as de la FFT inversePOUR tous les X[i FAIREX[i:=X[i / IFAITFINSIFIN

Page 59: École T SAT T

54 Transformée de Fourier Rapide

Page 60: École T SAT T

Chapitre 5Analyse spe trale de signauxnumériques5.1 Introdu tionUne des appli ations majeures utilisant la transformée de Fourier Dis rète (TFD) en TNSest l'analyse du ontenu fréquentiel (spe tre) de signaux ontinus. Le prin ipe de l'analyse deFourier numérique d'un signal analogique déterministe est représenté à la gure 5.1. La numé-risation du signal ontinu xc(t) est ee tuée de manière lassique par un ltre anti-repliementsuivi d'un onvertisseur analogique-numérique. Le signal dis ret x(n) est ensuite multiplié parune fon tion w(n) nommée fenêtre temporelle sur N points. Ce fenêtrage est une onséquen ede la ontrainte de durée nie imposée par la TFD qui ne peut s'ee tuer sur un nombre innid'é hantillons. Le signal résultant xN (n), dont on pourra ensuite analyser le spe tre par TFD(ou par TFR) puis par un al ul du module et éventuellement de la phase, est don représenta-tif d'une observation limitée du signal d'entrée sur un horizon d'observation T0 = N.T . L'eetde ette tron ature temporelle, indispensable au al ul numérique de l'analyse spe trale, vaêtre étudié dans les se tions suivantes. xc(t)

Filtre P.Bas

anti-repliement

Ωc = π

CAN

Fe

x(n)x

fenêtre wN(n)

xN(n)FFT

||2

φ

xc(t)Filtre P.Bas

anti-repliement

Ωc = π

CAN

Fe

x(n)x

fenêtre wN(n)

xN(n)FFT

||2

φ

Fig. 5.1: Prin ipe de l'analyse de Fourier numérique d'un signal analogique déterministe5.2 Tron ature d'un signal dis rétisé5.2.1 Opération dans le domaine temporelSoit N le nombre d'é hantillons manipulables par le al ulateur numérique utilisé, le signaltronqué xN (n) est le résultat de la multipli ation du signal dis ret x(n) de durée innie parune fenêtre w(n) de durée T0 = NT , appelée fenêtre d'observation.55

Page 61: École T SAT T

56 Analyse spe trale de signaux numériquesLa version tronquée du signal dis rétisé s'é rit don nalement :xN (n) = x(n) · w(n) (5.1)La fenêtre la plus intuitive est une fenêtre sans pondération, 'est à dire une fenêtre re tan-gulaire notée wr(n) dénie par :

wr(n) =

1 si 0 ≤ n ≤ N − 10 ailleurs (5.2)La version tronquée du signal dis rétisé s'é rit don nalement dans le as de la fenêtre re -tangulaire :

xN (n) = x(n) · wr(n) =

N−1∑

k=0

x(k) · δ(n − k) (5.3)5.2.2 Conséquen es dans le domaine fréquentielLa TF de (5.1) donneXN (ejΩ) = X(ejΩ) ∗ W (ejΩ)

=1

∫ π

−πX(ejΘ).W (ej(Ω−Θ)) dΘ (5.4)où W (ejΩ) est la représentation de la fenêtre dans le domaine fréquentiel.Dans le as de la fenêtre re tangulaire, on a :

W (ejΩ) = Wr(ejΩ) = e−jΩ N−1

2sin(NΩ/2)

sin(Ω/2)(5.5)Une représentation de la fenêtre wr(n) ainsi que du module de sa TF est donnée à la gure5.2.Exemple 5.2.1 : Cal uler la TF Wr(e

jΩ) de la fenêtre re tangulaire wr(n) et dé-montrez qu'elle s'é rit omme dans l'équation 5.5.Les onséquen es obtenues dans le domaine fréquentiel sont issues de la onvolution spe traleillustrée par l'équation 5.4. On obtient don : un lissage de le représentation spe trale qui implique une perte de nesse de l'analyse enfréquen e et un masquage des raies trop pro hes en fréquen e, des ondulations dans la réponse fréquentielle dues aux eets des lobes se ondaires de W (ejΩ),entraînant du bruit et du masquage en amplitude.5.3 Analyse spe trale par TFDLa tron ature du signal sur N points n'est pas le seul eet d'approximation obtenu lors del'analyse spe trale. En eet, l'équation 5.4 de onvolution spe trale est une fon tion de lavariable ontinue Ω. Ce al ul n'est don pas réalisable sur un pro esseur numérique et doitdon être approximé par la transformée de Fourier dis rète (TFD, voir hapitre ??).

Page 62: École T SAT T

5.3 Analyse spe trale par TFD 570 5 10 15 20 25 30

0

0.2

0.4

0.6

0.8

1fenêtre rectangulaire

n

wr[n

]

−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.50

0.2

0.4

0.6

0.8

1

f

Am

plitu

de

|Wr(e(j.2.pi.f))|

Fig. 5.2: Fenêtre re tangulaire de N = 31 points et le module de sa transformée de Fourier.La dernière étape de l'analyse spe trale est don le al ul de le TFD du signal fenêtré xN (n).On obtient alors :XN (k) =

L−1∑

n=0

xN (n)e−j 2πknN , k = 0, 1, . . . , L − 1, (5.6)où la longueur de la fenêtre N est inférieure ou égale à la longueur de la TFD L. On prendrale plus souvent L = N , sauf dans le as du zero-padding (voir se tion 5.4).Comme illustrée dans le hapitre ??, la relation entre la TF XN (ejΩ) de xN (n) (équation 5.4)et XN (k) s'é rit :

XN (k) = XN (ejΩ)∣

Ω=2πk/L(5.7)L'espa e entre deux points fréquentiels de l'analyse est don de 2π/L et la relation entre lespoints d'indi e k de la TFD et les fréquen es ontinues fk est donnée par :

Ωk =2πk

L⇔ fk =

k

LT(5.8)Exemple 5.3.1 : Déterminez l'expression de la TFD, al ulée ave une fenêtrere tangulaire (N = 8) du signal x(n) = 2cos2πfon ave fo = 0, 2. Cal ulez la valeurnumérique des X(k) et dessinez à la main e résultat.

Page 63: École T SAT T

58 Analyse spe trale de signaux numériques0 5 10 15 20 25 30 35

−1

−0.5

0

0.5

1

(a) : Fonction cos(2pi fo n) échantillonnée tronquée sur N=32 points

x N(n

)

−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.50

5

10

15

(c) : XN

(k)=TFDxN

(n)−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.50

5

10

15

20

(b) : XN

(ej2pif)=TFxN

(n(

Fig. 5.3: Analyse de Fourier et TFD d'un signal sinusoïdal dis retLa gure 5.3 illustre l'analyse spe trale par TFD sur un signal sinusoïdal dis ret. Le signalx(t) = cos(2πf0t) est é hantillonné puis tronqué sur N = 32 points par une fenêtre re tan-gulaire (voir gure 5.3(a)). La gure 5.3(b) représente la TF XN (ejΩ) de xN (n) et illustrele problème de la tron ature temporelle présenté dans la se tion pré édente. En eet, la TFd'un osinus étant omposée de deux impulsions de Dira située en f0 et −f0, alors la TF dusignal fenêtré est omposée de la somme des TF de la fenêtre dé alées en f0 et −f0 ( e quevous devez avoir trouvé si vous avez résolu l'exemple page 57).La gure 5.3( ) représente le résultat du al ul de la TFD sur L = 32 points du signal xN (n)et souligne don l'erreur due à l'é hantillonnage en fréquen e ee tué lors de la TFD. La TFDXN (k) est une version é hantillonnée de XN (ejΩ), dans laquelle l'espa e entre deux pointssu essifs représente Fe/L (i i Fe/32). Une erreur visible i i est don que plusieurs raiesspe trales peuvent être distinguées après TFD, pour uniquement deux raies ee tives dans lespe tre théorique de x(t) = cos(2πf0t).5.4 Zéro-PaddingFaire du zéro-padding onsiste à augmenter arti iellement le nombre d'é hantillons en ajou-tant des zéros :

x(0) , x(1) , . . . , x(N − 1) , 0 , 0 , . . . , 0 (5.9)jusqu'à obtenir un nouveau nombre d'é hantillons égal à L. Ainsi, si l'on al ule maintenant laTFD sur es données, ela entraîne que les X(k) seront al ulés en L fréquen es : fk = k/L ;elles seront toujours situées dans [0 ; 1[, mais omme elles sont plus nombreuses, elles seront

Page 64: École T SAT T

5.5 Paramètres d'une analyse spe trale 59plus rappro hées. Cela aura pour vertu de révéler plus de détails invisibles sinon.La gure 5.4 illustre par exemple quatre analyses de Fourier faites sur une fenêtre arrée detaille initiale : N = 8 points. Ces quatre analyses seront ee tuées su essivement à l'aide deN points, 2N points (don les N é hantillons de la fenêtre auxquels on ajoute N zéros), 4Npoints (don il y a 3N zéros) et enn 8N points.

0 1 2 3 4 5 6 70

0.5

1

wr[n] (N=8 points)

−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.50

5

10

−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.50

5

10

−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.50

5

10

−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.50

5

10

Fig. 5.4: Eet du zéro-padding sur l'analyse de Fourier d'une fenêtre re tangulaire de N = 8points.5.5 Paramètres d'une analyse spe traleDeux paramètres peuvent être anés pour améliorer l'analyse : N , la longueur de l'analyse (ou T0), le type de fenêtre wN (n) à appliquer sur le signal.Cette se tion illustre e résultat sur des signaux de type sinusoïdal.Soit le signal dis ret onstitué de trois raiesx(n) = cos 2πf1n + cos 2πf2n + 0, 25 cos 2πf3n (5.10)ave f1 = 0, 175, f2 = 0, 2 et f3 = 0, 4. Sa TF s'é rit immédiatement

X(

ej2πf)

=1

2[δ(f + 0, 175) + δ(f − 0, 175) + δ(f + 0, 2) + δ(f − 0, 2)

+0, 25 δ(f + 0, 4) + 0, 25 δ(f − 0, 4)] (5.11)

Page 65: École T SAT T

60 Analyse spe trale de signaux numériquesLe spe tre XN

(

ej2πf) de xN (n) utilisant une fenêtre re tangulaire est don donné par

XN

(

ej2πf)

=1

2

[

Wr(ej2π(f+0,175) + Wr(e

j2π(f−0,175) + Wr(ej2π(f+0,2) + Wr(e

j2π(f−0,2)

+0, 25Wr(ej2π(f+0,4) + 0, 25Wr(e

j2π(f−0,4)] (5.12)Ce résultat est illustré à la Figure 5.5. Il est don lair que d'une part la taille de la fenêtreinue sur l'aptitude de l'analyse de Fourier à séparer deux raies et que d'autre part les lobesse ondaires inuent né essairement sur l'aptitude de l'analyse de Fourier à déte ter des raiesde faible amplitude plus ou moins éloignées d'une de forte amplitude.

−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.50

0.5

1Spectre théorique

−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.50

0.5

1

1.5Spectre pour N=21

−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.50

0.5

1

1.5Spectre pour N=41

−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.50

0.5

1

1.5Spectre pour N=121

Fig. 5.5: Spe tre (théorique puis utilisant des fenêtres re tangulaires de diérentes taille N)de trois sinusoïdesLa relation (5.4) montre lairement que la qualité du résultat de la TF, 'est-à-dire l'adéquationave le résultat théorique que l'on aurait sans tron ature, dépend du type de fenêtre utilisé. Lase tion 3.3.1 du hapitre 3 page 36 a résumé les prin ipales des fenêtres utilisées en TNS ainsique leurs ara téristiques. Le tableau 5.1 résume es ara téristiques. La gure 5.6 représenteun exemple de TF d'une fon tion w(n) de fenêtrage et en dénit ses paramètres : largeur du lobe prin ipal : ∆Ωm, rapport d'amplitude entre lobe prin ipal et lobe se ondaire : λ = 20 log |W (Ωs)||W (0)| , où Ωs estla fréquen e orrespondant au maximum d'amplitude des lobes se ondaires.Dans une analyse spe trale, on dénit deux type de résolution : la résolution en fréquen e etla résolution en amplitude.

Page 66: École T SAT T

5.5 Paramètres d'une analyse spe trale 61Type de fenêtre Rapport d'amplitude Largeur du lobeentre lobe prin ipal prin ipal ∆Ωmet lobe se ondaireλRe tangulaire −13dB 4π/NBartlett −25dB 8π/NHanning −31dB 8π/NHamming −41dB 8π/NBla kman −57dB 12π/NTab. 5.1: Cara téristiques des prin ipales fenêtres

W(Ω)

Ω

f∆Ωm

∆Ωm/2

λ

fs1/NT

π

fe/2

W(Ω)

Ω

f∆Ωm

∆Ωm/2

λ

fs1/NT

π

fe/2 Fig. 5.6: Paramètres d'une fenêtre w(n)

0.1 0.12 0.14 0.16 0.18 0.2 0.22 0.24 0.26 0.28 0.30

0.5

1Spectre théorique

0.1 0.12 0.14 0.16 0.18 0.2 0.22 0.24 0.26 0.28 0.30

0.5

1Spectre pour N=128, fenetre rectangulaire

0.1 0.12 0.14 0.16 0.18 0.2 0.22 0.24 0.26 0.28 0.30

0.2

0.4

0.6Spectre pour N=128, fenetre de Hamming

0.1 0.12 0.14 0.16 0.18 0.2 0.22 0.24 0.26 0.28 0.30

0.2

0.4

0.6Spectre pour N=256, fenetre de Hamming

Fig. 5.7: Spe tre (théorique puis utilisant des fenêtres re tangulaires et de Hamming de dif-férentes taille N) de trois sinusoïdes

Page 67: École T SAT T

62 Analyse spe trale de signaux numériques Résolution en fréquen e : la nesse en fréquen e est la apa ité de l'analyseur à distin-guer deux raies spe trales pro hes l'une de l'autre. Clairement, e phénomène, onnu aussisous le nom de masquage fréquentiel, dépend de la largeur du lobe prin ipal de la réponsefréquentielle WN (ejΩ) de la fenêtre (∆Ωm du tableau 5.1). En eet, deux raies pro hes d'unespa e < ∆Ωm se verront onfondues après l'analyse par TFD. La gure 5.5 illustre ephénomène puisque l'analyse pour N = 21 ne permet pas de distinguer les raies en f = 0.2et f = 0.175, tandis que des valeurs de N = 41 ou N = 121 le permettent.On dénit don la résolution en fréquen e omme : ∆Ωm.Cette résolution peut être améliorée en augmentant le nombre de points N de l'analyse etdépend du type de fenêtre utilisée. Résolution en amplitude : la nesse en amplitude est la apa ité de l'analyseur à dis-tinguer des raies spe trales de faible amplitude ou à distinguer une raie spe trale de faibleamplitude pro he d'une autre plus importante. Dans as, e sont les lobes se ondaires dede la réponse fréquentielle WN (ejΩ) de la fenêtre qui viennent masquer une raie de faibleamplitude en ajoutant un bruit à l'analyse. La gure 5.7 illustre e phénomène puisquel'analyse pour N = 128 par fenêtre re tangulaire ne permet pas de distinguer la raie enf = 0.2 d'amplitude 0.25 parmi le bruit dû aux lobes se ondaires, tandis qu'une fenêtre deHamming et des valeurs de N = 128 ou N = 256 le permettent.On dénit don la résolution en fréquen e omme le rapport d'amplitude entre lobe prin ipalet lobe se ondaire : λ.Cette résolution n'est pas fon tion du nombre de points N de l'analyse mais dépend forte-ment du type de fenêtre utilisée.5.6 Con lusion (méthodologie)L'analyse spe trale de signaux déterministes requiert don trois études préalables impor-tantes :1. le signal x(t) ↔ X(f) doit être orre tement é hantillonné pour obtenir les é hantillons

x(n) qui seront pris en ompte par blo (segment) de N é hantillons ;2. es blo seront onditionnés par multipli ation par une fenêtre, de taille N ,w(n),à hoisir en fon tion des performan es attendues :(a) la résolution en amplitude souhaitée λ ⇒ hoix du type de fenêtre,(b) la résolution en fréquen e souhaitée ∆Ωm ⇒ hoix de N ;3. nalement les blo s fenêtrés, xN (n) sont transformés dans le domaine spe tral par TFD( al ulée par l'algorithme FFT). Le résultat (les XN (k)) est une réplique orre te duvrai spe tre X(f) si les erreurs suivantes sont susamment faibles :(a) erreur de re ouvrement de spe tres (Aliasing error en anglais) (bien hoisir la fré-quen e d'é hantillonnage et utiliser un ltre passe-bas antirepliement) ;(b) erreur due à la longueur de la fenêtre (plus elle est longue et moins ette erreurest importante, de plus le hoix de la fenêtre permet de diminuer l'erreur due auxlobes se ondaires) ;

Page 68: École T SAT T

5.6 Con lusion (méthodologie) 63( ) erreur de re onstru tion du spe tre (il faut utiliser le zéro-padding pour diminuer ette erreur).On peut don nalement représenter fa ilement l'analyse de Fourier numérique d'un signalanalogique déterministe omme indiquée à la Figure 5.1.Exemple 5.6.1 : Simulation ave Matlab Dans un s ript Matlab, rédigez unprogramme qui permet de :1. générer et a her à l'é ran N = 10 points d'une sinusoïde x1(t) = a cos 2πf1tde f1 = 100Hz é hantillonée à Fe = 1000Hz et d'amplitude a = 2 ;(a) ee tuer une analyse de Fourier élémentaire (sans zéro-padding) de esignal et a her le résultat sur l'intervalle prin ipal de fréquen es norma-lisées [−1/2 ; +1/2[ ;(b) refaire une analyse de Fourier de e signal ave divers hoix de zéro-padding ;( ) explorer l'inuen e de divers types de fenêtrages ee tués sur le signal ;2. regénérer et a her à l'é ran le même signal que pré édemment mais ette foisave N = 15 points ;(a) refaire la même étude que pré édemment ;(b) ajouter une se onde sinusoïde et rendre ompte de la pertinen e de l'ana-lyse ee tuée en fon tion de l'é art en fréquen e des deux omposantesélémentaire du signal.( ) onsidérer deux sinusoïdes pro hes à la limite de résolution onstatée aupoint pré édent et ajouter une troisième sinusoïdes faible et éloignée despré édentes ; analysez alors l'inuen e de diérentes fenêtres dans ettesituation (résolution des deux sinusoïdes pro hes et déte tion de la sinu-soïde faible éloignée).

Page 69: École T SAT T

64 Analyse spe trale de signaux numériques

Page 70: École T SAT T

Chapitre 6Systèmes multi- aden esLes systèmes de TNS utilisés jusqu'alors ne onsidèrent qu'une seule fréquen e d'é hantillon-nage Fe. Les systèmes multi- aden es hangent la fréquen e d'é hantillonnage au ours de la haîne de traitement an qu'elle soit la plus adaptée aux traitements à réaliser. Par exemple,il est aisé de omprendre qu'après un ltrage séle tif passe-bas il est possible de réduire lafréquen e d'é hantillonnage à une valeur équivalente à deux fois la bande passante du ltrepasse-bas réalisé, sans pour autant transgresser le théorème d'é hantillonnage de Shannon.Cette rédu tion permet de diminuer la omplexité du ltrage à réaliser.Les prin ipaux opérateurs utilisés en traitement du signal multi- aden es sont la dé imation(rédu tion d'un fa teur M de la fréquen e d'é hantillonnage) et l'interpolation (augmentationd'un fa teur M de la fréquen e d'é hantillonnage) ou une ombinaison des deux.6.1 Rédu tion de la fréquen e d'é hantillonnageLa rédu tion de la fréquen e d'é hantillonnage, ou dé imation, ou en ore sous-é hantillonnage,par un fa teur M entier est une opération simple puisqu'il sut de ne garder que 1 é hantillonsur M de la séquen e d'origine. Soit un signal ontinu xc(t) é hantillonné à la période Treprésenté par la séquen e x(n) = xc(nT ), on posera don le résultat de la dé imation de x(n)d'un fa teur M par la relation suivante :xd(n) = x(nM) (6.1)La notation graphique utilisée est ↓ M (voir gure 6.1). Si la fréquen e d'é hantillonnage enentrée du dé imateur est Fe, alors elle de sortie vaudra F ′e = Fe/M . La période d'é han-tillonnage en sortie vaudra quant à elle T ′ = MT .An que l'opération de dé imation s'ee tue sans re ouvrement de spe tre, il est né essaireque le spe tre du signal xc(t) respe te le théorème de Shannon au regard de la fréquen e

F ′e. Cela implique que si Xc(jω), la TF de xc(n), est à bande limitée, i.e. Xc(jω) = 0 pour|ω| ≤ ω0, alors xd(n) est une représentation exa te de xc(t) si π/T ′ = π/(MT ) ≥ ω0 ou en ore2πF ′e = 2πFe/M ≥ ω0.Dans le as où le sous é hantillonnage ne pourra s'ee tuer sans re ouvrement de spe tre, ilfaudra alors en limiter la bande par un ltre passe-bas de fréquen e de oupure F ′e/2.65

Page 71: École T SAT T

66 Systèmes multi- aden es

↓Mx(nT) xd(nT')

T' = MT

t t

↓Mx(nT) xd(nT')

T' = MT

tt tt

Fig. 6.1: Dé imation d'un signalIl est utile de her her une relation entre le spe tre de x(n) et elui de xd(n). On peut poser :X(ejΩ) =

1

T

∞∑

k=−∞Xc

(

j

(

Ω

T− 2πk

T

)) (6.2)De manière similaire :Xd(e

jΩ) =1

T ′

∞∑

l=−∞Xc

(

j

(

Ω

T ′ −2πl

T ′

))

=1

MT

∞∑

l=−∞Xc

(

j

(

Ω

MT− 2πl

MT

)) (6.3)An de trouver la relation entre les équations 6.2 et 6.3 les indi es des sommes peuvent êtreexprimés par l = i + kM où 0 ≤ i ≤ M − 1 et l'équation 6.3 peut être réé rite de la manièresuivante :Xd(e

jΩ) =1

M

M−1∑

i=0

[

1

T

∞∑

k=−∞Xc

(

j

(

Ω − 2πi

MT− 2πk

T

))

] (6.4)On obtient alors la relationXd(e

jΩ) =1

M

M−1∑

i=0

X(ej(Ω/M−2πi/M)) (6.5)Le dé imation est illustrée à la gure 6.2. L'équation 6.5 montre que le spe tre Xd(ejΩ) est omposé de M opies de X(ejΩ) mises à l'é helle par un fa teur 1/M et dé alées par desentiers multiples de 2π.Par onséquent, un dé imateur sera en pratique omposé ltre passe-bas idéal de fréquen ede oupure Fc = 1/2T ′ = 1/2TM suivi d'un opérateur de dé imation ↓ M omme représentéà la gure 6.3.6.2 Augmentation de la fréquen e d'é hantillonnageL'augmentation de la fréquen e d'é hantillonnage, ou interpolation, ou en ore sur-é hantillonnage,par un fa teur L entier est une opération onsistant à augmenter le nombre d'é hantillons dela séquen e d'origine d'un fa teur L. Soit un signal ontinu xc(t) é hantillonné à la période Treprésenté par la séquen e

x(n) = xc(nT ), (6.6)

Page 72: École T SAT T

6.2 Augmentation de la fréquen e d'é hantillonnage 67

ωω0

1

−ω0

Xc(ω)

t

xc(t)

t

x(nT)

T ωω0

1/T

−ω0

X(ejΩ)

π/T−π/T

t

xd(nT')

T' ω

1/T' Xd(ejΩ)

π/T'−π/T'

ωω0

1

−ω0

Xc(ω)

t

xc(t)

ωω0

1

−ω0

Xc(ω)

t

xc(t)

t

xc(t)

t

x(nT)

T ωω0

1/T

−ω0

X(ejΩ)

π/T−π/T

t

xd(nT')

T' ω

1/T' Xd(ejΩ)

π/T'−π/T'

t

x(nT)

T ωω0

1/T

−ω0

X(ejΩ)

π/T−π/T

t

xd(nT')

T' ω

1/T' Xd(ejΩ)

π/T'−π/T' Fig. 6.2: Représentation d'un signal ontinu xc(t) et de son é hantillonnage à 2 fréquen esdiérentes et de leurs spe tres respe tifs

x(nT) Filtre Passe Bas

Gain = 1

ΩΩΩΩc = ππππ/M↓M

v(nT) y(nT')x(nT) Filtre Passe Bas

Gain = 1

ΩΩΩΩc = ππππ/M↓M

v(nT) y(nT')

Fig. 6.3: Dé imateur : ltrage passe-bas suivi d'une dé imation

Page 73: École T SAT T

68 Systèmes multi- aden eson posera don le résultat de l'interpolation de x(n) d'un fa teur L par la relation suivante :xi(n) = xc(nT ′) = xc(nT/L), (6.7)ave T ′ = T/L la période d'é hantillonnage en sortie de l'interpolation ou F ′e = Fe.L lafréquen e d'é hantillonnage en sortie de l'interpolation.À partir des équations 6.6 et 6.7, on peut déduire que :

xi(n) = xc(nT/L) = x(n/L), n = 0,±L,±2L, . . . (6.8)6.2.1 Élévateur de fréquen e d'é hantillonnageOn dénit par élévateur de fréquen e, le système dé rit à la gure 6.4 onsistant en l'ajout deL − 1 zéros entre deux é hantillons su essifs de la séquen e d'entré x(n) déni par :

xe(n) =

x(n/L), n = 0,±L,±2L, . . .0, ailleurs

(6.9)ou de manière équivalente :xe(n) =

∞∑

k=−∞x(k) · δ(n − kL) (6.10)La notation graphique utilisée est ↑ L (voir gure 6.4). Si la fréquen e d'é hantillonnage enentrée de l' élévateur de fréquen e est Fe, alors elle de sortie vaudra F ′e = Fe.L. La périoded'é hantillonnage en sortie vaudra quant à elle T ′ = T/L.

↑Lx(nT) xe(nT')

tt

↑Lx(nT) xe(nT')

↑Lx(nT) xe(nT')

ttt Fig. 6.4: Élévateur de fréquen e d'un fa teur L : ajout de L− 1 zéros entre deux é hantillonsL'opération ↑ L peut être étudiée dans le domaine fréquentiel an de omprendre sont utilitédans le adre de l'interpolation. La TF de xe(n) s'exprime :

Xe(ejωT ′

) =

∞∑

n=−∞xe(nT ′)e−jωnT ′ (6.11)

=∑

n=0,±L,±2L,...

x

(

nT

L

)

e−jωnT ′ (6.12)En posant n = kL, on obtient :Xe(e

jωT ′

) =

∞∑

k=−∞x(kT )e−jωkLT ′ (6.13)

=∞∑

k=−∞x(kT )e−jωkT (6.14)

= X(ejωT ) (6.15)

Page 74: École T SAT T

6.2 Augmentation de la fréquen e d'é hantillonnage 69L'ajout de zéros n'a don au un eet sur le spe tre, si e n'est l'é artement de l'intervalle depériodisation d'un fa teur L. Ce i est illustré à la gure 6.5. On s'aperçoit alors qu'un ltragepasse-bas idéal de gain L et de fréquen e de oupure Fc = 1/2T permet de retrouver la formedu spe tre orrespondant à xc(t) é hantillonné à T ′.

ω

1/T X(ejΩ)

π/T−π/Tt

t ω

1/T' Xe(ejΩ)

π/T−π/T π/T'−π/T'

ω

1/T X(ejΩ)

π/T−π/Tt

t ω

1/T' Xe(ejΩ)

π/T−π/T π/T'−π/T'

ω

1/T X(ejΩ)

π/T−π/Ttt

tt ω

1/T' Xe(ejΩ)

π/T−π/T π/T'−π/T' ω

1/T' Xe(ejΩ)

π/T−π/T π/T'−π/T' Fig. 6.5: Inuen e sur le spe tre d'un signal interpolé par des zéros6.2.2 InterpolationUn interpolateur (voir gure 6.6) sera don déni omme la su ession d'un élévateur de fré-quen e ↑ L, suivi d'un ltrage passe-bas idéal de gain L et de fréquen e de oupure Fc = 1/2T(ou Ωc = π/L).

↑Lx(nT) xe(nT')

Filtre Passe Bas

Gain = L

ΩΩΩΩc = ππππ/L

xi(nT')

↑Lx(nT) xe(nT')

Filtre Passe Bas

Gain = L

ΩΩΩΩc = ππππ/L

xi(nT')

Fig. 6.6: Prin ipe de l'interpolation d'un signalD'autres systèmes d'interpolation sont onnus (interpolation linéaire ou par TFD) mais neseront pas détaillés i i.6.2.3 Multipli ation de la fréquen e d'é hantillonnage par un fa teur ra-tionnelLa gure 6.7 représente un s héma permettant de multiplier la fréquen e d'é hantillonnaged'un système par un fa teur rationnel R = L/M . On aura alors F ′e = R.Fe = L.Fe/M ouen ore T ′ = T/R = T.M/L. Pour ela, il sut d'ee tuer tout d'abord une interpolation parun fa teur ↑ L, puis une dé imation par un fa teur ↓ M . Les deux ltres présents dans ladé imation (voir gure 6.3) et dans l'interpolation (voir gure 6.6) peuvent alors réunis dansun seul et même ltre dont la fréquen e de oupure Fc dépendra des valeurs relatives de L etM selon : soit R > 1 ⇔ M < L ⇔ F ′e > Fe ⇒ Fc = 1

2T , soit R < 1 ⇔ M > L ⇔ F ′e < Fe ⇒ Fc = 12T ′ .On peut également é rire :

Fc = min

(

1

2T,

1

2T ′

) (6.16)

Page 75: École T SAT T

70 Systèmes multi- aden esou en oreΩc = min

L,

π

M

) (6.17) ar le ltre passe-bas travaille à une fréquen e d'é hantillonnage L.Fe (ou en ore M.F ′e).

↓My(nT')

↑Lx(nT) Filtre Passe Bas

Gain = L

Ωc = min(π/L, π/M)↓M

y(nT')

↑Lx(nT) Filtre Passe Bas

Gain = L

Ωc = min(π/L, π/M) Fig. 6.7: Multipli ation de la fréquen e d'é hantillonnage par un fa teur rationnel R = L/M

Page 76: École T SAT T

Chapitre 7Arithmétique virgule xeAlfred S. se rend auprès de la so iété haotique de banque an d'ee tuer unpla ement à long terme. Le banquier lui propose le pla ement suivant : Vousfaites un pla ement initial de e − 1 fran s (e = 2.718281459045 . . .). La premièreannée on multiplie votre apital par 1 et on prélève 1F de frais. La deuxième annéeon multiplie votre apital par 2 et on prélève 1F de frais. La n-ième année onmultiplie votre apital par n et on prélève 1F de frais. Vous pouvez retirer l'argentaprès 25 ans. Intéressant, n'est- e pas ? La banque réalise une simulation sur son al ulateur et obtient au bout de 25 ans +4645987753F . Alfred signe logiquement le ontrat proposé. Rentré hez lui, il vérie le al ul sur sa al ulatri e de po he ettrouve ≈ −140.1012F ! En réalité un al ul symbolique donne un résultat d'environ 4 entimes. Cette ane dote prouve qu'un al ul peut être instable, même pour un petitnombre d'opérations (i i 25⊗ et 25⊖).L'obje tif de e hapitre est de traiter de l'arithmétique utilisée pour l'implantation d'appli- ations de traitement numérique du signal au sein de systèmes embarqués. Dans la premièrepartie, les ara téristiques de l'arithmétique virgule xe sont présentées. Dans la se onde par-tie, le pro essus de odage des données en virgule xe est détaillé. L'évaluation de la pré isiond'une spé i ation virgule xe est présentée dans la troisième partie. Deux exemples sontentièrement traités an d'illustrer le pro essus de onversion en virgule xe.7.1 Présentation de l'arithmétique virgule xe7.1.1 Les diérents types de odage7.1.1.1 Rappels sur le odage d'un entierUn entier positif non signé x est odé en binaire sur b bits par :x =

b−1∑

i=0

bi2i (7.1)Représentation signe valeur absolue (SVA)71

Page 77: École T SAT T

72 Arithmétique virgule xePour ette représentation, la donnée x est omposée d'un bit de signe S et de b − 1 bitsreprésentant le module de x. La valeur de ette donnée est la suivante :x = (−1)S

b−2∑

i=0

bi2i (7.2)Représentation en omplément à 2 (CA2)La représentation en ode omplément à 2 de la donnée x est égale à :

x = −2b−1S +

b−2∑

i=0

bi2i (7.3)On é rira également que si x > 0 alors −x = x + 1, où x est le omplément de x.Le domaine de dénition D orrespond à l'intervalle regroupant l'ensemble des valeurs repré-sentables par le ode. Les bornes minimales et maximales de et intervalle sont respe tivement

Xmin et Xmax. Le domaine de dénition de e ode n'est pas symétrique par rapport à l'origine,il est omposé de 2b−1 − 1 valeurs positives et de 2b−1 valeurs négatives :D = [Xmin;Xmax] = [−2b−1; 2b−1 − 1] (7.4)La représentation en ode omplément à 2 est très utilisée ar elle possède des propriétésarithmétiques très intéressantes pour l'addition et la soustra tion. Le résultat d'une séried'additions sera orre t même si les résultats intermédiaires sont en dehors du domaine dedénition du odage, il sut que le résultat nal appartienne au domaine de dénition. Deplus l'implantation dans les pro esseurs numériques des opérateurs traditionnels utilisant e ode est plus simple ar elle né essite une opérateur unique d'addition et de soustra tion queles données d'entrée soient positives ou négatives.Un nombre réel pourra être représenté par la multipli ation d'un nombre entier par un oe- ient q < 1. On parlera alors de virgule xe.7.1.1.2 Codage virgule xeLes données en virgule xe sont omposées d'une partie fra tionnaire et d'une partie entièrepour lesquelles le nombre de bits alloués reste gé au ours du traitement. L'exposant asso iéà haque donnée est impli ite et xe. La gure 7.1 représente une donnée en virgule xe om-posée d'un bit de signe et de b− 1 bits répartis en m bits pour la partie entière et n bits pourla partie fra tionnaire. Nous utilisons dans la suite du do ument la notation (b,m, n) pourdénir le format d'une donnée. Nous trouvons aussi dans la littérature la notation Qm.n.Le format d'une donnée en virgule xe est entièrement déni par la longueur de sa partieentière et de sa partie fra tionnaire et de la représentation hoisie. Nous présentons dans lesparties suivantes les propriétés des représentations signe valeur absolue et omplément à deux[Ka91.

Page 78: École T SAT T

7.1 Présentation de l'arithmétique virgule xe 73S b b b b b b b bb 2-n22

2Partie entière

(m bits)

Partie fractionnaire

(n bits)

m n

2m-1 2Fig. 7.1: Représentation des données en virgule xeReprésentation signe valeur absolue (SVA)Pour ette représentation, la donnée x est omposée d'un bit de signe S et de b − 1 bitsreprésentant le module de x. La valeur de ette donnée est la suivante :

x = (−1)Sm−1∑

i=−n

bi2i (7.5)Ce type de représentation possède deux représentations de la valeur zéro (10 . . . 0 et 00 . . . 0),ainsi le nombre de valeurs représentables Nc est égal à 2b − 1.Le domaine de dénition D orrespond à l'intervalle regroupant l'ensemble des valeurs repré-sentables par le ode. Dans le as d'une représentation signe valeur absolue nous obtenons undomaine de dénition symétrique par rapport à l'origine :

DR = [−2m + 2−n; 2m − 2−n] (7.6)La dynamique d'un ode représente la diéren e entre la valeur minimale et maximale. Pourla représentation SVA, la dynamique est égale à :D = Xmax − Xmin = 2.(2m − 2−n) (7.7)Le pas de quanti ation orrespondant à la distan e q entre deux valeurs su essives, estfon tion de la dynamique D et du nombre de valeurs représentables Nc :

q =D

Nc − 1= 2−n (7.8)Le niveau de dynamique orrespond au rapport entre les valeurs absolues maximales et mini-males représentables par le ode. L'expression du niveau de dynamique exprimé en dB, est lasuivante :

ND dB = 20 log(max(|x|)

min(|x|))

≃ 20.b. log(2) = 6, 02.b (7.9)Deux représentations parti ulières liées à la position de la virgule sont ouramment utilisées.Lorsque la virgule est adrée à droite la valeur odée est entière et lorsque elle- i est adrée àgau he la donnée est fra tionnaire. Les ara téristiques de es deux représentations sont pré-sentées dans le tableau 7.1. Plusieurs exemples de odage SVA sont présents dans le tableau 7.3.

Page 79: École T SAT T

74 Arithmétique virgule xeReprésentation adrage adrageà gau he à droite onditions m = 0 n = 0n = b − 1 m = b − 1

q 2−(b−1) 1

D [−1 + q; 1 − q] [−2b−1 + q; 2b−1 − q]Tab. 7.1: Cas parti uliers de la représentation signe valeur absolueReprésentation adrage adrage adrageà gau he à droite à n ondition m = 0 n = 0 n + m = b − 1

q 2−(b−1) 1 2−(n)

D [−1; 1 − q] [−2b−1; 2b−1 − q] [−2m; 2m − q]Tab. 7.2: Cas parti uliers de la représentation omplément à 2Représentation en omplément à 2 (CA2)La représentation en ode omplément à 2 de la donnée x en virgule xe est égale à :x = −2mS +

m−1∑

i=−n

bi2i (7.10)Ce ode a l'avantage de ne posséder qu'une seule représentation de la valeur zéro. Le domainede dénition de e ode n'est pas symétrique par rapport à l'origine, il est omposé de 2b−1−1valeurs positives et de 2b−1 valeurs négatives :

D = [−2m; 2m − 2−n] (7.11)Le pas de quanti ation est identique à elui de la représentation pré édente : q = 2−n.Les ara téristiques des représentations adrées à gau he et adrées à droite sont présentéesdans le tableau 7.2. Plusieurs exemples de odage en CA2 sont présents dans le tableau 7.3.7.1.1.3 Codage virgule ottanteLe odage des données en virgule ottante a été normalisée par l'IEEE. Dans ette partie, lanorme IEEE 754 est plus parti ulièrement dé rite. Pour ette norme, représentée à la gure7.2, les données sont omposées d'un bit de signe S, d'un exposant u et d'une mantisse.L'exposant u permet d'obtenir un fa teur d'é helle expli ite et variable au ours du traitement, elui- i est une puissan e de 2. Ce fa teur permet de s'adapter à la valeur à représenter. Ande ne oder que des nombres positifs, et exposant sur E bits est odé relativement à la valeur

Page 80: École T SAT T

7.1 Présentation de l'arithmétique virgule xe 75Valeur Représentation adrage à gau he adrage à droite m = 3 n = 2 C.A.2 S.V.A.0.96875 31 7.75 011111 0111110.9375 30 7.5 011110 011110... ... ... ... ...0.3125 1 0.25 000001 0000010 0 0 000000 0000000 0 0 100000-0.3125 -1 -0.25 111111 100001... ... ... ... ...-0.9375 -30 -7.5 100010 111110-0.96875 -31 -7.75 100001 111111-1 -32 -8 100000 ...Tab. 7.3: Exemples de odage2E−1 − 1. La mantisse représente la valeur de la donnée divisée par le fa teur d'é helle. And'éviter toute ambiguïté, le premier bit de la mantisse représente le oe ient 20 et est xé à1. La valeur de e bit restant xe au ours du traitement, elui- i n'est pas représenté dans le ode. La mantisse est omprise dans l'intervalle [1; 2[

S d d d c c c cMantisseExposant

Fig. 7.2: Representation des données en virgule ottanteLa valeur de la donnée x est la suivante :x = (−1)S .2u.

(

1 +M−1∑

i=0

Ci2i−M

) ave u =E−1∑

i=0

di2i −

(

2E−1 − 1) (7.12)D'après l'équation 7.12 la valeur 0 n'est pas représentable. Les valeurs 00 . . . 00b et 11 . . . 11bsont réservées pour oder des valeurs parti ulières (0,∞). Le domaine de dénition est omposédes deux sous-intervalles suivants :

DR =[

− 2Kmax .(2 − 2−M );−2Kmin

]

[

2Kmin ; 2Kmax .(2 − 2−M )] (7.13)ave

Kmin = −2E−1 + 2Kmax = 2E−1 − 1

(7.14)Le pas de quanti ation est fon tion de la valeur représentée. Pour les valeurs de x omprisesdans l'intervalle [−2u+1,−2u]⋃

[2u, 2u+1], le pas de quanti ation est égal à :q = 2u.2−M (7.15)

Page 81: École T SAT T

76 Arithmétique virgule xeType de représentation WL (bits) M (bits) E (bits)simple pré ision (float) 32 23 8double pré ision (double) 64 52 11double pré ision étendue (long double) 80 64 15Tab. 7.4: Les diérents types asso iés à la norme IEEE 754. Les termes WL, M, et E repré-sentent respe tivement la largeur de la donnée, de la mantisse et de l'exposant.L'expression 7.16 détermine les bornes minimales et maximales du pas de quanti ation relatif.Nous pouvons onsidérer qu'il est pratiquement onstant pour l'ensemble des valeurs de x.2−(M+1) <

q

| x | < 2−M (7.16)Le niveau de dynamique de ette représentation est égal à :ND = 20 log(2K) ave K = 2E − 1 (7.17)Les diérents types asso iés à ette norme IEEE 754 sont présentés dans le tableau 7.4.7.1.1.4 Comparaison virgule xe et ottanteNiveau de dynamiqueLe niveau de dynamique exprimé en dB est représenté en fon tion du nombre de bits utilisésà la gure 7.3 pour un odage en virgule xe et en virgule ottante. Nous avons xé pour le odage en virgule ottante la taille de l'exposant à 1/4 de la longueur totale.Lorsque le nombre de bits est inférieur à 16, le niveau de dynamique obtenu ave une repré-sentation en virgule xe est supérieur à elui d'une représentation en virgule ottante. Cettetendan e s'inverse pour un nombre de bits supérieur à 16. Pour N=32, la représentation envirgule ottante montre tout son intérêt, la dynamique disponible permet d'utiliser e odagedans la majorité des appli ations sans risque de débordements.7.1.2 Dénition des règles de l'arithmétique virgule xeNous onsidérons dans la suite de e do ument que les données sont odées en virgule xeave une représentation en CA2.7.1.2.1 AdditionL'addition de deux opérandes a et b né essite qu'elles possèdent un format ommun. Le typede représentation, la longueur de la partie entière et la longueur de la partie fra tionnairedoivent être identiques pour les deux opérandes. Si ette ondition n'est pas respe tée il est

Page 82: École T SAT T

7.1 Présentation de l'arithmétique virgule xe 77

10 15 20 25 300

500

1000

1500

Nombre de bits

Dyn

amiq

ue e

n dB

Dynamique virgule fixe/flottante

Codage virgule fixe Codage virgule flottante

Fig. 7.3: Dynamique du odage en virgule xe et en virgule ottantené essaire de modier le format des opérandes an d'obtenir un format identique (bc,mc, nc).Le format ommun garantissant l'absen e de perte d'information est le suivant :mc = max(ma,mb)nc = max(na, nb)bc = mc + nc + 1

(7.18)Pour les données ayant un format diérent du format ommun, il est né essaire d'étendre lenombre de bits des parties entières et fra tionnaires en suivant les règles suivantes : partie fra tionnaire : les (nc − na) bits supplémentaires sont mis à 0. partie entière : extension du bit de signe1. Dans le as du omplément à 2 les (mc−ma)nouveaux bits prennent la valeur du bit de signe.Le format du résultat de l'addition de deux opérandes au format (bc,mc, nc) est présenté à l'ex-pression 7.19. Nous obtenons un débordement si le résultat de l'addition des deux opérandesn'appartient pas au domaine de dénition Dc = [−2mc ; 2mc [. Dans e as un bit supplémentaireest né essaire pour oder la partie entière du résultat de l'addition. Deux exemples d'additionsont présentés à la gure 7.4.nAdd = nc (7.19)mAdd =

mc + 1 si a + b 6∈ Dc

mc si a + b ∈ Dc(7.20)1L'extension de signe dans le as d'une représentation signe valeur absolue est plus omplexe, il faut dé alerle bit de signe à la position bmc−1 et mettre à zéro les bits bmc−2 à bma−1.

Page 83: École T SAT T

78 Arithmétique virgule xe x (7.75) ! "#$%$%&y (-0.5) ! "'$($)& * * * * *

z (7.25) ! "+$,$%& x (7.75) ! "#$%$%&y (0.5) ! "'$($)& * * * *

z (8.25) ! "+$,$%&Fig. 7.4: Exemples d'addition en virgule xe7.1.2.2 Multipli ationPour une multipli ation, les deux opérandes doivent posséder la même représentation mais lenombre de bits réservés pour haque partie peut être diérent. Néanmoins, il est né essaireavant d'ee tuer l'opération, d'étendre le bit de signe. La multipli ation de deux nombres envirgule xe entraîne le doublement du bit de signe, elui- i peut être éliminé automatiquementà l'aide d'un dé alage à gau he. Pour un ode en omplément à 2 nous pouvons onsidérerque e bit de signe redondant appartient à la partie entière. Le format du résultat de lamultipli ation de deux opérandes a et b est alors le suivant :mMult = ma + mb + 1

nMult = na + nb

bMult = ba + bb

(7.21)Un exemple de multipli ation est présenté à la gure 7.5.Dans le as de la virgule xe adrée à gau he, le résultat de la multipli ation de deux opérandesa et b appartenant à l'intervalle [−1; 1[ reste dans le même intervalle. Il n'y a don pas dedébordement mais juste une augmentation de la pré ision du résultat. Cette propriété est trèsintéressante ar elle élimine le problème du débordement.- - . .. - - .

- - - . - . . .. . . . . . . .- - - - - . .- - - - . .. . . . .

/01 23 40563 732862961x (-0.5) :;<=>? @ ABCDCEFy (0.75) :;<=>? @ ABCDCEFz (-0.375) :;<=>? @ AGCHCIF

JKL JKMJKNJKL . .

. . .

.

- - - -. . . ./01 23 40563

O O OFig. 7.5: Exemple de multipli ation en virgule xe

Page 84: École T SAT T

7.2 Codage en virgule xe 797.2 Codage en virgule xe

Implantation matérielle logicielle

Évaluation de la précision

Détermination de la largeur des données

Détermination de la position de la virgule

Évaluation de la dynamique

Contrainte précision

ASICFPGA

DSPµC

Spécification virgule flottante

Spécification virgule fixe

Dét

erm

inat

ion

de la

spé

cific

atio

n vi

rgul

e fix

e

Fig. 7.6: Synoptique du pro essus d'implantation d'une appli ation en virgule xeLe synoptique du pro essus d'implantation d'une appli ation en virgule xe est présenté à lagure 7.6. La spé i ation de l'appli ation en virgule xe est déterminée à partir d'une repré-sentation de l'appli ation sous la forme d'un graphe ot de signal. Ce graphe représente lesdiérents traitements ee tués sur le signal. Les noeuds de e graphe sont les opérations arith-métiques (addition, soustra tion, multipli ation, division) et les opérations de retard. Avant dedébuter le pro essus de onversion en virgule xe, le graphe ot de signal représentant l'appli- ation doit être déni. Ainsi, dans le adre des ltres numériques, la stru ture d'implantation( as ade, parallèle, dire te, anonique ou transposée) doit être séle tionnée.Trois étapes sont né essaires pour réaliser le odage en virgule xe. Elles orrespondent à l'éva-luation de la dynamique des données, à la détermination de la position de la virgule (dénitionde la largeur de la partie entière) et à la détermination de la largeur des données (dénitionde la largeur de la partie fra tionnaire). Ensuite, la pré ision des al uls est évaluée an devérier que la spé i ation virgule xe respe te la ontrainte de pré ision. Si ette ontrainten'est pas vériée alors, ette spé i ation virgule xe est modiée. L'obje tif de e pro essusde onversion est d'optimiser l'implantation de l'appli ation en s'assurant que l'utilisation del'arithmétique virgule xe ne dégrade pas trop les performan es de l'appli ation. Les diérentesétapes du pro essus de onversion en virgule xe sont présentées dans les parties suivantes.

Page 85: École T SAT T

80 Arithmétique virgule xe)(nh

nFig. 7.7: Réponse impulsionnelle du ltre RIF onsidéréExemple ltre RIFPour illustrer e pro essus de onversion, l'exemple d'un ltre à réponse impusionnelle nie(RIF) de taille N = 32, est traité. La réponse impulsionnelle de e ltre est dénie i-dessouset représentée à la gure 7.7 :

h(n) =

N−1∑

i=0

ci.δ(n − i) (7.22)ave ci =

1

5+

3.i

160∀ i ∈ [0;

N

2− 1] (7.23)nous utilisons un ltre RIF symétrique, ainsi nous obtenons

ci = cN−1−i ∀ i ∈ [N

2;N − 1] (7.24)Le graphe ot de signal de ette appli ation est représenté à la gure 7.8.

zPQzPQ zPQzPQ zPQzPQ++ ++ ++

Rc ×××× Sc ×××× T−Uc ××××V

−Wc ××××

)(nx

)(nyFig. 7.8: Graphe ot de signal du ltre RIF

Page 86: École T SAT T

7.2 Codage en virgule xe 817.2.1 Détermination de la dynamique des donnéesLe but de ette première phase est de déterminer le domaine de dénition de ertaines donnéesde l'appli ation an d'en déduire la position de la virgule par rapport au bit le plus signi atif.Cette position est dénie an de garantir l'absen e de débordement.Deux types d'appro he peuvent être utilisés pour déterminer la valeur absolue maximale d'unedonnée. Pour la première appro he, l'estimation est ee tuée à partir des valeurs prises par ladonnée et obtenues par simulation de l'algorithme en virgule ottante. La se onde appro heutilise une méthode analytique permettant de déterminer l'expression de la dynamique d'unedonnée à partir de elle des entrées de l'appli ation.7.2.1.1 Méthode par simulationCe type d'appro he permet d'estimer la dynamique d'une donnée à partir de ses ara téris-tiques déterminées lors de la simulation de l'algorithme en virgule ottante. Cependant, esappro hes sont très sensibles au hoix des stimuli d'entrée. Elles garantissent uniquement uneabsen e de débordement pour des signaux dont les ara téristiques sont pro hes de elles desstimuli d'entrée. L'estimation de la dynamique la plus simple onsiste à prendre la valeurabsolue maximale des é hantillons obtenus lors de la simulation. Des méthodes plus évoluéesproposent de déterminer la dynamique d'une donnée à partir de ses ara téristiques statis-tiques.Exemple ltre RIFLes simulations ont été réalisées ave trois types de signaux :1 : signal aléatoire orrespondant à un bruit blan uniformément distribué entre -1 et 1.2 : signal aléatoire orrespondant à un bruit blan possédant une distribution gaussienne.3 : signal de type hirp, signal dont la fréquen e évolue linéairement au ours du temps entre0 et Fe/2.Les signaux en entrée et en sortie du ltre, obtenus à l'aide de l'outil Matlab, sont présentésà la gure 7.9. Pour les trois as testés, le signal d'entrée est ompris dans l'intervalle ] −1; 1[. La dynamique de la sortie y a été mesurée pour les trois as. La dynamique obtenueest respe tivement de 3.4, 2.4 et 9.3. Ces résultats montrent que les valeurs obtenues pourl'évaluation de la dynamique dépendent fortement des signaux utilisés en entrée.7.2.1.2 Méthodes analytiquesL'obje tif des méthodes analytiques est de déterminer l'expression du domaine de dénitiond'une donnée à partir de la onnaissan e de la dynamique des entrées. Les méthodes ana-lytiques basées sur une estimation dans le pire as garantissent l'absen e de débordementmais l'estimation est plus pessimiste. Diérentes appro hes, présentées i-dessous, peuventêtre utilisées.

Page 87: École T SAT T

82 Arithmétique virgule xeXYZ[\ ]_ ab_Zcc[def[Yghi→ jklmn ( ) 4.2)(max =nyo

( ) 3.9)(max =nyp

)(ny)(nx

)(ny)(nx

XYZ[\ ]_ a Z [qrYsd)(nx )(ny ( ) 4.3)(max =nyo

Fig. 7.9: Représentation des signaux en entrée et en sortie du ltre pour trois types de signauxd'entréeL'arithmétique d'intervalles L'arithmétique d'intervalles orrespond à une arithmétiquedénie sur un ensemble d'intervalles au lieu d'un ensemble de nombre réels. Un intervalle estassimilé au domaine de dénition d'une variable x et est ara térisé par sa valeur limite infé-rieure x orrespondant à la valeur minimale de x et sa valeur limite supérieure x orrespondantà la valeur maximale de x.L'arithmétique d'intervalles dénit le domaine de dénition des données issues des opérationsarithmétiques lassiques. Considérons la donnée z issue d'une opération arithmétique dontles entrées sont les deux variables x et y. Le domaine de dénition de la donnée z pour lesdiérents opérateurs arithmétiques est le suivant :z = x + y [z, z] = [x + y, x + y]

z = x − y [z, z] = [x − y, x − y]

z = x ∗ y [z, z] = [min(xy, xy, xy, xy), max(xy, xy, xy, xy)]

(7.25)Considérons un système omposé de Ne entrées xi(n). Soit y(n) une donnée quel onque de esystème et dénie en fon tion des entrées de la manière suivante :y(n) = f (x0(n), x1(n), . . . xi(n), . . . xNe−1(n)) (7.26)

Page 88: École T SAT T

7.2 Codage en virgule xe 83Le domaine de dénition de la donnée y peur être obtenu à partir de elui des entrées enappliquant à la fon tion f , les diérentes règles présentées à l'équation 7.25 :[y, y] = f

(

[x0, x0], . . . [xi, xi], . . . [xNe−1, xNe−1]) (7.27)Cette te hnique permet de dénir le domaine de dénition d'une donnée qui est fon tion uni-quement des entrées du système. En eet, dans le as des systèmes ré ursifs, ertaines données

y(n) sont fon tion des valeurs pré édentes y(n−i) de es données. Le domaine de dénition dela donnée y étant fon tion de son propre domaine de dénition, l'arithmétique d'intervalles nepermet pas de déterminer dire tement le domaine de dénition de e type de donnée. Ainsi, ette te hnique ne peut être mise en ÷uvre de manière simple que pour les systèmes non-ré ursifs.Pour déterminer la dynamique des données d'un système non-ré ursif, le graphe ot de signalreprésentant le système est par ouru des sour es (entrées) vers les ra ines (sorties) et les règlesdénies à la relation 7.25 sont appliquées à haque opérateur. Dans les systèmes ré ursifs, legraphe ot de signal possède des ir uits, ainsi, le pro essus de par ours du graphe des entréesvers la sortie ne peut pas se terminer.Exemple ltre RIFNous onsidérons une entrée x omprise dans l'intervalle ]− 1; 1[. L'obje tif de ette étape estde déterminer le domaine de dénition de la sortie de la série d'a umulations orrespondantau signal y. Nous propageons le domaine de dénition de l'entrée x au sein du graphe otde signal représentant l'appli ation. Pour la sortie du ltre, la valeur absolue maximale estbornée à l'aide de la relation suivante :ymax = max

n(|y(n)|) =

N−1∑

m=0

|cm| = 10.75 (7.28)ztuztu ztuztu ztuztu

++ ++ ++

vc ×××× wc ×××× x−yc ××××z

−c ××××

)(nx

)(ny

[1,1]−

[,] || cc− [,] cc− [,] ~~ −−− cc [,] −−− cc

− ∑∑ −

=

=

1

0

1

0,

N

ii

N

ii ccFig. 7.10: Détermination de la dynamique en sortie du ltre à l'aide de l'arithmétique d'in-tervalle

Page 89: École T SAT T

84 Arithmétique virgule xeNormes pour les systèmes linéaires Dans ette partie, nous présentons les normes dé-nies pour déterminer la dynamique des données dans le adre des systèmes linéaires invariantdans le temps. Les expressions des normes sont présentées dans le as des systèmes linéaires àmono-entrée ou multi-entrées. Pour le système mono-entrée, onsidérons un système linéaireinvariant dans le temps de fon tion de transfert H(z), d'entrée x et de sortie y :y(n) = h(n) ∗ x(n) Y (z) = H(z).X(z) (7.29)Pour le système mono-entrée, onsidérons un système linéaire invariant dans le temps omposéde Ne entrées xi. Soit y, la sortie de e système dénie de la manière suivante :

y(n) =

Ne−1∑

i=0

hi(n) ∗ xi(n) (7.30)Ces normes permettent de déterminer la valeur absolue maximale de la sortie y à partir de lavaleur absolue maximale des entrées.Norme L1 D'après la relation 7.29, la valeur absolue de la donnée y est égale à :|y(n)| =

+∞∑

m=−∞h(m)x(n − m)

(7.31)Sa hant que la valeur absolue d'une somme de termes est inférieure à la somme des valeursabsolues de es termes et que l'entrée est bornée par sa valeur absolue maximale l'expression7.31 peut être bornée. Ainsi, la relation entre la valeur absolue maximale d'une donnée y et elle de l'entrée x du système est la suivante :ymax = max

n(|y(n)|) ≤ max

n(|x(n)|)

+∞∑

m=−∞|h(m)| (7.32)Au une hypothèse on ernant la nature du signal en entrée ayant été faite pour obtenir l'ex-pression de ymax, la relation 7.33 permet de borner la valeur absolue maximale de la donnée

y pour tous types de signaux au niveau de l'entrée.L'extension de la norme L1 pour un système linéaire à plusieurs entrées onduit ave la mêmedémar he à la relation suivante :ymax = max

n(|y(n)|) ≤

Ne−1∑

i=0

maxn

(|xi(n)|)+∞∑

m=−∞|hi(m)| (7.33)Exemple ltre FIRL'expression de la dynamique de la sortie y, obtenue ave la norme L1, est la suivante :

ymax = maxn

(|x(n)|)+∞∑

m=−∞|h(m)| (7.34)

Page 90: École T SAT T

7.2 Codage en virgule xe 85Sa hant que l'entrée x est omprise dans l'intervalle ] − 1; 1[ et en utilisant l'expression de laréponse impulsionnelle du ltre, l'expression de la dynamique de la sortie y est la suivante :ymax = 1.

N−1∑

m=0

|cm| = 10.75 (7.35)Norme de Cheby hev L'estimation de la dynamique dans un système linéaire basé surla norme L1 permet de garantir l'absen e de débordement pour tous les types de signaux auniveau des entrées. Cette estimation étant relativement pessimiste, d'autres normes ont étéproposées an de tenir ompte de la nature des signaux en entrée du système. La norme deCheby hev permet de déterminer la valeur absolue maximale d'une donnée pour des signauxd'entrée à bande étroite. Dans e as, le signal d'entrée est modélisé par une sinusoïde déniede la manière suivante :x(n) = A cos(Ω.n) avec 0 ≤ Ω < π (7.36)D'après les relations 7.29 et 7.36, l'expression de la valeur absolue de y est égale à :

|y(n)| =∣

∣A|.|H(ejΩ)|.| cos(

Ω.n + arg(

H(ejΩ)))∣

∣ avec 0 ≤ Ω < π (7.37)L'expression 7.37 peur être bornée en utilisant la valeur maximale du module de la réponsefréquentielle de H. Ainsi, pour la norme de Cheby hev, la relation entre la valeur absoluemaximale d'une donnée y et elle de l'entrée du système est la suivante :ymax = max

n(|y(n)|) ≤ max

n(|x(n)|) max

Ω

(

|H(ejΩ)|) (7.38)L'extension de la norme de Cheby hev à un système linéaire à plusieurs entrées onduit ave la même démar he à la relation suivante :

ymax = maxn

(|y(n)|) ≤Ne−1∑

i=0

maxn

(|xi(n)|) maxΩ

(

|Hi(ejΩ)|

) (7.39)Cette norme permet d'obtenir des résultats moins pessimistes que la norme L1, mais elleimpose des onditions sur la nature du signal d'entrée du ltre d'un point de vue spe tral.Exemple ltre RIFL'expression de la dynamique de la sortie y, obtenue ave la norme de Cheby hev, est lasuivante :ymax = max

n(|x(n)|) max

Ω

(

|H(ejΩ)|) (7.40)Le module de la réponse fréquentielle du ltre H(ejΩ) est présenté à la gure 7.11. Le maximumde ette fon tion est obtenu pour une fréquen e Ω nulle. Ainsi, l'expression de la dynamiquede la sortie y est la suivante :

Page 91: École T SAT T

86 Arithmétique virgule xeymax =

∣H(ej0)∣

∣ =

N−1∑

m=0

cmz−m

z=1

= 10.75 (7.41)Nous obtenons les mêmes résultats que pour la norme L1, ar nous sommes dans le asparti ulier ou les diérents éléments de la réponse impulsionnelle du ltre RIF sont touspositifs.Réponse fréquentielle ( )Ω

eH

ΩFig. 7.11: Réponse fréquentielle du ltre RIFStru ture as adée Pour illustrer les on epts détaillés dans ette partie, onsidérons lesystème présenté à la gure 7.12. Le système global H est réalisé en as adant trois sous-systèmes H1, H2 et H3 :

H(z) = H1(z) × H2(z) × H3(z) (7.42)Les normes L1 et de heby hev permettent de majorer la valeur maximale en sortie d'unsystème. Dans le as d'une stru ture as adée, il est né essaire de ne réaliser qu'une seulemajoration en déterminant la dynamique d'une sortie yi dire tement en fon tion de l'entréex du système global. La détermination de la dynamique de la sortie yi en plusieurs étapes(utilisation des entrées des sous-systèmes) réalise plusieurs majorations onduisant à une sur-estimation de la dynamique.Pour illustrer et eet de surestimation, onsidérons les deux fon tions de transfert H1(z) etH2(z) dont les réponses fréquentielles sont présentées à la gure 7.13. La fon tion de transfertglobale est H12(z).En appliquant la norme de Cheby hev, la dynamique de la sortie y2 du système global estobtenue à partir de l'expression 7.43. Le maximum est obtenu pour une pulsation Ω12 = 1.6.

y2−max = maxn

(|x(n)|) maxΩ

(

|H12(ejΩ)|

)

= maxΩ

(

|H1.H2(ejΩ)|

)

= 0, 356 (7.43)

Page 92: École T SAT T

7.2 Codage en virgule xe 87H1(z) H2(z) H3(z)

x(n)

)( zH

)().( zHzH

)().().( zHzHzH

y(n) y(n) y(n)Fig. 7.12: Synoptique du système orrespondant à une stru ture as adée( )Ω

( ) ( )ΩΩ = ( )Ω

Fig. 7.13: Réponse fréquentielle des sous-systèmes H1 et H2 et du système global H12Si nous déterminons la dynamique en plusieurs étapes alors la dynamique de la sortie y2en fon tion de l'entrée y1 du sous-système H2 est obtenue à partir de l'expression 7.44. Lemaximum est obtenu pour une pulsation Ω2 = 1.8.y2−max = max

n(|y1(n)|) max

Ω

(

|H2(ejΩ)|

) (7.44)En introduisant l'expression de la dynamique de la sortie y1 en fon tion de l'entrée globaledu système, la dynamique de y2 en fon tion de l'entrée globale x est obtenue à partir del'expression 7.45. Le maximum est obtenu pour une pulsation Ω1 = 1.4.y2−max = max

n(|x(n)|) max

Ω

(

|H1(ejΩ)|

)

maxΩ

(

|H2(ejΩ)|

)

= 1 × 1 = 1 (7.45)Cet exemple montre que la se onde évaluation de la dynamique de la sortie y surestime elle- i, ar les maximums des réponses fréquentielles des deux ellules as adées sont obtenus pourdes pulsations diérentes. Ainsi, il est né essaire de toujours onsidérer la fon tion de transfertglobale entre la donnée onsidérée et l'entrée du système.

Page 93: École T SAT T

88 Arithmétique virgule xe7.2.2 Détermination de la position de la virguleL'obje tif de ette phase est de déterminer la position de la virgule de haque donnée du grapheot de signal an d'aboutir à une spé i ation orre te d'un point de vue de l'arithmétiquevirgule xe. Cette transformation doit garantir l'absen e de débordement et respe ter les règlesde l'arithmétique virgule xe. La position de la virgule d'une donnée spé iée à travers sonparamètre m doit permettre de représenter l'ensemble des valeurs prises par ette donnée etd'éviter la présen e de bits non utilisés au sein de elle- i an de maintenir une pré isionmaximale. Ces deux ontraintes permettent d'obtenir pour une donnée x l'inégalité suivante :2mx−1 ≤ xmax < 2mx (7.46)Pour une donnée x, la position de sa virgule mx est dire tement obtenue à partir de sadynamique selon la relation suivante :

mx =⌈

log2

(

maxn

(|x(n)|))⌉ (7.47)7.2.2.1 Règles asso iées aux opérateurs arithmétiquesMultipli ation La position de la virgule de la sortie d'une multipli ation est dire tementobtenue à partir de elle des entrées. En intégrant le bit de signe redondant à la partie entièredu résultat, la position de la virgule en sortie de la multipli ation est la suivante :

mz = mx + my + 1 (7.48)Additionneur sans bit de garde Pour les opérations d'addition ou de soustra tion, il estné essaire de dénir une position de la virgule ommune aux entrées an d'aligner la positionde leur virgule. La position de la virgule de la sortie orrespond à la position ommune auniveau des entrées. Cette position ommune doit garantir l'absen e de débordement, ainsielle est dénie à partir de la ontrainte la plus forte au niveau des entrées. Si l'opérateur nepossède pas de bit de garde permettant d'a ueillir le bit supplémentaire issu d'un éventueldébordement il est né essaire d'intégrer ette ontrainte dans la détermination du format ommun. Ainsi, pour un additionneur ne possédant pas de bit de garde, la position de lavirgule ommune est dénie de la manière suivante :mc = max (mx,my,mz) (7.49)Si la position de la virgule des entrées ou de la sortie n'est pas identique à la position dela virgule ommune à l'additionneur, alors il est né essaire d'introduire des opérations dedé alage pour aligner la virgule. Les valeurs du dé alage à réaliser pour les entrées et la sortiesont les suivantes :

dx = mc − mx Decalage a droite de dx bitsdy = mc − my Decalage a droite de dy bitsdz = mc − mz Decalage a gauche de dz bits

(7.50)Pour les entrées, un dé alage à droite est éventuellement réalisé an d'ajouter des bits sup-plémentaires à la partie entière de la donnée. Ces bits sont né essaires pour éviter les débor-dements liés à l'a roissement de la dynamique lors de l'addition.

Page 94: École T SAT T

7.2 Codage en virgule xe 89Pour la sortie, un dé alage à gau he est éventuellement réalisé an d'adapter la position dela virgule à la dynamique réelle de la donnée. Ce dé alage élimine quelques bits de poids fortqui n'étaient pas utilisés.Additionneur ave bits de garde Pour les additionneurs possédant des bits de garde, leslargeurs des opérandes d'entrée et de sortie sont diérentes et les bits les plus signi atifs de es données ne sont plus alignés. Ainsi, les positions des virgules entre les données ne sont plus ohérentes et un référentiel ommun doit être utilisé pour analyser les ontraintes au niveaudes entrées et de la sortie. ¡+¢ ¢ ¢ ¡££ ¢ ¡¤

¥¦¥£ §¥£¦¦¤ ¥¤¦¦¥¤ §¤ £©ª

¢b«

Fig. 7.14: Spé i ation de la position de la virgule en présen e de bits de gardeUn paramètre gx est asso ié à haque donnée x pour représenter le nombre de bits de gardeutilisés au sein de la donnée. Soient mx′ ,my′ ,mz′ , les positions des virgules des données ré-féren ées par rapport au bit le plus signi atif de l'entrée dont la largeur est la plus faible.Ces diérents paramètres sont représentés à la gure 7.14. Le passage du référentiel asso iéà haque donnée au référentiel ommun né essite de retran her aux positions de la virgulele nombre de bits de garde utilisés. Ainsi, les expressions de la position des virgules dans leréférentiel ommun sont les suivantes :

mx′ = mx − gx

my′ = my − gy

mz′ = mz − gz

(7.51)Une position de la virgule ommune aux entrées et à la sortie de l'additionneur dans le référen-tiel ommun est dénie. Cette position est déterminée à partir de la ontrainte maximale surles entrées et la sortie. Cependant, le al ul de la ontrainte sur la sortie né essite de onnaîtrele nombre de bits de garde utilisés au niveau de la sortie. Cette valeur n'étant pas onnue avantde déterminer le format ommun, elle- i est xée à sa valeur maximale Bg, orrespondantau nombre de bits de garde disponibles au niveau de l'additionneur. La position de la virgule ommune est dénie à partir de la relation suivante :mc = max

(

mx′ ,my′ ,mz′)

= max (mx − gx,my − gy,mz − Bg) (7.52)

Page 95: École T SAT T

90 Arithmétique virgule xeLe nombre de bits de garde réellement utilisés par la sortie de l'additionneur est égal à :

gz = mz − mc si mz > mc

gz = 0 si mz ≤ mc(7.53)En onséquen e, les positions des virgules des entrées sont égales à :

mx = mc + gx

my = mc + gy(7.54)Ainsi, la position de la virgule de la sortie de l'additionneur est égale à :

mz = mc + gz (7.55)Si gz est égal à 0, alors au un bit de garde n'est utilisé et dans e as la position de la vir-gule de la sortie orrespond à elle du format ommun. Sinon, la position de la virgule de lasortie est obtenue à partir de la dynamique du résultat de l'opération. Si la ontrainte la plusforte au niveau de la relation 7.61 orrespond à elle sur la sortie alors, l'ensemble des bits degarde sont utilisés pour oder la sortie et la valeur de gz est égale au nombre de bits de gardedisponibles au niveau de l'additionneur.Le renvoi en mémoire du résultat de l'addition né essite de repositionner la donnée dans leregistre d'a umulation ar les bits de garde ne peuvent pas être envoyés dire tement en mé-moire. Ainsi, il est né essaire de faire un dé alage à droite de gz bits.La relation 7.61 peut être utilisée pour déterminer la position de la virgule ommune dans le as des additionneurs ave et sans bits de garde. Si l'additionneur ne possède pas de bit degarde, les paramètres g et Bg sont nuls et nous retrouvons les résultats obtenus à l'équation7.59.Exemple du ltre RIFLes diérentes ellules du ltre RIF sont traitées de la même manière ainsi, le format desdonnées est identique d'une ellule à l'autre. En parti ulier, un format ommun est utilisépour la suite d'opérations d'a umulation. En onséquen e le graphe ot de signal à traiter seréduit à une ellule telle que présentée à la gure 7.15.L'obje tif de ette phase est de déterminer la position de la virgule des diérentes données àpartir des informations obtenues dans la phase pré édente de détermination de la dynamique.Sa hant que les dynamiques des données x et y sont respe tivement égales à 0.999 et 10.75,alors la position de la virgule de es données est la suivante :mx = ⌈log2 (maxn (|x(n)|))⌉ = ⌈log2 (0.999)⌉ = 0

my = ⌈log2 (maxn (|y(n)|))⌉ = ⌈log2 (10.75)⌉ = ⌈3.42⌉ = 4(7.56)Sa hant que la valeur absolue maximale des oe ients ci est égale à 0.48 alors la position dela virgule des oe ients est la suivante :

Page 96: École T SAT T

7.2 Codage en virgule xe 91z¬­z¬­

++

®c ××××

)(ny

)( inx −

°°m °°m±²³mµm¶m · ¸mFig. 7.15: Graphe ot de signal représentant une ellule du ltre RIFmc =

log2

(

maxi

(|ci|))⌉

= ⌈log2 (0.48)⌉ = −1 (7.57)La position de la virgule de la sortie de la multipli ation est al ulée dire tement à partir de elle de ses entrées à l'aide de l'expression 7.48 :mMULT = mx + mc + 1 = 0 − 1 + 1 = 0 (7.58)Pour l'additionneur, il est né essaire de trouver un format ommun an d'aligner la virguledes entrées de l'addition. La sortie y du ltre est obtenue à partir de la variable ACC à lan de la suite d'a umulations. Le format de la variable ACC est identique pour toutes lesa umulations. Ainsi, la dynamique de la variable ACC est égale à elle de y. En onséquen e,la position de la virgule de la variable ACC orrespond à elle de y.Additionneur sans bit de garde Dans le as où l'ar hite ture ne possède pas d'addition-neur ave des bits de garde, le format ommun asso ié à l'addition est obtenu à partir del'expression 7.59 :

mADD = max (mMULT ,mACC ,mACC) = max (0, 4, 4) (7.59)Pour obtenir e format ommun il est né essaire de modier la position de la virgule de ertaines données et en parti ulier elle de la donnée issue de la multipli ation. La valeur de e dé alage est la suivante :dMULT = mADD − mMULT = 4 − 0 = 4 (7.60)L'obje tif de e dé alage est d'ajouter des bits à la partie entière de la donnée issue de lamultipli ation an d'aligner la virgule. Cet ajout de bits est obtenu en réalisant un dé alagearithmétique à droite (les nouveaux bits de poids fort sont une opie du bit de signe)Additionneur ave bits de garde Dans le as où l'ar hite ture possède un additionneurave la possibilité d'utiliser 8 bits de garde, le format ommun asso ié à l'addition est obtenuà partir de l'expression :

Page 97: École T SAT T

92 Arithmétique virgule xez¹ºz¹º

++

»c ××××

)(ny

)( inx −

0=¼½¾¿m

0=Àm1−=Ám

4=ÂÃÃmÄ Ä Ä Å Å Ä ÅÅ Å ÅÄ Ä

×

>> 4

+Å Ä ÅÅ Å ÅÆÆÆÆÄ Ä Ä Å

Ä Ä ÇÈÉÊËÌ ÈÉÍÎÍËÌÏÈÈÉÐÌÍÑÒÈÑÏÎÓÌÐÌËÉFig. 7.16: Cal ul en virgule xe ave un additionneur sans bit de garde

mADD = max (mMULT − gMULT ;mACC − Bg;mACC − Bg)= max (0 − 0; 4 − 8; 4 − 8) = 0

(7.61)En onséquen e, les positions des virgules des entrées sont égales à :mx′ = mADD + gx = 0 (7.62)Le nombre de bits de garde réellement utilisés par la sortie de l'additionneur est égal à :

gACC = mACC − mADD = 4 − 0 = 4 (7.63)zÔÕzÔÕ

++

Öc ××××

)(ny

)( inx −

0=×ØÙÚm

0=Ûm1−=Üm

4=ÝÞÞmß ß ß à

×

+

ß ß ß à ß à àà à ß à àà àáâ ãäåæ çèéê ëìíîïëìðß à àà à ñ

=òóóôõ=ö÷÷ø ß >> 4ùúûüýþ úûÿÿýþúúûþÿú þþýûFig. 7.17: Cal ul en virgule xe ave un additionneur possédant 8 bits de gardeLe renvoi en mémoire de la sortie du ltre après la série d'a umulations né essite de faire undé alage à droite de gACC bits.

Page 98: École T SAT T

7.2 Codage en virgule xe 937.2.3 Détermination de la largeur des donnéesPour obtenir le format omplet de haque donnée (largeur de la partie entière et de la partiefra tionnaire), la largeur des données doit être déterminée.7.2.3.1 Implantation logi ielleDans le as d'une implantation logi ielle de l'appli ation au sein d'un pro esseur (DSP, µC),la largeur des données dépend des types manipulés par le pro esseur. Ces types sont liés auxdiérentes instru tions disponibles au sein du jeu d'instru tions : Instru tions arithmétiques lassiques : elles réalisent le traitement d'une seule opéra-tion sur un opérateur en un ou plusieurs y les d'horloge. Ces instru tions manipulent desopérandes de largeur bop. Instru tions multi-pré ision : elles permettent de manipuler des données de largeur plusimportante, obtenues par on aténation de plusieurs données de largeur bop. Une opérationutilisant des données en multi-pré ision est dé omposée en une suite d'opérations manipu-lant des opérandes de largeur bop. Instru tions SWP (Sub-Word Parallelism) : elles permettent de traiter en parallèle desopérandes dont la largeur est inférieure à la largeur bop. Cette te hnique divise un opérateurmanipulant des données de largeur bop an de pouvoir exé uter en parallèle k opérationssur des fra tions de mot de largeur bop/k (voir ours EII3)Pour les pro esseurs DSP basés sur une ar hite ture traditionnelle de type MAC, les opéra-teurs ne manipulent qu'un seul type de donnée. Ainsi le pro essus de détermination de lalargeur des données est simplié. Il onsiste à reporter les largeurs des opérateurs en entrée eten sortie des opérations du graphe ot de l'appli ation.Certains pro esseurs DSP plus ré ents permettent de manipuler diérents types de données(instru tions lassiques, multi-pré ision, SWP) il est né essaire de séle tionner le type d'ins-tru tions permettant de minimiser le temps d'exé ution du ode et de respe ter les ontraintesde pré ision des al uls.Exemple ltre RIFPour le ltre RIF traité en exemple, nous onsidérons dans un premier temps un DSP basésur une ar hite ture traditionnelle double pré ision de type MAC possédant 8 bits de garde.Le synoptique de la partie opérative est présenté à la gure 7.18.a. En reportant la largeurdes opérateurs aux opérations du graphe ot de signal, nous obtenons le graphe présenté à lagure 7.19.Nous onsidérons dans un se ond temps un DSP basé sur une ar hite ture traditionnelle doublepré ision de type MAC sans bit de garde. Le synoptique de la partie opérative est présentéà la gure 7.18.b. En reportant la largeur des opérateurs aux opérations du graphe ot designal, nous obtenons le graphe présenté à la gure 7.20.

Page 99: École T SAT T

94 Arithmétique virgule xe+

AccumulateurAccumulateur

××××

AA BB +

AccumulateurAccumulateur

××××

AA BB Architecture double précision

sans bit de garde

Architecture simple précision

+

AccumulateurAccumulateur

××××

AA BB Architecture double précision

avec 8 bits de garde Fig. 7.18: Ar hite ture de la partie opérative du pro esseurzz zz zz

++ ++ ++

c ×××× c ×××× −c ××××

−c ××××

)(nx

)(nyQ

!(16,0,15)

(16,-1,16)

(32,0,31)

(36,4,31)

(16,4,11) !(36,4,31)Fig. 7.19: Graphe ot de signal annoté ave le format omplet des données pour une ar hi-te ture double pré ision possédant 8 bits de garde.Nous onsidérons dans un troisième temps une ar hite ture simple pré ision dont le synoptiquede la partie opérative est présenté à la gure 7.18. . En reportant la largeur des opérateursaux opérations du graphe ot de signal, nous obtenons le graphe présenté à la gure 7.21.Code C de l'appli ation pour une ar hite ture double pré ision sans bit de gardeLe type virgule xe n'existant pas en C, nous devons utiliser les types entiers. Ainsi, pour les oe ients il est né essaire de oder la valeur entière ayant la même représentation binaireque la valeur en virgule xe. Ce i revient à faire un dé alage à droite de la virgule du nombrede bits utilisés pour la partie fra tionnaire :

Page 100: École T SAT T

7.2 Codage en virgule xe 95z"#z"# z"#z"# z"#z"#

++ ++ ++

$c ×××× %c ×××× &−'c ××××(

−)c ××××

)(nx

)(nyQ

*+,-./*+,-./ 01,-./ 222201,-./2222 22222222(16,0,15)

(16,-1,16)

(32,0,31)

(32,4,27)

(32,4,27)

(16,4,11)*+,-./01,-./Fig. 7.20: Graphe ot de signal annoté ave le format omplet des données pour une ar hi-te ture double pré ision sans bit de garde.z34z34 z34z34 z34z34

++ ++ ++

5c ×××× 6c ×××× 7−8c ××××9

−:c ××××

)(nx

)(ny

;<=>?@;<=>?@ ;<=>?@ AAAA;<=>?@AAAA AAAAAAAA(16,0,15)

(16,-1,16)

(16,0,15)

(16,4,11)(16,4,11);<=>?@Fig. 7.21: Graphe ot de signal annoté ave le format omplet des données pour une ar hi-te ture simple pré ision

Cint = ⌈Cfixed point ∗ 2nc⌉ (7.64)Dé laration des variables et des oe ients :int input;int x[N;int y;int [N = 13107, 14336, 15565, , 13107, 14336 ;long a ;Code pour le al ul de la sortie du ltrex[0 = Input;a = (long)(x[0* [0) >> 4;for(i=N-1; i>0; i--) a = a + ((long)(x[i* [i) >> 4); /* Cal ul d'une ellule du filtre */

Page 101: École T SAT T

96 Arithmétique virgule xex[i = x[i-1; /* Vieillissement des variables internes */y[j = (int)(a >>16);L'expression (long)( ... ) a pour obje tif de for er le ompilateur à onserver les 32 bitsdu résultat et ne pas tronquer à 16 bits avant de faire l'addition.L'expression y = (int) ( ) 16 ; a pour obje tif de renvoyer en mémoire les bits les plussigni atifs du résultat (partie haute de l'a umulateur). Pour ela il est né essaire de trans-férer les bits de la partie haute de l'a umulateur vers la partie basse de l'a umulateur. Eneet, le ompilateur travaille sur des entiers et lors d'un passage de 32 à 16 bits, il ne onserveque les bits les moins signi atifs.7.2.3.2 Implantation matérielleDans le as d'une implantation matérielle de l'appli ation au sein d'un FPGA ou d'un ASIC,l'ar hite ture du système est dénie par le on epteur. Ainsi, la largeur des opérateurs onsti-tuant l'ar hite ture est déterminée lors du pro essus de on eption. L'obje tif de e pro essusde on eption est de limiter la surfa e de l'ar hite ture an de réduire les oûts et la onsom-mation d'énergie. En onséquen e, la largeur des opérateurs est minimisée tant que la pré isiondes al uls réalisés est susante pour que les ritères de qualité asso iés à l'appli ation soientrespe tés.Si le ritère de qualité utilisé est le Rapport Signal à Bruit de Quanti ation (RSBQ), alorsle pro essus de détermination de la largeur des données peut être modélisé par le problèmed'optimisation suivant :min

(

S(−→b )

)

avec RSBQ(−→b ) ≥ RSBQmin (7.65)Le ve teur −→b représente la largeur de l'ensemble des données présentes au sein de l'appli a-tion. Le terme S représente la surfa e de l'ar hite ture et est fon tion de la largeur des données.Exemple du ltre RIFNous avons onsidéré une ar hite ture omposée d'un seul multiplieur et d'un seul addition-neur. Ainsi, le problème d'optimisation est omposé de 2 variables bmult orrespondant à lalargeur des opérandes en entrée du multiplieur et badd la largeur des opérandes de l'addition-neur. Les fon tions fsurface (bmult, badd) et fRSBQ (bmult, badd) fournissant respe tivement lasurfa e et le RSBQ en fon tion des largeurs des opérateurs sont représentées à la gure 7.22.Pour une ontrainte de rapport signal à bruit de quanti ation de 60 dB, la solution optimaleutilise l'ar hite ture suivante : Multiplieur : 12 × 12 → 24 (bits) Additionneur : 17 + 17 → 17 (bits)

Page 102: École T SAT T

7.3 Evaluation de la pré ision 97Solution : (12,17)

Espace de recherche pour la Surface Espace de reche rche pour le RSBQ

BCDEFGH = IJKL

bMNNbOPQR( )STTUVWXYZ[\ bbf ,]_ab_c defghifjhklmnfeojhkjphoqfnhjirisqtmsthif defghifjhklmnfeojhkjhspejjtqtloohif

bMNNbOPQRuvwxyza|~c defghifjhklmnfeojhkjphoqfnhjirisqtmsthif defghifjhklmnfeojhkjhspejjtqtloohif

( ) bbf ,

Fig. 7.22: Espa e de re her he pour la surfa e et le RSBQ7.3 Evaluation de la pré ision7.3.1 Pro essus de quanti ation et de dépassementSoit x une valeur arbitraire appartenant au domaine D et y une valeur du domaine de dé-nition DR du odage hoisi. Le domaine DR est borné par les valeurs Xmin et Xmax. Nousdénissons le sous-ensemble DD de D regroupant l'ensemble des valeurs de D omprises dansl'intervalle [Xmin;Xmax]. Le pro essus de quanti ation orrespond à l'opération de rédu tiond'une valeur arbitraire x à une valeur représentable y. Ce pro essus est régi par deux loisprésentées i-dessous :Loi de dépassement : ette loi permet d'asso ier à l'ensemble des valeurs x de D une valeur xappartenant au domaine DD. Elle dénit plus pré isément le omportement pour les valeursprésentes en dehors du domaine DD. Nous asso ions à ette loi une fon tion de dépassementdénie i-dessous :fD(x) =

x ∀ x ∈ DDD(x) ∀ x 6∈ DD

(7.66)Loi de quanti ation : ette loi dénit les valeurs représentables y à asso ier à l'ensemble desvaleurs x appartenant au domaine DD. La fon tion de quanti ation asso iée est la suivante :fQ(x) = Q(x) ∀ x ∈ DD (7.67)Le pro essus de quanti ation global peut s'exprimer sous la forme suivante :

x → fQ(fD(x)) =

Q(x) ∀ x ∈ DDD(x) ∀ x 6∈ DD

(7.68)7.3.1.1 Lois de dépassementArithmétique de saturation

Page 103: École T SAT T

98 Arithmétique virgule xeCette loi appelée loi de saturation, onsiste à hoisir la valeur du domaine DD la plus pro hede la valeur à représenter x :D(x) =

Xmin ∀ x < Xmin

Xmax ∀ x > Xmax(7.69)La ara téristique de ette fon tion est représentée à la gure 7.23.a. La gestion de ette loiné essitera des opérateurs arithmétiques spé iques. Par ontre, son utilisation permet d'éviter ertains problèmes et erreurs engendrés par l'utilisation de la loi modulaire.Arithmétique modulaireCette loi de dépassement modulaire substitue aux valeurs de x n'appartenant pas au domaine

DD, x modulo (Xmax −Xmin). La ara téristique de ette loi est présentée à la gure 7.23.b.Xmin

Xmin

Xmax

Xmax

x

fD(x)

Xmin

Xmin

Xmax

Xmax

fD(x)

(b)(a)Fig. 7.23: Cara téristiques des lois de dépassement7.3.1.2 Lois de quanti ationLe domaine représentable DR est omposé de N valeurs yi ave i = 1, 2, . . . , N et le sous-domaine DD est subdivisé en N sous domaines juxtaposés ∆i . La loi de quanti ation asso ieà tout x appartenant au domaine ∆i la valeur yi :∀ x ∈ ∆i Q(x) = yi (7.70)Soit e l'erreur entre la valeur avant quanti ation, x et la valeur après quanti ation yi :

e = x − yi (7.71)Loi de quanti ation par arrondiLa loi de quanti ation par arrondi onsiste à hoisir la valeur représentable la plus pro he dela valeur à quantier en prenant la médiane de haque intervalle ∆i :yi = ui+1−ui

2 = ui + q2 ∀ x ∈ ∆i = [ui;ui+1] (7.72)La ara téristique de ette loi est représentée à la gure 7.24.

Page 104: École T SAT T

7.3 Evaluation de la pré ision 99x

e(x)

ui+1ui

xix

fQ(x)

ui+1ui xi

q2

-q 2Fig. 7.24: Cara téristiques de la loi de quanti ation par arrondiLoi de quanti ation par tron atureCette loi de quanti ation onsiste à tronquer un ertain nombre de bits de poids faible. Lespropriétés de ette loi de quanti ation sont fon tions du hoix de la représentation (signe-valeur absolue ou omplément à 2).

e(x)

xui+1uix

fQ(x)

ui+1ui

q

-qFig. 7.25: Cara téristiques de la loi de quanti ation par tron ature pour le odage SVAReprésentation signe valeur absoluePour ette représentation la tron ature d'un ertain nombre de bits de poids faible revient à hoisir la valeur représentable la plus pro he dont le module est inférieur à la valeur à quantier(voir gure 7.25) :yi =

ui ∀ x > 0ui+1 ∀ x <

(7.73)Représentation en omplément à 2La quanti ation par tron ature dans le as d'une représentation en omplément à 2 (voirgure 7.26) revient à prendre la valeur représentable immédiatement inférieure à la valeur àquantier yi = ui.7.3.2 Modélisation du bruit7.3.2.1 Bruit généré par une onversion analogique-numériqueLa onversion analogique numérique (CAN) onsiste à passer d'un signal é hantillonné d'am-plitude ontinue x(n) vers une suite de nombre y(n) dont les valeurs appartiennent à un

Page 105: École T SAT T

100 Arithmétique virgule xee(x)

xui+1uix

fQ(x)

ui+1ui

q

Fig. 7.26: Cara téristiques de la loi de quanti ation par tron ature pour le odage CA2intervalle de valeur (dynamique) et sont quantiées (amplitude dis rète). Ces valeurs sont unmultiple entier du pas de quanti ation q (voir gure 7.27) :y(n) = Q[x(n)] = k.q (7.74)Dans e adre, les modèles et lois de quanti ation présentés dans les se tions pré édentespeuvent être utilisés.

n

x(n)

3q2q q

y(n)

3q2q q

CANx(n) y (n)

n

e(n) q/2

- q/2Fig. 7.27: Bruit de onversion analogique numériqueL'erreur de quanti ation e(n) = x(n) − y(n) entre la valeur avant quanti ation x et lavaleur après quanti ation y, peut être modélisée par une variable aléatoire stationnaire. Lepro essus de quanti ation peut être modélisé par la somme du signal x(n) et d'un bruit dequanti ation −e(n)

+ y

-e

xQ( ) yx

Fig. 7.28: Modélisation du bruit de quanti ationCette variable aléatoire est uniformément distribuée sur son intervalle de dénition orres-pondant à [0; q] pour la tron ature et [−q/2; q/2] pour l'arrondi. La densité de probabilité de

Page 106: École T SAT T

7.3 Evaluation de la pré ision 101 ette variable aléatoire e est représentée à la gure 7.29 pour le as d'une quanti ation partron ature et par arrondi−

)(ep

e )(ep

e

Fig. 7.29: Fon tion de distribution du bruit généré lors de la quanti ation par tron ature etpar arrondiLa variable aléatoire e(n) possède les propriétés suivantes : e(n) est stationnaire, le bruit issu de la quanti ation d'un signal x(n) n'est pas orrélé ave e signal, les bruits de quanti ation sont statistiquement indépendants, e(n) est un bruit blan uniformément réparti, e(n) est bornée par le pas de quanti ation, la distribution de probabilité de e(n) est uniforme sur l'intervalle de quanti ation, l'ergodi ité implique que les moyennes temporelles et statistiques sont équivalentes.Pour une loi de quanti ation par arrondi, la moyenne et la varian e de l'erreur de quanti- ation sont les suivantes :

µe = 0, σ2e =

q2

12(7.75)Pour une loi de quanti ation par tron ature, la moyenne et la varian e de l'erreur de quan-ti ation sont les suivantes :

µe =q

2, σ2

e =q2

12(7.76)7.3.2.2 Bruit généré par un hangement de formatModélisation du bruit généré par la tron atureL'obje tif de ette partie est de modéliser le bruit issu d'un hangement de format entraînantl'élimination d'un ertain nombre de bits de poids faible. Ce bruit orrespond à la modéli-sation de la perte d'information résultant de l'élimination des k bits les moins signi atifslors d'un hangement de format. Nous onsidérons une donnée de départ Xe et la donnée Xsaprès hangement de format. La représentation de es données odées en omplément à 2, estprésente à la gure 7.30 et les expressions de elles- i sont les suivantes :

Xe = −2m.S +m−1∑

−n

bi2i (7.77)

Page 107: École T SAT T

102 Arithmétique virgule xeXs = −2m.S +

m−1∑

−j

bi2i (7.78)Nous dénissons q le pas de quanti ation de la donnée après hangement de format. Celui- iest égal à 2−j .

S b b¡ b b¢£¤¥ b¦b¢£¤§b¢ ¢§b¢ 2-n2 2¡n

2m-1 2-j-12-j

j k

Bits restants Bits supprimés

Fig. 7.30: Représentation des données lors d'une tron atureL'expression du bruit de quanti ation orrespondant à la diéren e entre les deux variablesXe et Xs, est la suivante :

e =

n∑

i=j−1

b−i2−i (7.79)L'expression 7.79 montre que le bruit généré sera toujours positif. En eet lors d'une tron a-ture en omplément à 2 la valeur tronquée est toujours inférieure à la valeur de départ.Le bruit issu de la tron ature ne pouvant prendre qu'un nombre ni de valeurs, égal à 2k, nouspouvons modéliser le bruit généré par une variable aléatoire dis rète.Nous supposons que les valeurs binaires des bits b−j−1 à b−n sont équiprobables, ainsi les va-leurs représentant e sont équiprobables. Nous pouvons onsidérer que la densité de probabilité

p(e) représentée à la gure 7.31, est uniforme. Son expression est la suivante :p(e) =

2k−1∑

i=0

2−kδ(e − i.2−n) (7.80))(ep

©e 2.Fig. 7.31: Fon tion de distribution du bruit généré lors d'une tron atureLa moyenne de ette variable aléatoire est la suivante :

µe =+∞∑

i=−∞yip(yi) =

2k−1∑

i=0

i.2−n.2−k (7.81)

Page 108: École T SAT T

7.3 Evaluation de la pré ision 103soitµe = 2−j−1(1 − 2j−n) =

q

2(1 − 2−k) (7.82)La varian e de ette variable aléatoire est égale à :

σ2e =

+∞∑

i=−∞y2

i p(yi) − µ2e (7.83)soit

σ2e =

2−2j

12(1 − 22(j−n)) =

q2

12(1 − 2−2k) (7.84)Lorsque le nombre de bits tronqués est important les résultats tendent vers eux obtenus dansle as de la quanti ation d'un signal à amplitude ontinue :

µe = 2−j−1 =q

2(7.85)

σ2e =

1

12(2−2j) =

q2

12(7.86)

Modélisation du bruit généré par l'arrondiDans le as d'une quanti ation par arrondi onventionnel, la donnée orrespondant à la valeurmédiane de l'intervalle [kq, (k + 1)q] est odée à la valeur (k + 1)q. La loi de quanti ation estdénie de la façon suivante :Q(x) =

k.q si kq ≤ x < (k + 12)q

(k + 1).q si (k + 12)q < x ≤ (k + 1)q

(k + 1)q si x = (k + 12)q

(7.87)L'expression de la densité de probabilité de l'erreur de quanti ation bgac représentée à lagure 7.32, est la suivantep(e) =

2k−1−1∑

i=−2k−1

2k−nδ(e − i.2−n) (7.88))(ep

ªe 2.Fig. 7.32: Fon tion de distribution du bruit généré lors d'un arrondi onventionnel

Page 109: École T SAT T

104 Arithmétique virgule xeLa moyenne de ette variable aléatoire est égale à :µbgac

=2k−1−1∑

i=−2k−1

i.2−n.2−k = 2−n−1 =q

2(2−k) (7.89)La valeur médiane de haque intervalle [k.q, (k+1).q] étant odée systématiquement à la valeursupérieure, la moyenne de l'erreur de quanti ation n'est pas nulle. Cette erreur est néanmoinsnettement plus faible que elle présente lors d'une quanti ation par tron ature. La varian ede ette variable aléatoire est égale à :

σ2bgac

=

2k−1−1∑

i=−2k−1

(i.2−n)2.2−k − µ2e =

2−2j

12(1 − 2−2k) =

q2

12(1 − 2−2k) (7.90)An d'éliminer le biais, un arrondi onvergent peut être utilisé, elui va ae ter la valeurmédiane de façon équiprobable à la valeur supérieure et inférieure :

Q(x) =

k.q si k.q ≤ x < (k + 12)q

(k + 1).q si (k + 12)q < x ≤ (k + 1)q

k.q ou (k + 1).q si x = (k + 12)q

(7.91)ave P(

Q(x) = kq \ x = (k +1

2)q

)

= P(

Q(x) = (k + 1)q \ x = (k +1

2)q

)Cette te hnique garantit l'équiprobabilité du odage de la valeur médiane en analysant laparité de la donnée. Les données impaires sont odées à la valeur supérieure et les donnéespaires à la valeur inférieure. La densité de probabilité asso iée à l'erreur de quanti ationprésentée à la gure 7.33, est égale à :p(e) =

2−k

2

(

δ(e + 2k−n−1) + δ(e − 2k−n−1))

+

2k−1−1∑

i=−2k−1+1

2−kδ(e − i.2−n) (7.92))(ep

«e 2.Fig. 7.33: Fon tion de distribution du bruit généré lors d'un arrondi onvergentLa moyenne de ette variable aléatoire est la suivante :

µe = 2−k(

2k−n−1 − 2k−n−1)

+

2k−1−1∑

i=−2k−1+1

i.2−n.2−k = 0 (7.93)Ce type d'arrondi permet d'obtenir une moyenne de l'erreur de quanti ation nulle. L'expres-sion de la varian e de l'erreur de quanti ation est la suivante :

Page 110: École T SAT T

7.3 Evaluation de la pré ision 105σ2

e = 2−k22(k−n−1) +

2k−1−1∑

i=−2k−1+1

(i.2−n)2.2−k (7.94)soitσ2

e =2−2j

12(1 − 2−2k+1) =

q2

12(1 − 2−2k+1) (7.95)7.3.3 Filtrage du bruitLa quanti ation d'un signal analogique et le hangement de format de données entraînent lagénération d'un bruit. Ce bruit se propage au sein du système. L'obje tif de ette partie estde déterminer l'inuen e de e bruit en sortie du système. Considérons une sour e de bruit

e(n) traversant un système linéaire invariant dans le temps de réponse impulsionnelle h(n).Soit f(n) la sortie du système :f(n) = e(n) ∗ h(n) (7.96)La variable aléatoire e(n), orrespondant au bruit de quanti ation, est un bruit blan , ainsi,la moyenne µf et la varian e σ2

f du bruit en sortie f(n) sont :µf = µe

+∞∑

n=−∞h(n) = µeH(ej0) (7.97)

σ2f = σ2

e

+∞∑

n=−∞|h(n)|2 =

σ2e

∫ π

−π|H(ejΩ)|2dΩ (7.98)La puissan e d'un signal aléatoire orrespond au moment d'ordre 2 de elui- i :

Pf = E(

f2)

= µ2f + σ2

f (7.99)Cette puissan e peut être exprimée en dB :(Pf )dB = 10. log10(Pf ) (7.100)Exemple ltre RIFNous déterminons la puissan e du bruit en sortie du ltre dans le as des spé i ations virgulexe présentées aux gures 7.19, 7.20 et 7.21 pour une ar hite ture en simple pré ision et endouble pré ision ave et sans bits de garde. Les diérentes sour es de bruit potentielles au seinde e ltre RIF sont représentées à la gure 7.34.Ar hite ture double pré ision ave bits de gardeDans le as d'une ar hite ture double pré ision ave bits de garde nous obtenons la spé i a-tion virgule xe présente à la gure 7.19. Les diérentes sour es de bruit présentes au sein de e ltre sont les suivantes :

Page 111: École T SAT T

106 Arithmétique virgule xez¬­z¬­ z¬­z¬­ z¬­z¬­

++ ++ ++

®c ×××× ¯c ×××× °−±c ×××ײ

−³c ××××

)(nx

)(ny

+)(µ nb¶· +)(µ nb¶· +)(¹º nb »¼½ − +)(¾¿ nb ÀÁ −

+

)(nb¼Ã+

)(nbÄÅÆÆFig. 7.34: Sour es de bruit potentielles dans le ltre RIF bge : bruit asso ié à l'entrée. Nous onsidérons que le signal x est issu d'un onvertisseuranalogique-numérique. La puissan e de e bruit est la suivante :σ2

bge=

q2x

12=

2−2.nx

12=

2−30

12→ −101.1 dB (7.101) bgbadd : bruit présent en sortie du ltre et lié à l'élimination de 20 bits lors du renvoi de ladonnée en mémoire sur 16 bits

σ2bgadd

=q2y

12(1 − 2−2.ky) =

2−2.ny

12(1 − 2−2.ky) =

2−22

12(1 − 2−40) → −77 dB (7.102)Le bruit lié au renvoi de la donnée en mémoire (bgadd) est dire tement présent en sortie dultre. Le bruit en entrée bge traverse le ltre h(n). Ainsi, l'expression du bruit en sortie dultre est la suivante :

by(n) = bgadd(n) + bge(n) ∗ h(n) (7.103)Si nous onsidérons qu'une loi de quanti ation par arrondi est utilisée pour haque hange-ment de format, alors la moyenne du bruit asso ié à haque sour e est nulle. La moyenne dubruit en sortie est nulle.Les diérentes sour es de bruit ne sont pas orrélées entre elles et le bruit en entrée est unbruit blan . En utilisant l'expression 7.98 pour le bruit bge la varian e du bruit en sortie dultre est la suivante :σ2

by= σ2

bgadd+ σ2

bge

N−1∑

i=0

|ci|2 (7.104)σ2

by=

2−22

12+

2−30

12∗ 3.95 → −77 dB (7.105)

Page 112: École T SAT T

7.3 Evaluation de la pré ision 107Ar hite ture double pré ision sans bit de gardeDans le as d'une ar hite ture double pré ision sans bit de garde nous obtenons la spé i ationvirgule xe présente à la gure 7.20. Les diérentes sour es de bruit présentes au sein de eltre sont les suivantes : bge : bruit asso ié à l'entrée. Nous onsidérons que le signal x est issu d'un onvertisseuranalogique-numérique. La puissan e de e bruit est la suivante :σ2

bge=

q2x

12=

2−2.nx

12=

2−30

12→ −101.1 dB (7.106) bgm.i : bruit présent en sortie du multiplieur i lié au dé alage à droite avant l'addition. Laprésen e d'un dé alage à droite avant l'a umulation onduit à une donnée possédant 27bits pour la partie fra tionnaire. Sa hant que 4 bits ont été éliminés, la puissan e de e bruitest la suivante :

σ2bgm.i

=q2MULT ′

12(1 − 2−2.km) =

2−2.nMULT ′

12(1 − 2−2.km) =

2−54

12(1 − 2−8) → −173.6 dB(7.107) bgbadd : bruit présent en sortie du ltre et lié à l'élimination de 16 bits lors du renvoi de ladonnée en mémoire sur 16 bits

σ2bgadd

=q2y

12(1 − 2−2.ky) =

2−2.ny

12(1 − 2−2.ky) =

2−22

12(1 − 2−32) → −77 dB (7.108)Dans ette étude nous prenons en ompte les diérentes sour es de bruit, mais l'étude peutêtre simpliée en négligeant les bruits issus du re adrage avant l'a umulation ar leur ontri-bution est insigniante.Les bruits issus du re adrage (bgm.i) et liés au renvoi de la donnée en mémoire (bgadd) sontdire tement présents en sortie du ltre. Le bruit en entrée bge traverse le ltre h. Ainsi,l'expression du bruit en sortie du ltre est la suivante :

by(n) = bgadd(n) +

N−1∑

i=0

bgm.i(n) + bge(n) ∗ h(n) (7.109)Si nous onsidérons qu'une loi de quanti ation par arrondi est utilisée pour haque hange-ment de format, alors la moyenne du bruit asso ié à haque sour e est nulle. La moyenne dubruit en sortie est nulle.Les diérentes sour es de bruit ne sont pas orrélées entre elles et le bruit en entrée est unbruit blan . En utilisant l'expression 7.98 pour le bruit bge la varian e du bruit en sortie dultre est la suivante :σ2

by= σ2

bgadd+

N−1∑

i=0

σ2bgm.i

+ σ2bge

N−1∑

i=0

|ci|2 (7.110)

Page 113: École T SAT T

108 Arithmétique virgule xeσ2

by=

2−22

12(1 − 2−32) +

2−30

12∗ 3.95 → −77 dB (7.111)Bruit en sortie du ltre RIF pour une ar hite ture simple pré isionDans le as d'une ar hite ture simple pré ision nous obtenons la spé i ation virgule xe pré-sente à la gure 7.21. Les diérentes sour es de bruit présentes au sein de e ltre sont lessuivantes : bge : bruit asso ié à l'entrée. Nous onsidérons que le signal x est issu d'un onvertisseuranalogique-numérique et est ensuite odé sur 16 bits ave 15 bits pour la partie fra tionnaire.La puissan e de e bruit est la suivante :

σ2bge

=q2x

12=

2−2.nx

12=

2−30

12(7.112) bgm.i : bruit présent en sortie du multiplieur i lié à l'utilisation d'un multiplieur simplepré ision et au dé alage à droite avant l'addition. Nous regroupons es deux opérationsau sein d'une même sour e de bruit. Si au un bit n'est éliminé, la multipli ation fournitune donnée possédant 31 bits pour la partie fra tionnaire. L'utilisation d'un multiplieurtravaillant en simple pré ision et la présen e d'un dé alage à droite avant l'a umulation onduisent à une donnée possédant 11 bits pour la partie entière. Sa hant que 20 bits ontété éliminés, la puissan e de e bruit est la suivante :

σ2bgm

=q2MULT ′

12(1 − 2−2.km) =

2−2.nMULT ′

12(1 − 2−2.km) =

2−22

12(1 − 2−40) (7.113)Les bruits issus du re adrage (bgm.i) et liés au renvoi de la donnée en mémoire (bgadd) sontdire tement présents en sortie du ltre. Le bruit en entrée bge traverse le ltre h. Ainsi,l'expression du bruit en sortie du ltre est la suivante :

by(n) =

N−1∑

i=0

bgm.i(n) + bge(n) ∗ h(n) (7.114)soitby(n) =

N−1∑

i=0

bgm.i(n) +N−1∑

i=0

ci.bge(n − i) (7.115)Si nous onsidérons qu'une loi de quanti ation par arrondi est utilisée pour haque hange-ment de format, alors la moyenne du bruit asso ié à haque sour e est nulle. La moyenne dubruit en sortie est nulle.Les diérentes sour es de bruit ne sont pas orrélées entre elles et le bruit en entrée est unbruit blan . En utilisant l'expression 7.98 pour le bruit bge la varian e du bruit en sortie dultre est la suivanteσ2

by=

N−1∑

i=0

σ2bgm.i

+ σ2bge

N−1∑

i=0

|ci|2 = N.σ2bgm.i

+ σ2bge

N−1∑

i=0

|ci|2 (7.116)

Page 114: École T SAT T

7.4 Exemple 109σ2

by= 32 ∗ 2−22

12(1 − 2−40) +

2−30

12∗ 3.95 → −61.96 dB (7.117)7.4 ExemplePour illustrer le pro essus de onversion en virgule xe, l'exemple d'un ltre IIR est traitédans ette partie.7.4.1 Des ription de l'appli ationUn ltre à réponse impulsionnelle innie omposé de deux ellules d'ordre 1 as adées est onsidéré. La fon tion de transfert de e système est la suivante

H(z) = H1(z).H2(z) (7.118)ave H1(z) =

N1(z)

D1(z)=

c1

1 − a1.z−1et H2(z) =

N2(z)

D2(z)=

c2

1 − a2.z−1(7.119)Les valeurs des oe ients sont les suivantes :

c1 = 0.35 a1 = 0.8 (7.120)c2 = 0.48 a2 = 0.6 (7.121)Le graphe ot de signal de ette appli ation est présenté à la gure 7.35 :

zÇÈzÇÈ++Éc×××× Êa××××)(nx

zÇÈzÇÈ++Ëc×××× Ìa××××)(ny

ÍÎÎÏ ÍÎÎÐÑÒz ÓÔzÑÕz Ö×z)(Ø ny

Fig. 7.35: Graphe ot de signal du ltre IIR7.4.2 Détermination de la spe i ation virgule xe7.4.2.1 Détermination de la dynamiquePour l'évaluation de la dynamique, nous utilisons la norme de Cheby hev basée sur l'analysede la réponse fréquentielle. Nous devons étudier la dynamique des données présentes en sortiede haque addition ou série d'additions. Ainsi, nous déterminons la dynamique des donnéesy1 et y.

Page 115: École T SAT T

110 Arithmétique virgule xeDynamique de y1.La fon tion de transfert entre la donnée y1 et l'entrée globale x est la suivante :Y1(z)

X(z)= H1(z) =

c1

1 − a1.z−1(7.122)Le module de la réponse fréquentielle de e système est le suivant :

∣H1(ejΩ)

∣ =c1

(

1 + a21 − 2a1 cos(Ω)

)1/2(7.123)Les extremum de ette réponse fréquentielle sont obtenus pour Ω = 0 et Ω = π. Dans notre as nous obtenons les valeurs suivantes :

|H(ej0)| =c1

|1 − a1|= 1.75 (7.124)

|H(jπ)| =c1

|1 + a1|= 0.4375 (7.125)Le maximum de ette réponse fréquentielle est obtenu pour Ω = 0 et ette fon tion estmonotone et dé roissante sur [0−π] si a1 est positif. Ainsi, la dynamique de la sortie du ltre

H1 est la suivante :max

n(|y1(n)|) = max

n(|x(n)|) max

Ω

(

|H1(ejΩ)|

)

= 1.75 (7.126)Dynamique de y.La fon tion de transfert entre la donnée y et l'entrée globale x est la suivanteY (z)

X(z)= H(z) = H1(z).H2(z) (7.127)Pour simplier la re her he du maximum de la réponse fréquentielle de ∣

∣H(ejΩ)∣

∣ nous utilisonsles ara téristiques de haque ellule. Chaque ellule orrespond à un ltre IIR d'ordre 1 etpasse-bas. Les réponses fréquentielles de H1 et H2 étant monotones et dé roissantes, alors lemaximum est obtenu pour Ω = 0.∣

∣H(ej0)∣

∣ = H(z)|z=1 =

c1c2

(1 − a1)(1 − a2)

= 2.1 (7.128)Ainsi la dynamique de la sortie du ltre H est la suivante :max

n(|y(n)|) = max

n(|x(n)|) max

Ω

(

|H(ejΩ)|)

= 2.1 (7.129)

Page 116: École T SAT T

7.4 Exemple 1117.4.2.2 Détermination de la position de la virguleLes positions de la virgule des données x, y1 et y sont les suivantes :x ∈] − 1; 1[ → mx = 0y1 ∈] − 1.75; 1.75[ → my1 = 1y ∈] − 2.1; 2.1[ → my = 2

(7.130)La position de la virgule des diérents oe ients du ltre est la suivante :c1 = 0.35 → mc1 = −1a1 = 0.8 → ma1 = 0c2 = 0.48 → mc2 = −1a2 = 0.6 → ma2 = 0

(7.131)Filtre H1La position de la virgule en sortie de la multipli ation de c1 par x est la suivante :mzc1 = mx + mc1 + 1 = 0 − 1 + 1 = 0 (7.132)La position de la virgule en sortie de la multipli ation de a1 par y1 est la suivante :mza1 = my1 + ma1 + 1 = 1 + 0 + 1 = 2 (7.133)La position de la virgule ommune pour l'addition ADD1 est la suivante :

mADD1 = max (mzc1,mza1 ,my1) = max (0, 2, 1) = 2 (7.134)Pour aligner la virgule en entrée de l'additionneur, il est né essaire d'introduire un dé alage àdroite de dzc1 bits sur la sortie de la multipli ation de c1 par x :dzc1 = mADD1 − mzc1 = 2 − 0 = 2 (7.135)En sortie de l'additionneur, pour retrouver le format de la donnée, il est né essaire d'introduireun dé alage à gau he de :dzy1 = mADD1 − my1 = 1 − 0 = 1 (7.136)Filtre H2La position de la virgule en sortie de la multipli ation de c2 par y1 est la suivante :

mzc2 = my1 + mc2 + 1 = 1 − 1 + 1 = 1 (7.137)La position de la virgule en sortie de la multipli ation de a2 par y est la suivante :mza2 = my + ma2 + 1 = 2 + 0 + 1 = 3 (7.138)La position de la virgule ommune pour l'addition ADD2 est la suivante :

Page 117: École T SAT T

112 Arithmétique virgule xemADD2 = max (mzc2,mza2 ,my) = max (1, 3, 2) = 3 (7.139)Pour aligner la virgule en entrée de l'additionneur, il est né essaire d'introduire un dé alage àdroite de dzc2 bits sur la sortie de la multipli ation de c2 par y1 :

dzc2 = mADD2 − mzc2 = 3 − 1 = 2 (7.140)En sortie de l'additionneur, pour retrouver le format de la donnée, il est né essaire d'introduireun dé alage à gau he de :dzy = mADD2 − my = 3 − 2 = 1 (7.141)Pour limiter le temps d'exé ution des opérations de re adagre, les dé alages à droite en sortiedes multipli ations peuvent être dépla és vers l'entrée du ltre ou vers les oe ients. Nousdéplaçons les dé alages à droite de deux bits dzc1 et dzc2 vers les oe ients c1 et c2. Ce iné essite d'intégrer 2 bits supplémentaires à la partie entière de es deux oe ients.7.4.2.3 Détermination de la largeur des donnéesPour implanter e ltre H, nous utilisons une ar hite ture sur 16 bits et double pré ision dontle synoptique est présenté à la gure 7.18. La spé i ation virgule xe obtenue est présentéeà la gure 7.36 avant le dépla ement des opérations de dé alage et à la gure 7.37 après ledépla ement des opérations de dé alage.

zÙÚzÙÚ++Ûc×××× Üa××××)(nx

zÙÚzÙÚ++Ýc×××× Þa××××)(nyßààá ßààâãäz åæzçèéêëìçèéêëì íîéêëìïðñòóòðôõ íîéêëì öööö ööööï÷øòóò÷ðõ ùùùù ùùùùï÷øòøòøúõ ïðñòðòðûõïðñòüðòðñõ ïðñòóòðôõ ïðñòüðòðñõ ïðñòóòðôõ

ï÷øòðò÷óõï÷øò÷òøýõï÷øò÷òøýõ ïðñòøòð÷õø øð ð

Fig. 7.36: Graphe ot de signal du ltre IIR avant le dépla ement des opérations de dé alagezþÿzþÿ++c×××× a××××

)(nx

zþÿzþÿ++c×××× a××××)(ny z z

Fig. 7.37: Graphe ot de signal du ltre IIR après le dépla ement des opérations de dé alage

Page 118: École T SAT T

7.4 Exemple 1137.4.3 Code C de l'appli ationDé laration des variables et des oe ients :int x;int y1[2;int y[2;int 1 = 22938;int 2 = 31457;int a1 = 26214;int a2 = 19661;Code pour le al ul de la sortie du ltrey1[0 = (int)( ( (long)( 1 * x) + (long)(a1 * y1[1) ) >> 16 );y1[1 = y1[0;y[0 = (int)( ( (long)( 2 * y1[0) + (long)(a2 * y[1) >> 16 );y[1 = y[0;L'expression (long)( ... ) a pour obje tif de for er le ompilateur à onserver les 32 bitsdu résultat et ne pas tronquer à 16 bits avant de faire l'addition.L'expression y = (int) ( ) 16 ; a pour obje tif de renvoyer en mémoire les bits les plussigni atifs du résultat (partie haute de l'a umulateur).7.4.4 Evaluation de la pré isionPour la spé i ation virgule xe présentée à la gure 7.37, les diérentes sour es de bruit,représentée à la gure 7.38, sont les suivantes : bge : bruit asso ié à l'entrée. Nous onsidérons que le signal x est issu d'un onvertisseuranalogique-numérique et est odé sur 16 bits ave 15 bits pour la partie fra tionnaire. Lapuissan e de e bruit est la suivante :σ2

bge=

q2x

12=

2−2.nx

12=

2−30

12→ −101.1 dB (7.142) bg1 : bruit présent en sortie de l'additionneur lié au renvoi en mémoire de la donnée y1. Ilest né essaire de repasser ette donnée sur 16 bits ar elle est ensuite utilisée pour réaliserune multipli ation. Lors de e hangement de format, 15 bits sont éliminés au niveau de lapartie fra tionnaire.

σ2bg1

=q2y1

12(1 − 2−2.ky1) =

2−28

12(1 − 2−30) → −95.1 dB (7.143) bg2 : bruit présent en sortie de l'additionneur lié au renvoi en mémoire de la donnée y. Lorsde e hangement de format, 15 bits sont éliminés au niveau de la partie fra tionnaire.

σ2bg2

=q2y

12(1 − 2−2.ky) =

2−26

12(1 − 2−30) → −89.1 dB (7.144)

Page 119: École T SAT T

114 Arithmétique virgule xez!"z!"++#c×××× $a××××

)(nx

z!"z!"++%c×××× &a××××)(ny'(() '((*+,z -.z++

/0b++

12b++

3bFig. 7.38: Graphe ot de signal du ltre IIR intégrant les sour es de bruitL'expression du bruit en sortie du premier ltre est la suivante

by1(n) = c1.be(n) + bg1(n) + a1.by1(n − 1) (7.145)En appliquant la transformé en Z et en utilisant l'expression 7.119 nous obtenons l'expressionsuivanteBy1(z) =

1

D1(z)(N1(z).Be(z) + Bg1(z)) (7.146)L'expression du bruit en sortie du se ond ltre est la suivante

by(n) = c2.by1(n) + bg2(n) + a2.by(n − 1) (7.147)En appliquant la transformé en Z et en utilisant l'expression 7.119 nous obtenons l'expressionsuivanteBy(z) =

1

D2(z)(N2(z).By1(z) + Bg2(z)) (7.148)L'expression globale du bruit en sortie du système est la suivante :

By(z) = H1(z).H2(z).Be(z) +H2

D2(z)Bg1(z) +

1

D1(z).Bg2(z) (7.149)Si nous onsidérons une loi de quanti ation par arrondi, alors la puissan e du bruit en sortiedu ltre est la suivante :

σ2by

=σ2

bge

2π.

∫ π

−π

∣H(ejΩ)∣

2dΩ +

σ2bg1

2π.

∫ π

−π

H2(ejΩ)

D1(ejΩ)

2

dΩ +σ2

bg2

2π.

∫ π

−π

1

D2(ejΩ)

2

dΩ (7.150)ouσ2

by= σ2

bge.

+∞∑

n=−∞|h(n)|2 + σ2

bg1.

+∞∑

n=−∞|hg1(n)|2 + σ2

bg2.

+∞∑

n=−∞|hg2(n)|2 (7.151)ave hg1(n) la réponse impulsionnelle du système H2

D1(z) et hg2(n) la réponse impulsionnelle dusystème 1D2(z) .

Page 120: École T SAT T

7.4 Exemple 115L'appli ation numérique onduit à :σ2

by= 3.06× 7.76 10−11 + 12× 3.1 10−10 + 2.5× 1.24 10−9 = 7.06 10−9 → −81.5 dB (7.152)

Page 121: École T SAT T

116 Arithmétique virgule xe

Page 122: École T SAT T

Chapitre 8Pro esseurs de traitement du signal8.1 Introdu tion8.1.1 Les solutions ar hite turalesDans e paragraphe, les diérentes solutions ar hite turales pour l'implantation des algo-rithmes de traitement numérique du signal (TNS) sont présentées. Pour haque solution, les ara téristiques en termes de oût, de onsommation d'énergie, de performan es, de exibilitéet de temps de développement sont détaillées. De plus, les onséquen es en termes de stratégiede odage des données en virgule xe sont exposées. Pour illustrer ette analyse, ertains des ritères énumérés i-dessus sont représentés à la gure 8.1.8.1.1.1 Pro esseurs à usage généralL'obje tif des pro esseurs à usage général est de pouvoir implanter une panoplie importanted'algorithmes. En onséquen e, leur ar hite ture n'est pas spé ialisée pour un domaine par-ti ulier tel que elui du traitement numérique du signal (TNS). L'ar hite ture homogène dupro esseur onduit à une onsommation d'énergie et un oût élevés. Ainsi, les performan es entermes d'e a ité énergétique et de ratio performan e oût sont relativement faibles pour lesalgorithmes de TNS. Dans le as des pro esseurs à usage général destinés aux appli ations em-barquées, des eorts sont réalisés an de diminuer la onsommation du pro esseur. De plus,fa e à l'a roissement du nombre d'algorithmes de TNS au sein des nouvelles appli ations,de nombreux pro esseurs à usage général intègrent des extensions permettant d'a élérer lestraitements asso iés au domaine du TNS. Cependant, les performan es en termes d'e a- ité énergétique et de ratio performan e oût restent inférieures à elles obtenues ave lespro esseurs de traitement du signal.L'ar hite ture homogène de e type de pro esseur permet d'obtenir des ompilateurs de lan-gage de haut niveau e a es. L'obtention d'un ode assembleur de qualité à partir d'unedes ription en langage de haut niveau permet d'éviter de longues phases de développementde ode en assembleur. Ainsi, les temps de développement de es appli ations peuvent êtrerelativement réduits. 117

Page 123: École T SAT T

118 Pro esseurs de traitement du signal8.1.1.2 Cir uits dédiés à une appli ationLes ir uits dédiés (ASIC1) sont onçus et optimisés pour une appli ation pré ise. Cette spé- ialisation du ir uit à l'appli ation ible permet d'obtenir la solution fournissant les meilleuresperforman es en termes de temps de al ul, d'e a ité énergétique et de ratio oût perfor-man e. En ontrepartie, es ir uits orent une exibilité très réduite, voire nulle. La om-plexité des diérentes phases de on eption, de validation, de test et de réalisation de es ir uits onduit à des oûts et des temps de développement élevés. De plus, ette tendan es'est aggravée ave l'évolution des te hnologies utilisées au niveau du pro essus de fabri ationdes ir uits intégrés. Pour réduire les oûts et les temps de développement de es ir uits, le on ept de réutilisation de blo s existants s'est généralisé. Le on epteur réalise l'assemblagede diérents blo s IP (Intelle tual Properties) déjà testés et validés.La spé ialisation de l'ar hite ture à l'appli ation est réalisée en partie par le dimensionnementdes diérents opérateurs. Ainsi, le odage des données en virgule xe doit minimiser la surfa edu ir uit tant que la ontrainte de pré ision souhaitée en sortie de l'algorithme est respe tée.Processeurs embarqués Processeurs embarqués

SA1100.4 MOPS/mW

ASIPCoeur de DSP

DSP

ASIPCoeur de DSP

DSP2 V DSP: 3 MOPS/mW

ASICASIC

0.1

1

10

100

1000

Architecture reconfigurableArchitecture

reconfigurable10-50 MOPS/mWe.g. Pleiades, DART

Effi

caci

té é

nerg

étiq

ue(M

OPS/m

W)

FlexibilitéFig. 8.1: Cara téristiques des solutions ar hite turales en termes d'e a ité énergétique et deexibilité [Rab998.1.1.3 Pro esseurs de traitement du signalNous regroupons sous l'appellation pro esseurs de traitement du signal, les pro esseurs DSPdisponibles sous forme de omposant, les ÷urs de DSP et les ASIP2 dédiés aux appli ationsde TNS.Les pro esseurs DSP et les ÷urs de DSP sont onçus pour implanter e a ement les algo-rithmes spé iques au domaine du traitement du signal. Leur ar hite ture est programmableet regroupe les diérents éléments né essaires aux opérations de TNS. Deux atégories de pro- esseurs DSP sont présentes sur le mar hé. La première atégorie orrespond aux pro esseursDSP onçus an d'obtenir une e a ité énergétique élevée et un oût relativement faible. Ces ara téristiques sont obtenues en spé ialisant l'ar hite ture du pro esseur. En ontrepartie,les ompilateurs de langage de haut niveau ne permettent pas de fournir un ode assembleur1Appli ation Spe i Integrated Cir uit2Appli ation Spe i Instru tion-set Pro essor

Page 124: École T SAT T

8.1 Introdu tion 119de qualité par rapport à un ode développé et optimisé à la main. Ainsi, les temps de dévelop-pement des appli ations sont relativement importants en raison du développement manuel enassembleur des parties ritiques du ode. La se onde atégorie des pro esseurs DSP orrespondaux pro esseurs onçus an d'obtenir des performan es élevées en termes de apa ité de al- ul. Pour ela, des ar hite tures homogènes et intégrant de nombreuses unités fon tionnellespouvant travailler en parallèle sont mises en ÷uvre. Les ompilateurs de langage de haut ni-veau permettent d'obtenir un ode de qualité si eux- i exploitent e a ement le parallélismeoert par l'ar hite ture. En ontrepartie, l'e a ité énergétique et le prix sont plus élevés parrapport aux pro esseurs DSP spé ialisés. Des solutions réalisant un ompromis entre les deuxappro hes sont également proposées.Les ASIP sont des pro esseurs programmables dédiés à une lasse d'appli ations omposéede quelques algorithmes. Les ASIP représentent un intermédiaire entre les pro esseurs DSPet les ASIC [Mar95. Deux familles d'ASIP orrespondant à deux appro hes de on eptiondiérentes peuvent être dénies. La première famille orrespond à des pro esseurs pro hes desASIC. Ils ont été développés an d'obtenir une exibilité plus importante par rapport auxASIC à travers la possibilité de programmer le ir uit. Ces pro esseurs vont permettre, pourles quelques appli ations ibles, d'obtenir des performan es se rappro hant de elles des ASICen termes d'e a ité énergétique et de ratio oût performan e. La se onde famille d'ASIP orrespond aux pro esseurs onçus à partir d'un ÷ur de DSP. Dans e as, le ÷ur est para-métré en fon tion des appli ations ibles et ertains a élérateurs sont intégrés an d'obtenirde meilleures performan es. La spé ialisation de l'ar hite ture à la lasse d'algorithmes viséspermet d'obtenir des performan es en termes d'e a ité énergétique, supérieures à elles despro esseurs DSP. Comme pour les pro esseurs et les ÷urs de DSP, l'e a ité des ompila-teurs de langage de haut niveau dépend de la spé ialisation du pro esseur et de l'adéquationentre les diérentes phases de la génération de ode et de l'ar hite ture.Dans le adre des DSP, l'ar hite ture étant gée, le pro essus de odage des données en virgulexe doit permettre d'obtenir le meilleur ompromis entre la pré ision des al uls et diérentsparamètres tels que le temps d'exé ution, la taille du ode ou la onsommation d'énergie. Deplus, pour les ÷urs de DSP ou les ASIP dont la largeur du hemin de données est paramé-trable, la méthodologie doit explorer les diérentes solutions possibles.8.1.1.4 Ar hite tures re ongurablesAn d'obtenir des performan es élevées et un niveau de exibilité relativement important,diérents types d'ar hite tures re ongurables ont été proposés.La re onguration au niveau logique orrespond à elle présente au niveau des omposantsprogrammables de type FPGA. Cette re onguration est réalisée au niveau des éléments lo-giques de l'ar hite ture et de leurs inter onnexions. Les ongurations appliquées à e typed'ar hite ture né essitent un volume d'information très important, ainsi elles sont maintenuespendant un nombre de y les d'horloge élevé et elles ne sont pas modiées au ours du trai-tement réalisé. La re onguration au niveau logique permet d'adapter les opérateurs et leursinter onnexions à l'appli ation iblée. Ainsi, les largeurs des diérents opérateurs peuvent êtreoptimisées en fon tion de la ontrainte de pré ision. Cependant, ette exibilité au niveaudes opérateurs est obtenue au détriment des performan es en termes de temps d'exé ution etde onsommation d'énergie de es opérateurs. En eet, l'utilisation de ellules standards nepermet pas d'optimiser les opérateurs arithmétiques par rapport à une solution full- ustom.

Page 125: École T SAT T

120 Pro esseurs de traitement du signalAinsi, e type d'ar hite ture est pré onisé pour les algorithmes manipulant des données dontla largeur est relativement faible. Les méthodologies proposées [CCL01 pour le odage desdonnées en virgule xe sont très pro hes de elles utilisées pour les ASIC.La re onguration au niveau fon tionnel permet de modier le ot des données au sein del'ar hite ture. Les inter onnexions entre les ressour es et la fon tionnalité de es ressour espeuvent être re ongurées. Ce type de re onguration permet d'adapter le modèle de pro-grammation et les motifs de al ul à l'appli ation iblée. Si le volume d'information né essaireà la re onguration de l'ar hite ture n'est pas trop important, alors la re onguration peutêtre réalisée dynamiquement au ours de l'exé ution du ode.Comme pour les DSP, la largeur des opérateurs est xe et ne peut prendre que quelques valeursprédénies. Ainsi, les méthodologies de odage des données en virgule xe pour e type d'ar hi-te ture sont relativement pro hes de elles utilisées pour les DSP. La diéren e majeure résidedans le ritère à optimiser au niveau de l'ar hite ture pour obtenir une implantation de qualité.8.1.1.5 Système sur pu e SoCPour répondre aux dés de l'implantation des systèmes omplexes tels que les nouveaux algo-rithmes destinés aux télé ommuni ations de troisième génération, des systèmes intégrant surune même pu e diérentes solutions hétérogènes sont mis en ÷uvre. Ces systèmes peuventregrouper les diérents éléments présentés i-dessus. L'obje tif est d'obtenir une plate-formerelativement exible et orant des performan es élevées à travers l'intégration d'a élérateursadaptés aux parties ritiques de l'appli ation. La exibilité est présente à travers les partiesprogrammables ou re ongurables.La méthodologie de odage des données dans le adre d'un système sur pu e né essite demettre en ÷uvre une méthodologie globale permettant d'optimiser plus ou moins en parallèlele odage des données pour les diérentes solutions ar hite turales.8.1.2 Domaine d'appli ation des pro esseurs de traitement du signalLe mar hé des DSP a onnu une forte augmentation en termes de volume de produ tion àla n des années 90 et représentait en 2001 un mar hé de 4,8 milliards de $ [Str02a. Cetteforte roissan e était liée à l'explosion du prin ipal mar hé des DSP que représente le domainedes ommuni ations sans l ellulaires. Ces pro esseurs sont aussi présents dans le domainedes modems et du ontrle moteur pour les disques durs. Après une diminution importantedes ventes en 2001, la roissan e moyenne entre 2001 et 2005 est de 17%. Cette évolution estliée à la reprise de la roissan e au niveau mondial, du mar hé des ommuni ations sans lave les systèmes de troisième génération (UMTS), le GPRS, le WiFi et le bluetooth et àl'émergen e de nouveaux mar hés dans le domaine du multimédia et d'internet (voix sur IP[Str02b, dé odeurs MP3 [Str00, améras numériques). La so iété Forward Con epts, prévoitune roissan e des ventes de DSP de 25% par an dans les années à venir [Str02a ave ledéveloppement des systèmes de ommuni ation de troisième génération .Les ASIP sont utilisés pour des appli ations né essitant des performan es supérieures aux DSPen termes de puissan e de al ul, de onsommation d'énergie ou de oût. Ils sont présents dansle domaine du multimédia (télévision numérique, ompression audio et vidéo et graphisme 3D)et des télé ommuni ations ( ommuni ations sans l et par satellites, ATM) [Pa97.

Page 126: École T SAT T

8.2 Des ription de l'unité de traitement 1218.2 Des ription de l'unité de traitement8.2.1 Représentation des données8.2.1.1 Pro esseurs virgule xe et virgule ottanteLes DSP sont divisés en deux grandes atégories en fon tion du odage des données en virgulexe ou en virgule ottante. Ces deux atégories possèdent des ara téristiques et des proprié-tés propres qui les orientent vers des mar hés diérents.Prix et onsommation d'énergie Les prix et la onsommation des DSP virgule xe sontplus faibles que eux des DSP virgule ottante, ar la taille des données qu'ils manipulent estplus faible et l'unité de traitement est moins omplexe.La gure 7.3 (voir page 77) montre la dynamique et la pré ision obtenues pour diérentes lar-geurs de données dans le as de l'utilisation d'un format en virgule xe et en virgule ottante.Lorsque la taille des données est relativement faible (16 bits) les ara téristiques en terme depré ision et de dynamique des deux formats sont pro hes. La représentation des données envirgule ottante né essite l'utilisation de deux parties la mantisse et l'exposant. Ainsi lorsquele nombre de bits utilisés est relativement faible, un ompromis entre la dynamique et la pré- ision doit être ee tué et peu de bits peuvent être utilisés pour l'exposant. En onséquen e,la dynamique obtenue n'est pas supérieure à elle des DSP virgule xe. Pour des largeurs dedonnées relativement faibles, les DSP sont ex lusivement réalisés ave un format en virgulexe. Le format virgule ottante ne montre de l'intérêt que pour des largeurs de données plusélevées (32 bits), permettant alors d'obtenir d'ex ellentes performan es en terme de pré isionet de dynamique de odage. Le prix d'un pro esseur est proportionnel à sa surfa e et la majo-rité de elle- i est o upée par les bus et la mémoire. La largeur des données manipulées parles pro esseurs virgule xe étant plus faible que elle des pro esseurs en virgule ottante, le oût et la onsommation du ir uit sont moins importants.L'unité de al ul des pro esseurs en virgule ottante est plus omplexe ar elle doit réaliserles opérations de al ul sur la mantisse et l'exposant. Ce i augmente le oût, la onsommationet le temps de laten e de e type d'unité de traitement. Dans [Tou99 les expérimentationsréalisées par l'auteur montrent que le temps de laten e d'un opérateur de type additionneuren virgule ottante est 2,3 fois supérieur à elui d'un opérateur en virgule xe et que la surfa eo upée est 4 fois supérieure.Temps de développement des appli ations Lors du développement d'appli ations pourdes pro esseurs virgule xe, le on epteur doit réaliser le odage et le adrage des donnéesprésentes au sein de l'algorithme. Il analyse la dynamique de l'ensemble des données, en déduitle odage et détermine les dé alages né essaires pour aligner es données lors des opérationsd'addition ou de soustra tion. Le odage et le adrage des données doivent être optimisés ande garantir l'absen e de débordements au sein de l'algorithme tout en maintenant la pré isionmaximale.

Page 127: École T SAT T

122 Pro esseurs de traitement du signalLes pro esseurs virgule ottante proposent une dynamique élevée qui permet de libérer l'utili-sateur des tâ hes de odage des données et d'analyse des débordements éventuels. L'alignementdes données est automatiquement réalisé par le matériel, au sein de l'unité de al ul. Ainsi letemps de développement d'appli ations pour e type de pro esseurs est plus faible par rapportà elui des pro esseurs virgule xe.Mar hés des pro esseurs Les DSP virgule xe sont bien adaptés pour les appli ationsdestinés au grand publi ou le oût de revient des omposants onstituant le système doit êtrele plus faible possible. Le sur oût du développement lié à la spé i ité du odage en virgulexe est rapidement amorti par les grands volumes de produ tion. La faible onsommationde e type de omposant permet de l'utiliser au sein des appli ations embarquées. Ces DSPsont très utilisés dans les se teurs en forte roissan e tels que les télé ommuni ations et lemultimédia.Les pro esseurs en virgule ottante sont destinés aux appli ations né essitant une dynamiqueimportante ou une pré ision élevée pour lesquelles un pro esseur en virgule xe ne peut ré-pondre à es exigen es. Ces appli ations sont par exemple présentent dans le domaine del'audionumérique. Les pro esseurs en virgule ottante sont utilisés pour des appli ations réa-lisées en petite série ou le oût du développement représente une part très importante du oûttotal du produit.Le mar hé des pro esseurs DSP est dominé par les pro esseurs en virgule xe (95% des DSPen 1996) et plus parti ulièrement par les pro esseurs dont la largeur des données est de 16bits (95% des DSP virgule xe en 1996) [Lap968.2.1.2 Format des donnéesLargeur naturelle La largeur naturelle des données orrespond au format des donnéesqui sont manipulées le plus e a ement par le bus et le hemin de données du pro esseur[LBSL96. La majorité des opérations sur es données est réalisée en un y le.La largeur naturelle des données est un paramètre fondamental au niveau du DSP ar elleinuen e dire tement le prix de e dernier en xant la largeur minimale des opérateurs, desbus de données et de la mémoire. An d'adapter au mieux le DSP à l'appli ation souhaitée, ertains fabri ants proposent des oeurs de DSP pouvant être synthétisés et dont la largeurnaturelle est paramétrable. Ainsi le on epteur va hoisir la largeur minimale répondant aux ritères de pré ision souhaités.Extension de la pré ision Les DSP permettent d'utiliser au sein de l'unité de traitementun format de données étendu. La largeur des bus d'inter onnexion entre les diérentes unitésfon tionnelles du hemin de données est supérieure à la largeur naturelle des données an de onserver l'ensemble des bits issus des opérateurs. Ce i permet de maintenir une pré isionplus élevée sur une suite d'opérations dont les opérandes restent dans l'unité de traitement etne sont pas renvoyées en mémoire. L'e a ité de ette méthode est fortement liée au nombred'unités de sto kage (registres) disponibles au sein du hemin de données.

Page 128: École T SAT T

8.2 Des ription de l'unité de traitement 123L'arithmétique multi-pré ision permet de manipuler des données de largeur plus importante,obtenues par on aténation de plusieurs données au format naturel. Une donnée x en doublepré ision pour un pro esseur 16 bits est représentée à la gure 8.2.a. Cette donnée de largeur32 bits est omposée d'une donnée 16 bits signée xH et d'une donnée 16 bits non signée xL.N N

Données x : 2N bits

xLxH xLxH

yLyH

xH × yL

yL × xL

yH × xH

yH × xL

×

+

+

+

2 N

2 N

(y × x)H (y × x)L

2 N

Multiplication : non signée × non signée

signée × non signée

signée × non signée

signée × signée

(a)

(b)Fig. 8.2: Arithmétique double pré isionUne opération utilisant des données en multi pré ision est dé omposée en une suite d'opéra-tions manipulant des opérandes au format naturel. La gure 8.2.b représente les diérentesopérations à réaliser pour ee tuer une multipli ation. An de pouvoir implanter e type deformat le pro esseur doit posséder des opérateurs apables de travailler sur des données signéeset non signées et permettre de onserver la retenue d'une opération an de l'inje ter dans lasuivante.Étant donné le nombre d'opérations à réaliser pour le al ul d'une opération de base en doublepré ision, le temps d'exé ution de elle- i est fortement augmenté par rapport à une arithmé-tique simple pré ision. Ce i limite l'utilisation de ette arithmétique à des portions de ode ritiques en terme de pré ision.8.2.2 Présentation des diérents éléments du hemin de donnéesDans une première partie nous présentons l'ensemble des éléments onstituant les unités detraitement et expli itons leurs ara téristiques, nous analysons ensuite les diérents typesd'ar hite ture des unités de traitement.8.2.2.1 MultiplieurLes DSP possèdent un multiplieur âblé permettant de réaliser une multipli ation par y le.Le temps de laten e entre la le ture des données et la disponibilité des résultats de ertainsmultiplieurs étant supérieur à 1 y le, l'obtention d'une multipli ation par y le est réalisée à

Page 129: École T SAT T

124 Pro esseurs de traitement du signall'aide du pipeline interne.La majorité des DSP possède un multiplieur dont la largeur des données d'entrée est égale àla largeur naturelle et permet d'utiliser des données signées et non signées an de supporterl'arithmétique multi-pré ision. La multipli ation de deux nombres de taille N génère une don-née de taille 2N , la plupart des DSP possède un multiplieur fournissant l'ensemble des 2N bits.Lorsque nous sommes en arithmétique fra tionnaire, la multipli ation entraîne le doublementdu bit de signe. Certains DSP permettent d'éliminer automatiquement le bit redondant enréalisant un dé alage à gau he d'un bit. Si les données d'entrée sont odées en virgule xe adrée à gau he, ette te hnique permet d'avoir un format du résultat identique au format enentrée.8.2.2.2 Unité Arithmétique et Logique : UALL'unité arithmétique et logique permet de réaliser les diérentes fon tionnalités dé rites i-dessous ave un 1 y le : opérations logiques : AND, OR, NOT ; opérations arithmétiques : addition, soustra tion, in rémentation, dé rementation, valeurabsolue. Certaines UAL permettent de réaliser une division en plusieurs y les.Les UAL sont onçues pour travailler sur des données dont le format est identique à eluide l'a umulateur, mais ertains DSP tels que le ADSP21xx [Ana95 possèdent une UAL nepouvant manipuler que des données au format naturel. Dans e as une opération sur unregistre d'a umulation né essite plusieurs y les.8.2.2.3 RegistresStru ture des registres Avant de présenter les stru tures des registres utilisées dans lesunités de traitement nous dénissons les deux termes suivants :jeu de registres : ensemble des registres présents dans le hemin de données et destinés àsto ker les opérandes et les résultats intermédiaires. lasse de registres : sous-ensemble de registres du jeu de registres possédant les mêmesfon tionnalitésDans les pro esseurs deux types de stru ture du jeu de registres, sont présentes. La première onsiste à utiliser un jeu de registres homogène dont tous les registres le omposant, sontinter hangeables. Cette te hnique né essite d'utiliser un ban de registres intégrant plusieursports de ommuni ation permettant d'a éder en le ture et en é riture aux diérents registresen parallèle. Si un opérateur utilise deux opérandes issues d'une le de registres alors ettedernière doit posséder 5 ports (2 pour la le ture des opérandes par l'opérateur, 2 pour l'é ri-ture des opérandes issues de la mémoire et 1 pour l'é riture du résultat). Cette solution esttrès oûteuse en terme de surfa e de sili ium, mais garantit l'homogénéité de la stru ture deregistres. Le DSP TMS320C62xx [Tex99b est omposé de deux les de 16 registres de 32 bits.Les deux les de registres possèdent 9 ports de le ture (32 bits) et 6 ports d'é riture (32bits).

Page 130: École T SAT T

8.2 Des ription de l'unité de traitement 125Cette appro he est utilisée dans les pro esseurs généraux de type RISC, les DSP virgule ot-tante et les nouveaux DSP virgule xe.La se onde appro he onsiste à spé ialiser les registres et à les relier dire tement aux unitésfon tionnelles, an de réduire le nombre et la omplexité des onnexions. Une lasse de registresest utilisée pour haque opérande et le résultat de l'opération est sto ké dans une troisième lasse de registres. Cette spé ialisation de la stru ture des registres permet de diminuer les oûts et d'augmenter la rapidité des transferts entre les diérentes unités. Le jeu d'instru tionsasso ié à ette ar hite ture est spé ialisé ar haque instru tion utilisant un opérateur, spé iepré isément le ou les registres qui peuvent être utilisés. Les DSP de première et de se ondegénération [Lap96 utilisent e type d'appro he an d'optimiser le oût. Ces DSP possèdentde nombreuses lasses de registres (2 à 8) omposées de peu de registres (1 à 8).Il est possible de quantier l'homogénéité du jeu de registres en al ulant le rapport entre lenombre de lasses de registres et le nombre total de registres. Pour un jeu de registres homo-gène e métrique va tendre vers 0, et dans le as de registres hétérogènes e métrique tendravers 1. L'homogénéité des registres a une inuen e importante sur la qualité du ode générépar les ompilateurs de langage de haut niveau.Registres d'a umulation Ces registres reçoivent les valeurs intermédiaires issues des dif-férents al uls réalisés dans l'unité de traitement. La taille de es registres est déterminée ande pouvoir sto ker ave le maximum de pré ision, les résultats intermédiaires des opérationsde type multipli ation a umulation (MAC) :yACC =

M∑

i=1

x[i]y[i] (8.1)La multipli ation de deux opérandes au format naturel fournit un résultat dont la largeurest égale au double de la largeur naturelle. Les a umulations su essives d'opérandes issuesdu multiplieur augmentent la dynamique du résultat intermédiaire et né essitent des bitssupplémentaires pour le oder. Dans ertains DSP les registres d'a umulation possèdent desbits de garde qui permettent de réaliser une suite de plusieurs a umulations sans provoquerde débordements. La taille de e registre d'a umulation est égale à :NACC = 2Nn + Ng (8.2)Ces Ng bits de garde vont permettre de sto ker le résultat d'au moins NAdd = 2Ng additionssans né essiter de re adrer les données. Pour les pro esseurs possédant un jeu de registreshétérogène, le nombre de registres d'a umulation inuen e la qualité du ode et la souplessede programmation du pro esseur. La présen e d'un faible nombre de registres d'a umulationné essite de renvoyer les résultats intermédiaires en mémoire. Ce i ralentit l'exé ution duprogramme, augmente la taille du ode et diminue la pré ision du al ul.8.2.2.4 Registres à dé alageLe odage des données en virgule xe né essite de réaliser de nombreux dé alages an d'alignerles données. Nous trouvons au sein des unités de traitement des DSP, deux types de registres à

Page 131: École T SAT T

126 Pro esseurs de traitement du signaldé alage. La première atégorie orrespond aux registres à dé alage spé ialisés qui ne peuventréaliser que quelques dé alages prédénis. Ces dé alages sont réalisés en parallèle à l'exé utiondes autres opérations et ne né essitent pas de y les d'horloge supplémentaires. Ces registressont ae tés à la sortie ou à l'entrée d'un opérateur pré is an de fournir une plus grandeexibilité pour le adrage des données. Ces registres sont ommandés dans la plupart des aspar des bits de mode. Cette spé ialisation a été réalisée an de minimiser la omplexité duregistre tout en permettant d'utiliser plusieurs formats. Ce type de registres est par exempleprésent en sortie des multiplieurs an de pouvoir éliminer le se ond bit de signe présent ave une arithmétique fra tionnaire et dans ertains as, pour modier la position de la virgule and'éviter les débordements lors des a umulations réalisées par la suite.La se onde atégorie orrespond aux registres en barillet, ils possèdent la apa ité de réaliserl'ensemble des dé alages à droite et à gau he possibles sur une donnée ave un temps delaten e qui ne dépasse pas un y le. Ils sont intégrés au sein d'une UAL ou onstituent uneunité spé ique en parallèle. Ce type de registres apporte une très grande souplesse dans le adrage des données, et permet de modier le format de elles- i ave un sur oût maximald'un y le. L'absen e de e type de registres dans un DSP est un handi ap important pourl'obtention d'un ode optimisé. Le DSP56000 [Mot94 ne possède que des registres permettantde réaliser le dé alage de 1 bit à droite ou à gau he par y le. Dans e as la minimisationdu nombre de dé alages est un fa teur primordial dans l'obtention d'un ode e a e sa hantqu'un dé alage de N bits né essite N y les.8.2.2.5 Implantation des lois de quanti ation et de débordementImplantation de la loi de dépassement Les débordements peuvent se produire lors dediérentes opérations arithmétiques au sein de l'unité de traitement ou lors d'un hangementde format. Les ar hite tures des DSP permettent d'utiliser une lois de dépassement modulaireet une loi de saturation.L'appro he la plus simple en as de débordement est de ne onserver que les N bits dispo-nibles pour représenter le format et d'éliminer les bits les plus signi atifs supplémentaires.Cette loi de dépassement modulaire possède des propriétés on ernant l'erreur de odage peuintéressante, ainsi de nombreux DSP possèdent des unités permettant d'implanter une loi desaturation. Elle permet d'obtenir une erreur de odage plus faible et de onserver le signe dela donnée à oder. Les unités de saturation déte tent la présen e d'un débordement et substi-tuent la donnée par elle représentant la valeur minimale ou maximale la plus pro he.Ce type d'unités est présent en sortie des a umulateurs an de saturer la valeur de eux- iavant le transfert de leur ontenu en mémoire. Certains DSP [Tex99b [Bie97 [MWK98 pos-sèdent en sortie de l'additionneur ou de l'UAL une unité de saturation permettant de gérerles débordements lors des al uls intermédiaires. Une unité de saturation est présente au seinde quelques pro esseurs [Bie97 [Tex99a pour saturer le résultat de la multipli ation. Dansle ode omplément à 2, lorsque les deux opérandes sont égales à la valeur minimale repré-sentable, le résultat de la multipli ation ne fait pas partie du domaine de dénition du ode.Dans e as, la sortie du multiplieur est saturée à la valeur maximale représentable.L'utilisation des unités de saturation est spé iée au sein de l'instru tion [Tex99b ou à l'aide

Page 132: École T SAT T

8.2 Des ription de l'unité de traitement 127de bits de mode sto kés au sein de registres de ontrle [Bie97 [Lu . Dans es deux as lasaturation des données ne né essite pas de y les supplémentaires. Certains DSP proposentdes instru tions réalisant expli itement la saturation de l'a umulateur et né essitant un y led'horloge [Tex99a [Ana95.Cependant l'utilisation d'unités de saturation modie les valeurs des données et introduit desnon linéarités au sein du signal. Ainsi la solution la plus e a e pour gérer les problèmes dedébordements est de les éviter en réalisant un adrage orre te de l'ensemble des données.Implantation de la loi de quanti ation Le pro essus de quanti ation intervient dèsqu'une donnée est transférée vers un registre ou un empla ement dont le format est diérentde elui d'origine. De nombreux DSP permettent de hoisir entre une loi de quanti ation pararrondi ou par tron ature.La tron ature onsiste à éliminer les bits de poids faible qui ne peuvent être onservés dans lenouveau format. Cette quanti ation peut être fa ilement implantée ar elle onsiste à séle -tionner les bits les plus signi atifs et à les ae ter à la nouvelle donnée. En ontrepartie epro édé entraîne un biais entre la valeur réelle et elle odée.An d'obtenir une moyenne de l'erreur de quanti ation nulle, il est possible d'utiliser une loide quanti ation par arrondi, elle- i onsiste à oder la donnée ave la valeur la plus pro heappartenant au nouveau format. Nous trouvons au sein des DSP deux types d'arrondi.Dans le as d'une quanti ation par arrondi onventionnel, lorsque la donnée est égale à lavaleur médiane de l'intervalle [k∆, (k + 1)∆], la valeur représentable la plus pro he est hoisiede la manière suivante :Q(x) =

k∆ si k∆ ≤ x < (k + 12 )∆

(k + 1)∆ si (k + 12)∆ < x ≤ (k + 1)∆

(k + 1)∆ si x = (k + 12)∆

(8.3)La valeur médiane de haque intervalle [k∆, (k+1)∆] étant odée systématiquement à la valeursupérieure, l'erreur de quanti ation n'est pas nulle. Cette erreur est néanmoins nettement plusfaible que elle présente lors d'une quanti ation par tron ature.Pour réaliser un arrondi sur le keme bit de la donnée nous additionnons 2k−1 à la valeur àarrondir et nous réalisons ensuite une tron ature au niveau du keme bit. Certains pro es-seurs [Ana95 [Mot94 [Tex99a possèdent une instru tion ou un mode qui supporte l'arrondi onventionnel et qui réalise automatiquement les opérations dé rites i dessus. Sinon il fautexpli itement harger la valeur 2k−1 dans l'a umulateur avant de débuter les al uls. Cetype d'arrondi est le plus utilisé ar son implantation est plus simple que elle de l'arrondi onvergent présenté i-après.An d'éliminer le biais un arrondi onvergent peut être utilisé [LBSL96. Il ae te la valeurmédiane de façon équiprobable à la valeur supérieure et inférieure :

Page 133: École T SAT T

128 Pro esseurs de traitement du signalQ(x) =

k∆ si k∆ ≤ x < (k + 12 )∆

(k + 1)∆ si (k + 12)∆ < x ≤ (k + 1)∆

(k)∆ ou (k + 1)∆ si x = (k + 12 )∆

(8.4)ave P(

Q(x) = k∆ \ x = (k +1

2)∆

)

= P(

Q(x) = (k + 1)∆ \ x = (k +1

2)∆

)Cette te hnique permet de oder la valeur médiane de manière équiprobable à l'aide de l'ana-lyse de la parité de la donnée. Les données impaires sont odées à la valeur supérieure et lesdonnées paires à la valeur inférieure. Pour réaliser e i, le DSP DSP56000 [Mot94 teste lekeme bit et ne réalise l'addition de ette donnée ave 2k−1 que si le bit est égal à 1. Pour sapart, le DSP ADSP21xx [Ana95 réalise d'abord l'addition et ensuite met à 0 le keme bit.Ce type d'arrondi permet d'obtenir une moyenne de l'erreur de quanti ation nulle, mais ilest présent que dans quelques DSP [Lu 99 [Mot94 [Ana95, ar son implantation est plus omplexe.8.2.2.6 Unités spé iquesAn d'a élérer l'exé ution d'algorithmes fréquemment utilisés dans ertains domaines d'ap-pli ation, les DSP fournissent des unités spé iques permettant d'implanter plus e a ement es algorithmes : Unité de gestion du odage en virgule ottante par blo Unité d'a élération du dé odage de Viterbi8.2.3 Ar hite ture des hemins de donnéesLes premières générations de DSP possédaient une ar hite ture du hemin de données baséesur une stru ture de type MAC [Lap96. Pour faire fa e à la demande roissante en puissan ede al ul né essaire pour les nouvelles appli ations de télé ommuni ations et de multimédia,les on epteurs de DSP ont proposé deux types d'ar hite tures [EB00. La première est uneextension de l'ar hite ture MAC traditionnelle et la se onde est une ar hite ture orthogonales'inspirant des pro esseurs RISC et basée sur la mise en parallèle d'unités fon tionnelles ausein du pro esseur. Ces deux dernières ar hite tures seront étudiées en 3eme année.8.2.3.1 Ar hite ture traditionnelle : MACLes premières générations de DSP ont été onçues an d'implanter e a ement les opérationsde type MAC orrespondant à la stru ture de base de nombreux algorithmes tels que les ltres(FIR, IIR). La stru ture d'un ltre FIR est représentée à la gure 8.3, elui- i est onstituéde ellules élémentaires juxtaposées réalisant une opération de multipli ation a umulation :le résultat en sortie de la ellule est égal à la somme du résultat pré édent et elui de lamultipli ation du oe ient hn et de l'opérande xk−n issue de la ligne à retard. Les DSPpossèdent une ar hite ture permettant de al uler la sortie d'une ellule élémentaire par y le.Le s héma d'une ar hite ture traditionnelle de type MAC est présenté à la gure 8.4, les opé-randes sont soit situées dans les registres Rx et Ry ou dire tement en mémoire.Deux variantes de la stru ture MAC sont utilisées dans les DSP. La première réalise les opéra-tions de multipli ation a umulation de façon pipelinée, le multiplieur réalise la multipli ation

Page 134: École T SAT T

8.3 Des ription de l'unité mémoire 129z-1

+

z-1

+

z-1

+

z-1

+

hn hn+1hn-1 hn+2

xn-1

× × × ×

Fig. 8.3: Stru ture du ltre FIR+

AccAcc

×

RxRxRyRy

Sat /Arr

NN

2N

2N+bg

P

Fig. 8.4: Ar hite ture traditionnelle de type MACdes opérandes de la keme ellule et sto ke le résultat dans un registre intermédiaire (P), enparallèle l'a umulateur réalise l'a umulation asso iée à la ellule pré édente. Cette stru tureest présente dans les DSP tels que le TMS320C5x [Tex98, DSP16xx [Lu .Dans la se onde variante, l'opération de multipli ation est d'abord réalisée et le résultat esttransmis à l'a umulateur an d'ee tuer l'addition. Ces deux opérations étant réalisées demanière séquentielle au ours d'un même y le, les temps de laten e du multiplieur et del'a umulateur doivent être plus faibles par rapport à la solution pré édente.Les premières génération de DSP possédaient peu d'unités fon tionnelles, ainsi l'UAL duDSP était utilisée pour réaliser l'opération d'a umulation au sein du MAC. Les générationsa tuelles de DSP intégrent plus d'unités en parallèle et permettent d'utiliser un addition-neur/soustra teur pour l'unité MAC, indépendant de l'UAL. De plus es DSP in orporent desunités de manipulation de bits in luant un registre en barillet.8.3 Des ription de l'unité mémoireLes appli ations de TNS requièrent la le ture de nombreuses données sto kées en mémoire etl'é riture des résultats dans ette dernière. Cette ontrainte né essite de posséder une stru -ture de mémoire e a e permettant d'avoir une bande passante de ommuni ation entre les

Page 135: École T SAT T

130 Pro esseurs de traitement du signalunités de al ul et la mémoire élevée an de ne pas ralentir l'exé ution des instru tions. Lesfa teurs importants pour obtenir une ar hite ture e a e sont l'organisation de la mémoireet l'inter onnexion entre la mémoire et le hemin de données.L'exemple le plus souvent utilisé pour montrer l'importan e de l'ar hite ture de la mémoiredans un pro esseur de traitement du signal est le ltre FIR. Celui- i est onstitué de ellulesde type MAC et d'une ligne à retards. Cette opération MAC étant réalisée en 1 y le dans lamajorité des DSP, l'ar hite ture mémoire doit permettre d'ee tuer l'ensemble des ommuni- ations né essaires entre l'unité de al ul et la mémoire en 1 y le, an de ne pas ralentir letraitement des données. Les diérents a ès à la mémoire sont les suivants : re her he de l'instru tion le ture de la donnée xn−k le ture du oe ient hk vieillissement des données xn−k−1 = xn−kAn d'éliminer le dernier a ès les pro esseurs utilisent un mode d'adressage parti ulier quipermet de vieillir automatiquement les données, e i permet de réduire le nombre d'a ès par y le à 3.L'ar hite ture traditionnelle des pro esseurs généraux est basée sur le modèle de Von Neumanpour lequel une mémoire unique est utilisée pour sto ker les données et le programme. Pourobtenir des performan es a eptables es pro esseurs utilisent des mémoires a hes.L'ar hite ture des PTS est basée sur le modèle Harvard dont le prin ipe est la séparationde la mémoire pour les données et le programme. Les deux espa es mémoire sont totalementindépendants, ils possèdent leurs propres bus de données et d'adresses et leur propre générateurd'adresses.Diérentes variantes du modèle Harvard ont été proposées an d'augmenter le nombre d'é hangesentre la mémoire et les unités de al ul. Ces variantes sont présentées à la gure 8.5 [Lee88. Le hoix des diverses variantes est fon tion de la stru ture de lo alisation des opérandes [Ara97utilisée dans le PTS.8.3.1 Modèles de lo alisation des opérandes8.3.1.1 Modèle registre mémoireLes ar hite tures basées sur le modèle registre-mémoire, utilisent une opérande présente enmémoire et une opérande sto kée dans un registre [Ara97. Au ours d'un y le, une seulele ture d'opérande en mémoire est réalisée, ainsi il est possible d'utiliser la stru ture Har-vard de base et sa première dé linaison qui possède une seule mémoire pour les données. Letemps d'exé ution d'une instru tion est fon tion du temps d'a ès à la mémoire et du tempsd'exé ution de l'opération :tinst = tacc + texec (8.5)Le hallenge pour e type d'ar hite ture est de minimiser le temps d'a ès à la mémoire in-terne. Pour ela les DSP utilisent des mémoires statiques ar elles sont plus rapides que les

Page 136: École T SAT T

8.3 Des ription de l'unité mémoire 131DM

DP

IM

IP

IM - DM

DP IP

DM

DP

IM/DM

IP

1-vers-2

b) Architecture Harvarda) Architecture Von Neuman c) Déclinaison 1

DM

DP

IM

IP

d) Déclinaison 2

DM 1

DP

IM

IP

1-vers-2

DM 2

e) Déclinaison 3Fig. 8.5: Ar hite ture Harvard et ses dé linaisonsmémoires dynamiques. Le temps d'a ès est aussi diminué en minimisant la taille des blo sadressés à l'aide d'une mémoire paginée. Le type d'adressage asso ié est présenté dans le para-graphe 8.3.3.2. De nombreux DSP onçus par Texas Instruments possèdent ette ar hite turemémoire : TMS320C25/50/54x [Tex98 [Tex99a.8.3.1.2 Modèle registre-registre ou 'load/store'An de s'aran hir du temps d'a ès à la mémoire une stru ture évitant la le ture dire ted'une opérande en mémoire est utilisée. Les deux opérandes sont sto kées dans des registreset le hargement de eux- i est ee tué en parallèle ave l'exé ution d'une opération dansl'unité de al ul. An de respe ter les ontraintes de dépendan e des données, l'opération ourante s'ee tue en même temps que le hargement des opérandes de l'instru tion suivante.L'instru tion spé ie les deux registres des opérandes sour es et le registre de sto kage durésultat, ainsi que l'adresse des 2 opérandes à harger pour l'instru tion suivante. Ce type destru ture permet de diminuer le temps d'exé ution de l'instru tion par rapport à la stru turepré édente, en le rendant indépendant du temps d'a ès à la mémoire :tinst = texec si tacc < tinst (8.6)Ce modèle de lo alisation des opérandes né essite pour un opérateur de lire deux données par y le. Deux appro hes sont utilisées an de réaliser es deux le tures.

Page 137: École T SAT T

132 Pro esseurs de traitement du signalUtilisation d'une mémoire multi-ports Cette stru ture est omposée d'une mémoiremulti-ports permettant de lire plusieurs données en parallèle au ours d'un même y le. Dans e as la majorité des ar hite tures mémoire orrespond à la se onde dé linaison. Elle est omposée d'une mémoire programme mono port et d'une mémoire données double ports per-mettant de lire deux données en parallèle. L'aspe t multi-ports de la mémoire va augmenterla surfa e et le oût du ir uit. Cette stru ture est très utilisée dans les pro esseurs de typeVLIW omme le TMS320C62x [Tex99b [TH97. L'asso iation de e modèle mémoire et d'unele de registres permet de garantir l'homogénéité de l'ar hite ture.Utilisation de deux ban s de mémoires La se onde appro he orrespond à la troisièmedé linaison, elle omprend deux ban s de mémoires X et Y possédant ha un ses propres busde données (XDB et YDB) et d'adresses et sa propre unité de génération d'adresses. Cettestru ture permet de lire deux données en parallèle au ours d'un y le sans utiliser de mé-moires multi-ports.Cette solution est moins oûteuse en terme de surfa e de sili ium par rapport à des mémoiresmulti-ports. Mais e type d'ar hite ture ne permet de lire qu'une seule donnée par ban demémoire et par y le, ainsi il est né essaire de répartir e a ement les données dans les deuxban s de mémoires an de pouvoir harger le maximum de données en parallèle.8.3.2 Spé i ité des DSPComme nous l'avons vu pré édemment le temps d'a ès à la mémoire est un fa teur essentielpour l'obtention de performan es élevées, ainsi pour les ASIP ou système sur une pu e la taillede la mémoire ROM et RAM est ajustée an de pouvoir ontenir l'ensemble du programme etdes données né essaires à l'appli ation. Ce i permet de ne pas utiliser de mémoires externeset ainsi de ne pas augmenter le temps d'a ès à la mémoire, le nombre de bro hes, la surfa edu système et la onsommation.Dans le adre des DSP l'appli ation n'étant pas onnue à priori, il est possible d'utiliser de lamémoire externe pour augmenter la taille de l'espa e mémoire, mais e i est très pénalisanten terme de oût (né essité d'une mémoire externe rapide), et de onsommation.8.3.3 Mode d'adressageAn de respe ter les performan es souhaitées au niveau de la bande passante de ommuni- ation ave la mémoire, il est né essaire d'avoir des unités spé ialisées (unité de générationd'adresses) permettant de al uler les adresses des données rapidement et en parallèle ave l'exé ution des autres opérations. En eet la harge de al ul on ernant les adresses est pro hede elle des données [Peg99.Les algorithmes de TNS sont ara térisés par des a ès réguliers et séquentiels à la mémoire.Les unités de génération d'adresses vont exploiter es propriétés an d'optimiser le al uldes adresses en proposant des solutions âblées permettant d'implanter les modes d'a ès lesplus ouramment utilisés. Ceux- i sont asso iés à la stru ture somme de produits. Les DSP

Page 138: École T SAT T

8.3 Des ription de l'unité mémoire 133permettent d'utiliser de nombreux modes d'adressage an d'optimiser le al ul des adressespour les diverses appli ations de traitement du signal. Nous allons présenter diérents modesd'adressage [LBSL96 et plus parti ulièrement le mode d'adressage indire t par registres quiest le plus adapté aux appli ations de TNS.8.3.3.1 Mode d'adressage immédiatDans le mode d'adressage immédiat, la valeur de la donnée est dire tement odée dans l'ins-tru tion, e i est utilisé pour initialiser les registres d'adresses ou pour sto ker une onstanteutilisée dans une opération arithmétique. Lorsque la taille de la donnée est faible il est possiblede oder l'instru tion en un seul mot omposé de l'opération à réaliser et de la valeur de ladonnée. Mais pour une donnée de valeur élevée, il est né essaire d'utiliser 2 mots pour oderl'instru tion, e i est pénalisant en terme de densité de ode et de temps d'exé ution.8.3.3.2 Mode d'adressage dire tDans le mode d'adressage dire t, l'adresse de la donnée est odée dire tement dans l'instru -tion, si l'ensemble de l'adresse est spé ié il est né essaire d'ajouter un se ond mot pour oderl'instru tion.An d'en oder partiellement l'adresse, un système de mémoire paginée peut être utilisé.L'adresse de la donnée est omposée d'un numéro de page sto ké dans un registre (poin-teur de page) et d'un dépla ement dans la page qui sera sto ké dans l'instru tion. La taille dudépla ement est fon tion de la longueur de la page et doit être relativement faible. Le hoixde la taille de la page résulte d'un ompromis entre le nombre de pages qui ne doit pas êtretrop élevé an de minimiser le nombre de modi ations du pointeur de page et la longueur dela page qui doit rester faible an d'en oder le dépla ement ave un minimum de bits. Dansle as du TMS320C54x la taille d'une page est de 128 mots, ainsi l'adresse de la donnée est odée dans l'instru tion sur 7 bits. Ce type d'adressage est intéressant si le programme a èdede manière séquentielle à des données regroupées dans des pages identiques. Des te hniquesd'optimisations existent pour minimiser le sur oût asso ié aux diverses initialisations du poin-teur de page [Sud988.3.3.3 Mode d'adressage indire tDans le mode d'adressage indire t, la donnée est pointée en mémoire via un registre d'adresse.Ce i permet de spé ier dans l'instru tion le registre à utiliser et non l'adresse de la donnéeet ainsi de réduire fortement le nombre de bits né essaires pour en oder la lo alisation de ladonnée. Le nombre de registres d'adresses est limité an de ne pas utiliser trop de bits dansl'instru tion pour le spé ier. Ce mode d'adressage est le plus utilisé dans les algorithmes deTNS pour les raisons suivantes : en odage e a e de l'adresse dans l'instru tion ; mode d'adressage naturel des tableaux (adressage par pointeur) ; possibilité de al uler l'adresse de l'instru tion suivante en parallèle ave l'exé ution de l'ins-tru tion ourante.

Page 139: École T SAT T

134 Pro esseurs de traitement du signalLes unités de génération d'adresses permettent d'utiliser 4 types d'adressage spé iques ande répondre aux ontraintes d'adressage des données de ertains algorithmes, sans ajouterd'instru tions supplémentaires.Adressage linéaire An de pouvoir se dépla er rapidement dans un tableau des possibilitésde post-modi ations sont disponibles. Ce i permet d'in rémenter ou dé rémenter la valeurdu registre d'adresse en parallèle à l'exé ution d'une opération. Il est possible de se dépla erde façon non ontiguë en ajoutant un oset à l'adresse. Cette oset est soit sto ké dans unregistre quel onque spé ié dans l'instru tion ou dans un registre dédié appelé registre d'oset.Indexage La valeur de l'adresse est obtenue à partir de l'addition de deux registres d'adressesou d'un registre d'adresse et d'une onstante odée dans l'instru tion. La première partie del'adresse représente l'adresse de base du blo de données et n'est pas modiée lors de l'a èsà e blo et la se onde partie représente le dépla ement par rapport à l'adresse de base.Ce mode d'adressage est utilisé lorsque le ode doit a éder à des blo s de données de stru tureidentique et dont l'adresse de base est diérente. Il est utilisé pour le passage de paramètreslors de l'appel de routines et pour la gestion de la pile.Modulo Ce mode d'adressage permet de gérer des buers ir ulaires utilisés dans les algo-rithmes de ltrage. La gestion de e type de buers né essite de vérier après haque in ré-mentation (dé rémentation) du registre d'adresse, si elui- i pointe sur la dernière (première)valeur du tableau. Dans e as, il faut rediriger le pointeur sur le début (n) du tableau.Deux méthodes sont utilisées au niveau des générateurs d'adresses pour réaliser e type d'adres-sage. La première méthode utilise 2 registres pour sto ker l'adresse de début et de n du buer ir ulaire an de pouvoir déte ter l'a ès à la dernière ou à la première valeur du tableau. Dansle se ond as, le DSP sto ke dans un registre uniquement la taille du buer ir ulaire et imposeune ontrainte sur l'adresse de départ du buer : elle- i doit être un multiple de 2k relié à lataille N du buer par l'expression suivante :2k > N (8.7)Bit inversé Ce mode d'adressage est utilisé pour l'adressage des données en entrée ou ensortie de l'algorithme de la transformée de Fourrier rapide (FFT). L'adressage bit inversé onsiste à inverser l'ordre des N derniers bits d'un registre d'adresse pour une FFT de taille

2N . L'unité de génération d'adresses réalise ette opération en inversant dire tement les bits duregistre d'adresse ou en propageant la retenue en ordre inverse lors des al uls arithmétiquessur e registre d'adresse.

Page 140: École T SAT T

8.4 Des ription de l'unité de ontrle 1358.4 Des ription de l'unité de ontrle8.4.1 Type de ode et Pipeline8.4.1.1 Présentation du pipelineL'e a ité d'un PTS réside dans sa apa ité à réaliser une instru tion par y le. Chaqueinstru tion étant omposée d'une séquen e d'opérations, il est né essaire d'exé uter es opéra-tions en parallèle. La te hnique du pipeline permet de dé omposer les diérentes phases d'uneinstru tion et de les réaliser en parallèle [Lee89. Une instru tion lassique est omposée des 5phases suivantes : Pipeline sur les instru tions 1. Re her he de l'instru tion 2. Dé odage de l'instru tion Pipeline sur les données 3. Le ture des opérandes 4. Exé ution de l'instru tion 5. É riture du résultatA haque y le le pipeline réalise une opération sur des instru tions diérentes. Au ours dumême y le le pipeline réalise le dé odage de l'instru tion Instn, la re her he en mémoire del'instru tion suivante Instn+1 et la le ture des opérandes de l'instru tion pré édente Instn−1La profondeur du pipeline (nombre d'étages) est un ompromis entre la fa ilité de programmeret de ontrler elui- i et la rapidité du pro esseur. Les pro esseurs traditionnels utilisent unpipeline dont la longueur varie entre 3 et 5 étages. Dans des pro esseurs de type VLIW, lalongueur du pipeline est plus importante, e i permet de simplier haque opération à réaliserdans elui- i et ainsi d'utiliser des horloges de fréquen e plus élevée, le TMS3320C62x pos-sède un pipeline de 11 étages et permet d'utiliser une fréquen e d'horloge de 200 MHz [Tex99b.La mise en parallèle des diérentes phases d'une instru tion peut entraîner les aléas de fon -tionnement suivants [HP96 [Yar99 : aléas de ressour e : ette situation se produit lorsque le pro esseur ne peut a epter une ombinaison d'instru tions utilisant les mêmes ressour es en même temps ; aléas de données : e as se présente lorsque les données d'une instru tion dépendent durésultat d'une instru tion pré édente qui n'est pas en ore terminée ; aléas de ontrle : e i orrespond à la rupture du ot de ontrle du programme lors d'unbran hement, d'un appel ou d'un retour de sous routines ou d'interruption. Lorsqu'une ins-tru tion de bran hement est déte tée une ou plusieurs instru tions onsé utives sont déjàrentrées dans le pipeline, il est alors né essaire de les éliminer du pipeline an de respe terle ot de ontrle du programme.8.4.1.2 Type de odage des instru tionsDans ette partie nous présentons les deux types de odage d'instru tions [Ga97 [Ga96 utili-sés pour programmer les pro esseurs utilisant un pipeline, nous présentons les deux atégories

Page 141: École T SAT T

136 Pro esseurs de traitement du signalde pro esseurs liés aux types de odage et les mé anismes asso iés pour gérer les aléas dedonnées et de ressour es.Codage des instru tions stationnaire dans le temps Chaque instru tion du jeu d'ins-tru tions dénit l'ensemble des opérations à réaliser pour haque unité fon tionnelle, au oursdu y le [Lee89. Dans le as de l'ar hite ture de la gure 8.4, trois a tions sont à réaliser, lapremière orrespond à l'opération à exé uter et les deux dernières au hargement des deuxregistres ave les opérandes présentes en mémoire. Le s héma du pipeline pour e type de ode est présenté à la gure 8.6. Un exemple d'instru tion utilisant e prin ipe est présenté idessous : MPY Rx,Ry,P ADD ACC,ACC,P LD Rx,*(ARx++) LD Ry,*(ARy++)LOAD

i+1i i+2 i+3 i+4

LOADLOAD

MULT MULT MULT

ADD ADD ADD

Transfertmémoire .U.T.

UnitéAccumulateur

UnitéMultiplieurFig. 8.6: Synoptique du pipeline sur les données pour un odage stationnaire dans le tempsL'instru tion spé ie l'ensemble des opérations à réaliser sur les données présentes dans lesdiérentes parties du hemin de données. Le programmeur doit assurer l'alimentation du pi-peline et est responsable de la gestion des aléas liés à la dépendan e des données, eux- i sontanalysés à partir d'une table de réservation qui permet de visualiser l'utilisation des ressour eset des données.Codage des instru tions stationnaire au niveau des données Dans e as l'instru -tion spé ie une séquen e omplète d'opérations à réaliser sur un ensemble de données. Lesdiérentes opérations né essitent plusieurs y les, ainsi le résultat n'est pas immédiatementdisponible. Le s héma du pipeline pour e type de ode est présenté à la gure 8.7. Un exempled'instru tion utilisant e type de odage est présenté i dessous :MAC *(ARx++),*(ARy++),ACCCe type de odage permet d'obtenir un ode plus lisible et fa ilite la programmation. L'uti-lisateur ne doit pas spé ier l'ensemble des a tions à réaliser au ours d'un y le mais lesopérations à ee tuer sur les données. Cette appro he est plus pro he de l'algorithme à oder.8.4.2 Format du jeu d'instru tionsDeux atégories de format d'instru tions sont possibles [Ga97 [Ga96, le hoix de l'une oul'autre sera fon tion du domaine d'appli ations du pro esseur.

Page 142: École T SAT T

8.4 Des ription de l'unité de ontrle 137LOAD

i+1i i+2 i+3 i+4

LOADLOAD

MULT MULT MULT

ADD ADD ADD

Transfertmémoire .U.T.

UnitéAccumulateur

UnitéMultiplieurFig. 8.7: Synoptique du pipeline sur les données pour un odage stationnaire au niveau desdonnées8.4.2.1 Format en odéLe hallenge pour les pro esseurs embarqués, est de minimiser la taille de la pu e an de ré-duire les oûts, tout en maintenant des performan es en terme de puissan e de al ul élevées.Ainsi le nombre d'instru tions pour réaliser une opération et la largeur des instru tions doiventêtre minimisés an de diminuer la taille de la mémoire programme [Peg99. Pour obtenir desperforman es élevées, l'instru tion doit en oder le maximum de parallélisme.Le se ond fa teur important dans les appli ations embarquées est la onsommation du ir uit.Elle est proportionnelle à la taille des bus et de la mémoire. La minimisation de la taille desinstru tions va permettre de diminuer la onsommation liée à la mémoire programme.Le hoix du format des instru tions résulte d'un ompromis entre le parallélisme oert parl'instru tion et sa taille. Elle doit être ompa te an de minimiser la taille de la mémoire pro-gramme et elle doit orir le maximum de parallélisme pour utiliser e a ement les ressour esdu pro esseur. Ce jeu d'instru tions est onstruit à partir des statistiques obtenues sur desappli ations représentatives (ben hmarks) qui permettent de déterminer les instru tions et lesunités les plus utilisées et de révéler les opportunités de parallélisme [Za96. La diversité desalgorithmes retenus pour réaliser les statistiques, est un fa teur primordial dans le degré despé ialisation d'un DSP à un domaine d'appli ations donné.Cette minimisation du nombre de bits est réalisée à l'aide des on epts suivants [LBSL96 : rédu tion du nombre d'opérations disponibles au sein du jeu d'instru tions ; rédu tion du nombre de modes d'adressage et des possibilités de mise à jour des registresd'adresses ; restri tions sur les opérandes sour es et destinations des instru tions (spé ialisation desregistres) ; utilisation de bits de mode.Ce type de restri tion va sa rier une partie du parallélisme disponible et rendre la stru turedu jeu d'instru tions hétérogène en spé ialisant les registres sour es et de destination des opé-rateurs et en limitant les modes d'adressage disponibles.Ce format étant en odé la signi ation des diérents bits de l'instru tion est fon tion de l'ins-tru tion. Ainsi l'unité de dé odage destinée à transformer les diérents bits de l'instru tionen signaux de ontrle pour les unités fon tionnelles, est relativement omplexe.

Page 143: École T SAT T

138 Pro esseurs de traitement du signalCe type de odage est utilisé pour les pro esseurs destinés aux appli ations pour le grandpubli et en parti ulier dans le domaine des télé ommuni ations (téléphone portable, pager)ou les fa teurs prix et onsommation sont primordiaux.8.4.3 Stru ture de ontrle8.4.3.1 Bou les matériellesLes stru tures de bou le représentent l'une des stru tures de ontrle les plus ourammentutilisées dans les algorithmes de TNS. Dans la plupart des as, es bou les permettent d'im-planter un al ul numérique répétitif sur les éléments d'un ve teur, ainsi le nombre d'itérationsest onnu à priori. Le nombre d'instru tions présentes dans le orps de la bou le pouvant êtrerelativement faible, il est indispensable d'implanter e a ement e type de stru ture et deminimiser le sur oût lié au ontrle de elle- i.La plupart des PTS possède une unité de ontrle appelée bou le matérielle qui permet de oder la stru ture de bou le en une seule instru tion et de ne pas utiliser de y les supplémen-taires pour réaliser le test de la valeur du ompteur d'itérations, le bran hement onditionnelet la dé rémentation de e ompteur. L'unité de ontrle possède un premier registre poursto ker le nombre d'itérations et un se ond pour spé ier l'adresse de n de la bou le. Cesdeux paramètres sont initialisés dans l'instru tion de des ription de la bou le. Certains DSPproposent plusieurs supports de bou le matérielle an de pouvoir imbriquer plusieurs bou les.8.4.3.2 Instru tions de bran hementComme nous l'avons vu dans le paragraphe 8.4.1.1, la présen e d'instru tions de bran hementau sein du ode introduit des aléas de fon tionnement du pipeline. La première solution pourgérer es aléas, est de vider le pipeline des instru tions ne orrespondant pas au ot de ontrleet de ne pas exé uter d'opérations entre l'exé ution du bran hement et la première instru tionpointée par e bran hement. Cette te hnique appelée bran hement multi y les, augmente letemps d'exé ution lié à la gestion du bran hement. Ce temps est fon tion de la profondeur dupipeline.Pour diminuer les pénalités liées aux traitements des bran hements les te hniques de bran he-ments retardés sont utilisées dans les DSP. Plusieurs instru tions devant être exé utées avant lebran hement sont pla ées, après elui- i. Ces instru tions seront exé utées entre l'instru tionde bran hement et la première instru tion pointée par elui i.8.4.3.3 Instru tions de modeLes DSP possèdent des registres d'état ou de mode an d'implanter un ontrle à l'aide de e registre et non au sein de l'instru tion. Ces registres de mode sont utilisés pour ontrlerles parties du hemin de données qui varient peu au ours d'une séquen e d'instru tions. Cesregistres sont initialisés ou modiés à l'aide d'instru tions spé iques, avant l'utilisation de

Page 144: École T SAT T

8.4 Des ription de l'unité de ontrle 139l'unité fon tionnelle.8.4.3.4 Instru tions à prédi atLes instru tions à prédi at sont des instru tions onditionnelles du type : si ondition alorsexé uter opération. Cette stru ture permet de minimiser le nombre d'instru tions pour oderune stru ture onditionnelle du type If Then Else en éliminant les diérentes instru tionsde bran hement. Ce i est illustré à la gure 8.8. Le TMS320C62x [Tex99b permet de rendrel'ensemble de es instru tions onditionnelles à l'aide des prédi ats.If(a<10) SUB R2,10,R1

b=c+1; [R1] ADD R3,R6,1else [!R1] SUB R3,R6,2

b=c-2;Fig. 8.8: Instru tions à prédi at

Page 145: École T SAT T

140 Pro esseurs de traitement du signal

Page 146: École T SAT T

Bibliographie[Ana95 Analog Devi e. ADSP-2100 Family User's Manual, 3 edition, September 1995.[Ara97 G. Araujo. Code Generation Algorithms for Digital Signal Pro essors. PhD thesis,Prin eton University Department of EE, Prin eton, May 1997.[Bie97 J. Bier. DSP16xxx Targets Communi ations Apps. Mi ropro essor Report, 11(12),September 1997.[CCL01 G. Constantinides, P. Cheung, and W. Luk. Heuristi Datapath Allo ation for Mul-tiple Wordlength Systems. In Design Automation and Test in Europe (DATE 01),pages 791796, Mar h 2001.[EB00 J. Eyre and J. Bier. The Evolution of DSP Pro essors. IEEE Signal Pro essingMagazine, 17(2) :4451, Mar h 2000.[Ga96 G. Goossens and al. Programmable Chips in Consumer Ele troni s and Tele om-muni ations. In G. De Mi heli and M SAmi, editors, Hardware Software Co-Design,pages 135164. Kluwer A ademi Publishers, 1996.[Ga97 G. Goossens and al. Embedded Software in Real-Time Signal Pro essing Systems :Design Te hnologies. Pro eedings of the IEEE, 85(3) :436453, Mar h 1997.[HP96 J. L. Hennessy and D. A. Patterson. A hite ture des Ordinnateurs - Une appro hequantitative. Morgan Kaufmann Publishers, San Fran is o, 2 edition, 1996.[Ka91 M. Kunt and al. Te hniques modernes de Traitement Numérique du Signal. Colle -tion CNET-ENST, Presses Romandes, Masson, 1991.[Lap96 P. Lapsley. Fixed-Point DSP Pro essors : History and Trends. In U.C. Berkeley(VLSI Signal Pro essing), April 1996.[LBSL96 P. Lapsley, J. Bier, A. Shoham, and E. A. Lee. DSP Pro essor Fundamentals :Ar hite tures and Features. Berkeley Design Te hnology, In , Fremont, CA, 1996.[Lee88 E. Lee. Programmable DSP Ar hite tures : Part I. IEEE ASSP Magazine, pages414, O t. 1988.[Lee89 E. Lee. Programmable DSP Ar hite tures : Part II. IEEE ASSP Magazine, pages414, Janv. 1989.[Lu Lu ent Te hnologies. DSP16xx. Lu ent Te hnologies.[Lu 99 Lu ent Te hnologies, Motorola. SC140 DSP Core Referen e Manual. Lu ent Te h-nologies, De ember 1999.[Mar95 P. Marwedel. Code Generation for Embedded Pro essors : an Introdu tion. InP. Marwedel and G. Goossens, editors, Code Generation for Embedded Pro essors.KluwerA ademi Publishers, 1995. 141

Page 147: École T SAT T

142 Bibliographie[Mot94 Motorola. DSP56000 24-Bit Digital Signal Pro essor User'S Manual. Motorola,1994.[MWK98 C. Moerman, R. Woudsma, and P. Kievits. Embedded DSP Te hnologies in Consu-mer appli ations. In 9th International Conferen e on Signal Pro essing Appli ationsand Te hnology (ICSPAT 98), Toronto, September 1998. Miller Freeman.[OS75 A. V. Oppenheim and R. W. S hafer. Digital Signal Pro essing. Prenti e-Hall, 1975.[OS99 A. V. Oppenheim and R. W. S hafer. Dis rete-Time Signal Pro essing, se ond edi-tion. Prenti e-Hall, 1999.[Pa97 P. Paulin and al. Embedded Software in Real-Time Signal Pro essing Systems :Appli ation and Ar hite ture Trends. Pro eedings of the IEEE, 85(3) :419435,Mar h 1997.[Peg99 A. Pegatoquet. Méthode d'estimation de performan e logi ielle : appli ation au dé-veloppement rapide de ode optimisé pour une lasse de DSP. PhD thesis, Universitéde Ni e Sophia Antipolis, 1999.[PM73 T.W. Parks and J.H. M Clellan. A unied approa h to the design of optimum linearphase digital lters. IEEE Transa tions on Cir uit Theory, 20 :697701, Nov. 1973.[Rab99 J.M. Rabaey. Managing Power Dissipation in the Generation after Next WirelessSystems. In 2ème journées fran ophones d'études Faible Tension Faible Consomma-tion FTFC'99, Paris, Fran e, 26-28 mai 1999.[Str00 W. Strauss. Internet Audio-Beyond Mp3. Te hni al Report 1030, Foward Con epts,Tempe, Arizona, USA, May 2000.[Str02a W. Strauss. Forward Con epts' Dsp Market Bulletin. Te hni al report, FowardCon epts, Tempe, Arizona, USA, Mar h 2002.[Str02b W. Strauss. VoIP and Pa ket Voi e DSP Markets. Te hni al Report 2201, FowardCon epts, Tempe, Arizona, USA, April 2002.[Sud98 A. Sudarsanam. Code Optimization Libraries for Retargetable Compilation for Em-bedded Digital Signal Pro essors. PhD thesis, Prin eton University Department ofEE, Prin eton, May 1998.[Tex98 Texas Instruments. TMS320C5X User's Guide. Texas Instruments, June 1998.[Tex99a Texas Instruments. TMS320C54X Dsp Cpu And Peripherals Referen e Set VolumeI. Texas Instruments, Dallas, January 1999.[Tex99b Texas Instruments. TMS320C6000 Cpu And Instru tion Set Referen e Guide. TexasInstruments, Dallas, Sept 1999.[TH97 J. Turley and H. Hakkarainen. TI's New 'C6x DSP S reams at 1,600 MIPS. Mi ro-pro essor Report, 11(2), Frebruary 1997.[Tou99 J.M. Toureilles. Con eption d'ar hite tures pour le traitement du signal en pré isionnie. PhD thesis, Université de Rennes I, Janvier 1999.[Yar99 K. Yarlagadda. Programmable DSP Ar hite tures. In DSP World, Orlando, Florida,Nov. 1999. Miller Freeman.[Za96 V. Zivojnovi and al. DSP Pro essor/Compiler Co-Design : A Quantitative Ap-proa h. In Pro eedings of the 9th International Symposium on System Synthesis(ISSS 96), La Jolla, November 1996.