Thse Sonfack Final
Thse Sonfack Final
Thse Sonfack Final
net/publication/338332060
CITATIONS READS
0 1,159
1 author:
Gisele Sonfack
Université de Dschang
3 PUBLICATIONS 19 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
Contribution to the study and prototyping on FPGA of a new type of analog to digital converter by optimal duty-cycle modulation technique View project
Contribution à l'étude et au prototypage sur cible FPGA d'un nouveau type de convertisseur analogique-numérique par modualtion en rapport cyclique optimal View
project
All content following this page was uploaded by Gisele Sonfack on 01 January 2020.
Thème :
Contribution à l’étude et au prototypage sur cible
FPGA d’un nouveau type de convertisseur
analogique-numérique par modulation en rapport
cyclique optimal
Thèse soutenue publiquement dans le respect des exigences du degré de
Doctorat/Ph.D en Physique
Spécialté: Electronique
Par
SONFACK Gisèle Béatrice
Matricule : CM_UDS-16sc12711
JURY:
Président : FOTSIN Hilaire Bertrand, Professeur, Université de Dschang
Rapporteurs : MBIHI Jean, Professeur, Université de Douala
TCHITNGA Robert, Maître de Conférences, Université de Dschang
Examinateurs: ELE Pierre, Maître de Conférences, Université de Douala
KAMDEM Jean, Maître de Conférences, Université de Yaounde 1
Année 2019
1
Certification
Je soussigné, Mme. SONFACK Gisèle Béatrice, Matricule : CM_UDS-16sc12711, certifie que cette
thèse intitulée «Contribution à l’étude et au prototypage sur cible FPGA d’un nouveau type de
Convertisseur analogique-numérique par modulation en rapport cyclique optimal» est un authentique
travail de recherche mené à l'Unité de Recherche de Matière Condensée d'Electronique et de traitement
du signal (URMACETS) de l’Université de Dschang sous la supervision du professeur MBIHI Jean et du
Professeur TCHITNGA Robert. Je le soumets par la présente au département de physique de l'université
de Dschang, en vue de satisfaire partiellement aux exigences du diplôme de doctorat /Ph.D en Physique
option électronique.
L’Auteur
Les CO-DIRECTEURS
i
Dédicaces
Dédicaces
A ma famille
ii
Remerciements
Remerciements
Je remercie le Seigneur pour la santé ainsi que le courage qu’il m’a accordé tout au long de
ces dures années de labeur.
Bien que cette thèse porte mon nom, elle est véritablement le fruit de la coopération de
plusieurs personnes, qui m’ont encadré, supporté, guidé tout au long de ces années. Ce sont
ces personnes que je tiens ici à remercier.
Je Remercie le Pr. FOTSIN Hilaire Bertrand pour toutes ses contributions au cours des
séminaires organisés au sein du laboratoire URMACETS.
Un grand merci au Jury pré-soutenance constitué du Pr. FOTSIN Hilaire Bertrand, du Pr.
KENGNE Jacques, du Pr. TCHIOTSOP Daniel du Dr. LOUODOP FOTSO et du Dr.
KAMMOGNE tous enseignants de l’Université de Dschang d’avoir donné de leur temps
pour examiner cette thèse et pour toutes leurs remarques et suggestions qui nous ont permis
d’améliorer ce travail.
iii
Je remercie le Président et les membres du jury d’avoir pris le temps de s’intéresser au
sujet de la présente thèse.
Je remercie mon fils Uriel Nathan, pour toute sa patience et son amour de fils qui a été pour
moi une source d’énergie tout au long de ce travail.
Je remercie particulièrement le DR MOFFO LONLA Bertrand pour sa contribution à
l’élaboration de cette thèse ainsi que ses conseils.
Je remercie le Pr. NNEME NNEME Léandre pour sa contribution scientifique dans les
articles produits dans cette thèse.
Je remercie également mes amis proches pour avoir toujours été là. Je remercie aussi les
gens que j'ai pu côtoyer durant mes années de thèse et qui ont contribué de près ou de loin
le long de mes études et recherches scientifiques.
Je remercie papa SAATA Gaston, Tonton Fabien, Tata Elyse pour leur soutien
inconditionnel
Je remercie mes frères et sœurs Félix, Bozo, Marie, Dr DJOUMESSI, Hermine, Chanfort,
Lea, Vanelle et tous ceux et celles que je n’ai pas cité pour leur soutien indéfectible.
Enfin, je dois une dette certaine à mes parents, qui ont été mes plus fidèles supporteurs et
qui m’ont aidé à traverser cette période.
iv
Table des matières
v
Table des matières
vi
Table des matières
2.5 Synthèse d’un CAN par MRCO sur cible FPGA ................................................ 96
2.5.1 Prototypage pour l’implantation d’une application sur FPGA ................ 96
2.5.1.1 Cadre du travail ............................................................................................ 96
2.5.1.2 Prototypage rapide d’une application sur FPGA ...................................... 96
2.5.1.3 Flot de conception ......................................................................................... 97
2.5.1.4 Outils Hardware/Software codesign ........................................................... 98
2.5.2 Outils de co-conception Et co-Simulation VIVADO................................ 101
2.5.2.1 System Generator........................................................................................ 102
2.5.2.2 Prototypage rapide du CAN-MRCO sur FPGA ...................................... 103
vii
Table des matières
viii
Résumé
Résumé
Cette thèse présente une nouvelle technique de conversion analogique-numérique (CAN),
basée sur la modulation en rapport cyclique optimale (MRCO) assistée par FPGA. Le
problème de la MRCO est décomposé en deux sous-problèmes optimaux découplés, de
modulation en rapport cyclique (MRC) et de filtrage numérique. Trois lemmes et trois
théorèmes morphologiques établis et démontrés permettent de modéliser le sous-problème
MRC sous forme d’un critère fonctionnel non linéaire avec contraintes non linéaires puis de
le résoudre par l’outil fmincon de Matlab. Par ailleurs, le critère fonctionnel du sous-
problème de filtrage numérique est décrit par la norme de Hölder d’ordre p de l’erreur de
la réponse fréquentielle du filtre numérique démodulateur, en vue d’une optimisation par
l’outil iirlpnorm de Matlab.
La plateforme déployée pour des essais de co-simulation matérielle est équipée d’un kit de
développement Zynq 7000 pour cible FPGA Xilinx, d’un PC/laptop et de deux câbles JTAG
de liaison du kit au PC. Les grandeurs de qualité obtenus dans ces conditions en testant le
premier prototype expérimental du CAN-MRCO sont : SNR = 70.45 dB, SFDR = 41,19 dB
et NFR = 140 dB. Ces niveaux de qualité sont louables comparés à ceux offerts dans les
mêmes conditions opérationnelles par la plupart de CANs à sur-échantillonnage. Ainsi, le
modèle de CAN-MRCO initié et prototypé dans cette thèse est une nouvelle solution
technologique potentielle pour systèmes d'acquisition numérique de signaux en électronique
industrielle.
ix
Abstract
Abstract
The platform deployed for hardware co-simulation tests is equipped with a Zynq 7000
development kit for Xilinx FPGA target, a PC / laptop and two JTAG cables for connecting
the kit to the PC. The quality values obtained under these conditions by testing the first
experimental prototype of ADC-ODCM are: SNR = 70.45 dB, SFDR = 41.19 dB and NFR
= 140 dB. These quality levels are laudable compared to those offered under the same
operational conditions by most over-sampling ADCs. Thus, the ADC-ODCM model
initiated and prototyped in this thesis is a potential new technological solution for digital
signal acquisition systems in industrial electronics.
x
Abréviations
Abréviations
A/N: Analogique-numérique .............................................................................................. 12
BCD: Binary code decimal (code binaire décimal) .......................................................... 5, 6
SAR: successive approximation register (registre à approximations successives) ........ 5, 26
CAN: Convertisseur analogique-numérique......................................................................... 1
DLE: Differential linearity error (Erreur de linéarité différentielle) ........................ 5, 15, 26
DNL: Differential Non-Linearity (Non linéarité différentielle) ............................... 5, 12, 26
E/B: Echantillonneur-bloqueur ........................................................................................... 26
ENOB: Effective Number Of Bits (Nombre de bits effectifs) ....................................... 5, 12
FFT: Fast Fourier Transformer (Transformée de Fourier rapide) .................................. 5, 18
FPGA: Field-Programmable Gate Array.............................................................................. 2
IEEE: Institute of Electrical and Electronics Engineers ...................................................... 2
INL: Integral Non-Linearity (Non linéarité intégrale) ................................................... 5, 12
LSB: Less significant bit (bits de poids faibles) ............................................................. 5, 28
MDAC: Multiplying DAC (CNA multiplieur)................................................................... 27
MLI: Modulation à largeur d'impulsion ............................................................................. 34
MRC: Modulation de rapport cyclique ................................................................................ 1
MRCO: Modulation de rapport cyclique optimal ................................................................ 4
PWM: Pulse Width Modulation ........................................................................................... 1
RMS: Root mean square ..................................................................................................... 14
RTL: Register Transfer Level ............................................................................................ 94
SFDR: Spurious-free dynamic range (plage dynamique sans parasites) ......................... 4, 5
SINAD: Signal to Noise and Distortion ratio (rapport signal sur bruit et distorsion) ........ 21
SNR: Signal-to-noise ratio (rapport signal sur bruit) ....................................................... 4, 5
TDH: Taux de distorsion harmonique .................................................................................. 4
VHDL: Very High Speed Description Language ............................................................... 92
xi
Liste des tableaux
xii
Liste des Figures
xiii
Liste des Figures
xiv
INTRODUCTION GENERALE
INTRODUCTION GENERALE
Cette introduction générale présente tout d’abord le contexte scientifique des convertisseurs
analogique-numérique, ensuite la problématique suivie des objectifs de cette thèse.
1. Contexte scientifique
15
INTRODUCTION GENERALE
Douala, un CAN à MRC basé sur le processeur FPGA Xilinx a été étudié. Même dans ce
cas, le filtre de décimation incorporé dans le FPGA Xilinx est un filtre RII de second ordre.
Cependant, deux problèmes majeurs restent sans solution lorsque l'on explore en profondeur
les travaux de recherche existants concernant les schémas MRC pour CAN:
Bien que la fonction de modulation de rapport cyclique soit réellement non linéaire, le
décimateur linéaire utilisé dans tous les travaux existants en tant que filtre de démodulation
numérique entraîne des erreurs d'approximation. Le problème d'optimisation (le cas échéant)
est couramment résolu en tant que recherche optimale du modulateur ou comme conception
optimale du filtrage numérique au détriment de l'optimisation globale. Ce manque pourrait
réduire les performances du système de conversion global.
2. Problématique
3
La problématique de cette thèse découle des limites présentées par les CANs existants qu’ils
soient à structure parallèle ou série. La précision et la linéarité des CANs parallèles
dépendent directement des composants physiques ce qui implique le risque de dérive due
aux contraintes de fonctionnement. L’amélioration de leurs performances passe par
l’augmentation des composants physiques et donc une structure de plus en plus complexe et
encombrante.
Pour pallier aux limites de ces convertisseurs, l’on a inventé les CANs séries (à sur-
échantillonnage). Il ressort de la revue de la littérature que les recherches en CAN à sur-
16
INTRODUCTION GENERALE
Telles sont les raisons qui ont motivé l’orientation de la thématique de cette thèse vers la
conception et le prototypage d’une nouvelle technique de mise en œuvre de CAN-MRCO
avec cible d’implémentation DSP et FPGA.
3. OBJECTIFS DE LA THÈ SE
La technique de conversion analogique-numérique par MRC est une solution aux problèmes
posés par les CANs existants tout au moins à certains aspects de ces problèmes. Les premiers
travaux menés ont jeté les bases des CANs à MRC cependant la question de l’optimisation
qui est une étape clé dans le processus de validation d’un nouveau produit n’a pas encore
été traitée. Par ailleurs, cette thèse est la première qui traite de la conversion analogique-
numérique par la technique MRC
17
INTRODUCTION GENERALE
Développer des modèles d'un schéma optimal de CAN à modulation en rapport cyclique
global, puis prouver la faisabilité en utilisant la simulation virtuelle. Ensuite, éditer et
soumettre un premier document scientifique.
Mise en œuvre du CAN à modulation en rapport cyclique optimal sur la même cible FPGA
pour éditer et soumettre des articles scientifiques à chaque étape
4. ORGANISATION DE LA THÈ SE
18
ETAT DE L’ART DES CONVERTISSEURS ANALOGIQUE-NUMERIQUES
1.1 Introduction
Les convertisseurs de données jouent un rôle crucial dans une chaîne de traitement de
données (Figure 1). Dans cette section, des notions de base nécessaires à la compréhension
et à la conception des convertisseurs de données sont présentées. De façon conceptuelle, un
convertisseur de données réalise la transformation (en temps et en amplitude) des signaux
continus en signaux discrets et vice-versa. L'opération consistant à convertir dans le temps
les signaux continus en signaux discrets s'appelle échantillonnage. L'autre processus qui
consiste à convertir l'amplitude d'un signal continu en valeurs discrètes s'appelle la
quantification (Figure 2). La quantification, qui est liée à la résolution, entraîne
inévitablement une perte d'informations appelée par le bruit de quantification. Ainsi,
19
l'échantillonnage et la résolution constituent des caractéristiques primaires des
convertisseurs de données.
𝑓𝑠 ≥ 2𝑓𝑏 (1)
Le signal est déterminé de façon unique. Par conséquent, le signal analogique peut être
reconstruit à partir de ces échantillons sans perte d'information. Les convertisseurs dont la
fréquence d’échantillonnage respecte l’équation (1) sont dits convertisseurs de Nyquist.
20
Si la gamme des amplitudes à coder couvre le domaine [– Am, +Am], il vient :
𝑞
𝐴𝑚 = 2𝑁 . ⁄2 (2)
Et d’autre part, avec l’arrondi, le signal d’erreur e (t) est tel que :
Quelle que soit la nature de l'information traitée par un calculateur numérique (image, son,
texte, vidéo), elle est toujours sous la forme d'un ensemble de nombres écrits en base 2, par
exemple 01001011. Le terme bit (b minuscule dans les notations) signifie « binary digit »,
c'est-à-dire 0 ou 1 en numérotation binaire. Il s'agit de la plus petite unité d'information
manipulable par une machine numérique.
La particularité du binaire réfléchi est que pour passer d'une combinaison à une autre, seul
un bit change d'état. Ce code est très utile pour les codeurs absolus afin d'éviter les erreurs.
A l'apparition d'une variable supplémentaire, on fait la symétrie du code déjà obtenu plus le
nouveau bit à 1. Le code peut se refermer sur lui-même sans perdre ses propriétés dans la
mesure où le dernier terme se situe juste avant un axe de symétrie. Le code Gray sert souvent
dans des situations où d'autres codes, comme le binaire, peuvent produire des résultats
ambigus ou erronés au moment de transitions entraînant le changement de plusieurs bits
dans le code.
Pour une tension Vin donnée, l'ensemble des comparateurs reliés à une tension de référence
inférieure bascule (niveau haut en sortie, '1'), alors que les autres conservent un niveau bas
en sortie ('0'). Par conséquent, en sortie des comparateurs apparaît une suite de uns et de
zéros, appelée code thermométrique. La transition des uns aux zéros indique le niveau de
la tension d'entrée par rapport à la pleine échelle.
21
généralement en deux étapes distinctes : l’échantillonnage-blocage et la quantification
(Rarbi, 2010). L’échantillonnage consiste à maintenir la valeur du signal continu analogique
𝑉𝑖𝑛 pendant une durée fixée appelée période d’échantillonnage (cf. Fig.2), ceci se fait par
un circuit nommé échantillonneur-Bloqueur (E/B). La tension VAnalog, continue par
morceaux est obtenue. La période d’échantillonnage TEch est fixée selon le théorème de
Shannon: la fréquence d’échantillonnage doit être au moins égale au double de la
composante fréquentielle maximale du signal continu analogique (Rarbi, 2010).
∆𝑉𝑖𝑛
𝑞= (4)
2𝑁−1
22
C’est la valeur de base dont sont multiples toutes les tensions numériques de sortie. Pour
une tension analogique d’entrée 𝑉𝐴𝑛𝑎𝑙𝑜𝑔 , le CAN fait correspondre la tension de sortie
numérique 𝑉𝑛𝑢𝑚 telle que (cf Fig. 3) :
𝑞
|𝑉𝐴𝑛𝑎𝑙𝑜𝑔 − 𝑉𝑛𝑢𝑚 | ≤ (5)
2
Avec
La relation (4) implique l’utilisation d’un code numérique en binaire naturel. Bien sûr
d’autres types de codage pourraient être utilisés : le code Gray, le code 1 parmi N… La
différence 𝑉𝜀 = 𝑉𝐴𝑛𝑎𝑙𝑜𝑔 − 𝑉𝑛𝑢𝑚 est souvent appelée bruit de quantification. Ce bruit est
inhérent au principe de la conversion analogique numérique, et ne peut bien sûr jamais être
supprimé. Il conduit par la suite aux calculs de rapport signal sur bruit.
23
La fonction de transfert d’un convertisseur analogique-numérique est simplement le tracé
de la tension numérique 𝑉𝑛𝑢𝑚 en fonction de la tension analogique 𝑉𝐴𝑛𝑎𝑙𝑜𝑔 . Celle-ci est
illustrée sur la donnée Figure 4 dans le cadre d’un CAN de résolution 3-bits (Ruiz, 2012).
24
Figure 5: Différents types de Convertisseurs Analogique-Numérique.
Seules les architectures classiques de conversion sont présentées dans cette partie. Leurs
principes sont brièvement exposés. Des informations supplémentaires pourront être trouvées
en référence bibliographique. Deux grandes familles de convertisseurs cohabitent. Tout
d’abord, il existe des convertisseurs de Nyquist pour lesquels un échantillon numérique en
sortie correspond à un échantillon analogique en entrée. Afin de relâcher les contraintes sur
le filtre anti-repliement en entrée ces CANs sont souvent sur-échantillonnés d’un facteur
inférieur à 10. Il existe également des convertisseurs sur-échantillonnés où la fréquence
d’échantillonnage est bien supérieure à la fréquence de Nyquist et pour lesquels la résolution
est améliorée par une décimation à postériori.
25
pleine échelle (PE). Ainsi, cette dernière est quantifiée en 2N sous-parties correspondant
chacune à un code.
code thermom?rique
Vin
entr? analogique
3R
Vref
2R
LOGIQUE
2R N bits
DE sortie num?ique
DECODAGE
.. .. ..
. . .
2R
N
?helle de r?istances 2 -1 comparateurs
Ce type de CAN est très rapide car tous les comparateurs agissent en parallèle et le temps
de conversion est donc pratiquement fixé par le temps d'établissement des comparateurs et
des bascules. Il utilise le code thermométrique ; la logique de décodage n'introduit qu'un
délai, entre la prise d'information et la disponibilité du mot logique. Il présente cependant
deux inconvénients majeurs :
26
aux CAN flash une grande capacité d'entrée qui les rend difficiles à attaquer. En effet,
lorsqu'on leur applique une tension en entrée, la capacité d'entrée se charge, ce qui entraîne
un appel de courant. Plus cette capacité est importante, plus le courant d'appel est important,
et plus la réalisation d'un circuit d'entrée (buffer), possédant une puissance suffisante pour
fournir le courant adéquat, devient difficile. Cette capacité varie avec la tension et risque
donc de dénaturer le signal analogique à coder.
En définitive, l'architecture flash, qui est à la base de pratiquement toutes les autres
architectures, présente l'avantage d'être rapide et maîtrisée. Cependant les convertisseurs
flash deviennent trop complexes pour les hautes résolutions. En effet, à chaque bit
supplémentaire, il faut doubler les circuits tout en doublant également la précision.
Les progrès dans les circuits intégrés actuels permettent d'atteindre aisément les huit bits
(255 comparateurs) avec des fréquences d'échantillonnage de l'ordre du GHz. Néanmoins,
la résolution des CAN flash est limitée à 10 bits (1024 comparateurs) pour des vitesses de
l'ordre de la centaine de MHz. Pour une plus haute résolution, il faut donc penser à une
nouvelle architecture.
Le convertisseur Pipeline est un compromis entre les CAN « Flash » et les CAN « SAR ».
En effet, comme nous l’avons noté précédemment, les CAN « Flash » sont constitués de
2𝑁−1 comparateurs et les CAN « SAR » d’un seul comparateur. Contrairement aux
architectures de convertisseurs précédents, les CAN « Pipeline » répartissent l’opération de
conversion sur M étages. L’architecture de ce convertisseur est illustrée sur la Figure 7 ci-
dessous. Le schéma suivant représente une architecture subranging (ou half-flash outwo-
step) classique :
27
entr? analogique ...
ETAGE 0 ETAGE 1 ETAGE n-2 ETAGE n-1
a
mot num?ique
CONVERTISSEUR PIPELINE de sortie
AMPLI
entr? E/B
analogique r?idu
REGISTRE DE SORTIE
Nb
sortie num?ique
Figure 7: (a): Architecture d'un CAN pipeline, (b): Architecture d'un étage pipeline (Anon, 1990)
Chacun des M étage est un bloc de conversion élémentaire numérisant le signal présenté à
son entrée et fournissant le signal d’erreur analogique amplifié à l’étage suivant. Ce dernier
est appelé le résidu. L’architecture de chaque étage est présentée sur la Figure 7(b). Il est
constitué d’un CAN Flash fournissant sur un nombre de bits réduit une partie de la donnée
binaire. La deuxième partie de l’étage est constituée d’un « sommateur », d’un convertisseur
numérique–analogique et d’un amplificateur permettant d’amplifier le signal d’erreur dans
le but d’obtenir un signal à la pleine échelle pour l’étage suivant. Cette deuxième partie est
généralement appelée « MDAC » (Multiplying DAC).
28
clocks), la tension d’entrée est convertie en commençant par les bits de poids fort et finissant
par les bits de poids faible.
A la fin de chaque étape, on calcule le résidu de la conversion partielle, ce résidu est ensuite
ramené à pleine échelle par une multiplication. Ce convertisseur possède un temps de latence
en raison de la propagation de l’entrée dans les cellules (ici trois coups d’horloge). Une fois
le convertisseur « chargé», une nouvelle conversion est effectuée à chaque coup
La seule différence est que les comparateurs latches comparent l’entrée par rapport à 𝑉𝑑𝑑 /2
alors que les comparateurs d’un CAN Flash la comparent avec une tension de référence.
Ainsi, les imperfections en gain et offset des pré-amplifications de la structure
d’interpolation se traduisent par des erreurs INL et plutôt que DNL.
29
Figure 8: Architecture du CAN à interpolation
Bien que cette méthode diminue le nombre de comparateurs (par rapport au convertisseur
flash), elle a pour défaut de transformer un signal de fréquence f en entrée du circuit de
r*f
repliement en un signal de fréquence à sa sortie. Le signal d'entrée est appliqué
2p
simultanément :
- Au circuit de repliement dont la sortie est connectée au convertisseur des bits de poids
faibles (LSB).
30
qui est difficile quand beaucoup de résistances sont mises en jeu. Par conséquent, ces deux
méthodes ont leur limite et seul un compromis entre l'ordre de repliement et le nombre
d'interpolations permet d'atteindre une bonne résolution (8 à12 bits).
Comme l'architecture Flash, cette architecture exige une grande précision sur les résistances
mises en jeu. Ceci n'est pas simple à réaliser et nécessite souvent des circuits
supplémentaires.
Le schéma électrique d’un convertisseur à simple rampe est présenté sur la figure 9 (Gray,
2008)
31
Figure 9: Principe d'un convertisseur à simple rampe
Lorsque la rampe de tension, qui varie linéairement avec le temps, atteint la valeur Vx, à
l'instant t1, le comparateur change d'état, sa sortie passe à zéro et la porte ET ne transmet
plus les impulsions d'horloge. Le contenu du compteur, égal au temps écoulé depuis to, est
alors directement proportionnel à Vx (ferne, 1981), (Daugherty, 1991).
En effet la sortie de l'intégrateur est du type Vs=-E(t/RC) où t est le temps écoulé depuis
l'enclenchement du processus.
32
1.2.4.3 Le CAN double rampe
Pour s'affranchir des principaux défauts du système à simple rampe, on a imaginé un système
à double rampe. On applique la tension à mesurer à un intégrateur pendant un temps
prédéterminé t1 = N1.T on obtient alors une tension V1 = -Vx.t1/RC.
Puis on commute l'intégrateur sur une tension de référence E de polarité opposée à Vx. Vs
va alors décroître linéairement de V1 jusqu'à 0 et on compte ce temps de décroissance. On
obtient évidemment V1 = -E N2.T/RC. En égalant les deux relations on obtient Vx = E
N2/N1 et le résultat ne dépend plus de RC. L’avantage du C.A.N. double rampe par
rapport au C.A.N. simple rampe est donc une indépendance totale du résultat vis à vis des
valeurs des composants R et C : une variation de la constante de temps RC n’introduit plus
d’erreur sur la valeur de N (Vandome, 2010).
33
La nécessité d'un organe de calcul numérique pour obtenir Vx
Les CANs à modulation sont construits autour de modulateurs qui génèrent (généralement)
un signal codé sur 1 bit. Ils sont basés sur un ensemble de principes que nous présenterons
d’abord et ensuite les différentes techniques de conversion A/N à modulation du signal.
De par leurs fondements, les CAN à modulation du signal marquent une rupture totale avec
les techniques classiques de conversion Analogique-numérique. En effet les opérations du
processus de discrétisation du signal comme l’anti-repliement, l’échantillonnage/blocage, la
quantification, le codage qui étaient réalisées par des blocs distincts dans les CAN classiques
se trouvent réalisées partiellement ou complètement par un seul bloc dans les CANs à
modulation. Les modulateurs produisent généralement un signal codé sur un bit oscillant
entre une valeur maximale et minimale (définissant la dynamique du signal d’entrée) et de
fréquence (fixe ou variable) très supérieure au double de la largeur du spectre du signal à
numériser d’où le terme de convertisseur à sur-échantillonnage (oversampling en Anglais).
La figure 11 illustre le principe des modulateurs employés dans les CAN à sur-
échantillonnage.
34
largeur d’impulsion. Notons que même si de par ses fondements cette technique est limitée
en terme de résolution et de fréquence d’échantillonnage que l’on peut atteindre elle possède
néanmoins le mérite d’être peu coûteuse du côté interface matériel. Elle permet également
d’exploiter les modules internes disponibles dans la plus part des microcontrôleurs modernes
comme les Timers et les modules CCP (Capture Compare PWM) pour effectuer la
conversion analogique-numérique si le microcontrôleur ne dispose pas de convertisseur
analogique-numérique dédié disponible.
La technique de conversion analogique-numérique par MLI est basée sur le fait que si l’on
applique sur une cellule RC un signal rectangulaire périodique le condensateur se charge à
la valeur moyenne du signal périodique à condition que la constante de temps de la cellule
RC soit suffisamment grande devant la période du signal rectangulaire. Le résultat de la
conversion numérique-analogique vaut alors (Rarbi, 2010) :
𝑇𝑂𝑛
𝑉𝑖𝑛 = 𝑉𝑟𝑒𝑓 [ ] (7)
𝑇𝑂𝑛 + 𝑉𝑂𝑓𝑓
35
L’interrupteur analogique S est fermé au début de la conversion et reste fermé pendant toute
la durée du processus d’initialisation de la conversion analogique-numérique. Le
condensateur C se charge donc à la valeur de la tension d’entrée (𝑉𝑐 (0) = 𝑉𝑖𝑛 ).
Pendant la phase de conversion la tension délivrée par la sortie D02 essaie d’égaliser la
charge du condensateur C et la tension d’entrée 𝑉𝑖𝑛 en scrutant la sortie du comparateur (DI).
Si l’entrée digitale est au niveau Haut ce qui signifie que la tension d’entrée 𝑉𝑖𝑛 est
supérieure à la tension du condensateur 𝑉𝐶 alors DO2 est placée au potentiel le plus élevé
𝑉𝐻 dans le cas contraire D02 est placée à un potentiel proche de 0 (𝑉𝐿 ). Les valeurs 𝑉𝐻 et 𝑉𝐿
ne sont pas nécessairement 𝑉𝐶𝐶 et Gnd ; Il est possible de prendre des valeurs plus petites
36
été présentés nous allons par la suite présenter les grands principes des modulateurs sigma-
delta ainsi que le processus de filtrage qui lui est associé (Braz, 2000).
Les CAN sigma-delta sont basés sur un formalisme mathématique assez complexe (de notre
expérience, la lecture de beaucoup d’articles sur le sujet ne permet pas au lecteur de
comprendre les fondements de cette technique). Nous allons présenter de façon très concrète
le principe des convertisseurs sigma-delta ainsi que les rudiments des concepts
mathématiques qui le sou-tendent.
La figure 13 présente le modulateur sigma-delta le plus simple qui est du premier ordre
(Inose, 1962):
Un modulateur sigma-delta du premier ordre est un système bouclé (avec réaction négative)
constitué dans la chaine directe d’un intégrateur suivie d’un quantificateur 1bit
(comparateur) et d’un élément mémoire (bascule) dont les instants de mémorisation sont
définis par la fréquence d’échantillonnage (Inose, 1962). La boucle de retour est constituée
d’un convertisseur Numérique analogique 1 bit dont les tensions de référence +𝑉𝑟𝑒𝑓 et -
𝑉𝑟𝑒𝑓 définissent la dynamique (la plage) de tension admissible pour la tension d’entrée 𝑉𝑖𝑛
De façon très simple un modulateur sigma-delta fonctionne comme suit : Supposons une
tension constante à l’entrée 𝑉𝑖𝑛 . L’intégrateur produit à sa sortie (qui correspond à l’entrée
du quantificateur 1 bit) une tension évoluant de façon linéaire (puisque 𝑉𝑖𝑛 est constante)
37
avec une pente positive ou négative suivant le signe de la tension à la sortie du sommateur
(la différence entre 𝑉𝑖𝑛 et +𝑉𝑟𝑒𝑓 ou −𝑉𝑟𝑒𝑓 ) comparée avec 0 au niveau du quantificateur et
lorsqu’elle est supérieure à 0 le résultat de la quantification vaut 1 et dans le cas contraire
vaut 0. La contre réaction réalisée par le DAC 1 bit fait que le système tend à produire à la
sortie du DAC une tension (un bitstream) dont la valeur moyenne est égale à la tension
d’entrée 𝑉𝑖𝑛
Bien que la technique de modulation sigma-delta soit la plus ancienne, la plus rependue et
la plus étudiée des techniques de conversion analogique-numérique à modulation du signal
elle souffre de limites que nous avons déjà mentionnées plus haut et que nous résumons
comme suit :
Le principe fondamental des modulateurs sigma-delta qui consiste à amplifier le bruit (et
même à en injecter) réduit de façon considérable la robustesse du modulateur (Moffo, 2014).
38
modulant d’entrée selon une fonction bien définie. Une variété d’architecture électronique
du modulateur est présentée dans la littérature (Mbihi, 2005), chacune est caractérisée par
une expression du rapport cyclique spécifique qui introduit dans certains cas un déphasage
sur l’expression du signal modulant. En réalité, la modulation en largeur d’impulsion très
utilisée en électronique de puissance comme moyen de contrôle de la puissance transmise
est une sous-classe de la MRC avec une fréquence de modulation constante. Il est aussi très
sollicité en instrumentation industrielle pour une classe de convertisseur analogique-
numérique.
Dans un signal MRC, la période et la durée niveau haut varient simultanément en fonction
du signal modulant x(t) (voir figure 14.a). Ceci produit par conséquent un signal apériodique
qui admet un rapport cyclique instantané donné par l’équation (8). Toutefois, lorsque le
signal modulant x(t) est constant, le signal MRC 𝑢𝑚 (𝑡) devient périodique (voir figure 14.b)
et admet une décomposition en série de Fourier dont l’expression est donnée par l’équation
9
𝑇𝑜𝑛 (𝑢)
𝑅𝑚 (𝑢) = (8)
𝑇𝑚 (𝑢)
∞
4𝐸 (9)
𝑈𝑚 (𝑥) = 2𝐸. 𝑅𝑚 (𝑥) − 𝐸 + (∑ sin(𝜋𝑛. 𝑅𝑚 (𝑥)) cos(𝑛𝜔(𝑥(𝑡))))
𝜋𝑛
𝑛=1
39
Pour généraliser l’équation 9 au cas où x(t) est variable, il faut émettre l’hypothèse suivant
laquelle la fréquence de la porteuse est suffisamment grande devant la plus grande fréquence
contenu dans le signal modulant x(t) afin que ce dernier soit supposé constant sur une
période du signal. Une fois cette hypothèse posée, l’expression du signal modulé en rapport
cyclique est donnée par l’équation 10. On remarque la présence des termes basses fréquences
et des composantes hautes fréquences dans l’expression du signal MRC. Une condition est
nécessaire pour que la modulation soit bonne : il faut que le terme basse fréquence soit une
fonction linéaire du signal modulant x(t).
∞
𝟒𝑬 𝐬𝐢𝐧(𝛑𝐧𝑹𝒎 (𝐱) 𝟐𝝅𝒏𝒕 (10)
𝒖𝒎 (𝒕) = 𝑬[𝟐𝑹
⏟ 𝒎 (𝒙) − 𝟏] + ∑( ) 𝒄𝒐𝒔 ( )
𝝅 𝒏 𝑻𝒎 (𝐱)
⏟ 𝒏=𝟏
Terme basses fréquences
Terme hautes fréquences
Dans cette expression, E représente l’amplitude maximale du signal MRC. Ce signal est
symétrique et alternatif permettant ainsi l’acceptation d’un signal modulant bipolaire.
A la suite des travaux antérieurs (Mbihi, 2005) sur une variété d’architecture électronique
du modulateur MRC, l’expression du rapport cyclique est donnée par l’équation 11 et la
fréquence de modulation dans le cas d’un modulateur non inverseur est donnée par
l’équation 12.
𝛼2 𝑥(𝑡) − (1 + 𝛼1 )𝐸 (11)
𝑙𝑛 [ ]
𝛼2 𝑥(𝑡) − (1 − 𝛼1 )𝐸
𝑅𝑚 (𝑥, 𝑡) = 2 2
(𝛼2 𝑥(𝑡)) − ((1 + 𝛼1 )𝐸)
𝑙𝑛 [ 2 2]
(𝛼2 𝑥(𝑡)) − ((𝛼1 − 1)𝐸)
1 1 (12)
𝑓𝑚 (𝑥, 𝑡) = = 2
𝑇𝑚 (𝑥, 𝑡) (𝛼2 𝑥(𝑡))2 − ((1 + 𝛼1 )𝐸)
𝜏𝑙𝑛 ( 2)
(𝛼2 𝑥(𝑡))2 − ((𝛼1 − 1)𝐸)
40
1.2.4.2.3 Conversion analogique-numérique par MRC
𝑇𝑜𝑛 (𝑢) 𝑒𝑡 𝑇𝑜𝑓 (𝑢) désignent respectivement les durées (observées par cycle) pendant
lesquels le signal modulé 𝑢𝑚 (𝑡) vaut respectivement +𝐸 𝑒𝑡 − 𝐸
𝑇𝑚 (𝑢) 𝑒𝑡 𝑅𝑚 (𝑢) désignent respectivement la période et le rapport cyclique (observé par
cycle) du signal modulé. Il est à noter que contrairement à la modulation de largeur
41
d’impulsion MLI où la période du signal modulé est fixe (et 𝑇𝑜𝑛 est variable) un signal
modulé en rapport cyclique possède une période qui est fonction du signal modulant (Mbihi,
2012).
Compte tenu du fait que le rapport cyclique du signal modulé est compris dans l’intervalle
0 ≤ 𝑅𝑚 ≤ 1 Un modulateur de rapport cyclique (idéal) est régit par les relations suivantes
[7] :
𝑢(𝑡) + 𝐸 𝑢(𝑡) 1
𝑅𝑚 (𝑢) = = +
2𝐸 2𝐸 2
2
𝑢(𝑡) 𝑢(𝑡) 2 (14)
𝐹𝑚 (𝑢) = 1 − ( ) => 𝐹𝑚 (𝑢) = 𝐹𝐶 (1 − ( ) )
𝐸 𝐸
{ −𝐸 ≤ 𝑢(𝑡) ≤ +𝐸
Les différents paramètres utiles définissant les performances d’un convertisseur analogique-
numérique sont définis dans cette partie. Il existe dans la littérature une multitude de critères
pour estimer les performances d’un convertisseur analogique-numérique. Malgré cela,
seulement quelques-uns sont vraiment explicites: le SNR (Signal-to-Noise Ratio, en français
rapport signal sur bruit), le SFDR (Spurious-Free Dynamic Range), le nombre effectif de
bits (ENOB – Effective Number Of Bits) et enfin la puissance consommée. Le nombre
effectif de bits peut être déterminé en dynamique (SNR et SFDR) ou en statique avec l’INL
(Integral Non-Linearity) ou la DNL (Differential Non-Linearity), cependant les mesures
dynamiques procurent une meilleure précision sur cette estimation.
Les paramètres des convertisseurs A/N peuvent se diviser en deux groupes: les paramètres
statiques et les paramètres dynamiques. Nous présenterons les principaux paramètres
mesurés sur les convertisseurs. La fonction de transfert d’un convertisseur A/N se
définissant comme étant la fonction qui associe à chaque plage de valeur d’entrée [i-q ; i] en
volt, sa valeur binaire codée sur N bits entiers. La fonction de transfert d’un CAN 3 bits est
présentée dans la Figure 4. Nous pouvons également définir le pas de quantification q, à
42
l’aide de l’expression (15), où 𝑉𝑑𝑦𝑛 correspond à la dynamique du signal d’entrée et N la
résolution du convertisseur (Ruiz, 2012).
𝑉𝑑𝑦𝑛
𝑞= (15)
2𝑁
L'erreur introduite par un écart entre la valeur exacte et la valeur quantifiée s'appelle erreur
de quantification. Cette erreur est bornée dans la gamme d'entrée du convertisseur, elle
évolue selon la courbe donnée par la Figure 16, et vaut au maximum:
𝑃𝐸 𝐿𝑆𝐵
± 𝑁+1
=± (16)
2 2
C'est cette erreur de quantification qui parasite le signal et il faut l'étudier dans le domaine
fréquentiel (Steven, 1997). A cette erreur de quantification q, on associe un bruit de
43
quantification qui est considéré comme une variable aléatoire uniformément répartie sur
l'intervalle [-q/2, +q/2], q étant le pas de quantification, (le bruit de quantification est
assimilable à un bruit blanc de moyenne nulle). Sa densité de probabilité fq est donc
constante sur cet intervalle (Figure 17).
1
𝑓𝑞 = .1 11 (17)
𝑞 [−𝑞,𝑞]
+∞
𝑃(𝑉𝜀 ) = ∫ 𝑥 2 . 𝑓𝑞 (𝑥). 𝑑𝑥 (18)
−∞
D’où
𝑞
+∞
1 1 2 𝑞2
𝑃(𝑉𝜀 ) = ∫ 𝑥 2 . . 1[−1,1] . 𝑑𝑥 = ∫ 𝑥 2 𝑑𝑥 = (19)
−∞ 𝑞 𝑞𝑞 𝑞 −𝑞 12
2
𝑞
√𝑃(𝑉𝜀 ) = (20)
√12
44
1.3.4.2.3 La Non-Linéarité Différentielle
La Non-Linéarité Différentielle ou DNL (Differential non linearity) est définie pour chaque
code comme la différence entre la largeur réelle du palier (𝑥𝑘+1 ), 𝑥𝑘 étant le point de
transition du code k et la valeur idéale du pas de quantification q. Ainsi, la Non-Linéarité
Différentielle est définie par :
(xk+1 − xk ) − q
(21)
q
La DNL s’exprime en LSB dans ce cas-là. Cette fonction est également connue comme
l’erreur de linéarité différentielle (ELD).
Comme la DNL, la non-linéarité intégrale s’exprime en LSB. Ces deux paramètres sont
décrits sur la Figure 18 ci-dessous.
45
Figure 18: Définition de la non linéarité différentielle et la non linéarité intégrale
En se basant sur la Figure 3, on peut définir la fonction de transfert d’un CAN comme étant
égale à :
𝑁 = 𝑌 + 𝑋. 𝐴 (23)
46
Les deux paramètres précédents : erreur de gain et erreur d’offset sont illustrés sur les
Figures 19 et 20 respectivement.
47
1.3.4.3 Caractéristiques dynamiques des CANs
Ces paramètres sont mesurés à l’aide d’un signal sinusoïdal. Le calcul de la transformée de
Fourrier (FFT) à partir des données de sortie permet de caractériser le convertisseur de façon
dynamique. Les différents paramètres ainsi mesurés sont présentés ci-dessous.
Le rapport signal sur bruit (SNR) est caractérisé par la numérisation d’un signal sinusoïdal
pur d’amplitude crête à crête. Il est alors obtenu en effectuant le rapport entre la puissance
contenue dans la raie fondamentale du signal numérisé 𝑃𝑠 et la puissance du bruit 𝑃𝑛 .
L’expression générale s’écrit (Mbihi, 2012) :
𝑃𝑠
𝑆𝑁𝑅𝑑𝐵 = 10 log ( ) (24)
𝑃𝑛
La valeur de la moyenne quadratique ou RMS (Root Mean Square) du signal est alors égale
à:
2𝑁−1 . 𝑞
𝑉𝑖𝑛,𝑟𝑚𝑠 = (25)
√2
𝑞 𝑉𝐿𝑆𝐵
𝑉𝑄𝑟𝑚𝑠 = = (26)
√12 √12
Prenant l’équation (23) et (24) et remplaçant 𝑉𝑖𝑛,𝑟𝑚𝑠 , 𝑉𝑄,𝑟𝑚𝑠 dans (22) alors nous pouvons
obtenir l’équation de rapport signal sur bruit
48
2𝑁−1 𝑞
𝑉𝑖𝑛,𝑟𝑚𝑠 √2 2
𝑆𝑁𝑅𝑑𝐵 = 10. log ( ) = 10. 𝑙𝑜𝑔 𝑞 = 10. log (√ 2𝑁 ) (27)
𝑉𝑄,𝑟𝑚𝑠 3
( √12 )
49
𝑃𝑠
𝑆𝐹𝐷𝑅𝑑𝐵 = 10. log ( ) (31)
𝑃𝑛
1.3.4.4.2 SINAD
𝐴. 𝑓𝑖𝑛
𝑆𝐼𝑁𝐴𝐷𝑑𝐵 = 20 log ( ) (32)
𝑏𝑟𝑢𝑖𝑡 + √∑ 𝐴2 (𝑖. 𝑓𝑖𝑛 )
Le nombre de bits effectifs est un nombre qui permet de caractériser l’ensemble des
performances dynamiques d’un CAN. Sous cette notion de bits effectifs, l’ensemble des
défauts du CAN est pris en compte : la non-linéarité, le bruit de quantification, le bruit, les
codes manquants, ou encore la monotonie. Il est important de noter que même dans le cas
d’un CAN idéal de N bits, à cause du bruit de quantification, la résolution effective du
convertisseur est inférieure à N. L’expression générale du nombre de bits effectifs est donc
à partir de l’équation (33) (Mbihi, 2012):
𝑆𝑁𝑅𝑑𝐵 − 1.76
𝐸𝑁𝑂𝐵 = (33)
6.02
Nous utilisons la Figure 21 pour montrer les caractéristiques dynamiques représentées qui
sont analysées dans le domaine fréquentiel.
50
Figure 21: Spectre fréquentielle typique de la sortie d’un CAN Pipeline. (a) SFDR, (b) DR,
(c) SNR, (d) SNDR
Cette a été consacrée aux notions fondamentales permettant de mieux comprendre les
termes et les concepts associés aux convertisseurs de données. Un accent particulier a été
mis sur les paramètres statiques et dynamiques des convertisseurs de données. Ces
paramètres permettent en effet d'évaluer les erreurs et les défauts associés lors de la
conversion des données. Ils donnent ainsi une idée sur la nature de la conversion.
De plus, les paramètres dynamiques du CAN tels, le rapport signal sur bruit, le taux de
distorsion harmonique, la dynamique de codage, etc.
Les convertisseurs dits de Nyquist sont pour la plupart des convertisseurs à haute fréquence.
Le dilemme rapidité et résolution les empêche de couvrir bon nombre d’applications qui
nécessitent une haute résolution. Le tableau I présente les techniques de CANs, leur plage
de résolution, le rapport signal/ bruit ainsi que leurs domaines d’application (Martin, 1996).
51
Tableau I: Techniques de conversion A/N et leurs plages de résolution
Les critères de choix des CANs dépendent des exigences spécifiques des domaines
d’application considérés. Ces exigences imposent les caractéristiques techniques des CANs
à utiliser. Parmi les critères les plus importants, on distingue :
52
Tableau II: Synthèse des performances des convertisseurs A/N
Architecture Résolution Vitesse de Avantages Inconvénients
conversion
Flash 6 à 10≤ bits Jusqu’à Les plus rapides - Résolution limitée
20GHz - Puce de dimension
importante
- Capacité d’entrée
élevée
- Consommation
importante
Pipeline 8 à 16 bits Entre 10 et - Très rapide - Existence du
500 MHz - Correction numérique phénomène de
coupure de code
des erreurs de sortie
- Meilleur compromis
- Présence de bruits
vitesse/résolution
et limitation
fréquentielle
Interpolation
Sigma-Delta 16 à 24 bits ≤5MHz - Résolution la plus - Vitesse
élevée d’échantillonnage
limitée
- Excellente linéarité
- Bande passante
- Faible consommation. limitée
- Excellente rejection - Réponse en
numérique du bruit continu
53
1.4 Revue de littérature Sur les convertisseurs à MRC
Depuis 2005, la technique de modulation en rapport cyclique a été utilisée dans plusieurs
domaines d’application. De l’instrumentation à la commande de processus en passant par le
traitement du signal. Ainsi, un article scientifique sur l’application du principe de la
modulation de rapport cyclique en instrumentation été publié (Mbihi, 2005). Dans cet article,
une classe de nouveaux modulateurs de rapport cyclique (MRC) est étudiée. Elle combine
des techniques de modulation en rapport cyclique et de traitement de signal analogique dans
un simple circuit amplificateur opérationnel. Les simulations sont effectuées pour des
commandes constantes et variables en utilisant un banc d’essais électronique afin de tester
et de valider la classe de circuits de modulation proposée pour des systèmes de
conditionnement de signaux.
En 2013, ce même principe a été utilisé dans la commande des convertisseurs buck dans
un article publié (Mbihi, 2013). Dans cet article, les développements analytiques, l'analyse
numérique, simulations virtuelles et l'expérimentation, ont démontré que le système de
commande MRC à faible coût étudié pour les convertisseurs de puissance Buck fournit de
meilleures caractéristiques par rapport aux techniques PWM standard. Ainsi, elle est être
considérée comme une nouvelle perspective de contrôle dans l'électronique de puissance et
l'ingénierie de commande, avec une extension possible à d'autres types de convertisseurs
CC-CC voire à la classe importante d'onduleurs DC-AC (Dangwe, 2017) (Mbihi, 2017).
La faisabilité de l’utilisation de la MRC dans les systèmes de transmission des signaux a
été publiée dans un article paru en 2014 (Nneme Nneme, 2014), puis la même année, un
article portant sur le faible coût, les hautes performances de la MRC et ses nombreuses
applications (Moffo, 2014) a été publié
54
Les premiers travaux de prototypage du convertisseur analogique-numérique à modulation
en rapport cyclique ont été publié en 2012 (Mbihi, 2012) et depuis lors aucun travail de
recherche n’a plus été mené dans ce sens.
Le cadre de recherche de ces travaux pionniers était composé d'un générateur de signal
intégré (ICL8038) utilisé comme source d'onde triangulaire, d’une génératrice basse
fréquence (Philips PM5107) utilisé comme source de signal sinusoïdal et d'un analyseur
Hewlett Packard HP1631 comme instrument de supervision de référence. L'interface de
modulation de rapport cyclique était la même que celle utilisée dans cette thèse. En outre,
un ordinateur NEC Power Mate (un seul cœur, 2 MHz) avec un port LPT intégré était utilisé
comme unité de traitement numérique. Ensuite, le registre d'état d'entrée associé à partir
duquel le signal modulé TTL x (t) est échantillonné était disponible à l'adresse 379
hexadécimale.
Il est important de noter que, l’utilisation d’un port LPT limite considérablement le champ
d’implémentation de ce prototype au vu de l’évolution technologique actuelle. De plus, le
logiciel d'acquisition et de surveillance des tests est développé à l'aide de Visual Basic ce
qui implique d’autres contraintes dans la gestion du temps réel. Par ailleurs la cible
matérielle de traitement numérique utilisée ne permet pas d’atteindre une fréquence
d’échantillonnage assez importante et donc limite le convertisseur au traitement de signaux
basses fréquences et pour des applications pas exigeantes en termes de résolution.
Une autre limite de CAN à MRC classique est l’absence d’un schéma d’optimisation globale
du convertisseur. En effet, même si le modulateur de rapport cyclique a été optimisé dans
certains travaux présents dans la littérature (Moffo, Thèse 2016), l’optimisation du
convertisseur analogique-numérique n’a pas encore été traité comme problème
d’optimisation globale étant donné le caractère non linéaire du modulateur et l’utilisation du
filtre linéaire.
1.5 Conclusion
Les concepts de base du convertisseur analogique-numérique ont été introduites. Ensuite,
les indicateurs de performance fondamentaux pour caractériser les CANs ont été décrits, les
différentes architectures de convertisseurs à grande vitesse ont été examinées et enfin une
revue de littérature sur la technique de conversion à modulation en rapport cyclique a été
55
donnée. Toutes les architectures de conversion que nous venons de présenter ont servi dans
différentes réalisations dans le domaine électronique de conditionnement et de traitement
des signaux. Cependant, leurs spécificités (résolution, vitesse, etc.) font qu'elles ne sont
adaptées qu'à certaines architectures de conditionnement. Il ressort de la revue de la
littérature que, bien que la technique MRC soit un espoir dans la révolution de l’électronique
industrielle et l’ingénierie d’instrumentation, beaucoup d’études restent à faire pour la
positionner comme une solution aux problèmes industrielles actuelles notamment en ce qui
concerne son application dans le domaine de la conversion analogique-numérique. Nos
travaux visent donc à apporter des solutions aux aspects du CAN-MRC qui jusqu’ici ne sont
pas encore élucidés. Dans le chapitre suivant, nous allons introduire la conception de
l’architecture CAN à modulation de rapport cyclique.
56
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
Les CAN sont conçus autour de différentes architectures. L'architecture choisie peut
dépendre de la résolution de sortie (nombre de bits), des exigences de vitesse (fréquence
d'échantillonnage) ou de puissance. L'architecture MRC est optimisée pour la conversion à
haute résolution et offre une faible consommation électrique puis une vitesse moyenne. Ce
chapitre se concentre sur la synthèse d’un CAN par MRCO (modulation de rapport cyclique
optimal). Avant d’aborder la synthèse proprement dite, nous éluciderons le principe détaillé
de fonctionnement et l’architecture des CAN par MRC, c’est-à-dire les expressions
analytiques qui en résultent. Nous présenterons ensuite la méthodologie de conception et
enfin la synthèse qu’un CAN par MRCO.
57
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
𝛼2 𝑢(𝑡) − (1 − 𝛼1 )𝐸 (35)
ln [ ]
(𝑢(𝑡) − (1 − 𝛼1 )𝐸
𝑅𝑚 (𝑢(𝑡)) =
(𝛼 𝑢(𝑡))2 − ((1 + 𝛼1 )𝐸)2
ln [ 2 ]
(𝛼2 𝑢(𝑡))2 − ((𝛼1 − 1)𝐸)2
Pour la définition de 𝑇𝑂𝑛 (𝑢(𝑡)) 𝑒𝑡 𝑇𝑂𝑓 (𝑢(𝑡)) confer page 27. 𝑇𝑚 (𝑢) 𝑒𝑡 𝑅𝑚 (u)
désignent respectivement la période et le rapport cyclique (observé par cycle) du signal
modulé. Il est à noter que contrairement à la modulation de largeur d’impulsion MLI où la
période du signal modulé est fixée (et 𝑇ℎ est variable), un signal modulé en rapport cyclique
possède une période qui est fonction du signal modulant (Roza, 1997).
58
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
Compte tenu du fait que le rapport cyclique du signal modulé est compris dans l’intervalle
0 ≤ 𝑅𝑚 ≤ 1, un modulateur de rapport cyclique (idéal) est régit par les relations suivantes
(Moffo, 2014) :
59
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
𝑢(𝑡) + 𝐸 𝑢(𝑡) 1
𝑅̃𝑚 (𝑢) = = +
2𝐸 2𝐸 2
2 2
𝐹𝑚 (𝑢) 𝑢(𝑡) 𝑢(𝑡) (36)
=1−( ) => 𝐹𝑚 (𝑢) = 𝐹𝐶 (1 − ( ) )
𝐹𝐶 𝐸 𝐸
{ −𝐸 ≤ 𝑢(𝑡) ≤ +𝐸
La fréquence du signal modulé 𝑓𝑚 (𝑢 ) est une parabole dont le sommet est la fréquence
Dans cette section nous allons présenter les propriétés spectrales d’un signal modulé en
rapport cyclique. Pour rendre possible cette étude nous allons émettre l’hypothèse que le
signal modulant 𝑢 (𝑡) est constant pendant au moins un période du signal modulé 𝑢𝑚 (𝑡)
(ce qui est largement vraie dans le cas d’un CAN à modulation à cause du principe du sur-
échantillonnage). Puisque 𝑢 (𝑡) est constant (pendant un temps fini) le signal modulé
possède donc les propriétés suivantes :
Avec :
60
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
𝑇𝑚 (𝑢(𝑡))
1
𝐴0 = ∫ 𝑢𝑚 (𝑢(𝑡))𝑑𝑡
𝑇𝑚 (𝑢(𝑡)) 0
𝑇𝑚 (𝑢(𝑡))
2 2𝜋
𝑎𝑛 = ∫ 𝑢𝑚 (𝑢(𝑡)) cos ( ) 𝑛𝑡𝑑𝑡 (38)
𝑇𝑚 (𝑢(𝑡)) 0 𝑇𝑚 (𝑢(𝑡))
𝑇𝑚 (𝑢(𝑡))
2 2𝜋
𝑏𝑛 = ∫ 𝑢𝑚 (𝑢(𝑡)) sin ( ) 𝑛𝑡𝑑𝑡
{ 𝑇𝑚 (𝑢(𝑡)) 0 𝑇𝑚 (𝑢(𝑡))
Par soucis de simplification de notation et d’écriture nous remplacerons dans la suite 𝑢(𝑡)
par 𝑢 et 𝑢𝑚 (𝑢(𝑡)) par 𝑢𝑚 (𝑢) . Le signal modulé en rapport cyclique s’écrit donc :
2 𝑇𝑚 (𝑢) 2𝜋
𝑢𝑚 (𝑡) = 𝐴0 + ∫ 𝑎𝑛 cos ( ) 𝑛𝑡𝑑𝑡 (39)
𝑇𝑚 0 𝑇𝑚 (𝑢)
Puisque nous avons supposé 𝑢 constant pendant la durée de notre analyse nous pouvons
donc déterminer 𝐴0 𝑒𝑡 𝑎𝑛 . On obtient alors :
∞
4𝐸 sin(πn𝑅𝑚 (𝑢) 2𝜋𝑛𝑡
𝑢𝑚 (𝑡) = ⏟
𝐸[2𝑅𝑚 (𝑢) − 1] + ∑( ) 𝑐𝑜𝑠 ( ) (40)
𝜋 𝑛 𝑇𝑚 (𝑢)
⏟ 𝑛=1
Terme bassesfréquences Terme hautesfréquences
En considérant les équations régissant le modulateur de rapport cyclique idéal décrites par
les équations 40, la série de Fourier de 𝑢𝑚 (𝑢) est exprimée par :
+∞
4𝐸 𝜋 𝜋𝑛
𝑢𝑚 (𝑢) = 𝑢 + ∑ ( [cos ( 𝑛) sin ( 𝑢)
𝜋 2 2𝐸
𝑛=1 (41)
𝜋 𝜋𝑛 𝑢 2
+ sin ( 𝑛) cos ( 𝑢)] cos (2𝜋𝑛𝐹𝐶 (1 − ( ) ) 𝑡)
2 2𝐸 2𝐸
Le spectre du signal modulé en rapport cyclique est donc constitué du spectre du signal
modulant auquel s’ajoutent des termes hautes fréquences d’amplitudes :
61
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
4𝐸 𝜋 𝜋𝑛 𝜋 𝜋𝑛
𝐶𝑛 (𝑢) = [𝑐𝑜𝑠 ( 𝑛) 𝑠𝑖𝑛 ( 𝑢) + 𝑠𝑖𝑛 ( 𝑛) 𝑐𝑜𝑠 ( 𝑢)] (42)
𝜋 2 2𝐸 2 2𝐸
|𝐶𝑛 (𝑢)|
La figure 24 présente le spectre normalisé des harmoniques du signal modulé en
𝐶1
Figure 24: Spectre normalisé d’amplitude d'un signal MRC pour u(t) donné
𝑢 2
𝐹𝑚𝑛 = 𝑛𝐹𝐶 (1 − ( ) ) (43)
𝐸
Les fréquences des harmoniques dépendent donc de la tension modulante ce qui peut dans
certaines conditions, liées principalement au rapport de la fréquence centrale du modulateur
𝐹𝐶 et la largeur de bande 𝐵 = [0 𝐹𝑚𝑎𝑥 ] du signal modulant entrainer une distorsion due à
l’aliasing des harmoniques de hautes fréquences dans le spectre du signal modulant. Ceci a
62
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
𝑢 2
𝐹𝑚1 = 𝐹𝐶 (1 − ( ) ) (44)
𝐸
La fréquence 𝐹𝑚1 est minimale lorsque la valeur absolue du signal modulant est maximale :
𝑢𝑚𝑎𝑥 2
𝐹𝑚𝑚𝑖𝑛 = 𝐹𝐶 (1 − ( ) ) (45)
𝐸
Pour que la modulation soit possible la condition suivante doit être respectée
𝑢(𝑡) + 𝐸 𝑢(𝑡) 1
𝑅̃𝑚 (𝑢) = = + (46)
2𝐸 2𝐸 2
𝑅1 𝑅2
En posant 𝛼1 = , 𝛼2 = = 1 − 𝛼1 on a :
𝑅1 +𝑅2 𝑅1 +𝑅2
+ (𝑡)
𝑒𝑚 = 𝛼1 𝑈𝑚 (𝑡) + 𝛼2 𝑢(𝑡) (48)
𝑡 (49)
− (𝑡)
𝑒𝑚 = 𝑢𝑐 (𝑡) = 𝑢𝑚𝑎𝑥 (𝑡) + (𝑢𝑐 (0) − 𝑢𝑚𝑎𝑥 )𝑒 −𝑅𝐶
+ (𝑡) − (𝑡)
𝑈𝑚 (𝑡) = +𝐸 𝑙𝑜𝑟𝑠𝑞𝑢𝑒 𝑒𝑚 > 𝑒𝑚
{ + (𝑡) − (𝑡)
𝑈𝑚 (𝑡) = −𝐸 𝑙𝑜𝑟𝑠𝑞𝑢𝑒 𝑒𝑚 < 𝑒𝑚
63
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
+ (𝑡)
Puisqu’initialement 𝑢𝑐 (𝑡) = 0, 𝑈𝑚 (𝑡) = +𝐸 𝑒𝑡 𝑒𝑚 = 𝛼1 𝐸 + 𝛼2 𝑢(𝑡) l’amplificateur
+ (𝑡)
opérationnel bascule: 𝑈𝑚 (𝑡) = +𝐸 𝑒𝑡 𝑒𝑚 = 𝛼1 𝐸 + 𝛼2 𝑢(𝑡) le condensateur de
charge avec comme équation de charge :
𝑡 (50)
𝑢𝑐 (𝑡) = −𝐸 + [𝛼2 𝑢(𝑡) + 𝐸(𝛼1 + 1)]𝑒 −𝑅𝐶
+ (𝑡)
Lorsque 𝑢𝑐 (𝑡) atteint 𝑒𝑚 = −𝛼1 𝐸 + 𝛼2 𝑢(𝑡), l’amplificateur opérationnel bascule :
+ (𝑡)
𝑈𝑚 (𝑡) = +𝐸 et 𝑒𝑚 = 𝛼1 𝐸 + 𝛼2 𝑢(𝑡) le condensateur se charge avec comme
équation :
𝑡 (51)
𝑢𝑐 (𝑡) = 𝐸 + [𝛼1 𝑢(𝑡) − 𝐸(𝛼1 − 1)]𝑒 −𝑅𝐶
+ (𝑡)
Lorsque 𝑢𝑐 (𝑡) atteint 𝑒𝑚 = 𝛼1 𝐸 + 𝛼2 𝑢(𝑡) l’amplificateur opérationnel bascule :
+ (𝑡)
𝑈𝑚 (𝑡) = −𝐸 𝑒𝑡 𝑒𝑚 = −𝛼1 𝐸 + 𝛼2 𝑢(𝑡) le condensateur se décharge et le cycle
recommence.
64
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
1 1
𝑓𝑚 (𝑢) = =
𝑇𝑚 (𝑢) (𝛼 𝑢)2− ((1 + 𝛼1 )𝐸)2 (52)
Log ( 2 )
−((𝛼1 − 1)𝐸)2
α2 u − (1 + α1 )E
TOn (u, α) = RC Log ( ) (53)
α2 (u − E)
α2 u + (1 + α1 )E
TOf (u, α) = RC Log ( ) (54)
α2 (u + E)
2
(α2 u)2 − ((1 + α1 )E)
Tm (u, α) = RC Log ( ) (55)
α2 2 (u2 − E2 )
65
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
Une représentation de la variation des fonctions 𝑅𝑚 (𝑢) et 𝑓𝑚 (𝑢) pour différentes valeur de
𝛼1 et E est donné par les figures 26 et 27 respectivement.
Ces courbes mettent en évidence une particularité du modulateur qui présente une zone de
linéarité exploitable autour du point de fonctionnement et dépendante de E et du paramètre
𝛼1 . On peut donc linéariser la fonction rapport cyclique autour de ce point de fonctionnement
et obtenir ainsi une expression sous la forme :
66
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
Contrairement aux interfaces d'entrées complexes pour les architectures PWM et SDM, un
circuit MRC s'auto-oscille (pas de source d'horloge externe) et est équipé de boucles de
rétroaction positive et négative, tout en offrant une réalisation matérielle minimale. Ces
67
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
découvertes intrinsèques sont au cœur de ses nombreux mérites. Les paramètres associés au
circuit MRC sont donnés par (56):
R1
α = α1 = 1 − α2 = , τ = RC (56)
R1 +R2
Ensuite, son comportement dynamique est régi par l'ensemble des équations (57):
u (t ) xm (t ) (1 ) x (t ) (a)
(t ) u (t ) uc (t ) (b)
xm (t ) E sign (t ) (c) (57)
duc (t ) 1 1
uc (t ) xm (t ) (d)
dt
x (t ) E
(e)
Le rôle du bloc de mise en forme TTL est donc de transformer le signal délivré par le
modulateur de rapport cyclique en un signal logique de niveau de tension compatible avec
celui du processeur numérique.
68
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
69
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
Figure 30: Processus d'échantillonnage (a) signal original, (b) signal échantillonné (c)
signal d'erreur
Au regard de ces courbes il est évident de constater que plus la période d’échantillonnage
est petite, plus faible sera l’erreur et donc le bruit de quantification. La détermination de la
puissance du bruit de quantification est nécessaire pour déterminer le rapport signal sur bruit
de quantification SNR du convertisseur et sa résolution effective. Une approche statistique
est utilisée dans (Vandenberghe, 2002) sous la base d’hypothèses simplificatrices pour
déterminer le SNR qui vaut :
𝑃𝑁 3 1
𝑆𝑁𝑅 = = ( 2 ) (58)
𝑃𝑠 8 𝐹𝑐 𝑇𝑠 𝐹𝑚𝑎𝑥
𝐹𝑐
Le rapport de modulation est donné par : et le facteur de sur-échantillonnage par :
𝐹𝑚𝑎𝑥
𝐹𝑠
Ainsi, le rapport maximal du bruit de quantification est donné par :
2𝐹𝑚𝑎𝑥
3 𝐾2
𝑆𝑁𝑅𝑚𝑎𝑥 = ( ) (59)
4 𝐾𝑚
70
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
3 𝐾2
𝑆𝑁𝑅𝑚𝑎𝑥 (𝑑𝐵) = 10 log [ ( )] (60)
4 𝐾𝑚
3
= [10 log ( ) + 20 log 𝐾 − 10 log 𝐾𝑚 ]
4
= 10 log 𝐾 − 10 log 𝐾𝑚 − 1.25
Cette relation nous montre que doubler la fréquence d’échantillonnage revient à augmenter
le 𝑆𝑁𝑅𝑚𝑎𝑥 (𝑑𝐵) de 6dB ce qui correspond à une augmentation de la résolution effective du
CAN de 1 bit. La résolution effective d’un CAN à modulation de rapport cyclique vaut :
6,02𝐿 − (3 + 3,01𝐿𝑚 )
𝐸𝑁𝑂𝐵 = (62)
6,02
La résolution effective d’un CAN à modulation en rapport cyclique dépend donc de deux
paramètres :
La conception d’un CAN optimal passe par le choix optimal des coefficients 𝐾𝑚 𝑒𝑡 𝐾. La
figure 31 présente l’évolution de la résolution effective du CAN à MRC en fonction du
facteur de suréchantillonnage pour différentes valeurs du rapport de modulation 𝐾𝑚 :
71
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
Le filtre numérique passe bas joue un double rôle : le premier est celui de la démodulation
du signal modulé. La démodulation consiste à éliminer les termes haute fréquence de
l’équation 40 et ne laisser que le terme basse fréquence qui contient le signal original.
Le deuxième rôle du filtre numérique est la décimation qui permet de ramener le signal sur-
échantillonné à la fréquence de Nyquist ce qui est indispensable vue l’ordre de grandeur du
facteur de sur-échantillonnage.
Compte tenu de l’équation 40, le filtre doit posséder un gain constant dans sa bande. Ce gain
statique du filtre est fonction du paramètre 𝛼 du modulateur. Ce qui établit le lien entre les
deux blocs du convertisseur et favorise ainsi une optimisation globale du CAN.
72
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
1+α 1+α
Ka = ( ) Log ( ) (63)
2α 1−α
La bande passante
La bande passante du filtre doit être égale à la largeur de bande du signal analogique
𝐵 = [0, 𝐹𝑚𝑎𝑥 ]
La zone de transition
transition du filtre dépend du rapport de modulation 𝐾𝑚 ; plus il est grand, plus grande est
la zone de transition ce qui rend le filtrage plus facile.
La réponse en phase
Il est souhaitable que le filtre démodulateur possède une réponse en phase linéaire car une
réponse en phase trop non linéaire entraînerait une distorsion du signal due aux retards non
égaux que subiront les différentes harmoniques du signal modulant.
Il a été démontré dans (Mbihi, 2012) que pour une largeur de bande du signal modulant
modeste un filtre RII du second ordre suffit pour obtenir une qualité de signal démodulé
satisfaisante. Le filtre RII est obtenu par discrétisation du filtre analogique équivalent, en
utilisant une méthode de discrétisation. Le filtre analogique étant du second ordre, sa
fonction de transfert se présente sous la forme :
𝐾𝑓 𝜔𝑛 2
𝐻(𝑃) = (64)
𝑃2 + 2𝜀𝜔𝑛 𝑃 + 𝜔𝑛 2
2𝜋𝑓𝑐
𝜔𝑛 = (65)
√1 − 2𝜀 2 + √4𝜀 4 − 4𝜀 2 + 2
Une des méthodes de discrétisation des filtres analogiques la plus utilisée est la
transformation bilinéaire (ou transformation de Tustin) (Luo, 2003). La transformation
2 1−𝑧 −1
bilinéaire consiste à substituer p par ( )
𝑇𝑠 1+𝑧 −1
73
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
b2 z 2 + b1 z + b0
F(z) = (66)
z 2 + a1 z + a0
Par ailleurs, la résolution peut être exprimée par la relation (61) ci-dessous :
f ech
m(x, α) = log 2 ( ) (67)
1/Tm(x, α)
b2 + b1 + b0
Kf = Ka = (68)
1 + a1 + a0
74
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
1.5.4
En raison de la structure de traitement en série des signaux dans une topologie MRC, il est
plus facile de recourir à une approche d'optimisation décentralisée, pour optimiser
séparément le modulateur MRC en amont et le filtre numérique RII en aval, tout en tenant
compte de la contrainte d'égalité des gains statiques entre les deux blocs comme prédit par
(67) et (68).
La fonction rapport cyclique du MRC est fondamentalement non linéaire et dépend des
paramètres α, τ et E. Cette fonction admet cependant un point d’équilibre autour duquel
s’étend une grande zone de linéarité exploitable.
Par ailleurs, E admet une valeur limite fixée par les fabricants de circuits intégrés, on ne peut
donc pas envisager une variation infinie de sa valeur pour optimiser le modulateur. Le
problème d’optimisation se ramène uniquement aux paramètres 𝛼 𝑒𝑡 𝜏 pour une valeur de E
choisie. Nous pouvons ainsi étudier les variations du rapport cyclique en fonction de E (cf.
figure 23).
Puisque la fonction MRC exacte 𝑅𝑚 (u, α) donnée par (46) est non linéaire, l'extraction de
l'image numérique de u à partir de (49) à l'aide d'un solveur linéaire RII en aval peut être
assez précise dans la zone linéaire de 𝑅𝑚 (u, α) telle que modélisé par (46). Dans ce cas,
l'erreur d'approximation résultante est donnée par :
75
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
1
𝑅𝑚 (𝑢) ≅ 𝑅̃𝑚 (𝑢) = 𝑃𝑚 𝑢 + (70)
2
Avec
𝛼1 𝛼2
𝑑𝑅𝑚 (𝑢) 𝐸(1 − 𝛼12 )
𝑃𝑚 = | = (71)
𝑑𝑢 𝑢=0 ln (1 + 𝛼1 )
1 − 𝛼1
76
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
77
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
78
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
79
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
80
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
2.3.2.1 Lemmes
Trois importants lemmes ont été développés et sont à la base du problème d’optimisation du
modulateur MRC (Sonfack, 2017).
Lemme 1. : La fonction rapport cyclique non linéaire 𝑅𝑚 (x, α), modélisée par (46) est
monotone et strictement croissante dans l'espace modulant pour le paramètre α arbitraire.
Lemme 2. La fonction rapport cyclique non linéaire 𝑅𝑚 (u, α) modélisée par (46) est
Lemme 3 : La zone linéaire de 𝑅𝑚 (u, α), requise pour une grande précision et fiabilité est
Les preuves des Lemme 1 et Lemme 2 proviennent des résultats de l'analyse numérique
présentés sur la Fig. 32, où la monotonie croissante et les propriétés de linéarité locales
autour du point de fonctionnement (u = 0, 𝑅𝑚 (0, α) = 1/2), sont assez observables. De plus,
la figure 32 montre la nature réaliste du lemme 3 puisque la plage de l'erreur d'approximation
linéaire est une fonction croissante du modulant.
On remarque donc que sur l’intervalle [-5 5] l’erreur absolue est pratiquement nulle. La
figure 33 donne l’évolution de l’erreur relative sur l’intervalle [-5 5] ; il est intéressant de
noter que dans cet intervalle l’erreur relative maximale est de l’ordre de 0.01% et que la
plage de linéarité du rapport cyclique augmente avec E.
81
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
Théorème 1 - Monotonie de TOf(u, α): la durée de niveau haut du signal MRC TOn(u, α) dans
(73) est une fonction monotone de u et α sur la plage composite | u | <E et 0 <α <1.
Pour des valeurs définies de E, 𝑇𝑂𝑓 (𝑢, 𝛼) est soit strictement croissante soit strictement
décroissant suivant u et α.
Théorème 2 - Monotonie de 𝑇𝑂𝑓 (𝑢, 𝛼): la Durée niveau bas du signal MRC 𝑇𝑏 (𝑢, 𝛼)dans
(73), est une fonction monotone de x et α, pour | u | <E et 0 <α <1.
De même que TOn (u, α), TOf (u, α) est soit strictement croissante soit strictement décroissant
suivant u et α pour une valeur de E fixée.
Théorème 3 - Convexité de 𝑇𝑚 (𝑢, 𝛼): La période du signal MRC Tm (u, α): dans (Mbihi,
2012) (ou la fréquence MRC 𝑓𝑚 (𝑢, 𝛼) = 1/Tm (u, α); équivalent) est une fonction convexe
de x avec une valeur minimale (ou fréquence maximale 𝑓𝑚 (𝑢, 𝛼) ; équivalente) à u = 0 et se
comporte comme la branche croissante d'une fonction convexe de α dans la zone composite
𝑇𝑂𝑛 (𝑢, 𝛼) ; dans (73). La structure de ce gradient présentée en (Litwin, 2007) montre que
les deux termes (𝜕𝑇𝑂𝑛 (𝑢, 𝛼)) / ∂u et (𝜕𝑇𝑂𝑛 (𝑢, 𝛼))/ ∂α sont strictement positifs pour tout x
et α dans la zone composite | u | <E et 0 <α <1.
82
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
Par ailleurs, la relation (74) est utile pour la démonstration du théorème 3. En fait, il est clair
que (𝜕𝑇𝑚 (𝑢, 𝛼))/∂u dans (75) est positif si u est positif, négatif si x est négatif et 0 si u = 0.
Cette découverte est une preuve de la propriété de convexité de 𝑇𝑚 (𝑢, 𝛼)
𝑢
𝜕𝑇m (u, α) 8 𝜏𝐸 2 2
(𝐸 − 𝑢2 )
= 2
𝜕𝑢 (𝐸 − 𝑢2 ) (1 + 𝑎2 ) + 2 𝑎(𝐸 2 + 𝑢2 )
(1 + 𝛼) (75)
𝜕𝑇m (u, α) 4 𝜏𝐸 2
(1 − 𝛼)
= 2
{ 𝜕𝛼 (𝐸 − 𝑢2 ) (1 + 𝑎2 ) + 2 𝑎(𝐸 2 + 𝑢2 )
En outre, une analyse sous contraintes du signe de ( 𝜕𝑇𝑚 (𝑢, 𝛼) )/∂α pourrait prédire
idéalement que 𝑇𝑚 (𝑢, 𝛼) semble être une fonction convexe de α avec minimum à α = -1.
Cependant, puisque 0 <α <1, il est clair que la partie réaliste de 𝑇𝑚 (𝑢, 𝛼) est incluse dans la
branche croissante d'une fonction convexe idéale. Le théorème 3 est clairement prouvé
également. Comme implication du théorème 3, une valeur de fréquence minimale
𝐹𝑚𝑖𝑛 (𝑢, 𝛼) = 1/ 𝑇𝑚𝑎𝑥 (𝑢, 𝛼) est requise à la limite de modulation umax pour maintenir un
rapport de modulation approprié dans la plage[𝐹𝑚𝑖𝑛 (𝑢𝑚𝑎𝑥 , α), 𝐹𝑚𝑎𝑥 (𝑢, 𝛼)], compte tenu de
la bande passante modulante à traiter. Ces contraintes de fréquence sont analytiquement
modélisées par (76).
1
𝐹𝑚𝑎𝑥 (0, α) =
𝛼+1
2. 𝜏. ln ( )
1 − 𝛼1
1 (76)
𝐹𝑚𝑖𝑛 (umax , α) =
[((1 − 𝛼)umax )2 − ((𝛼 + 1)𝐸)2 ]
𝜏. ln(
{ [((1 − 𝛼)umax )2 − ((𝛼 − 1)𝐸)2 ]
83
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
Cette optimisation consiste à déterminer les valeurs optimales de α et τ qui minimise l’erreur
d’approximation ξ.
𝛼1
𝛼 ∗ = Max (𝑝𝑚 (𝛼1 ) = ) (a)
𝛼 1 + 𝛼1
𝐸(1 + 𝛼1 ) Logn ( )
1 − 𝛼1
𝑎𝑣𝑒𝑐
1
𝐹𝑚0 (𝛼1 ) = (b)
1 + 𝛼1
2. 𝜏ln( )
1 − 𝛼1 (77)
1
𝐹𝑚𝑖𝑛 (𝑥𝑚𝑎𝑥 , 𝛼1 ) = 2 2
(𝑐)
[((1 − 𝛼1 )𝑥𝑚𝑎𝑥 ) − ((𝛼 + 1)𝐸) ]
𝜏. 𝑙𝑛 ( 2 2 )
[((1 − 𝛼)𝑥𝑚𝑎𝑥 ) − ((𝛼 − 1)𝐸) ]
(c)
{ 0 < 𝛼1 < 1 (d)
Il s’agit donc d’un problème de maximisation sous contraintes de 𝑝𝑚 (𝛼) qu’on peut
facilement transformer en un problème de minimisation de −𝑝𝑚 (𝛼 ).
84
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
Pour un signal analogique de bande passante 10 kHz, nous allons déterminer les paramètres
optimaux 𝛼 et 𝜏 du modulateur. Pour garantir une bonne modulation, la plage de variation
de la fréquence du modulateur [𝐹𝑚𝑖𝑛 , 𝐹𝑚0 ] est fixée à [40𝑘𝐻𝑧, 172𝑘𝐻𝑧] . Ce choix
permet de fixer 𝐹𝑚𝑖𝑛 =2𝐹𝑙𝑖𝑚 donc la contrainte (77) est respectée. L’optimisation s’est faite
en se servant de la boîte à outil « Optimization Toolbox » de Matlab et plus précisément de
la fonction d’optimisation sous contrainte « fmincon ». Le code Matlab de la figure 37 a
permis de résoudre le problème d’optimisation dont la fonction coût à minimiser est 𝑃𝑚 à
minimiser sous contraintes.
function [ f ] = Pm( x )
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
E = 9.0;
f = -x(1)/(E*(1+x(1))*(log((1+x(1))/(1-x(1)))));
end
format long
options = optimset('Display','iter','algorithm','active-
set','PlotFcns',{@optimplotfval},'TolX',1e-6,....
'MaxFunEvals',100,'TolCon',1e-6,'MaxIter',100,'TolFun',1e-6);
[x,fval] = fmincon(@Pm,[0.9 1e-9],[],[],[],[],[0 0],[1 Inf],
@contrnew,options)
[c,ceq] = contrnew(x)
85
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
L’évolution de la fonction coût telle que présentée par la figure 39 montre que cette dernière
converge rapidement vers une valeur finie après dix itérations.
86
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
𝛼1 = 0.012366816265685
𝜏 = 0.000115510618677
𝑝𝑜𝑢𝑟
𝐹𝑚0 = 175𝑘𝐻𝑧
𝐹𝑚𝑖𝑛 = 40𝑘𝐻𝑧
{ 𝑥𝑚𝑎𝑥 = 8.0𝑉
Un filtre numérique est un outil de calcul permettant d'extraire des informations utiles et de
supprimer des composants indésirables des séquences d'entrée, et de générer simultanément
des séquences de sortie. Les filtres numériques peuvent être mis en œuvre sur des ordinateurs
à usage général ou sur un matériel spécifique.
En tant que l'un des domaines importants et fondamentaux dans le traitement du signal
numérique (DSP), les travaux de recherche sur les conceptions de filtres numériques ont
commencé dans les années 1960. Bien que de nombreuses méthodes de conception aient été
proposées jusqu'à présent, la recherche sur les conceptions de filtres numériques est toujours
active. Des techniques de conception plus efficaces et robustes sont proposées avec les
avancées du DSP et des théories mathématiques (Bellanger, 2006). D'un autre côté,
l'émergence de nouvelles classes de filtres numériques et de nouvelles cibles matérielles
telles que le FPGA stimule également le développement de conceptions de filtres
numériques.
En général, les filtres numériques peuvent être classés en deux catégories selon la durée de
leurs réponses impulsionnelles : la réponse impulsionnelle finie (FIR) et la réponse
impulsionnelle infinie (RII). Certaines personnes préfèrent une terminologie alternative,
87
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
dans laquelle un filtre numérique FIR est connu comme un filtre numérique non-récursif, et
un filtre numérique RII est appelé un filtre numérique récursif (Schweitzer, 2008).
Dans ces travaux, le filtre utilisé est un filtre RII dont la fonction de transfert est une fonction
rationnelle de 𝑧 −1 donnée par (78).
𝑃(𝑧) ∑𝑀𝑚=0 𝑏𝑚 𝑧
−𝑚
𝐻(𝑧) = = 𝑁 (78)
𝑄(𝑧) ∑𝑛=1 𝑎𝑛 𝑧 −𝑛
Comparés aux filtres numériques FIR, les filtres numériques RII peuvent atteindre de bien
meilleures performances avec le même ensemble de spécifications de conception.
Cependant, les conceptions de filtres RII font face à plus de défis en raison de la présence
du dénominateur Q (z) dans (78) (Vandenberghe, 2002). Les principales difficultés que nous
rencontrons sont les suivantes:
Puisque les pôles d'un filtre numérique RII peuvent être n'importe où dans le plan z, en
général, les problèmes de conception de filtre RII sont des problèmes d'optimisation non
convexe (Vandenberghe, 2002). En conséquence, il existe de nombreux optimums locaux
sur les surfaces d'erreur de performance, et des solutions globales optimales ne peuvent pas
être définitivement réalisées ou même vérifiées.
Si les réponses en phase (ou retard) sont également préoccupantes, les contraintes de stabilité
doivent être intégrées dans les procédures de conception. Cependant, lorsque l'ordre du
dénominateur M est supérieur à 2, le domaine de stabilité ne peut pas être exprimé comme
un ensemble convexe par rapport aux coefficients du dénominateur.
88
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
De nos jours, les conceptions de filtres RII peuvent être effectuées directement dans le
domaine temporel ou fréquentiel discret. Si seule la réponse en amplitude est préoccupante,
le problème de conception de filtre RII peut être simplifié dans une certaine mesure, puisque
la stabilité peut toujours être obtenue en retournant les pôles à l'intérieur du cercle sans
modifier la réponse en amplitude du filtre numérique RII obtenu. Jusqu'à présent, la
conception minimax pour l'approximation de la réponse en amplitude a été largement
étudiée. L'une des techniques les plus souvent utilisées consiste à approcher la réponse en
amplitude idéale au carré de H (z) H (𝑧 −1 ) (Luo, 2003). Ceci est principalement dû au fait
que, sous la forme d'une grandeur au carré, le problème de conception peut être simplifié en
un problème d'optimisation quasi-convexe.
Les théories mathématiques de l'optimisation convexe (Kale, 2004) ont été étudiées pendant
environ un siècle. Cependant, de nouveaux intérêts de recherche sur ce sujet ont été rajeunis
en raison des progrès des méthodes des points intérieurs développés dans les années 1980.
Récemment, de nombreuses applications d'optimisation convexe ont été découvertes dans
divers domaines des sciences et de l'ingénierie appliquée, telles que le système de contrôle
automatique, le traitement du signal, la conception de circuits VLSI, la conception de
structures mécaniques, les statistiques et les probabilités. L'utilisation de l'optimisation
convexe présente de nombreux avantages pour résoudre des problèmes d'ingénierie pratique.
Le plus important est que lorsqu'un problème est considéré comme un problème
d'optimisation convexe, toute solution locale est également un optimum global. En outre, un
problème d'optimisation convexe peut être résolu très efficacement et de manière fiable, en
utilisant des méthodes de point intérieur.
L’optimisation convexe a été largement utilisée pour résoudre les problèmes de conception
de filtres RII, en particulier dans une variété de méthodes de conception séquentielle.
89
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
La stabilité est une préoccupation critique dans un problème de conception de filtre RII.
Jusqu'à présent, de nombreuses contraintes de stabilité ont été proposées dans le domaine
fréquentiel. Cependant, certaines de ces contraintes de stabilité ne sont que des conditions
suffisantes, ce qui signifie que des filtres stables pourraient être exclus des ensembles
réalisables de problèmes de conception. Une contrainte de stabilité basée sur le principe de
l'argument de l'analyse complexe a été développée dans (Luo, 2003), ce qui est à la fois
suffisant et nécessaire. En tronquant les composants de la série Taylor d'ordre supérieur, la
contrainte de stabilité résultante devient une contrainte d'égalité linéaire. Cependant, à
travers un grand nombre de simulations, on constate que cette contrainte pourrait être
invalide dans certaines situations. Fort heureusement nous n’aurons pas à affronter cette
situation dans cette thèse compte tenu de l’ordre de notre filtre.
Lors de la conception des filtres RII, il est bon d'avoir suffisamment de connaissances sur
l'algorithme pour une conception de filtre efficace. Il est important d'avoir une approche
orientée système, afin que la conception puisse être faite de manière systématique et efficace
avec un coût minimum (Sonfack, 2017), (Ranjit, 2012). Parmi les différents types
d'algorithmes permettant de mettre à jour les coefficients des filtres RII, l’algorithme « Least
pth Norm » est le plus utilisé en raison de sa complexité de calcul réduite et de sa robustesse.
90
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
Mais la nécessité d'un filtre est de minimiser l'erreur entre la sortie réelle et le signal désiré
qui est obtenu efficacement au moyen de l'algorithme « Least Pth Norm ». Cette méthode
n'a pas besoin de mettre à jour la fonction de pondération car il s'agit d'une approche de
minimisation convexe sans contrainte. Cette approche améliore la qualité du filtre et fournit
des résultats concernant la causalité élevée et la stabilité à l'aide de diagrammes de pôle-
zéro. Cet algorithme fournit également un gradient plus important qui le fait converger plus
vite lorsqu'il est loin de l'optimum. Ensuite, des coefficients de filtre de « norme Pth » sont
appliqués pour réaliser les parties d'analyse. Pour la reconstruction, en utilisant un filtrage
inverse et une interpolation, le signal d'entrée est reconstruit pour calculer l'erreur de
reconstruction afin de vérifier la fonctionnalité du système. La procédure de conception
proposée peut être utilisée pour concevoir une grande variété de bancs de filtres d'analyse /
synthèse, avec différentes contraintes de structure et de performance. Cet algorithme fournit
une annulation de bruit exacte pour les structures de filtre d'ordre supérieur avec des valeurs
de normes accrues alors que l'algorithme LMS par exemple ne convient pas à l'ordre
croissant des filtres. Par conséquent, la conception de filtres d'ordre supérieur est rendue
plus facile avec un algorithme « Least pth Norm » avec une augmentation des valeurs
normalisées (Xilinx, 2012).
Le filtre numérique RII optimal pour les ondes MRC est donc conçu en utilisant la méthode
« Least pth Norm ». On rappelle que, pour un filtre RII idéal avec fonction de transfert H
(ω), et un RII numérique inconnu à déterminer, avec M zéros et N pôles, associés à la
fonction de transfert,
L'erreur de réponse fréquentielle globale suivant la norme 𝑝𝑡ℎ entre 𝐻(𝜔) et 𝐹0 (𝑧)définie
par :
91
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
1⁄
K−1 p
Par conséquent, le problème d'optimisation du filtre numérique RII est formulé comme suit:
En fait, (81) est un problème de minimisation convexe sans contraint pour un choix
approprié de p. En raison de la propriété de convexité, l'existence de l'ensemble optimal de
paramètres a et b est prévisible. Comme nous le verrons par la suite, une méthode de Newton
recomposée par les moindres carrés est habituellement implémentée dans l'analyse
numérique avancée telle que la boîte à outils d'optimisation MATLAB, pour une résolution
rapide de (81) et (82).
Trois étapes de raisonnement pertinentes sont utiles pour la conception du filtre RII optimal.
Filtre RII non optimal du second ordre: Afin d'apprécier le facteur d'impact de la norme Pth
utilisée dans cette thèse, les points de fréquence de l'idéal H (ω) sont choisis dans la forme
discrète d'un filtre second ordre. Sa fonction de transfert continu H0 (s) et sa fonction de
transfert discret H0 (z) (obtenue par la méthode de discrétisation de Tustin) sont donnés
respectivement par (83) et (84).
10300
H0 (s) = (83)
0.0000484s2 + 0.2684s + 10000
92
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
b2 z 2 + b1 z + b0
H(z) =
z 2 + a1 z + a0
with
b2 = 8.263545624646787e−08 (84)
b1 = 1.652709124929357e − 07
b0 = 8.263545624646787e − 08
a1 = −1.999777875893610
a0 = 0.9997782064354348
Conception du filtre RII optimal du second ordre: Le deuxième schéma d'optimisation est
modélisé par (82), et la fonction de coût ‖E(K, a, b)‖p est définie selon (83). La solution
optimale qui en résulte a été calculée avec succès en utilisant l'outil iirlpnorm disponible
dans la boîte à outils d'optimisation MATLAB. Un échantillon de formes de réponse en
fréquence de filtres impliqués à l'état de conception est tracé sur la figure 40, où l'optimalité
de la conception est tout à fait apparente.
Sur la figure 40 les courbes (0), (1) et (2) représentent respectivement les réponses du filtre
idéal, du filtre optimal et du filtre de base. Le filtre de base ayant été utilisé dans la littérature
(Moffo, Thèse 2016), (Moffo, 2014), nous avons ainsi démontré la puissance de
l’optimisation. En effet si nous appelons 𝑎0 l’amplitude de la réponse du filtre idéal, 𝑎1 celle
du filtre optimal et 𝑎2 la réponse du filtre de base, on peut alors déterminer les erreur
𝑎1 −𝑎0 0.8−1 𝑎2 −𝑎0
relatives comme suit : 𝜀1 = ≈ 𝑠𝑜𝑖𝑡 𝑒𝑛𝑣𝑖𝑟𝑜𝑛 25% et 𝜀2 = ≈
𝑎1 0.8 𝑎2
2.7−1
𝑠𝑜𝑖𝑡 𝑒𝑛𝑣𝑖𝑟𝑜𝑛 62.96%
2.7
On peut ainsi mesurer l’impact de l’optimisation sur la qualité du résultat attendu. Par
ailleurs, les graphes 40(a) et 40(b) représente la même réponse fréquentielle sur deux
systèmes d’unités différentes ( 𝜋. 𝑟𝑎𝑑 ⁄𝑇 𝑒𝑡 𝐻𝑧).
93
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
Figure 40: Conception du filtre numérique RII optimal à partir de la réponse fréquentielle
d'un filtre non optimal
Suivant cette conception, la fonction de transfert discret du filtre RII optimal obtenu est
donnée par:
94
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
b2 z 2 + b1 z + b0
F(z) =
z 2 + a1 z + a0
avec
b2 = 8.530034325497877e − 08 (85)
b1 = 1.706006865099575e − 07
b0 = 8.530034325497877e − 08
a1 = −1.999226624437879
a0 = 0.9992269656392521
Suite à (57), le système CAN basé sur MRCO, conçu en profondeur dans ce chapitre, a été
implémenté dans l’environnement de Simulink comme indiqué dans le modèle virtuel (voir
Figure 41). Il consiste en un modèle visuel du bloc MRC optimal tel que représenté sur la
figure 41(a), correspondant au modèle dynamique du premier ordre (57), et une fonction de
transfert discrète F (z) du filtre RII numérique optimal de deuxième ordre.
95
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
Nous avons étudié en profondeur la technique de CAN par MRCO. Le principe de base de
la modulation de rapport cyclique a été présenté ainsi que les propriétés spectrales du signal
modulé MRC. Des lemmes et des théorèmes morphologiques pertinents, suivis de
simulations virtuelles dans l’environnement MATLAB / Simulink, ont été utilisés, afin de
montrer la faisabilité et de vérifier l'optimalité des systèmes CAN basés sur la MRCO. Il
sera également appréciable de construire un véritable prototype du CAN basé sur la MRCO,
pour les systèmes d'instrumentation sur cible FPGA en électronique industrielle. Ces
extensions et nouvelles questions seront au cœur de la prochaine section.
Le but de cette section est de développer un nouveau cadre basé FPGA pour les processus
de co-simulation logicielle-matérielle d'une architecture CAN-MRCO (virtuellement
modélisée précédemment). Les résultats de co-simulation obtenus dans cette partie seront
très pertinents, pour une évaluation réaliste des exigences techniques lors de l'utilisation de
la technique CAN-MRCO sur cible FPGA dans les systèmes d'instrumentation électroniques
embarqués. Le contenu restant de la section est organisé en sous-sections supplémentaires.
Le cadre de notre travail se limite pour l’instant au prototypage rapide pour l’implantation
du filtre numérique décimateur RII sur FPGA. Nous proposons une alternative de co-
conception. L’idée est de combiner les avantages qu’offrent l’interface graphique
Matlab/simulink et l’ISE de Xilinx : Vivado 2017.2 pour la co-simulation matérielle des
FPGA.
96
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
car la majoration du coût en surface relatif à l’usage d’une technologie reconfigurable ainsi
que l’absence totale d’outils étaient des handicaps difficilement surmontables. Aujourd’hui,
les technologies silicium ont atteint des capacités d’intégration inconcevables il y a encore
quelques années, et les outils existent (Sonfack, 2018). Les FPGA sont devenus des éléments
incontournables des flots de conception de circuits numériques complexes. Leur apport au
niveau de la phase de prototypage des systèmes en cours de conception est indéniable, et les
derniers modèles de FPGA, (Xilinx, 2008) affichent des capacités de plusieurs millions de
portes logiques équivalentes – de quoi envisager la réalisation de systèmes avec une
complexité conséquente.
Le flot de conception d’une application sur FPGA est habituellement réalisé en plusieurs
étapes. Tout d’abord, les spécifications algorithmiques permettent de définir l’architecture
par une démarche d’adéquation algorithme-architecture. On décrit ensuite cette architecture
avec le langage HDL. On peut ensuite simuler le système et le modifier si nécessaire.
Viennent ensuite les phases de synthèse et de placement routage, qui consistent à déterminer
quels éléments vont effectivement être utilisés dans le FPGA et comment ils vont être
connectés entre eux, à quel endroit du composant ils seront placés etc.… (Sakhare, April
2014) Chaque phase nécessite une vérification du bon timing et si nécessaire
des modifications (Brost, 2011).
97
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
Dans cette thèse, nous avons opté pour la co-conception Matlab/Simulink/ Vivado (Xilinx)
suivant le flot de conception présenté à la figure 42
Le tableau III présente quelques outils permettant un partitionnement et/ou une cosimulation
hardware/software à partir d’une spécification au niveau système. Ces outils réalisent
généralement le co-design des systèmes embarqués en trois étapes.
98
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
l’implémentation finale (Zhang, 2003). Dans cette description, on doit pouvoir spécifier des
tâches qui communiquent entre elles via des signaux.
Dans un deuxième temps, on effectue le partitionnement ainsi que le choix des protocoles
de communications. Lors de cette phase, le choix est fait selon la cible matérielle
d’implémentation du mode de traitement et le logiciel ou de l’utilisation d’un IP Core
réalisant le traitement souhaité.
Les partitions obtenues doivent ensuite être vérifiées et validées avant de passer à la phase
de synthèse et de mise en œuvre. Une analyse des performances est également effectuée à
cette étape. Elle consiste à mesurer les taux d’occupation des mémoires embarquées, des
charges des cœurs de processeur (s’il y a lieu), de l’activité des transitions sur les bus et
enfin de la dissipation d’énergie du matériel dédié …
Compagnie/Outils Fonctionnalité
Cadence Design Systems / Cierto Virtual Diagramme de spécification
Component Co design VCC comportemental, Diagramme de
l’architecture, Processus d’allocation,
Modèle de performances pour la
simulation, Simulateur, Environnement
d’analyse, Passerelle vers des outils
d’implémentation.
Xilinx / Forge Générateurs C/C++, Java vers Verilog,
Personnalisation des contraintes,
Vérification, simulation, caractérisation,
Partitionnement, Allocation HW/SW,
parallèle, pipeline, distribué.
99
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
Le recours au prototypage est souvent impératif et pose souvent des problèmes non
négligeables. Cela implique d’avoir un exemplaire du processeur définitif, de l’interfacer
sur la plateforme de prototypage et de gérer la synchronisation entre logiciel et matériel par
l’intermédiaire d’une logique additionnelle qu’il faut également concevoir.
100
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
Nous décomposons le flot de conception proposé en quatre étapes principales que nous
détaillons par la suite :
101
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
rapide des algorithmes de traitement de signal. Il combine les capacités et les toolbox fournis
par Matlab avec la puissance de langage de description matérielle comme VHDL. Il permet
de simuler et de tester en même temps les modules logiciels et matériels, donc applicables
comme un environnement de co-conception. Des blocs graphiques correspondant aux tâches
de traitement peuvent être soit spécifiés par le fichier Matlab (haut niveau d’abstraction),
soit modélisé par XSG hardware blocs en utilisant la librairie d’IP de Xilinx. Une fois le
système testé, les blocs matériels peuvent être synthétisés et téléchargés sur un composant
programmable comme un FPGA.
102
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
La conception du CAN-MRCO basée sur FPGA est réalisée sous l'environnement Simulink,
selon le diagramme schématique présenté sur la figure 40. Le sous-système en amont
représenté sur la figure 40 (a) est un modèle Simulink du circuit MRC modélisé par (46),
avec une entrée modulante analogique 𝑋𝑠 ≡ x comme le montre la Fig. 43 (a), et avec une
sortie de modulation échantillonnée 𝑥𝑚 . Ensuite, le sous-système en aval présenté à la Fig.43
(b) est modélisé comme un filtre RII numérique modélisé par (55), qui est implémenté en
utilisant des ressources de construction visuelles et des blocs de configuration disponibles
dans le System Generator de Xillinx. Le filtre RII est implémenté selon l'approche de forme
directe. La mise en œuvre requiert seulement 5 multiplicateurs, 5 registres et un arbre
additionneur, bien que la pleine résolution soit maintenue à travers les multiplicateurs et
l'arbre d’addition. De plus, la taille des données ne peut pas croître indéfiniment, et donc un
bloc de quantification est placé à la sortie de l'additionneur pour réduire la largeur des
données. A ce stade, il convient de noter que l'ensemble des schémas présentés sur la figure
43 est testé sur la largeur de bande modulante suivie par la création et la configuration d'un
bloc hwcosim supplémentaire pour d'autres exigences de co-simulation matérielle. De plus,
le code VHDL pour le FPGA est généré comme module d'entrée dans l’environnement
Vivado de Xilinx, dans lequel le diagramme RTL cible de haut niveau associé est organisé
en 9 modules de traitement numérique représentés sur la figure 59.
103
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
C’est la première étape de flot de conception d’ISE. Dans cette étape, on crée les
fichiers sources en se basant sur l’architecture à concevoir. Ces fichiers sources vont
104
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
Synthèse (Synthesis) :
Durant l’étape de synthèse le code VHDL (ou VERILOG, etc.) devient un fichier
NETLIST. Cette dernière est la donnée d’entrée pour la prochaine étape.
Implémentation (Implementation) :
Le fichier NETLIST (résultat après synthèse) (fichier logique) va être convertit en fichier
physique durant l’étape d’implémentation. Ce qui nous permet de faire le téléchargement
de la description dans le circuit cible. Les étapes d’implémentation dépendent du circuit
choisi (FPGA ou CPLD).
Vérification (Verification )
Un échantillon des formes d'ondes correspondantes montrées sur la figure 58 est créé et
bien testé aussi, dans le but d'une meilleure inspection et validation. La dernière étape
du processus de conception basé sur FPGA repose sur la production du fichier FPGA
intégré à exécuter pendant le temps de co-simulation logiciel-matériel
Pour mettre en œuvre le filtre de décimation dans Zynq 7000, le code VHDL efficace a
été généré directement à partir de la conception du filtre de décimation dans le générateur
de système Xilinx.
105
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
La co-simulation est une technique moderne puissante, largement utilisée de nos jours pour
tester rapidement et évaluer au moment de la conception, les performances prédites et
réalistes d'un système basé sur DSP (Gordan, 2017), (Faghani, 2015). Un environnement de
co-simulation nécessite un simulateur virtuel basé sur PC pour l'application DSP (traitement
numérique de signal), et une carte DSP cible équipée de la version intégrée du code
d'application à exécuter en temps réel. Les cartes PC et DSP sont connectées via un câble /
des connecteurs de communication appropriés (USB, Ethernet ou JTAG).
2.7 Conclusion
Des lemmes et des théorèmes morphologiques pertinents, suivis par la simulation virtuelle
dans des cadres MATLAB / Simulink, ont été utilisés dans ce chapitre, afin de montrer la
faisabilité et l'optimisation des CAN à architecture MRCO. Les hautes performances offertes
sous 5 kHz de bande passante modulante pourraient devenir insuffisantes pour les domaines
d'application des CANs avec des exigences de conversion gourmandes. Dans de tels cas, il
peut être nécessaire de recourir à une fréquence d'échantillonnage plus élevée ou
d'augmenter l'ordre du filtre RII numérique. Heureusement, le schéma d'optimisation
106
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO
107
RESULTATS DE PROTOTYPAGE DU NOUVEAU CAN-MRCO ET DISCUSSION
3.1 Introduction
Le présent chapitre présente la réalisation d’un prototype de CAN à MRCO sur cible FPGA;
il s’agit pour nous de réaliser un système d’acquisition sur basé FPGA ayant comme élément
central, le CAN à MRCO que nous avons conçu au chapitre précédent. Le système
d’acquisition est constitué d’une partie matérielle qui comprend un modulateur en rapport
cyclique et la carte de développement Zynq7000 Digilent de Xilinx. la partie logicielle
permet la visualisation des échantillons acquis ainsi que leur stockage au format .m de
Matlab pour un usage ultérieur.
108
Ordinateur PC
Oscilloscope
numérique
Générateur de
fonction
109
Tableau IV: Coût estimatif des équipements matériels et logiciels
110
Oscilloscope, 2 Pour la visualisation des
voies, AC 100- 600.000FCF Fonds signaux produits
240V, 45- A propre
440Hz
CHUNGPA
0605B-
14080009
Générateur de Pour la génération des
fonction, AC modulants
220V-50Hz, 600.000FCF Fonds
0.25A, A propre
CHUNGPA
CPM-2005C
Labo Pour les tests avant
électronique 320.000FCF Disponible réalisateur de la maquette
analogique, A au Labo
CHUNGPA
CPS-3032
Modulateur 50.000FCFA Fonds
MRR propre
111
Matlab/Simulin Pour l’analyse, la
k 2016b simulation fonctionnelle et
Education 335.000FCF Disponible la cosimulation matérielle
A au Labo
Total 3.940.000FCFA
Afin de valider les modèles proposés, nous avons effectué plusieurs simulations dans
l’environnement Simulink sur le modèle optimal. Une manipulation post-traitement des
données a été faite pour obtenir FFT, SNR (rapport signal-sur-bruit), et d'autres
spécifications du CAN, le tableau V comporte un résumé des valeurs des paramètres
optimaux utilisés dans la modélisation comportementale du CAN-MRC. La conception du
modèle a été validée par la reconstruction de la sortie numérique dans sa forme originale, le
modèle a été testé avec un signal sinusoïdal, comme le montrent les Figure 46 et 47
La Fig. 50 montre que les signaux d'entrée et de sortie du CAN évoluent à la même
fréquence, avec un léger effet de glissement observé entre leurs amplitudes. Il pourrait être
éliminé si un filtre RII numérique de troisième ordre est utilisé. La figure 44, présente les
courbes de variation du rapport cyclique, son aproximation linéaire en fonction des
paramètres optimaux ainsi que l’erreur d’approximation.
Les résultats présentés ici montrent que le nouveau CAN proposé basé sur la MRCO offre
des performances élevées dans les limites de 3 KHz de bande passante modulante, par
exemple 57 dBc de SINAD (Signal-bruit et distorsion), 58 dB de SFDR (Spurious Free
Dynamic Range) et -80 dBc de THD, tout en maintenant une résolution minimale du CAN
de 12 bits.
112
3.4.1 Prototypage de la partie matérielle du système d’acquisition à MRC
Le résultat de simulation est présenté à la figure 50 permet de voir que le signal d’entrée
sinusoïdal a été transformé en une onde rectangulaire dont la fréquence est égale à la
fréquence centrale du modulateur et dont le rapport cyclique encapsule le modulant.
Paramètre Valeur
Rapport de modulation 34
Rapport de sur-échantillonnage 2500
Constante de temps 𝜏 = 0.000115510618677
Paramètre 𝛼 𝛼1 = 0.012366816265685
Fréquence centrale du modulateur 172kHz
Largeur de bande du signal modulant 5kHz
113
Plage de tension d’entrée [-2 2]
Tension d’alimentation ±9𝑉
114
Figure 47: (a) : Variations du rapport cyclique optimal, (b) : de l’erreur de linéarisation
115
3.4.1.1 Prototypage du filtre décimateur
Paramètre Valeur
Nature du filtre Filtre RII de 2nd ordre
Fréquence d’échantillonnage 25Mhz
Fréquence de coupure 10kHz
Gain statique 1.072
Coefficient d’amortissement 0.9998
La figure 48 nous donne respectivement les réponses fréquentielles des filtres de RII de
second ordre non optimal, idéal et optimal obtenu par obtenu par transformation
bilinéaire du filtre analogique. On y voit bien que le filtre optimal suit asymptotiquement
la réponse idéale contrairement au filtre non-optimisé.
116
Figure 48: Réponses fréquentielles des filtres RII non optimal, idéal et optimal
117
Figure 49: Entrée analogique et sortie reconstruite du modèle optimal.
On peut constater qu’en environnement virtuelle, l’erreur entre le signal original analogique
et son image numérique exige bien et varie entre [-0.032 0.032] pour un signal sinusoïdal
d’amplitude 1V et de fréquence 1kHz.
118
Figure 51: Graphes des signaux modulant carré et image numérique
Les graphes des figures 51 et 52 représentent respectivement les évolutions des signaux
modulant carré et de sortie numérique et l’erreur entre les deux. Tout comme l’entrée
sinusoïdale, la variation de cette erreur montre que la sortie du convertisseur se rapproche
bel et bien du signal d’origine donc la perte d’information n’est pas considérable.
119
Figure 53: Simulation du CAN MRCO pour une entrée 1Khz et 1Vpp
120
(a)
(b)
Comme on pouvait s'y attendre, la non linéarité n’a pas un impact significatif sur le signal
de sortie du CAN MRCO. Il est évident qu’en présence des bruits ajoutant des erreurs et
des variations au modulant, la puissance de la fondamentale n’est pas perturbée.
La Figure 55 montre les profils simulés DNL et INL d'un CAN MRCO 12 bits.
121
12 bits
(a)
(b)
(a) DNL
(b) INL
Paramètre Valeur
INL -0.3/+0.3
DNL -0.3/+0.2
SNR 63.73 dB
Résolution 12bits
SFR 46.96dB
122
(a)
(b)
123
3.4.2 Résultats Expérimentaux du CAN-MRCO
124
fréquences se conservent et que le modulant et le signal de sortie du CAN sont parfaitement
en phase.
(a)
(b)
125
Une seule broche du FPGA est utilisée pour ces résultats, laissant entrevoir la possibilité
d’une extension multicanal sans congestion des broches du FPGA. Par ailleurs, une
superposition des trois signaux (modulant, sortie matériel et sortie simulation virtuelle)
donne permet d’estimer l’erreur entre ces trois courbes et d’apprécier la qualité du
convertisseur ainsi conçu comme le montre la figure 59 ci-dessous.
126
Contrairement à la simulation virtuelle, la simulation matérielle présente une erreur plus
élevée : entre [-0.06 0.06]. Ceci peut s’expliquer par aux perturbations de l’environnement
ou au matériel lui-même.
(a)
(b)
127
Pour mettre en œuvre le filtre de décimation dans Zynq7000, le code VHDL efficace a été
généré directement à partir de la conception du filtre de décimation dans le System generator
de Xilinx. L’utilisation de Xilinx ISE pour simuler le code VHDL générant un filtre de
décimation pour le signal analogique 10kHz dans Xilinx ISE. La simulation est illustrée à la
figure 57. Le résultat de la simulation Xilinx ISE est exactement le même que celui de
Matlab Simulink. La figure 58 montre un résumé de la récupération
128
Figure 62: Environnement de simulation matérielle Vivado
129
Figure 63: Synthèse matérielle du filtre RII
130
Figure 64: Etape d'implémentation du filtre RII
131
Figure 65: Formes d'onde du CAN-MRCO à base de FPGA générées sous Xilinx ISE.
132
133
Figure 66: Schéma RTL du filtre RII
134
Figure 67: Rapport d’utilisation des ressources du FPGA
Laptop LG Corei5
Oscilloscope
FPGA Zynq7000
Générateur
de fonctions
Modulateur MRC
135
Pour prouver la grande précision du convertisseur analogique-numérique ainsi réalisé,
l’évaluation du paramètre SNR de ce dernier est nécessaire. Le tableau ci-dessous présente
les relevés de co-simulation matérielle et par simulation virtuelle de l’amplitude du signal
de sortie du convertisseur et l’erreur de conversion permettant de calculer le rapport signal
sur bruit. Ce tableau montre que le SNR est compris dans l’intervalle [28 64] pour une bande
passante modulante de [0 3kHz]. La figure 58(a) présente l’évolution du rapport signal sur
bruit (SNR), la figure 58(b) quant à elle présente l’évolution de la SFDR et enfin la figure
64 présente le spectre d’amplitude du signal de sortie du convertisseur analogique-
numérique à MRCO.
Fs(Hz) ̂(V)
𝒙𝒂 ̂𝒏 (𝑽)
𝒙 𝜺 = |𝒙 ̂𝒏 |
̂𝒂 − 𝒙 ̂𝒏
𝒙
𝑺𝑵𝑹 = 𝟐𝟎𝐥𝐨𝐠 ( )
𝜺
EXP virtuelle EXP virtuelle EXP Virtuelle
10 1 0.9961 0.9956 0.0039 0.0044 48.178 47.13
50 1 0.99605 0.9961 0.00395 0.0039 48.068 47.81
100 1 0.9951 0.9956 0.0049 0.0044 46.196 47.13
200 1 0.9956 0.995 0.0044 0.005 47.13 47.36
500 1 0.9971 0.9968 0.0029 0.0032 50.75 49.89
1000 1 1.00047 1.0005 0.00049 0.0005 66.19 66.02
1500 1 1.0003 1.00031 0.0003 0.00031 70.45 63.
2000 1 1.0025 1.0035 0.0025 0.0035 52.04 49.11
2500 1 1.014 1.019 0.014 0.019 37.077 34.42
3000 1 1.018 1.028 0.018 0.028 34.89 37.077
3500 1 1.02 1.023 0.02 0.023 33.97 32.76
4000 1 1.027 1.031 0.027 0.031 31.37 30.17
5000 1 1.031 1.0321 0.031 0.0321 30.17 29.869
La figure 64 montre le spectre de sortie du filtre de décimation, il est clair que le filtre de
décimation est capable de supprimer efficacement le bruit hors bande et augmente le SNR.
Le CAN complet est capable d'atteindre une résolution de 12 bits et un rapport signal sur
bruit de 70,45dB.
136
La densité spectrale de puissance de sortie (PSD) du filtre de décimation à l'aide de l'outil
générateur de système Xilinx était exactement la même que dans MATLAB Simulink,
comme le montre la figure 64.
3.5 Discussion
Le tableau IX liste les résultats trouvés dans la littérature ainsi que les performances du
convertisseur étudié dans cette thèse en vue d’une comparaison. Le CAN-MRCO présenté
dans cette thèse offre certains avantages comparés à ceux déjà présents dans la littérature.
En prenant les travaux présentés par Jean MBIHI et al (Mbihi, 2012a), on note une nette
amélioration du rapport signal sur bruit et donc de la résolution qui passe de 8 bits à 12bits
(pour ces travaux). Par ailleurs, pour une même fréquence d’échantillonnage et pour le
même gabarit de filtre, les performances de notre CAN sont meilleures par rapport à celles
du convertisseur numérique-analogique par MRC présenté par Moffo (Moffo, Thèse 2016)
à l’instar de la résolution, du SFDR et du THD. Cette amélioration est due à l’optimisation
globale dont a fait l’objet le convertisseur présenté dans cette thèse. Pour obtenir les
performances similaires à celles obtenues dans cette thèse, Mark S. Manalo et Ashkan
Ashrafi dans (Ashrafi, 2012) ont utilisé une fréquence d’échantillonnage de 100MHz soit 4
fois celle utilisée dans cette thèse avec la technique sigma-delta. De plus, la structure du
filtre utilisé dans ces travaux est très complexe ce qui entraîne une consommation
surfacique importante.
137
Tableau IX: comparaison du CAN-MRCO proposé avec les travaux présentés dans la
littérature
3.6 Conclusion
Dans ce chapitre, nous avons apporté notre contribution à l’implantation de l’étage de
reconstruction numérique. Nous avons fait un travail d’adéquation algorithme-architecture
à l’aide du flot de conception dépendant de la cible FPG (SysGen pour Xilinx), et permet la
génération d’une description VHDL standard pouvant être utilisée sur n’importe quelle
cible. L’optimisation de l’architecture s’est effectuée selon un certain nombre de contraintes
liées au modulateur et à la surface pour être sûr de pouvoir utiliser la cible à notre disposition.
Le plus intéressant a été de réaliser ce travail en optimisant le codage de la virgule fixe sur
un nombre de bits plus faible et surtout d’opter pour une architecture avec un chemin critique
plus court.
138
CONCLUSION GÉ NÉ RALE
CONCLUSION GÉ NÉ RALE
Après optimisation, les simulations virtuelles ont été effectuées dans l’environnement
Matlab/Simulink en vue de la validation du modèle virtuel ainsi conçu. Par ailleurs,
l’objectif principal de cette thèse étant l’implémentation de cette nouvelle architecture sur
une cible numérique en l’occurrence le FPGA, un modèle de CAN-MRCO pour FPGA a été
déduit du modèle Simulink et simulé grâce à la Toolbox de Xilinx SysGen. Le flot de co-
conception de l’architecture pour cible FPGA est discuté et implémenté. Il en découle la
génération du bloc de co-simulation matérielle permettant une visualisation temps réel de la
réponse du convertisseur.
Dans le troisième chapitre l’environnement de travail a été présenté ainsi qu’une estimation
du coût de mise en œuvre. Les résultats de co-simulation matérielle sont présentés ainsi
139
qu’une caractérisation du nouveau modèle de convertisseur (SNR, le SFDR, et le spectre
d’amplitude du signal de sortie).
Un CAN à modulation de rapport cyclique optimal complet est conçu en utilisant un simple
circuit modulateur, auto-oscillant et un filtre de décimation numérique RII de second ordre.
Cette architecture simple réduit le nombre de multiplication qui nécessite une très grande
consommation surfacique pour le matériel et permet de réduire la complexité matérielle du
filtre. Le filtre numérique de décimation pour convertisseur A/N à MRCO est implémenté
avec succès dans le FPGA de Xilinx de la serie Zynq 7000. Ce CAN donne une résolution
globale d’environ 12 bits, et un SNR de 70,45 dB et un SFDR de 58,76 dB.
Au vue de ces résultats obtenus en exploitant les vertus du modulateur MRC, nous pouvons
dire que les objectifs définis pour cette thèse ont été entièrement couverts. La mise en œuvre
sur cible FPGA du CAN-MRCO étant effective, il serait intéressant pour les futurs travaux
de d’implémenter un prototype multicanal de ce convertisseur et d’essayer de monter en
fréquence pour évaluer les limites de cette technique en termes de fréquence
d’échantillonnage et améliorer ainsi la résolution du signal du convertisseur.
140
PERSPECTIVES
PERSPECTIVES
Comme perspectives pour notre travail,
141
Bibliographie
Bibliographie
Dewangan, A. K. et al. (2012). PWM based automatic closed loop speed control of DC
motor. International Journal of engineering trends and technology, 3(2), pp. 110-112.
Allier, E. (2003). "Interface analogique numérique asynchrone: une nouvelle classe de
convertisseurs basés sur la quantification du temps, Grenoble, France: Thèse Doctorat,
Institut National Polytechnique de Grenoble.
Altera (2005). http://www.altera.com.. [En ligne] [Accès le 6 Mars 2017].
Anon. (1996) IEEE International Solid-State Circuits Conference.. An 80 MHz 80mW 8b
CMOS Folding A/D". 318-319, s.n.
Anon. (1990), A 400 MHz Input Flash Converter with error correction. IEEE Journal of
Solid-State Circuits, pp. 184-191.
Obono, B. A., Nneme Nneme, L. and Mbihi J. (2018), Novel sine Duty-cycle Modulation
Control Scheme for Photovoltaic Single-Phase Inverters. WSEAS TRANSACTIONS ON
CIRCUITS AND SYSTEMS, Volume 17.
Ashrafi, M. et al. (2012), Implementing Filters on FPGAs. Department of Electrical and
Computer Engineering Real-Time DSP and FPGA Development Lab éd. San Diego: San
Diego State University.
Bellanger, M. (2006), Traitement numérique du signal Théorie et pratique. Paris: Dunod.
Bourgeron, R. (1986), 1300 Schémas et Circuits É lectroniques. s.l.:Radio.
Braz, F. T. (2000), Convertisseur analogique numérique du type sigma delta pour
applications en radiocommunications (ENST). s.l.:Broché.
Brost, V. et al. (2011), Modular VLIW processor based on FPGA for real-time image
processing. Bordeaux, s.n.
Lopez-Ongil, C. et al. (2004), Fpga implementation of biometric authentication system
based on hand geometry, In Proceedings of Field Programmable Logic and Application
(FPL). s.l., s.n.
Chang, R. L. (2013), Hardware-software co-simulation of downlink LTE-Based
Transceiver. Hong-Kong, s.n.
Colavin, D. R. (2002), A video compression case study on a Reconfigurable VLIW
Architecture. Paris, s.n.
Dangwe, S. Y. P. , Mbihi, J. , Djallo, H. and Effah, J. (2017), Virtual digital control
scheme for duty-cycle modulation Boost converter. Journal of computer science and
control systems, 10(2), pp. 22-27.
142
Bibliographie
Das, S. K. and. S. H. (2012), FPGA-based hardware efficient digital filter for Sigma-delta
ADC. International Journal of soft computing and engineering, 1(6), pp. 129-133.
Daugherty, K. (1991), Pulse width modulation A/D conversion techniques COP800 family
microcontrollers - application note 607. s.l.: National Semiconductor.
Zhang, D. et al. (2003), Online palmprint identification. IEEE Trans. Pattern Anal. Mach.
Intell, 25(9), p. 1041–1050.
Yang, F and M. P. (2003), “Implementation of a RBF neural network on embedded
systems : Real time face tracking and identity verification. IEEE Transactions on Neural
Networks, 14(5), pp. 1162-1175.
Faghani, M. et al. (2015), Integration of Sigma-delta ADC with sinc filter on FPGA.
Journal of engineering and applied science, 10(2), pp. 16-21.
ferne (1981), Conversion analogique-numérique et numérique-analogique ", 108 p. s.l.:s
de l’usine, 1981.
Eason, G. et al. (2005), “Comparison of Sigma-Delta converter circuit architectures in
digital CMOS technology,” Journal of circuits, systems ans computers. Journal of circuits,
systems ans computers World scientific publishing company, 14(3), pp. 515-532.
Gordan, R. D. et al. (2017), FPGA design and implementation of a rangefinde. Journal of
electrical and electronic engineering, © Academy of Romanian scientists, 10(2), pp. 05-
13.
Gray, N. (2008), ABCs of ADCs : Analog-to-digital converter basis, 64 Pages.
s.l.:National semiconductor.
Holtz, J. (1992), Pulse width modulation - A survey. transactions on industrial electronics
IEEE, 39(5), pp. 410-420.
Inose, H. et al. (1962), A telemetering system by code modulation, delta-sigma
modulation. IRE Trans. on Space, Electronics and Telemetry, Volume 8, pp. 204-209,.
You, J., Wang, L. and Zhang, D. (2002), Hierarchical palmprint identification via multiple
feature extraction. Pattern Recognition, 35(4), pp. 847 – 859,.
Kale, K. A. (2004), DSP system design complexity reduced IIR filter implementation for
practical applications. London: Kluwer academic publishers.
Kornfeld, N. D. (2005), Comparison of Sigma-Delta converter circuit architectures in
digital CMOS technology. Journal of circuits, systems ans computers, 14, ( 3), pp. 515-
532.
Litwin, L. (2007), FIR and IIR digital filters, Digital signal processing : A hardware based
approach. middle Atlantic, s.n.
Luo, Z. (2003), Applications of Convex Optimization in Signal Processing and Digital
Communication. In Mathematical programming, Volume 97, pp. 177-207..
143
Bibliographie
Faghani, M. et al. (2015). Integration of Sigma-delta ADC with sinc filter on FPGA.
Journal of engineering and applied science, 10(2), pp. 16-21.
Marktani, M. A. (2016) Les convertisseurs analogique/numérique dans les capteurs
d'image CMOS: Proposition d'une nouvelle architecture. s.l.:Broché.
Martin, D. A. J. (1996), Analog Integrated Circuit Design. John Wiley & Sons, Inc: s.n.
Matworks, 2008. http://www.mathworks.com.. [En ligne] [Accès le 25 juin 2017].
Mbihi, J. and Motto, A. (2012), Instrumentation Virtuelle assistée par ordinateur. Paris:
Ellipse.
Mbihi, J. ,. Ndjali, B. and Mbouenda, M. (2005), Modelling and Simulation of a Class of
Duty-Cycle Modulators. IRANIAN JOURNAL OF ELECTRICAL AND COMPUTER
ENGINEERING, 4(2).
Mbihi, J., (2006), Informatique et automation: Automatismes programmables contrôlés
par ordinateur. France: 358 p., Publibook.
Mbihi, J. (2013), A novel control scheme for buck power converters using duty-cycle
modulation. International Journal of Power Electronics, 5(Nos), pp. 3-4.
Mbihi, J. (2017), Dynamic modelling and virtual simulation of digital duty-cycle
modulation control drives. International Journal of Electrical, computer, energetic,
electronics and communication engineering, © WASET (World Academic of Science,
Engineering and Technology), 11(4), pp. 472-477.
Mbihi, J. and Nneme Nneme, L. (2012b). A Multi-Channel Analog-To-Digital Conversion
Technique Using Parallel Duty-Cycle Modulation. International Journal of Electronics
and Computer Science Engineering, 1(3), p. 826–833.
Mbihi, J. , Ndjali, B. F., Kom, M. and Nneme Nneme, L. (2012a), A novel analog-to-
digital conversion technique using nonlinear duty-cycle modulation. International Journal
of electronics and computer science engineering, 1(3), pp. 818-825..
Mitra, S. K. (2006), Digital signal processing : a computer based approach. s.l.:McGraw
Hill.
Moffo, L. B. , Mbihi, J. and. Nneme Nneme, L. (2014), Low Cost and High Quality Duty–
Cycle Modulation Scheme and Applications. International Journal of Electrical,
Computer, Energetic, Electronic and communication Engineering, 8(3), p. 82–88p..
Moffo, L. B. (Thèse 2016), Nouvelle Technique de Conversion A/N des Signaux par
Modulation Numérique en Rapport Cyclique et Applications en Instrumentation Virtuelle.
s.l.:s.n.
Moreo, A. T. et al. (2005), Experiences on developing computer vision hardware
algorithms using Xilinx system generator. Microprocessors and Microsystems,, Volume
XX, pp. 1-9.
Newby, P. (1994), Electronic Signal Conditioning. s.l.:Butterworth-Einemann.
144
Bibliographie
145
Bibliographie
146
Bibliographie
147
Bibliographie
Annexes
148
Bibliographie
149
Bibliographie
ce => ce_net,
s => addsub_s_net );
addsub1 : entity xil_defaultlib.sysgen_addsub_4db2bc9358
port map (
clr => '0',
a => mult2_p_net,
b => mult3_p_net,
clk => clk_net,
ce => ce_net,
s => addsub1_s_net );
addsub2 : entity xil_defaultlib.sysgen_addsub_7f6bb992e4
port map (
clr => '0',
a => addsub_s_net,
b => addsub1_s_net,
clk => clk_net,
ce => ce_net,
s => addsub2_s_net );
addsub3 : entity xil_defaultlib.filtreiir_xladdsub
generic map (
a_arith => xlSigned,
a_bin_pt => 62,
a_width => 78,
b_arith => xlSigned,
b_bin_pt => 45,
b_width => 54,
c_has_c_out => 0,
c_latency => 0,
c_output_width => 79,
core_name0 => "filtreiir_c_addsub_v12_0_i1",
extra_registers => 0,
full_s_arith => 2,
full_s_width => 79,
latency => 0,
overflow => 1,
150
Bibliographie
quantization => 1,
s_arith => xlSigned,
s_bin_pt => 62,
s_width => 79 )
port map (
clr => '0',
en => "1",
a => addsub2_s_net,
b => mult4_p_net,
clk => clk_net,
ce => ce_net,
s => addsub3_s_net);
end structural;
-- Generated from Simulink block FiltreIIR/IIR_mult
library IEEE;
use IEEE.std_logic_1164.all;
library xil_defaultlib;
use xil_defaultlib.conv_pkg.all;
entity filtreiir_iir_mult is
port (
x : in std_logic_vector( 54-1 downto 0 );
clk_1 : in std_logic;
ce_1 : in std_logic;
y : out std_logic_vector( 32-1 downto 0 ));
end filtreiir_iir_mult;
architecture structural of filtreiir_iir_mult is
signal register4_q_net : std_logic_vector( 32-1 downto 0 );
signal register3_q_net : std_logic_vector( 54-1 downto 0 );
signal register1_q_net : std_logic_vector( 32-1 downto 0 );
signal register_q_net : std_logic_vector( 54-1 downto 0 );
signal register2_q_net : std_logic_vector( 54-1 downto 0 );
signal constant3_op_net : std_logic_vector( 22-1 downto 0 );
signal convert2_dout_net : std_logic_vector( 32-1 downto 0 );
signal mult3_p_net : std_logic_vector( 54-1 downto 0 );
signal mult1_p_net : std_logic_vector( 76-1 downto 0 );
151
Bibliographie
152
Bibliographie
ce => '0',
clr => '0',
op => constant1_op_net);
constant2 : entity xil_defaultlib.sysgen_constant_e539e97676
port map (
clk => '0',
ce => '0',
clr => '0',
op => constant2_op_net );
constant3 : entity xil_defaultlib.sysgen_constant_58843d4911
port map (
clk => '0',
ce => '0',
clr => '0',
op => constant3_op_net );
constant4 : entity xil_defaultlib.sysgen_constant_efa954a541
port map (
clk => '0',
ce => '0',
clr => '0',
op => constant4_op_net);
convert2 : entity xil_defaultlib.filtreiir_xlconvert
generic map (
bool_conversion => 0,
din_arith => 2,
din_bin_pt => 62,
din_width => 79,
dout_arith => 2,
dout_bin_pt => 28,
dout_width => 32,
latency => 0,
overflow => xlSaturate,
quantization => xlTruncate)
port map (
clr => '0',
153
Bibliographie
en => "1",
din => addsub3_s_net,
clk => clk_net,
ce => ce_net,
dout => convert2_dout_net);
mult : entity xil_defaultlib.filtreiir_xlmult
generic map (
a_arith => xlSigned,
a_bin_pt => 45,
a_width => 54,
b_arith => xlSigned,
b_bin_pt => 17,
b_width => 22,
c_a_type => 0,
c_a_width => 54,
c_b_type => 0,
c_b_width => 22,
c_baat => 54,
c_output_width => 76,
c_type => 0,
core_name0 => "filtreiir_mult_gen_v12_0_i1",
extra_registers => 0,
multsign => 2,
overflow => 1,
p_arith => xlSigned,
p_bin_pt => 62,
p_width => 76,
quantization => 1)
port map (
clr => '0',
core_clr => '1',
en => "1",
rst => "0",
a => register_q_net,
b => constant_op_net,
154
Bibliographie
155
Bibliographie
156
Bibliographie
157
Bibliographie
158
Bibliographie
159
Bibliographie
160
Bibliographie
ce_1 : in std_logic;
gateway_out2 : out std_logic_vector( 32-1 downto 0 ) );
end filtreiir_struct;
architecture structural of filtreiir_struct is
signal gateway_in_net : std_logic_vector( 32-1 downto 0 );
signal register5_q_net : std_logic_vector( 32-1 downto 0 );
signal register_q_net : std_logic_vector( 32-1 downto 0 );
signal convert2_dout_net : std_logic_vector( 32-1 downto 0 );
signal cmult_p_net : std_logic_vector( 54-1 downto 0 );
signal clk_net : std_logic;
signal ce_net : std_logic;
signal register1_q_net : std_logic_vector( 32-1 downto 0 );
signal register4_q_net : std_logic_vector( 32-1 downto 0 );
begin
gateway_in_net <= gateway_in;
gateway_out2 <= register5_q_net;
clk_net <= clk_1;
ce_net <= ce_1;
iir_mult : entity xil_defaultlib.filtreiir_iir_mult
port map (
x => cmult_p_net,
clk_1 => clk_net,
ce_1 => ce_net,
y => convert2_dout_net );
register_x0 : entity xil_defaultlib.filtreiir_xlregister
generic map (
d_width => 32,
init_value => b"00000000000000000000000000000000")
port map (
en => "1",
rst => "0",
d => gateway_in_net,
clk => clk_net,
ce => ce_net,
q => register_q_net );
161
Bibliographie
162
Bibliographie
163
Bibliographie
use IEEE.std_logic_1164.all;
library xil_defaultlib;
use xil_defaultlib.conv_pkg.all;
entity filtreiir_default_clock_driver is
port (
filtreiir_sysclk : in std_logic;
filtreiir_sysce : in std_logic;
filtreiir_sysclr : in std_logic;
filtreiir_clk1 : out std_logic;
filtreiir_ce1 : out std_logic );
end filtreiir_default_clock_driver;
architecture structural of filtreiir_default_clock_driver is
begin
clockdriver : entity xil_defaultlib.xlclockdriver
generic map (
period => 1,
log_2_period => 1)
port map (
sysclk => filtreiir_sysclk,
sysce => filtreiir_sysce,
sysclr => filtreiir_sysclr,
clk => filtreiir_clk1,
ce => filtreiir_ce1);
end structural;
164
Bibliographie
filtreiir_s_axi_awvalid : in std_logic;
filtreiir_s_axi_wdata : in std_logic_vector( 32-1 downto 0 );
filtreiir_s_axi_wstrb : in std_logic_vector( 4-1 downto 0 );
filtreiir_s_axi_wvalid : in std_logic;
filtreiir_s_axi_bready : in std_logic;
filtreiir_s_axi_araddr : in std_logic_vector( 4-1 downto 0 );
filtreiir_s_axi_arvalid : in std_logic;
filtreiir_s_axi_rready : in std_logic;
filtreiir_s_axi_awready : out std_logic;
filtreiir_s_axi_wready : out std_logic;
filtreiir_s_axi_bresp : out std_logic_vector( 2-1 downto 0 );
filtreiir_s_axi_bvalid : out std_logic;
filtreiir_s_axi_arready : out std_logic;
filtreiir_s_axi_rdata : out std_logic_vector( 32-1 downto 0 );
filtreiir_s_axi_rresp : out std_logic_vector( 2-1 downto 0 );
filtreiir_s_axi_rvalid : out std_logic );
end filtreiir;
architecture structural of filtreiir is
attribute core_generation_info : string;
attribute core_generation_info of structural : architecture is
"filtreiir,sysgen_core_2017_2,{,compilation=Hardware Co-Simulation
(JTAG),block_icon_display=Default,family=zynq,part=xc7z020,speed=-
1,package=clg484,synthesis_language=vhdl,hdl_library=xil_defaultlib,synthesis_strategy=Vivado
Synthesis Defaults,implementation_strategy=Vivado Implementation
Defaults,testbench=1,interface_doc=0,ce_clr=0,clock_period=10,system_simulink_period=4e-
08,waveform_viewer=0,axilite_interface=1,ip_catalog_plugin=0,hwcosim_burst_mode=0,simulati
on_time=0.005,addsub=4,cmult=1,constant=5,convert=1,mult=5,register=9,}";
signal clk_net : std_logic;
signal ce_1_net : std_logic;
signal gateway_in : std_logic_vector( 32-1 downto 0 );
signal clk_1_net : std_logic;
signal gateway_out2 : std_logic_vector( 32-1 downto 0 );
begin
filtreiir_axi_lite_interface : entity xil_defaultlib.filtreiir_axi_lite_interface
port map (
165
Bibliographie
166
Bibliographie
end structural;
𝑀 𝑁
3. Annexe C:
167
Bibliographie
168