Top Banner
Implémentation optimale de filtres linéaires en arithmétique virgule fixe Soutenance de thèse de Benoit Lopez (LIP6, UPMC) Directeur de thèse : L.-S. Didier (IMATH, Univ. de Toulon) Co-encadrant de thèse : T. Hilaire (LIP6, UPMC) B. Lopez (LIP6, UPMC) Soutenance de thèse 1 / 47
92

Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Jul 19, 2015

Download

Science

Benoit Lopez
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation optimale de filtres linéaires en

arithmétique virgule fixe

Soutenance de thèse de

Benoit Lopez (LIP6, UPMC)

Directeur de thèse : L.-S. Didier (IMATH, Univ. de Toulon)Co-encadrant de thèse : T. Hilaire (LIP6, UPMC)

B. Lopez (LIP6, UPMC) Soutenance de thèse 1 / 47

Page 2: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Contexte

D’un côté un filtre...

x[n]z�1 z�1 z�1

h[0] h[1] h[2] h[3]

y[n]

x[n]

y[n]

z�1 z�1 z�1

h[0] h[1] h[2] h[3]

��L��M H(z)

WeirdStu�

0 10 20 30 40 50 60 70 80 90 100−5

−4.5

−4

−3.5

−3

−2.5

−2

−1.5

−1

−0.5

0

H0 10 20 30 40 50 60 70 80 90 100

−8

−7

−6

−5

−4

−3

−2

−1

0

Traitement du signalFiltre linéaire et invariant dans le tempsÀ coefficients réels

B. Lopez (LIP6, UPMC) Soutenance de thèse 2 / 47

Page 3: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Contexte

D’un côté un filtre...

x[n]z�1 z�1 z�1

h[0] h[1] h[2] h[3]

y[n]

x[n]

y[n]

z�1 z�1 z�1

h[0] h[1] h[2] h[3]

��L��M H(z)

WeirdStu�

0 10 20 30 40 50 60 70 80 90 100−5

−4.5

−4

−3.5

−3

−2.5

−2

−1.5

−1

−0.5

0

H0 10 20 30 40 50 60 70 80 90 100

−8

−7

−6

−5

−4

−3

−2

−1

0

Traitement du signalFiltre linéaire et invariant dans le tempsÀ coefficients réels

B. Lopez (LIP6, UPMC) Soutenance de thèse 2 / 47

Page 4: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Contexte

... de l’autre une cible – 1

Système embarqué matériel ou logiciel

On ne peut pas représenter les réels, et pour des raisons de ressourceson utilise l’arithmétique virgule fixe.

B. Lopez (LIP6, UPMC) Soutenance de thèse 3 / 47

Page 5: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Contexte

... de l’autre une cible – 2

x[n]z�1 z�1 z�1

h[0] h[1] h[2] h[3]

y[n]

x[n]

y[n]

z�1 z�1 z�1

h[0] h[1] h[2] h[3]

��L��M H(z)

WeirdStu�

H

On a besoin d’une méthodologie et d’outils pourimplémenter ces filtres linéaires réels en virgule fixe.

B. Lopez (LIP6, UPMC) Soutenance de thèse 4 / 47

Page 6: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Contexte

L’implémentation en virgule fixe est difficile

Implémentation à partir d’un algorithme réel =) dégradations numériques

Origines des dégradationsQuantification des coefficients réelsArrondis dans les calculs

Les dégradations dépendent del’algorithme utilisé pour décrire le filtrela façon dont sont effectués les calculs

B. Lopez (LIP6, UPMC) Soutenance de thèse 5 / 47

Page 7: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Contexte

L’implémentation en virgule fixe est difficile

Implémentation à partir d’un algorithme réel =) dégradations numériques

Origines des dégradationsQuantification des coefficients réelsArrondis dans les calculs

Les dégradations dépendent del’algorithme utilisé pour décrire le filtrela façon dont sont effectués les calculs

B. Lopez (LIP6, UPMC) Soutenance de thèse 5 / 47

Page 8: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Contexte

L’implémentation en virgule fixe est difficile

Implémentation à partir d’un algorithme réel =) dégradations numériques

Origines des dégradationsQuantification des coefficients réelsArrondis dans les calculs

Les dégradations dépendent del’algorithme utilisé pour décrire le filtrela façon dont sont effectués les calculs

B. Lopez (LIP6, UPMC) Soutenance de thèse 5 / 47

Page 9: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Contexte

Problématique

Question :Comment implémenter au mieux un filtre linéaire réel en virgule fixe ?

Pour répondre à cette question, plusieurs étapes sont nécessaires :

Formaliser précisément l’arithmétique virgule fixeExploiter les propriétés des filtres linéairesDécrire une méthodologie pour le logiciel et une autre pour le matériel

Proposer un outil pour mettre en œuvre l’ensemble de cette démarche

B. Lopez (LIP6, UPMC) Soutenance de thèse 6 / 47

Page 10: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Contexte

Problématique

Question :Comment implémenter au mieux un filtre linéaire réel en virgule fixe ?

Pour répondre à cette question, plusieurs étapes sont nécessaires :

Formaliser précisément l’arithmétique virgule fixe

Exploiter les propriétés des filtres linéairesDécrire une méthodologie pour le logiciel et une autre pour le matériel

Proposer un outil pour mettre en œuvre l’ensemble de cette démarche

B. Lopez (LIP6, UPMC) Soutenance de thèse 6 / 47

Page 11: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Contexte

Problématique

Question :Comment implémenter au mieux un filtre linéaire réel en virgule fixe ?

Pour répondre à cette question, plusieurs étapes sont nécessaires :

Formaliser précisément l’arithmétique virgule fixeExploiter les propriétés des filtres linéaires

Décrire une méthodologie pour le logiciel et une autre pour le matériel

Proposer un outil pour mettre en œuvre l’ensemble de cette démarche

B. Lopez (LIP6, UPMC) Soutenance de thèse 6 / 47

Page 12: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Contexte

Problématique

Question :Comment implémenter au mieux un filtre linéaire réel en virgule fixe ?

Pour répondre à cette question, plusieurs étapes sont nécessaires :

Formaliser précisément l’arithmétique virgule fixeExploiter les propriétés des filtres linéairesDécrire une méthodologie pour le logiciel et une autre pour le matériel

Proposer un outil pour mettre en œuvre l’ensemble de cette démarche

B. Lopez (LIP6, UPMC) Soutenance de thèse 6 / 47

Page 13: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Contexte

Problématique

Question :Comment implémenter au mieux un filtre linéaire réel en virgule fixe ?

Pour répondre à cette question, plusieurs étapes sont nécessaires :

Formaliser précisément l’arithmétique virgule fixeExploiter les propriétés des filtres linéairesDécrire une méthodologie pour le logiciel et une autre pour le matériel

Proposer un outil pour mettre en œuvre l’ensemble de cette démarche

B. Lopez (LIP6, UPMC) Soutenance de thèse 6 / 47

Page 14: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Contexte

Plan

Pré-requissur les filtres

Formalismevirgule fixe

Analysedes filtres,

premiers outils

Implémentationlogicielle

Implémentationmatérielle

L’outilFiPoGen

B. Lopez (LIP6, UPMC) Soutenance de thèse 7 / 47

Page 15: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Contexte

Plan

Pré-requissur les filtres

Formalismevirgule fixe

Analysedes filtres,

premiers outils

Implémentationlogicielle

Implémentationmatérielle

L’outilFiPoGen

B. Lopez (LIP6, UPMC) Soutenance de thèse 7 / 47

Page 16: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Arithmétique virgule Fixe

Virgule Fixe

s

m + 1 �`w

�2m 20 2�12m�1 2`

un entier multiplié par un facteur d’échelle fixe : x = X · 2`

un format virgule fixe : (m, `)

une largeur : warithmétique signée en complément à deux

Le facteur d’échelle est implicite : le développeur sait où sont les virgules,mais le code implanté est uniquement basé sur des calculs en nombresentiers.

B. Lopez (LIP6, UPMC) Soutenance de thèse 8 / 47

Formalismevirgule fixe

Page 17: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Arithmétique virgule Fixe

Virgule Fixe

s

m + 1 �`w

�2m 20 2�12m�1 2`

un entier multiplié par un facteur d’échelle fixe : x = X · 2`

un format virgule fixe : (m, `)

une largeur : warithmétique signée en complément à deux

Première contributionUne formalisation détaillée de l’arithmétique virgule fixe pour lesalgorithmes de filtres linéaires.

B. Lopez (LIP6, UPMC) Soutenance de thèse 8 / 47

Formalismevirgule fixe

Page 18: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Filtres linéaires et réalisations équivalentes

Plan

Pré-requissur les filtres

Formalismevirgule fixe

Analysedes filtres,

premiers outils

Implémentationlogicielle

Implémentationmatérielle

L’outilFiPoGen

B. Lopez (LIP6, UPMC) Soutenance de thèse 9 / 47

Page 19: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Filtres linéaires et réalisations équivalentes

Filtres Linéaires

Hu(k) y(k)

LTI : Filtres linéaires invariants dans le tempsFIR (réponse impulsionnelle finie) :

H(z) =nX

i=0

biz�i , ) y(k) =

nX

i=0

biu(k � i)

IIR (réponse impulsionnelle infinie) :

H(z) =

Pni=0 biz

�i

1 +Pn

i=1 aiz�i

, ) y(k) =nX

i=0

biu(k � i)�nX

i=1

aiy(k � i)

B. Lopez (LIP6, UPMC) Soutenance de thèse 10 / 47

Pré-requissur les filtres

Page 20: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Filtres linéaires et réalisations équivalentes

Filtres Linéaires

LTI : Filtres linéaires invariants dans le tempsFIR (réponse impulsionnelle finie) :

H(z) =nX

i=0

biz�i , ) y(k) =

nX

i=0

biu(k � i)

IIR (réponse impulsionnelle infinie) :

H(z) =

Pni=0 biz

�i

1 +Pn

i=1 aiz�i

, ) y(k) =nX

i=0

biu(k � i)�nX

i=1

aiy(k � i)

On a un premier algorithme (ou réalisation) exprimant à chaque instant lasortie y(k) en fonction de l’entrée u(k), mais ce n’est pas le seul.

B. Lopez (LIP6, UPMC) Soutenance de thèse 10 / 47

Pré-requissur les filtres

Page 21: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Filtres linéaires et réalisations équivalentes

Réalisations équivalentes

Pour un filtre LTI donné, il y a de nombreuses façons de décrire la relationentre u(k) et y(k).

Toutes ces réalisations sont équivalentes en précision infinie mais ne le sontplus en précision finie.

La dégradation en précision finie dépend du choix de la réalisation.

Par exempleForme directe IState-spaceForme directe II transposée avec opérateur ⇢

Structure LGSetc.

B. Lopez (LIP6, UPMC) Soutenance de thèse 11 / 47

Pré-requissur les filtres

Page 22: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Filtres linéaires et réalisations équivalentes

Réalisations équivalentes

Pour un filtre LTI donné, il y a de nombreuses façons de décrire la relationentre u(k) et y(k).

Toutes ces réalisations sont équivalentes en précision infinie mais ne le sontplus en précision finie.

La dégradation en précision finie dépend du choix de la réalisation.

Par exempleForme directe IState-spaceForme directe II transposée avec opérateur ⇢

Structure LGSetc.

B. Lopez (LIP6, UPMC) Soutenance de thèse 11 / 47

Pré-requissur les filtres

Page 23: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Filtres linéaires et réalisations équivalentes

Réalisations équivalentes

Pour un filtre LTI donné, il y a de nombreuses façons de décrire la relationentre u(k) et y(k).

Toutes ces réalisations sont équivalentes en précision infinie mais ne le sontplus en précision finie.

La dégradation en précision finie dépend du choix de la réalisation.

Par exempleForme directe IState-spaceForme directe II transposée avec opérateur ⇢

Structure LGSetc.

B. Lopez (LIP6, UPMC) Soutenance de thèse 11 / 47

Pré-requissur les filtres

Page 24: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

SIF

Une structure unificatrice

On peut décrire toutes ces réalisations sous la forme d’une structurecommune appelée forme implicite spécialisée (SIF).

Description matricielle des calculsExplicite les opérations et leurs liens0

@J 0 0�K I 0�L 0 I

1

A

0

@T (k + 1)X (k + 1)Y (k)

1

A =

0

@0 M N0 P Q0 R S

1

A

0

@T (k)X (k)U(k)

1

A

En développant une méthodologie autour de la forme implicite spécialisée,on rend cette méthodologie applicable à toutes les réalisations.

B. Lopez (LIP6, UPMC) Soutenance de thèse 12 / 47

Pré-requissur les filtres

Page 25: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

SIF

Une structure unificatrice

On peut décrire toutes ces réalisations sous la forme d’une structurecommune appelée forme implicite spécialisée (SIF).

Description matricielle des calculsExplicite les opérations et leurs liens8

<

:

J · T (k + 1) M · X (k) + N · U(k)X (k + 1) K · T (k + 1) + P · X (k) + Q · U(k)

Y (k) L · T (k + 1) + R · X (k) + S · U(k)

En développant une méthodologie autour de la forme implicite spécialisée,on rend cette méthodologie applicable à toutes les réalisations.

B. Lopez (LIP6, UPMC) Soutenance de thèse 12 / 47

Pré-requissur les filtres

Page 26: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

SIF

Une structure unificatrice

On peut décrire toutes ces réalisations sous la forme d’une structurecommune appelée forme implicite spécialisée (SIF).

Description matricielle des calculsExplicite les opérations et leurs liens8

<

:

J · T (k + 1) M · X (k) + N · U(k)X (k + 1) K · T (k + 1) + P · X (k) + Q · U(k)

Y (k) L · T (k + 1) + R · X (k) + S · U(k)

En développant une méthodologie autour de la forme implicite spécialisée,on rend cette méthodologie applicable à toutes les réalisations.

B. Lopez (LIP6, UPMC) Soutenance de thèse 12 / 47

Pré-requissur les filtres

Page 27: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

SIF

Plan

Pré-requissur les filtres

Formalismevirgule fixe

Analysedes filtres,

premiers outils

Implémentationlogicielle

Implémentationmatérielle

L’outilFiPoGen

B. Lopez (LIP6, UPMC) Soutenance de thèse 13 / 47

Page 28: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Analyse d’erreur

Analyse d’erreur

+�x(k) x�(k)x�(k) x(k)e(k)

Q[ ]

Quantifier un signal x(k) est équivalent à ajouter une erreur e(k) à cesignal.

B. Lopez (LIP6, UPMC) Soutenance de thèse 14 / 47

Analysedes filtres,

premiers outils

Page 29: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Analyse d’erreur

Analyse d’erreur

À l’implémentation, l’algorithme

H8<

:

J · T (k + 1) M · X (k) + N · U(k)X (k + 1) K · T (k + 1) + P · X (k) + Q · U(k)

Y (k) L · T (k + 1) + R · X (k) + S · U(k)

devient

H⇤

8<

:

J · T ⇤(k + 1) M · X ⇤(k) + N · U(k) + "T (k)X ⇤(k + 1) K · T ⇤(k + 1) + P · X ⇤(k) + Q · U(k) + "X (k)

Y ⇤(k) L · T ⇤(k + 1) + R · X ⇤(k) + S · U(k) + "Y (k)

Les erreurs d’arrondi mènent à l’addition d’une erreur globale "(k) :

"(k) ,

0

@"T (k)"X (k)"Y (k)

1

A

B. Lopez (LIP6, UPMC) Soutenance de thèse 15 / 47

Page 30: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Analyse d’erreur

Analyse d’erreur

À l’implémentation, l’algorithme

H8<

:

J · T (k + 1) M · X (k) + N · U(k)X (k + 1) K · T (k + 1) + P · X (k) + Q · U(k)

Y (k) L · T (k + 1) + R · X (k) + S · U(k)

devient

H⇤

8<

:

J · T ⇤(k + 1) M · X ⇤(k) + N · U(k) + "T (k)X ⇤(k + 1) K · T ⇤(k + 1) + P · X ⇤(k) + Q · U(k) + "X (k)

Y ⇤(k) L · T ⇤(k + 1) + R · X ⇤(k) + S · U(k) + "Y (k)

Les erreurs d’arrondi mènent à l’addition d’une erreur globale "(k) :

"(k) ,

0

@"T (k)"X (k)"Y (k)

1

A

B. Lopez (LIP6, UPMC) Soutenance de thèse 15 / 47

Page 31: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Analyse d’erreur

Analyse d’erreur

H⇤u(k)

"(k)

y⇤(k) ()H

H"

u(k)

"(k)+

y(k)

�y(k)

y⇤(k)

On veut déterminer �y(k) = y⇤(k)� y(k).

on a besoin d’évaluer "(k)on a besoin de connaître le comportement de "(k) à travers H"

B. Lopez (LIP6, UPMC) Soutenance de thèse 16 / 47

Analysedes filtres,

premiers outils

Page 32: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Analyse d’erreur

Analyse d’erreur

H⇤u(k)

"(k)

y⇤(k) ()H

H"

u(k)

"(k)+

y(k)

�y(k)

y⇤(k)

On veut déterminer �y(k) = y⇤(k)� y(k).

on a besoin d’évaluer "(k)on a besoin de connaître le comportement de "(k) à travers H"

B. Lopez (LIP6, UPMC) Soutenance de thèse 16 / 47

Analysedes filtres,

premiers outils

Page 33: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Analyse d’erreur

Analyse d’erreur

Évaluer l’erreur de calcul "(k), c’est déterminer les calculs qui produisentdes erreurs d’arrondi.

H8<

:

J · T (k + 1) M · X (k) + N · U(k)X (k + 1) K · T (k + 1) + P · X (k) + Q · U(k)

Y (k) L · T (k + 1) + R · X (k) + S · U(k)

On a besoin de connaître les positions des virgules des variables t, x et y .Connaître le comportement du signal u à travers H.

B. Lopez (LIP6, UPMC) Soutenance de thèse 17 / 47

Analysedes filtres,

premiers outils

Page 34: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Analyse d’erreur

Analyse d’erreur

Évaluer l’erreur de calcul "(k), c’est déterminer les calculs qui produisentdes erreurs d’arrondi.

H8<

:

J · T (k + 1) M · X (k) + N · U(k)X (k + 1) K · T (k + 1) + P · X (k) + Q · U(k)

Y (k) L · T (k + 1) + R · X (k) + S · U(k)

On a besoin de connaître les positions des virgules des variables t, x et y .Connaître le comportement du signal u à travers H.

B. Lopez (LIP6, UPMC) Soutenance de thèse 17 / 47

Analysedes filtres,

premiers outils

Page 35: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Analyse d’erreur

Propriété des filtres linéaires

Approche classique du comportement d’un signal d’entrée u à travers unfiltre linéaire H.

Hu(k)

µu, u

y(k)

µy ,�y2

Traitement du signal

µu : moyenne u : variance

hhHiiDC : DC-Gain de HkHk2 : norme L2 de H

Proposition

µy = hhHiiDC · µu

�2y = kH ·'uk22

B. Lopez (LIP6, UPMC) Soutenance de thèse 18 / 47

Analysedes filtres,

premiers outils

Page 36: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Analyse d’erreur

Propriété des filtres linéaires

Nouvelle approche du comportement d’un signal d’entrée u à travers unfiltre linéaire H.

Hu(k)

hum, ur i

y(k)

hym, yr i

Intervalle

um : centreur : rayon

hhHiiDC : DC-Gain de HhhHiiWCPG : WCPG de H

Théorème du WCPG

ym = hhHiiDC · umy r = hhHiiWCPG · ur

en régime permanent

B. Lopez (LIP6, UPMC) Soutenance de thèse 19 / 47

Analysedes filtres,

premiers outils

Page 37: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Analyse d’erreur

Analyse d’erreur

H⇤u(k)

"(k)

y⇤(k) ()H

H"

u(k)

"(k)+

y(k)

�y(k)

y⇤(k)

Avec notre nouvelle approche, nous sommes donc capable de déterminerl’intervalle de l’erreur �y(k).

B. Lopez (LIP6, UPMC) Soutenance de thèse 20 / 47

Analysedes filtres,

premiers outils

Page 38: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Analyse d’erreur

Plan

Pré-requissur les filtres

Formalismevirgule fixe

Analysedes filtres,

premiers outils

Implémentationlogicielle

Implémentationmatérielle

L’outilFiPoGen

B. Lopez (LIP6, UPMC) Soutenance de thèse 21 / 47

Page 39: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Analyse d’erreur

Plan

Pré-requissur les filtres

Formalismevirgule fixe

Analysedes filtres,

premiers outils

Implémentationlogicielle

Implémentationmatérielle

L’outilFiPoGen

B. Lopez (LIP6, UPMC) Soutenance de thèse 21 / 47

Page 40: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation logicielle

Implémentation logicielle

Méthodologie pour l’implémentation logicielle

Filtre(SIF) Filtre ! SoPs

un SoP Conversionvirgule fixe

SoPvirgulefixe

oSoPs :GénérationPropagationÉvaluation

le meilleuroSoP Génération

de codeCodes FxP

SoP suivant

Spécifications matérielles

B. Lopez (LIP6, UPMC) Soutenance de thèse 22 / 47

Implémentationlogicielle

Page 41: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation logicielle

Implémentation logicielle

Méthodologie pour l’implémentation logicielle

Filtre(SIF) Filtre ! SoPs

un SoP Conversionvirgule fixe

SoPvirgulefixe

oSoPs :GénérationPropagationÉvaluation

le meilleuroSoP Génération

de codeCodes FxP

SoP suivant

Spécifications matérielles

B. Lopez (LIP6, UPMC) Soutenance de thèse 22 / 47

Implémentationlogicielle

Page 42: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation logicielle

Implémentation logicielle

Les seules opérations nécessaires sont des sommes-de-produits :

S =nX

i=1

ci · vi

où les ci sont des constantes connues et les vi des variables (d’entrée,d’état, ou intermédiaires).

L’addition en logiciel peut ne pas être associative à cause des décalages.On considère alors des sommes-de-produits ordonnées (oSoP).

B. Lopez (LIP6, UPMC) Soutenance de thèse 23 / 47

Implémentationlogicielle

Page 43: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation logicielle

Implémentation logicielle

Les seules opérations nécessaires sont des sommes-de-produits :

S =nX

i=1

ci · vi

où les ci sont des constantes connues et les vi des variables (d’entrée,d’état, ou intermédiaires).

L’addition en logiciel peut ne pas être associative à cause des décalages.On considère alors des sommes-de-produits ordonnées (oSoP).

B. Lopez (LIP6, UPMC) Soutenance de thèse 23 / 47

Implémentationlogicielle

Page 44: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation logicielle

Implémentation logicielle - oSoP

S

+

+

+

20832(-1,-16)

v4

(5,-10)⇥

-16450(-1,-16)

v5

(5,-10)

-19744(0,-15)

v0

(5,-10)

+

+

+

22782(�5,�20)

v1

(5,�10)⇥

�32159(�5,�20)

v6

(5,�10)

�26997(�4,�19)

v3

(5,�10)

�25313(�3,�18)

v2

(5,�10)

(5,-10)

Il y anQ

i=1(2i � 1) oSoP à considérer.

B. Lopez (LIP6, UPMC) Soutenance de thèse 24 / 47

Implémentationlogicielle

Page 45: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation logicielle

Implémentation logicielle - oSoP

S

+

+

+

20832(-1,-16)

v4

(5,-10)⇥

-16450(-1,-16)

v5

(5,-10)

+

-19744(0,-15)

v0

(5,-10)⇥

22782(�5,�20)

v1

(5,�10)

+

+

�32159(�5,�20)

v6

(5,�10)⇥

�26997(�4,�19)

v3

(5,�10)

�25313(�3,�18)

v2

(5,�10)

(5,-10)

Il y anQ

i=1(2i � 1) oSoP à considérer.

B. Lopez (LIP6, UPMC) Soutenance de thèse 24 / 47

Implémentationlogicielle

Page 46: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation logicielle

Implémentation logicielle - oSoP

S

+

+

+

20832(-1,-16)

v4

(5,-10)⇥

-16450(-1,-16)

v5

(5,-10)

+

-19744(0,-15)

v0

(5,-10)⇥

22782(�5,�20)

v1

(5,�10)

+

+

�32159(�5,�20)

v6

(5,�10)⇥

�26997(�4,�19)

v3

(5,�10)

�25313(�3,�18)

v2

(5,�10)

(5,-10)

Il y anQ

i=1(2i � 1) oSoP à considérer.

B. Lopez (LIP6, UPMC) Soutenance de thèse 24 / 47

Implémentationlogicielle

Page 47: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation logicielle

Implémentation logicielle - Propagation

Pour chaque oSoP, on propage les intervalles des variables vers la sortie enutilisant l’arithmétique d’intervalle et l’arithmétique virgule fixe.

S

+

+

+

20832(-1,-16)

v4

(5,-10)⇥

-16450(-1,-16)

v5

(5,-10)

-19744(0,-15)

v0

(5,-10)

+

+

+

22782(�5,�20)

v1

(5,�10)⇥

�32159(�5,�20)

v6

(5,�10)

�26997(�4,�19)

v3

(5,�10)

�25313(�3,�18)

v2

(5,�10)

(5,-10)

B. Lopez (LIP6, UPMC) Soutenance de thèse 25 / 47

Implémentationlogicielle

Page 48: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation logicielle

Implémentation logicielle - Propagation

Pour chaque oSoP, on propage les intervalles des variables vers la sortie enutilisant l’arithmétique d’intervalle et l’arithmétique virgule fixe.

S

+

+

+

20832(-1,-16)

y [k � 1](5,-10)

(5,-10)

-16450(-1,-16)

y [k � 2](5,-10)

(5,-10)

(5,-10)

⌧ 0

-19744(0,-15)

u[k]

(5,-10)

(6,-9)

(5,-10)

(5,-10)

� 2

+

� 1

+

� 1

+

22782(-5,-20)

u[k � 1](5,-10)

(1,-14)

-32159(-5,-20)

y [k � 3](5,-10)

(1,-14)

(1,-14)

(2,-13)

-26997(-4,-19)

u[k � 3](5,-10)

(2,-13)

(2,-13)

(3,-12)

-25313(-3,-18)

u[k � 2](5,-10)

(3,-12)

(3,-12)

(5,-10)

(5,-10)

B. Lopez (LIP6, UPMC) Soutenance de thèse 25 / 47

Implémentationlogicielle

Page 49: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation logicielle

Implémentation logicielle - Évaluation / Sélection

Évaluation

À chaque formatage correspond une erreur (un bruit ou un intervalle) quel’on sait évaluer.

On en déduit l’erreur cumulée globale pour chaque schéma.

SélectionPlusieurs critères pour choisir le meilleur schéma :

l’erreur globalele parallélisme

B. Lopez (LIP6, UPMC) Soutenance de thèse 26 / 47

Implémentationlogicielle

Page 50: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation logicielle

Implémentation logicielle - Évaluation / Sélection

Évaluation

À chaque formatage correspond une erreur (un bruit ou un intervalle) quel’on sait évaluer.

On en déduit l’erreur cumulée globale pour chaque schéma.

SélectionPlusieurs critères pour choisir le meilleur schéma :

l’erreur globalele parallélisme

B. Lopez (LIP6, UPMC) Soutenance de thèse 26 / 47

Implémentationlogicielle

Page 51: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation matérielle

Plan

Pré-requissur les filtres

Formalismevirgule fixe

Analysedes filtres,

premiers outils

Implémentationlogicielle

Implémentationmatérielle

L’outilFiPoGen

B. Lopez (LIP6, UPMC) Soutenance de thèse 27 / 47

Page 52: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation matérielle

Implémentation matérielle

Méthodologie pour l’implémentation matérielle

FiltreFiltre ! SoPs

N SoPsExpressioncontraintes

d’optimisation

fichierdescription

AMPL

Résolutionpar Bonmin

ensemblede largeurs

Générationschéma

virgule fixe

Schémavirgulefixe Génération de

l’architectureArchitecture

B. Lopez (LIP6, UPMC) Soutenance de thèse 28 / 47

Implémentationmatérielle

Page 53: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation matérielle

Implémentation matérielle

Méthodologie pour l’implémentation matérielle

FiltreFiltre ! SoPs

N SoPsExpressioncontraintes

d’optimisation

fichierdescription

AMPL

Résolutionpar Bonmin

ensemblede largeurs

Générationschéma

virgule fixe

Schémavirgulefixe Génération de

l’architectureArchitecture

B. Lopez (LIP6, UPMC) Soutenance de thèse 28 / 47

Implémentationmatérielle

Page 54: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation matérielle

Implémentation matérielle

Choix sur les largeurs =) Problème d’optimisation combinatoire

Notations

v = Z · vin

v ,

0

@t(k + 1)x(k + 1)y(k)

1

A , Z ,

0

@�J 0 M NK P QL R S

1

A , et vin ,

0

@t(k)x(k)u(k)

1

A .

Problème d’optimisation

min f (wZ ,w v )

=X

i ,j

wZi,j +X

i

w v i

tel que gi (wZ ,w v ) 0

B. Lopez (LIP6, UPMC) Soutenance de thèse 29 / 47

Implémentationmatérielle

Page 55: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation matérielle

Implémentation matérielle

Choix sur les largeurs =) Problème d’optimisation combinatoire

Notations

v = Z · vin

v ,

0

@t(k + 1)x(k + 1)y(k)

1

A , Z ,

0

@�J 0 M NK P QL R S

1

A , et vin ,

0

@t(k)x(k)u(k)

1

A .

Problème d’optimisation

min f (wZ ,w v )

=X

i ,j

wZi,j +X

i

w v i

tel que gi (wZ ,w v ) 0

B. Lopez (LIP6, UPMC) Soutenance de thèse 29 / 47

Implémentationmatérielle

Page 56: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation matérielle

Implémentation matérielle

Choix sur les largeurs =) Problème d’optimisation combinatoire

Notations

v = Z · vin

v ,

0

@t(k + 1)x(k + 1)y(k)

1

A , Z ,

0

@�J 0 M NK P QL R S

1

A , et vin ,

0

@t(k)x(k)u(k)

1

A .

Problème d’optimisation

min f (wZ ,w v ) =X

i ,j

wZi,j +X

i

w v i

tel que gi (wZ ,w v ) 0

B. Lopez (LIP6, UPMC) Soutenance de thèse 29 / 47

Implémentationmatérielle

Page 57: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation matérielle

Contraintes - Formatage de bits

ss

ss

ss

s s

s sf

ContexteUne somme de N termes (pi )1iN avec différents formats, et le FPF de lasomme finale connu, dont la largeur est plus petite que la largeur de lasomme exacte.

B. Lopez (LIP6, UPMC) Soutenance de thèse 30 / 47

Implémentationmatérielle

Page 58: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation matérielle

Contraintes - Formatage de bits

ss

ss

ss

�s s�

s s 0f

FormatageOn peut limiter le nombre de bits et obtenir un arrondi fidèle.

B. Lopez (LIP6, UPMC) Soutenance de thèse 30 / 47

Implémentationmatérielle

Page 59: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation matérielle

Contraintes - Formatage de bits

ss

ss

ss

�s s�

s s 0f

Calcul de �

Arrondi �Troncature blog2(N � 1)c+ 1

Au plus proche blog2(N)c+ 1

B. Lopez (LIP6, UPMC) Soutenance de thèse 30 / 47

Implémentationmatérielle

Page 60: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation matérielle

Contraintes - Formatage de bits

Produit constante / variable

Les constantes ci sont des constantes réelles arrondies.L’erreur sur ci est plus petite que le bit en position `ci .

s ci (mci , `ci )

s vi (mvi , `vi )⇥

L’erreur se propage sur les bits en position `ci +mvi et inférieures.

B. Lopez (LIP6, UPMC) Soutenance de thèse 31 / 47

Implémentationmatérielle

Page 61: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation matérielle

Contraintes - Formatage de bits

Produit constante / variable

Les constantes ci sont des constantes réelles arrondies.L’erreur sur ci est plus petite que le bit en position `ci .

s ci (mci , `ci )

s vi (mvi , `vi )

wvi � 1

s

`ci + `vi

L’erreur se propage sur les bits en position `ci +mvi et inférieures.

B. Lopez (LIP6, UPMC) Soutenance de thèse 31 / 47

Implémentationmatérielle

Page 62: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation matérielle

Contraintes - Formatage de bits

Produit constante / variable

Les constantes ci sont des constantes réelles arrondies.L’erreur sur ci est plus petite que le bit en position `ci .

s ci (mci , `ci )

s vi (mvi , `vi )

wvi � 1

s

`ci + `vi

L’erreur se propage sur les bits en position `ci +mvi et inférieures.

B. Lopez (LIP6, UPMC) Soutenance de thèse 31 / 47

Implémentationmatérielle

Page 63: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation matérielle

Contraintes - Formatage de bits

On combine le formatage avec l’observation précédente pour obtenir lacontrainte suivante :

`s � � > `ci +mvi , 8i

ss

ss

ss

�s s�

s s 0f

B. Lopez (LIP6, UPMC) Soutenance de thèse 32 / 47

Implémentationmatérielle

Page 64: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation matérielle

Contraintes - Formatage de bits

On combine le formatage avec l’observation précédente pour obtenir lacontrainte suivante :

`s � � > `ci +mvi , 8i

Contraintes de formatage de bitsAvec les notations de la SIF

wZi,j � w v i � Ci ,j , 8i , j .

B. Lopez (LIP6, UPMC) Soutenance de thèse 32 / 47

Implémentationmatérielle

Page 65: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation matérielle

Contraintes - Erreur sur la sortie

H

H"

u(k)

"(k)+

y(k)

�y(k)

y⇤(k)

On veut borner l’erreur sur la sortie y par ⇠ :

[�y ; �y ] ⇢ [�⇠; ⇠]

���y�� < ⇠

!X

j

aj2wvj

< 1

���y�� < ⇠

!X

j

d j

2wvj< 1

B. Lopez (LIP6, UPMC) Soutenance de thèse 33 / 47

Implémentationmatérielle

Page 66: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation matérielle

Contraintes - Erreur sur la sortie

H

H"

u(k)

"(k)+

y(k)

�y(k)

y⇤(k)

On veut borner l’erreur sur la sortie y par ⇠ :

[�y ; �y ] ⇢ [�⇠; ⇠]���y

�� < ⇠

!X

j

aj2wvj

< 1

���y�� < ⇠

!X

j

d j

2wvj< 1

B. Lopez (LIP6, UPMC) Soutenance de thèse 33 / 47

Implémentationmatérielle

Page 67: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation matérielle

Contraintes - Erreur sur la sortie

H

H"

u(k)

"(k)+

y(k)

�y(k)

y⇤(k)

On veut borner l’erreur sur la sortie y par ⇠ :

[�y ; �y ] ⇢ [�⇠; ⇠]���y

�� < ⇠ !X

j

aj2wvj

< 1

���y�� < ⇠ !

X

j

d j

2wvj< 1

B. Lopez (LIP6, UPMC) Soutenance de thèse 33 / 47

Implémentationmatérielle

Page 68: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation matérielle

Contraintes - Bilan

Contraintes de formatage de bitsAvec les notations de la SIF

wZi,j � w v i � Ci ,j , 8i , j .

Contraintes sur l’erreurX

j

aj2wvj

< 1,X

j

d j

2wvj< 1.

B. Lopez (LIP6, UPMC) Soutenance de thèse 34 / 47

Implémentationmatérielle

Page 69: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation matérielle

Contraintes - Bilan

Contraintes de formatage de bitsAvec les notations de la SIF

wZi,j � w v i + Ci ,j , 8i , j .

Contraintes sur l’erreurX

j

aj2wvj

< 1,X

j

d j

2wvj< 1.

B. Lopez (LIP6, UPMC) Soutenance de thèse 34 / 47

Implémentationmatérielle

Page 70: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation matérielle

Problème d’optimisation

Finalement, le problème se formalise ainsi :

min f (w v ) =X

i

w v i

tel queX

j

aj2wvj

< 1,X

j

d j

2wvj< 1.

Problème Convexe Non-Linéaire en Nombres Entiers

Résolution par le solveur Bonmin.

B. Lopez (LIP6, UPMC) Soutenance de thèse 35 / 47

Implémentationmatérielle

Page 71: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Implémentation matérielle

Problème d’optimisation

Finalement, le problème se formalise ainsi :

min f (w v ) =X

i

w v i

tel queX

j

aj2wvj

< 1,X

j

d j

2wvj< 1.

Problème Convexe Non-Linéaire en Nombres EntiersRésolution par le solveur Bonmin.

B. Lopez (LIP6, UPMC) Soutenance de thèse 35 / 47

Implémentationmatérielle

Page 72: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

FiPoGen

Plan

Pré-requissur les filtres

Formalismevirgule fixe

Analysedes filtres,

premiers outils

Implémentationlogicielle

Implémentationmatérielle

L’outilFiPoGen

B. Lopez (LIP6, UPMC) Soutenance de thèse 36 / 47

Page 73: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

FiPoGen

FiPoGen (Fixed-Point code Generator)

Cet outil réalise la méthodologie proposée pour l’implémentation d’un filtrelinéaire en virgule fixe.

Développé en PythonActuellement spécialisé dans les algorithmes de filtres linéairesMet en œuvre aussi bien la méthodologie logicielle que matérielle

B. Lopez (LIP6, UPMC) Soutenance de thèse 37 / 47

L’outilFiPoGen

Page 74: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Exemple

Exemple

Soit H un filtre aléatoire stable généré avec Matlab d’ordre 8 et H safonction de transfert :

H(z) =

8Pi=0

bi z�i

1 +8P

i=0

ai z�i

, 8z 2 C,

b0

= �0.940140,b1

= 1.04326, a1

= �2.06925,b2

= 0.292108, a2

= 1.95404,b3

= �0.693159, a3

= �1.04616,b4

= 0.183105, a4

= 0.0898125,b5

= 0.270429, a5

= 0.172354,b6

= �0.296554, a6

= �0.0730519,b7

= �0.0311837, a7

= �0.00696194,b8

= 0.0363021, a8

= 0.00556424.

Intervalle de sortieOn considère une entrée aléatoire u(k) 2 [�237; 162] ⇢ [�256; 255].On obtient la sortie y(k) 2 [�1235.97; 1622.63] ⇢ [�2048; 2047].

B. Lopez (LIP6, UPMC) Soutenance de thèse 38 / 47

L’outilFiPoGen

Page 75: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Exemple

Exemple

Soit H un filtre aléatoire stable généré avec Matlab d’ordre 8

−15

−10

−5

0

5

10

15

Mag

nitu

de (d

B)

10−3 10−2 10−1 100 10190

135

180

225

Phas

e (d

eg)

Bode Diagram

Frequency (rad/s)

−15

−10

−5

0

5

10

15

Mag

nitu

de (d

B)

10−3 10−2 10−1 100 10190

135

180

225

Phas

e (d

eg)

Bode Diagram

Frequency (rad/s)

Intervalle de sortieOn considère une entrée aléatoire u(k) 2 [�237; 162] ⇢ [�256; 255].On obtient la sortie y(k) 2 [�1235.97; 1622.63] ⇢ [�2048; 2047].

B. Lopez (LIP6, UPMC) Soutenance de thèse 38 / 47

L’outilFiPoGen

Page 76: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Exemple

Exemple

Soit H un filtre aléatoire stable généré avec Matlab d’ordre 8

−15

−10

−5

0

5

10

15

Mag

nitu

de (d

B)

10−3 10−2 10−1 100 10190

135

180

225

Phas

e (d

eg)

Bode Diagram

Frequency (rad/s)

−15

−10

−5

0

5

10

15

Mag

nitu

de (d

B)

10−3 10−2 10−1 100 10190

135

180

225

Phas

e (d

eg)

Bode Diagram

Frequency (rad/s)

Intervalle de sortieOn considère une entrée aléatoire u(k) 2 [�237; 162] ⇢ [�256; 255].On obtient la sortie y(k) 2 [�1235.97; 1622.63] ⇢ [�2048; 2047].

B. Lopez (LIP6, UPMC) Soutenance de thèse 38 / 47

L’outilFiPoGen

Page 77: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Exemple

Exemple - Plusieurs réalisations

Plusieurs réalisations sont considérées :Forme Directe I

une seule somme-de-produits de 17 produitsForme Directe II transposée avec opérateur ⇢

une matrice de taille 17⇥ 17 creuse40 coefficients non triviaux

Structure LGSune matrice de taille 185⇥ 185 creuse73 coefficients non triviaux

State-space minimisant la sensibilité L2une matrice de taille 9⇥ 9 dense

B. Lopez (LIP6, UPMC) Soutenance de thèse 39 / 47

L’outilFiPoGen

Page 78: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Exemple

Cas logiciel

On considère les largeurs fixées suivantesLargeurs des constantes et des différents types de variables : 16 bitsLargeurs additionneurs et multiplieurs : 32 bits

RéalisationsTemps Nombre Intervalles

de génération d’opérations d’erreursDFI � 17 ⇥ et 16 + [�2.37205; 4.21885e-15]SIF⇢ 000000003 40 ⇥ et 24 + [�1.62242; 0.176747]SIFLGS 020270061 73 ⇥ et 34 + [�0.608507; 5.66752]SSL2 050480087 81 ⇥ et 72 + [�1.31393; 0.311331]

B. Lopez (LIP6, UPMC) Soutenance de thèse 40 / 47

L’outilFiPoGen

Page 79: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Exemple

Cas logiciel

On considère les largeurs fixées suivantesLargeurs des constantes et des différents types de variables : 16 bitsLargeurs additionneurs et multiplieurs : 32 bits

RéalisationsTemps Nombre Intervalles

de génération d’opérations d’erreursDFI � 17 ⇥ et 16 + [�2.37205; 4.21885e-15]SIF⇢ 000000003 40 ⇥ et 24 + [�1.62242; 0.176747]SIFLGS 020270061 73 ⇥ et 34 + [�0.608507; 5.66752]SSL2 050480087 81 ⇥ et 72 + [�1.31393; 0.311331]

B. Lopez (LIP6, UPMC) Soutenance de thèse 40 / 47

L’outilFiPoGen

Page 80: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Exemple

B. Lopez (LIP6, UPMC) Soutenance de thèse 41 / 47

L’outilFiPoGen

Page 81: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Exemple

Cas matériel

Dans cet exemple, on souhaite borner l’erreur par l’intervalle [�2; 2].

Réalisations Temps de Optimalité Nombre de bits Nombre derésolution (sec) des variables bits total

DFI – – – 670SIF⇢ 836.15 Oui 293 1025SIFLGS 600 ? 749 1702SSL2 0.28 Oui 142 1642

B. Lopez (LIP6, UPMC) Soutenance de thèse 42 / 47

L’outilFiPoGen

Page 82: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Exemple

B. Lopez (LIP6, UPMC) Soutenance de thèse 43 / 47

L’outilFiPoGen

Page 83: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Exemple

Conclusion

ConclusionDurant cette thèse, j’ai répondu à la question suivante :

Pour un filtre linéaire donné, comment produire l’implémentationvirgule fixe optimale ?

Plusieurs résultats ont pu être obtenus :Formalisation détaillée de l’arithmétique virgule fixeAnalyse du comportement d’un intervalle à travers un filtre linéaire

Méthodologie pour les implémentations matérielle et logicielleFiPoGen, un outil pour générer du code virgule fixe en suivant cesméthodologies

B. Lopez (LIP6, UPMC) Soutenance de thèse 44 / 47

Page 84: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Exemple

Conclusion

ConclusionDurant cette thèse, j’ai répondu à la question suivante :

Pour un filtre linéaire donné, comment produire l’implémentationvirgule fixe optimale ?

Plusieurs résultats ont pu être obtenus :Formalisation détaillée de l’arithmétique virgule fixeAnalyse du comportement d’un intervalle à travers un filtre linéaireMéthodologie pour les implémentations matérielle et logicielleFiPoGen, un outil pour générer du code virgule fixe en suivant cesméthodologies

B. Lopez (LIP6, UPMC) Soutenance de thèse 44 / 47

Page 85: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Exemple

Perspectives

Dans un futur proche :Rendre FiPoGen totalement autonome du filtre au codeFonction de coût plus réaliste : coût d’implémentation, surface, etc.Génération des oSoPs plus performante selon les critères de sélectionConnecter FiPoGen à des outils tels que FloPoCo ou Stratus

Dans un second temps :Chercher de nouvelles réalisations pour les filtres LTIConsidérer d’autres filtres linéaires (paramétrés, etc.)S’intéresser à d’autres classes d’algorithmes

Faire de FiPoGen un outil générique pour la générationde code virgule fixe, et non uniquement pour les filtres.

B. Lopez (LIP6, UPMC) Soutenance de thèse 45 / 47

Page 86: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Exemple

Perspectives

Dans un futur proche :Rendre FiPoGen totalement autonome du filtre au codeFonction de coût plus réaliste : coût d’implémentation, surface, etc.Génération des oSoPs plus performante selon les critères de sélectionConnecter FiPoGen à des outils tels que FloPoCo ou Stratus

Dans un second temps :Chercher de nouvelles réalisations pour les filtres LTIConsidérer d’autres filtres linéaires (paramétrés, etc.)S’intéresser à d’autres classes d’algorithmes

Faire de FiPoGen un outil générique pour la générationde code virgule fixe, et non uniquement pour les filtres.

B. Lopez (LIP6, UPMC) Soutenance de thèse 45 / 47

Page 87: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Exemple

Perspectives

Dans un futur proche :Rendre FiPoGen totalement autonome du filtre au codeFonction de coût plus réaliste : coût d’implémentation, surface, etc.Génération des oSoPs plus performante selon les critères de sélectionConnecter FiPoGen à des outils tels que FloPoCo ou Stratus

Dans un second temps :Chercher de nouvelles réalisations pour les filtres LTIConsidérer d’autres filtres linéaires (paramétrés, etc.)S’intéresser à d’autres classes d’algorithmes

Faire de FiPoGen un outil générique pour la générationde code virgule fixe, et non uniquement pour les filtres.

B. Lopez (LIP6, UPMC) Soutenance de thèse 45 / 47

Page 88: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Exemple

Publications

Trois publications dans des conférences avec comité de lecture

B. Lopez, T. Hilaire, L.-S. Didier. “Sum-of-products evaluation schemes with fixed-pointarithmetic, and their application to IIR filter implementation”, DASIP 2012.T. Hilaire, B. Lopez. “Reliable Implementation of Linear Filters with Fixed-PointArithmetic”, SiPS 2013.B. Lopez, T. Hilaire, L.-S. Didier. “Formatting Bits to Better Implement Signal ProcessingAlgorithms”. PECCS 2014.

Une Demo Night

D. Menard et al. “Design of fixed-point embedded systems (DEFIS) French ANR project”,DASIP 2012.

En cours

Une soumission à IEEE Circuits & Systems I est prévue avant la fin de l’année 2014.

B. Lopez (LIP6, UPMC) Soutenance de thèse 46 / 47

Page 89: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Exemple

Merci

B. Lopez (LIP6, UPMC) Soutenance de thèse 47 / 47

Page 90: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Exemple

Annexe

B. Lopez (LIP6, UPMC) Soutenance de thèse 48 / 47

Page 91: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Exemple

Propriété des filtres linéaires

Nouvelle approche du comportement d’un signal d’entrée u à travers unfiltre linéaire H.

Hu(k)

hum, ur i

y(k)

hym, yr i

Intervalle

um : centreur : rayon

hhHiiDC : DC-Gain de HhhHiiWCPG : WCPG de H

Théorème du WCPG

ym = hhHiiDC · umy r = hhHiiWCPG · ur

en régime permanent

B. Lopez (LIP6, UPMC) Soutenance de thèse 49 / 47

Analysedes filtres,

premiers outils

Page 92: Implémentation optimale de filtres linéaires en arithmétique virgule fixe

Exemple

Propriété des filtres linéaires

Nouvelle approche du comportement d’un signal d’entrée u à travers unfiltre linéaire H.

Hu(k)

hum, ur i

y(k)

hym, yr i

Intervalle

um : centreur : rayon

hhHiiDC : DC-Gain de HhhHiiWCPG : WCPG de H

Théorème du WCPG

ym = hhHiiDC · umy r = hhHiiWCPG · ur + " · um

9K tel que 8k > K , y(k) 2 hym, yr i

B. Lopez (LIP6, UPMC) Soutenance de thèse 49 / 47

Analysedes filtres,

premiers outils