Vous êtes sur la page 1sur 170

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/338332060

REPUBLIQUE DU CAMEROUN PAIX-TRAVAIL-PATRIE ********* UNIVERSITE


DE DSCHANG ECOLE DOCTORALE REPUBLIC OF CAMEROON PEACE-WORK-
FATHERLAND ********* UNIVERSITY OF DSCHANG ********* POST...

Thesis · January 2020

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.

The user has requested enhancement of the downloaded file.


REPUBLIQUE DU CAMEROUN REPUBLIC OF CAMEROON
PAIX-TRAVAIL-PATRIE PEACE-WORK-FATHERLAND
********* *********
UNIVERSITE DE DSCHANG UNIVERSITY OF DSCHANG
*********
ECOLE DOCTORALE POST GRADUATE SCHOOL

DSCHANG SCHOOL OF SCIENCE AND TECHNOLOGY


UNITE DE RECHERCHE DE MATIERE CONDENSEE. D’ELECTRONIQUE ET DE
TRAITEMENT DU SIGNAL (URMACETS)

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

Master en Science de l’ingénieur option Electronique, Electrotechnique et Informatique industrielle

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

SONFACK Gisèle Béatrice

Les CO-DIRECTEURS

TCHITNGA Robert MBIHI Jean


Maître de Conférences Professeur
Université de Dschang Université de Douala

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 souhaite remercier tout particulièrement mon directeur de thèse, le Professeur MBIHI


Jean, enseignant à l’Ecole Normale d’Enseignement Technique de Douala (ENSET). Je
retiens du Pr. MBIHI ses grandes qualités d’encadrement, il n'a eu de cesse de m'encourager
et de me soutenir durant ces dernières années. J'en profite pour lui exprimer ici ma plus
profonde gratitude.
Je remercie également mon Co-directeur de thèse, le Professeur TCHINTGA Robert de
l’Université de Dschang, pour avoir facilité mon admission en thèse en acceptant de
codiriger cette thèse et pour tous ses conseils qui nous durant ces années de cette thèse.

Je remercie particulièrement l’Université de Dschang au travers de son Recteur, le


Professeur TSAFACK NANFOSSO Roger pour mon admission à l’école doctorale des
sciences fondamentales et technologiques.

Je remercie le Pr. TALLA, Chef du département de physique de l’Université de Dschang


pour son engagement à nous procurer les facilités.

Je remercie le Pr. FAI Cornerleluis, chef du laboratoire URMACETS pour sa disponibilité

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 tout particulièrement les doctorants du laboratoire URMACETS pour leurs


différentes contributions scientifiques.

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

Table des matières


Déicace ....................................................................................................................... ii
Remerciements.......................................................................................................... iii
Table des matières...................................................................................................... v
Résumé...................................................................................................................... ix
Abstract ...................................................................................................................... x
Abréviations .............................................................................................................. xi
Liste des tableaux ..................................................................................................... xii
Liste des Figures....................................................................................................... xiii
INTRODUCTION GENERALE ....................................................................................... 15
1. Contexte scientifique .................................................................................... 15
2. Problématique .............................................................................................. 16
3. OBJECTIFS DE LA THESE ........................................................................................ 17
4. ORGANISATION DE LA THESE ................................................................................. 18
ETAT DE L’ART DES CONVERTISSEURS ANALOGIQUE-NUMERIQUES ... 19
1.1 Introduction ...................................................................................................... 19
1.2. Généralités sur les techniques de conversion analogique-numérique ........... 19
1.2.1 Théorie d'échantillonnage et théorème de Nyquist................................... 20
1.2.2 Systèmes de codage des signaux échantillonnés ......................................... 20
1.2.3 Les étapes de la conversion analogique-numérique ................................... 21
1.2.4 Topologie des CANs classiques .................................................................... 24
1.2.4.1 Les CANs classiques de Nyquist ................................................................. 25
1.2.4.1.1 Convertisseur Flash .............................................................................. 25
1.2.4.1.2 Convertisseur Pipeline .......................................................................... 27
1.2.4.1.3 CAN à repliement ................................................................................. 29
1.2.4.1.4 Convertisseurs à rampe ........................................................................ 31
1.2.4.2 Convertisseur à simple rampe ..................................................................... 31
1.2.4.3 Le CAN double rampe .................................................................................. 33
1.2.4.2 CANs classiques à sur-échantillonnage....................................................... 34
1.2.4.2.1 CAN à modulation à largeur d’impulsion .......................................... 34
1.2.4.2.1.1 Principe de base de la conversion A/N par MLI ................................ 35

v
Table des matières

1.2.4.2.1.2 Architecture matérielle, fonctionnement et caractéristiques ............ 35


1.2.4.3 Conversion analogique-numérique par modulation Sigma-Delta............ 36
1.2.4.3.1 Principe de base de la modulation sigma-delta .................................. 37
1.2.4.2.2 Limites des CAN sigma-delta............................................................... 38
1.2.4.3 CANs à modulation en rapport cyclique classique .................................... 38
1.2.4.2.1 Fondement de la modulation en rapport cyclique ............................. 38
1.2.4.2.2 Expressions mathématiques de la MRC ............................................. 39
1.2.4.2.3 Conversion analogique-numérique par MRC .................................... 41

1.3 Caractéristiques techniques et critères de choix d’un CAN ............................ 42


1.3.4.2 Caractéristiques statiques des CANs .......................................................... 43
1.3.4.2.2 L’erreur de quantification (ou bruit de quantification) .................... 43
1.3.4.2.3 La Non-Linéarité Différentielle ........................................................... 45
1.3.4.2.4 La Non-Linéarité Intégrale .................................................................. 45
1.3.4.2.5 L’erreur de gain .................................................................................... 46
1.3.4.2.6 L’erreur d’offset.................................................................................... 46
1.3.4.3 Caractéristiques dynamiques des CANs ..................................................... 48
1.3.4.3.1 Le rapport signal sur bruit (SNR) ....................................................... 48
1.3.4.3.2 Le taux de distorsion harmonique (THD) .......................................... 49
1.3.4.4 Autres paramètres dynamiques ................................................................... 49
1.3.4.4.1 Le SFDR (Spurious-free dynamic range) ........................................... 49
1.3.4.4.2 SINAD .................................................................................................... 50
1.3.4.4.3 Le nombre de bits effectifs (ENOB) .................................................... 50
1.3.5 Domaine d’application des CANs classiques de Nyquist .......................... 51

1.4 Revue de littérature Sur les convertisseurs à MRC......................................... 54


1.5 Conclusion ..................................................................................................... 55
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE
PAR FPGA D’UN CAN-MRCO .................................................................................... 57
2.1 Introduction aux CANs à suréchantillonnage par MRC .................................. 57
2.1.1 Principe détaillé de la modulation en rapport cyclique............................. 57
2.1.2 Propriétés spectrales du signal modulé en rapport cyclique .................... 60

2.2 Conversion analogique-numérique par MRC ................................................. 67


2.2.1 Modulation et mise en forme TTL .............................................................. 67

vi
Table des matières

2.2.2 Echantillonnage et filtrage numérique........................................................ 69


2.2.3 Le filtre décimateur numérique ................................................................... 72

2.3 Synthèse Du CAN à modulation en rapport cyclique optimal ......................... 74


2.3.1 Hypothèses et principe de l’optimisation .................................................... 75
2.3.2 Lemmes et théorèmes morphologiques utiles à l’optimisation ................. 81
2.3.2.1 Lemmes .......................................................................................................... 81
2.3.2.2 Théorèmes morphologiques d’optimisation ............................................... 81

2.4 Optimisation du modulateur MRC ................................................................. 84


2.4.1 Structure mathématique du problème d’optimisation du MRC .............. 84
2.4.2 Etude de cas pour l’optimisation du modulateur MRC ............................ 85
2.4.3 Optimisation du filtre décimateur ............................................................... 87
2.4.4 Technique de conception du filtre numérique RII..................................... 88
2.4.5 Optimisation convexe du filtre RII.............................................................. 89
2.4.6 Contraintes de stabilité du filtre .................................................................. 90
2.4.7 Algorithme d’optimisation par la norme Pth .............................................. 90
2.4.8 Etude de cas d’optimisation de filtre RII de second ordre........................ 92
2.4.9 Schéma de synthèse et de simulation du CAN par MRCO ....................... 95

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

2.6 Co-simulation matérielle du prototype du CAN-MRCO sur FPGA ................ 106


2.7 Conclusion ................................................................................................... 106
RESULTATS DE PROTOTYPAGE DU NOUVEAU CAN-MRCO ET
DISCUSSION 108
3.1 Introduction ................................................................................................ 108
3.2 Environnement d’étude et de prototypage du CAN-MRCO .......................... 108

vii
Table des matières

3.3 Coût estimatif des équipements matériels et logiciels ................................ 108


3.4 Résultats de simulation virtuelle du CAN-MRCO sur cible FPGA................. 112
3.4.1 Prototypage de la partie matérielle du système d’acquisition à MRC ... 113
3.4.1.1 Prototypage du filtre décimateur ...................................................... 116
3.4.1.2 Résultats de simulation du CAN-MRCO.......................................... 117
3.4.2 Résultats Expérimentaux du CAN-MRCO .............................................. 124

3.5 Discussion ................................................................................................... 137


3.6 Conclusion ................................................................................................... 138
CONCLUSION GÉNÉRALE ............................................................................................. 139
PERSPECTIVES ............................................................................................................. 141
Bibliographie .............................................................................................................. 142
Listes des articles tirés de la thèse .............................................................................. 147
Annexes ...................................................................................................................... 148
Annexe A: Code VHDL du filtre RII ............................................................................ 148

Annexe B: Synoptique du filtre RII ............................................................................. 167


Annexe C: ................................................................................................................... 167

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.

Un prototype virtuel du CAN-MRCO est implémenté à l'aide de trois outils de conception


complémentaires qui sont : Simulink, le générateur système de Simulink/Xilinx et l’outil
Xilinx ISE. Les données de prototypage virtuel retenues offrent une bande passante
modulante de 3 KHz, une fréquence maximale de modulation de 172 kHz et une fréquence
d'échantillonnage de 25 MHz.

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.

Mots clés : Conversion numérique-analogique, modulation en rapport cyclique, théorème


morphologiques, filtre numérique, co-simulation matérielle, FPGA Xilinx.

ix
Abstract

Abstract

This thesis presents a new technique of analog-to-digital conversion (ADC), based on


FPGA-assisted optimal duty cycle modulation (ODCM). The ODCM problem is broken
down into two decoupled optimal sub-problems duty cycle modulation (DCM) and digital
filtering. Three lemmas and four morphological theorems established and demonstrated
make it possible to model the DCM sub-problem in the form of a nonlinear functional
criterion with nonlinear constraints, and then to solve it by the Matlab fmincon tool.
Moreover, the functional criterion of the sub-problem of digital filtering is described by the
Hölder norm of order p of the error of the frequency response of the demodulator digital
filter, with a view to an optimization by the tool iirlpnorm of Matlab.

A virtual prototype of ADC-ODCM, is implemented using three complementary design


tools that are: Simulink, the Simulink / Xilinx system generator and the Xilinx ISE tool. The
retained virtual prototyping data offers a modulating bandwidth of 3 KHz, a maximum
modulation frequency of 172 kHz and a sampling frequency of 25 MHz.

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.

Key words: Digital-to-analog conversion, duty cycle modulation, morphological theorem,


digital filter, hardware co-simulation, Xilinx FPGA.

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

Liste des tableaux


Tableau I: Techniques de conversion A/N et leurs plages de résolution ................................................... 52
Tableau II: Synthèse des performances des convertisseurs A/N ............................................................... 53
Tableau III: Quelques outils de conception haut niveau ............................................................................ 99
Tableau IV: Coût estimatif des équipements matériels et logiciels ......................................................... 110
Tableau V: Spécifications techniques du CAN MRCO ............................................................................ 113
Tableau VI: Paramètres du Filtre RII de second ordre ........................................................................... 116
Tableau VII: Tableau des performances théoriques du CAN MRCO.................................................... 122
Tableau VIII: Caractéristique rapport signal sur bruit du CAN-MRCO.............................................. 136
Tableau IX: comparaison du CAN-MRCO proposé avec les travaux présentés dans la littérature .... 138

xii
Liste des Figures

Liste des Figures


Figure 1: Chaîne de traitement de l'information ............................................................20
Figure 2: Echantillonnage-blocage d'un signal continu .................................................22
Figure 3: Quantification d'un signal analogique ............................................................23
Figure 4: Fonction de transfert d'un CAN de résolution 8 bits .....................................24
Figure 5: Différents types de Convertisseurs Analogique-Numérique. ........................25
Figure 6: Architecture du CAN Flash..............................................................................26
Figure 7: (a): Architecture d'un CAN pipeline, (b): Architecture d'un étage pipeline
(Anon, 1990) ...............................................................................................................28
Figure 8: Architecture du CAN à interpolation ..............................................................30
Figure 9: Principe d'un convertisseur à simple rampe ..................................................32
Figure 10: Principe de CAN à double rampe ..................................................................33
Figure 11: Principe des modulateurs utilisés dans les CAN ..........................................34
Figure 12: Architecture d'un CAN à MLI.......................................................................35
Figure 13: Architecture d'un modulateur sigma-delta du premier ordre ....................37
Figure 14: Allure du signal MRC a) x(t) variable b) x(t) constant................................39
Figure 15: Principe de la conversion A/N par MRC (Mbihi, 2012) ..............................41
Figure 16: Variation de l'erreur de quantification .........................................................43
Figure 17: Répartition du bruit de quantification ..........................................................44
Figure 18: Définition de la non linéarité différentielle et la non linéarité intégrale ....46
Figure 19: Erreur de l'offset d'un CAN ...........................................................................47
Figure 20: Caractéristique du CAN avec erreur de gain ...............................................47
Figure 21: Spectre fréquentielle typique de la sortie d’un CAN Pipeline. (a) SFDR,
(b) DR, (c) SNR, (d) SNDR........................................................................................51
Figure 22: Principe de la Modulation en rapport cyclique ............................................58
Figure 23: Evolution du rapport cyclique 𝐑𝐦𝐮 et de la fréquence 𝐟𝐦𝐮du
modulateur .................................................................................................................59
Figure 24: Spectre normalisé d’amplitude d'un signal MRC pour u(t) donné ............62
Figure 25: Forme d'onde du modulateur pour un modulant constant u=0 .................65
Figure 26:Variation de 𝐑𝐦 en fonction de u ...................................................................66
Figure 27: Variation de la fréquence du modulateur MRC .........................................66
Figure 28: Système de conversion Analogique Numérique par MRC ..........................67
Figure 29: Bloc de mise en forme TTL ............................................................................69
Figure 30: Processus d'échantillonnage (a) signal original, (b) signal échantillonné (c)
signal d'erreur ............................................................................................................70
Figure 31: Variation de la résolution effective en fonction du facteur de
suréchantillonnage .....................................................................................................72
Figure 32: Variation du rapport cyclique et de son approximation en fonction de E .77
Figure 33: Variation de l’erreur de linéarisation en fonction de E pour 𝛂𝟏=0.45 ......78
Figure 34: Variation du rapport cyclique et son approximation en fonction de α,
E=9V............................................................................................................................78
Figure 35: Variation de l’erreur de linéarisation du rapport cyclique en fonction de α,
E=9V............................................................................................................................79
Figure 36: Variation de la fréquence du modulateur en fonction de α, E=9V .............80

xiii
Liste des Figures

Figure 37: Code matlab de l'optimisation du modulateur .............................................85


Figure 38: Résultat de l'optimisation du modulateur.....................................................86
Figure 39: Variation de la fonction coût d’optimisation ................................................86
Figure 40: Conception du filtre numérique RII optimal à partir de la réponse
fréquentielle d'un filtre non optimal ....................................................................... 94
Figure 41: Modèle simulink du CAN MRCO .................................................................95
Figure 42: Schéma général du flot de conception. ..........................................................98
Figure 43: Conception du CAN-MRCO sur cible FPGA avec XSG ...........................104
Figure 44: Environnement de base de recherche ..........................................................109
Figure 45: Schéma électronique du modulateur MRCO .............................................113
Figure 46: Résultat de simulation du modulateur MRCO ..........................................114
Figure 47: (a) : Variations du rapport cyclique optimal, (b) : de l’erreur de
linéarisation ..............................................................................................................115
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. ...................118
Figure 50: Erreur entre le modulant sinusoidal et la sortie .........................................118
Figure 51: Graphes des signaux modulant carré et image numérique .......................119
Figure 52: Erreur entrée le signal d'entrée carré et la sortie ......................................119
Figure 53: Simulation du CAN MRCO pour une entrée 1Khz et 1Vpp .....................120
Figure 54: Spectres des signaux modulant et démodulé ..............................................121
Figure 55: DNL et INL du CAN MRCO de 12bits .......................................................122
Figure 56: Evolution du SNR (a) et du SFDR (b) virtuels ...........................................123
Figure 57: Plateforme de co-simulation matérielle .......................................................124
Figure 58: Résultats de co-simulation matérielle pour un signal modulant de
fréquence 1kHz : (a) sinusoïde pure, (b) sinusoïde composée ............................. 125
Figure 59: Superposition de sorties matérielle, virtuelle et de l'entrée de CAN ........126
Figure 60: Erreur entre le signal d'entrée et le signal de sortie du FPGA .................126
Figure 61: Courbe du SNR (a) et SFDR (b) de co-simulation .....................................127
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
Figure 66: Schéma RTL du filtre RII ............................................................................134
Figure 67: Rapport d’utilisation des ressources du FPGA ..........................................135
Figure 68: Implantation du CAN-MRCO sur FPGA ...................................................135
Figure 69: Spectre de puissance du signal de sortie .....................................................137
Figure 0.1: Typon côté piste ............................................................................................168
Figure 0.2: Typon côté composants et photo du modulateur ......................................168

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

Les systèmes de conversion analogique-numérique (CAN) sont largement utilisés comme


média d'interface, permettant de numériser des informations provenant du monde réel (voix,
vibrations, lumière, image, mouvement, chaleur, etc.). Bien que de nombreuses classes de
CAN soient disponibles dans l'électronique industrielle et l'ingénierie d'instrumentation, il
est important de rappeler que chacune d'elles est dédiée à des domaines d'application
spécifiques, afin de répondre aux contraintes intrinsèques incluant la bande passante
d'entrée, la précision de sortie, le niveau de bruit, la distorsion et plus. A titre illustratif, la
plupart des architectures CAN à sur-échantillonnage publiées dans la littérature sont dédiées
à des domaines d'applications à basse fréquence, par exemple le contrôle de
servomécanismes, robots et communication audio. D'une manière générale, la modulation
Sigma-Delta (MSD) et la modulation à largeur d'impulsion (MLI) sont les schémas de
construction les plus populaires rencontrés dans la classe des CANs à sur-échantillonnage.
Cependant, en 2012, un schéma basé sur la modulation en rapport cyclique (MRC) pour les
CANs, avec des applications à l'instrumentation industrielle, a été décrit et publié dans un
journal scientifique de l'Inde (Mbihi, 2012). Le cadre numérique utilisé dans ce travail de
recherche pionnier consiste en un PC utilisé comme processeur numérique pour un filtre de
décimation RII, mis en œuvre à l'aide de Visual Basic. La même année, la plupart des bases
fondamentales des systèmes d'instrumentation virtuelle basés sur PC via des schémas MRC
ont été détaillées dans de nombreux chapitres d'un livre scientifique publié par les Editions
Ellipses (Paris). Depuis 2012, la plupart des efforts ont été déployés dans d'autres domaines
d'application des techniques MRC telles que le pilotage matériel pour les convertisseurs
Buck, le système de transmission de signaux et même la conversion numérique-analogique.
Heureusement, dans un récent projet de recherche mené au sein du laboratoire de recherche
EEAT de l’Unité de formation doctorale des sciences de l’ingénieur de l’Université de

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.

La caractérisation des CANs à MRC à savoir les grandeurs caractéristiques de performances


n’est pas encore établie à nos jours sauf le SNR. De plus, la largeur de bande de modulation
obtenue en utilisant une cible de traitement basée sur PC sous Visual Basic et FPGA Xilinx
est inférieure à 40 Hz. Cependant, il sera difficile de parvenir à des fréquences plus élevées
(par exemple 3 kHz comme cela a été le cas dans un papier IEEE publié récemment pour le
prototypage de CNA basé sur MRC), même pour couvrir toute la bande passante audio. En
réalité, la résolution de certains de ces problèmes potentiels dans le cadre de cette thèse de
doctorat constitue un défi scientifique majeur dans l'électronique industrielle et l'ingénierie
de l'instrumentation.

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

échantillonnage demeurent de nos jours restreintes aux possibilités d’extension des


architectures classiques CAN-MLI et CAN-MSD, en vue d’améliorer les performances de
façon significatives.

Malheureusement, ces architectures classiques CAN-MLI et CAN-MSD présentent de


profondes lacunes. En effet :

 La plus grande lacune de l’architecture CAN-MLI, se traduit par le fait que


l’interface matérielle d’entrée est un système de modulation en boucle ouverte, et
par conséquent non robuste aux bruits et perturbations imprévisibles. A cette lacune
s’ajoute un spectre glouton des échantillons du signal MLI généré.
 La plus grande faiblesse de l’architecture CAN-MSD se traduit par une complexité
architecturale importante aussi bien au niveau de l’interface matérielle qu’au niveau
de l’algorithme du système de traitement numérique des échantillons du signal MSD.
A ce problème tracassant de complexité architecturale, s’ajoute la difficulté
d’optimisation mathématique rigoureuse de la loi MSD à partir d’un modèle
mathématique exact, car en pratique, on ne dispose que d’un modèle heuristique
établi à partir du principe de la moyenne statistique de la forme d’onde MSD.

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

Cette thèse vise trois objectifs principaux :

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.

Construire un prototype optimal sur cible FPGA, et fournir un ensemble complet de


performances standard: SNR, SFDR, TDH, SINAD...

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

Cette thèse est organisée en trois chapitres :


Le chapitre 1 présente la revue de la littérature sur la conversion analogique/numérique
(CAN) à savoir, Les notions fondamentales à connaître en ce qui concerne la conversion
analogique numérique. Tout d’abord les principes de base de la conversion sont décrits ainsi
que la théorie associée, ensuite, les principales architectures sont ensuite présentées, et
Enfin, un état de l’art est détaillé sur les convertisseurs analogique-numériques publiés
récemment dans les revues et les actes de conférences, rassemblant tout type d’architecture
et applications.

Le chapitre 2 présente la méthodologie d’optimisation et de mise en œuvre sur FPGA d’un


CAN-MRCO. Les éléments méthodologique et les outils de recherche y sont présentés et
enfin,
Le chapitre 3 présente les résultats d’étude et de prototypage du nouveau CAN-MRCO sur
cible FPGA et discussion.

18
ETAT DE L’ART DES CONVERTISSEURS ANALOGIQUE-NUMERIQUES

ETAT DE L’ART DES CONVERTISSEURS


ANALOGIQUE-NUMERIQUES

1.1 Introduction

Le monde de la conversion de données est véritablement apparu avec le développement des


télécommunications au début du 20èmesiècle. Cependant, il aura fallu attendre les années
cinquante pour voir apparaître les premières offres commerciales de convertisseur
analogique-numérique (CAN). Cette commercialisation suivait de très près la première offre
commerciale d’ordinateur digital, en 1951. Le développement des CANs a dès lors suivi
étroitement le développement de la micro-informatique. Jusque dans les années quatre-
vingt-dix les CANs sont devenus de plus en plus rapides, de moins en moins encombrants,
de nouvelles architectures sont apparues, il est alors devenu possible de classer les
architectures en fonction de leur domaine d’application. A partir des années quatre- vingt-
dix, la microélectronique, grâce au développement de l’informatique, a connu une évolution
exceptionnelle en termes d’intégration. Il existe à présent des centaines de modèles
commerciaux différents, classés selon leur résolution en bit, leur vitesse de conversion et
leur consommation. La cause de cette abondance d’offres repose sur la place qu’occupent
les CANs dans les systèmes électroniques actuels (Ruiz, 2012).

1.2. Généralités sur les techniques de conversion analogique-numérique

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.

Figure 1: Chaîne de traitement de l'information

1.2.1 Théorie d'échantillonnage et théorème de Nyquist


Le processus d'échantillonnage convertit un signal continu en un signal discret dans le
temps. Selon le théorème de Nyquist (Allier, 2003), si le signal a une bande limitée à une
certaine fréquence 𝑓𝑏 , et si les échantillons sont prélevés à une fréquence 𝑓𝑠
d'échantillonnage égale au moins deux fois la largeur de bande du signal 𝑓𝑏 , c'est à dire:

𝑓𝑠 ≥ 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.

1.2.2 Systèmes de codage des signaux échantillonnés


Les convertisseurs analogique-numérique permettent la retransmission (sous forme binaire,
Gray, BCD et thermométrique) d’un signal d’entrée analogique (4...20 mA) pour les uns et
(0…10V) pour les autres. Le signal échantillonné et quantifié en amplitude est ainsi
représenté par une suite de nombres presque toujours sous forme binaire. Si chaque nombre
compte N bits, le nombre maximum d’amplitudes quantifiées qu’il est possible de distinguer
s’élève à 2𝑁 . Alors la gamme des amplitudes qu’il est possible de coder est soumise à une
double limitation : vers les faibles valeurs elle se trouve limitée par l’échelon de
quantification q et vers les fortes valeurs par 2𝑁 . q. Toute amplitude qui dépasse cette valeur
ne peut être représentée et il y a écrêtage du signal. Il s’en suit une dégradation, par exemple
par distorsion harmonique si le signal est sinusoïdal.

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 :

|𝑒(𝑡)| ≤ 𝐴𝑚 . 2−𝑁 (3)

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.

1.2.3 Les étapes de la conversion analogique-numérique


La conversion analogique-numérique est l’étape qui permet de passer d’un signal analogique
continu en temps et en amplitude à un signal discret en temps (échantillonnage) et en
amplitude (quantification). La conversion analogique-numérique se passe donc

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

Figure 2: Echantillonnage-blocage d'un signal continu

La quantification est l’étape de conversion analogique-numérique proprement dite: elle


consiste à transformer la tension réelle 𝑉𝐴𝑛𝑎𝑙𝑜𝑔 en un nombre binaire

𝑉𝑛𝑢𝑚 = (𝑏𝑖 )0 ≤ 𝑖 ≤ 𝑁 − 1 choisi parmi un ensemble fini et prédéterminé de valeurs. Un


convertisseur analogique-numérique (CAN) est caractérisé par deux principaux paramètres :
son nombre de bits N (ou résolution) et sa dynamique d’entrée ∆𝑉𝑖𝑛 = [𝑉𝑚𝑖𝑛 , 𝑉𝑚𝑎𝑥 ]. A partir
de celà, le quantum q ou LSB (Less Significant Bit) est déterminé par la relation :

∆𝑉𝑖𝑛
𝑞= (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

𝑉𝑛𝑢𝑚 = 𝑞. [𝑏𝑁−1 2𝑁−1 + ⋯ + 𝑏1 21 + 𝑏0 20 ] (6)

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.

Figure 3: Quantification d'un signal analogique

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

Figure 4: Fonction de transfert d'un CAN de résolution 8 bits

1.2.4 Topologie des CANs classiques


Les convertisseurs Analogique–Numérique jouent le rôle d’interface entre le monde naturel:
signaux continus, et le monde des ordinateurs: suite de 1 et de 0. Il existe différents types de
convertisseurs Analogique–Numérique (Figure 5) des plus rapides (avec une fréquence
d’échantillonnage, Fs, élevée: au-delà du GHz et une résolution faible (8 à 10 bits), au plus
lents (quelques KHz pour Fs) mais précis (24 bits de résolution par exemple) (Mbihi, 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.

1.2.4.1 Les CANs classiques de Nyquist


1.2.4.1.1 Convertisseur Flash

L'architecture flash demeure la base de la conversion analogique numérique. En effet, elle a


pour principe de comparer directement l'entrée à 2N-1 niveaux de référence décrivant la

25
pleine échelle (PE). Ainsi, cette dernière est quantifiée en 2N sous-parties correspondant
chacune à un code.

Un convertisseur flash d'une résolution de N bits se résume donc à 2N-1 comparateurs


montés en parallèle. Une entrée du comparateur est reliée au signal analogique à coder,
tandis que l'autre est connectée à une tension de référence. Cette dernière est obtenue par
une échelle de résistances utilisée comme diviseur de tension. Ainsi, l'entrée est comparée
simultanément à 2N-1 seuils qui décrivent la pleine échelle.

Le schéma de la figure 6 représente une architecture flash :

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

Figure 6: Architecture du CAN Flash

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 :

 Des problèmes intrinsèques à l'architecture;


 Des problèmes de réalisation.

L'architecture flash nécessite de nombreux comparateurs (2N-1 pour une résolution de N


bits). Elle conduit donc à des convertisseurs qui sont intégrés sous forme de puces de grande
taille et de forte consommation. De plus, la mise en parallèle de ces comparateurs confère

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.

1.2.4.1.2 Convertisseur Pipeline


Cette architecture consiste en une succession de différents étages (Ruiz, 2012). Chacun des
étages contient: un circuit échantillonneur /bloqueur (E/B), un CAN à faible résolution, un
convertisseur numérique-analogique, un circuit sommateur et un amplificateur (Ruiz, 2012).

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

p i bits par ?age


LATCH LATCH ... LATCH

a
mot num?ique
CONVERTISSEUR PIPELINE de sortie

AMPLI
entr? E/B
analogique r?idu

1 FLASH CNA FLASH 2

premier ?age N/2 N/2 deuxi?e ?age

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

La présence des registres à décalage permet de rendre cohérent et de synchroniser les


données binaires en sortie. Le convertisseur de type Pipeline possède une architecture
efficace en termes de résolution et de vitesse avec une consommation assez raisonnable et
une taille réduite pour le circuit (Anon., 1996 IEEE International Solid-State Circuits
Conference.).

A chaque coup d’horloge, le convertisseur effectue n conversions en parallèle. Chaque


conversion est dédiée à une partie du code binaire. En traversant le convertisseur (en n

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

1.2.4.1.3 CAN à repliement


De même que l'architecture pipeline, l'architecture à repliement (folding) minimise le
nombre de comparateurs nécessaires à la conversion analogique-numérique et permet un
gain de place et une économie de puissance. Il s’agit d’une structure Flash modifiée selon le
principe présenté à la Figure 8. Les comparateurs de la structure Flash initiale sont remplacés
par des amplificateurs linéaires près de la tension seuil des latches (𝑉𝑑𝑑 /2) 𝑚ais pouvant
saturer au-delà. Dans ce cas, un nombre limité d‘amplificateurs, coûteux en surface et en
consommation sont nécessaires. Les références intermédiaires sont obtenues à l’aide de
simples ponts diviseurs de tension. L’évolution, des différents potentiels de référence est
indiquée Figure 8. Cependant le nombre de comparateurs latches reste identique au nombre
de comparateurs de la structure Flash équivalente.

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 convertisseur des bits de poids forts (MSB);

- Au circuit de repliement dont la sortie est connectée au convertisseur des bits de poids
faibles (LSB).

En augmentant l'ordre de repliement, on augmente le nombre de bits de poids forts et donc


la résolution du CAN. Cependant cette augmentation rend plus difficile la réalisation de
l'amplificateur de repliement.

De même, l'interpolation améliore la résolution du CAN, mais les signaux de repliement


qu'elle génère doivent respecter une distribution linéaire par rapport à la pleine échelle; ce

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

Les convertisseurs à repliement et interpolation minimisent le nombre de comparateurs


nécessaires au codage sans avoir recours à un E/B. Cependant, ils restent limités en
résolution (8 à 12 bits) et pour une bande passante élevée un E/B est conseillé (Rarbi, 2010).
Ces CANs permettent d'atteindre des vitesses d'échantillonnages très élevées (GHz).
L'architecture à repliement est actuellement la plus rapide.

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.

1.2.4.1.4 Convertisseurs à rampe


C’est une approche commune pour la conversion haute résolution des signaux lents. On
rencontre dans la littérature plusieurs variantes des convertisseurs à rampe ; nous
présenterons ici le principe de la simple et double rampe.

1.2.4.2 Convertisseur à simple rampe

Dans cette architecture de convertisseur, le signal échantillonné Vx est mémorisé et isolé


sous forme analogique dans un dispositif capacitif dit bloqueur. Au temps 𝑡0 on déclenche
simultanément :
 Une porte reliant le signal Vx bloqué et un comparateur
 Une rampe de tension Vs conçue autour d'un intégrateur et envoyée vers l'autre
entrée du comparateur
 Une porte ET permettant la transition d'un signal d'horloge de période T vers un
compteur, cette porte ET possède 3 entrées l'une de contrôle mise à 1 à l'instant t0,
l'autre issue du comparateur est aussi à 1 au temps t0 et enfin la troisième reçoit le
signal d'horloge qui est donc normalement transmis.

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.

 Propriétés du CAN à simple rampe:


 Simplicité et économie du principe
 Précision 10−3
 Sensibilité au bruit
 Variation de RC avec la température, et dans le temps (vieillissement des
composants)
 Nécessité d'une horloge stable et surtout d'un intégrateur de qualité

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.

Figure 10: Principe de CAN à double rampe

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

 Caractéristiques du C.A.N. double rampe (Marktani, 2016) :


 Précision environ 10−5
 Nécessité d'une tension de référence stable et d'un comparateur de qualité
 Si t1 est un multiple de 20ms on élimine l'influence du 50Hz
 Inconvénient est évidemment qu'alors le temps de conversion est supérieur à
20ms ce qui est souvent excessif.
 Risque de dérive du zéro de l'intégrateur.

33
 La nécessité d'un organe de calcul numérique pour obtenir Vx

1.2.4.2 CANs classiques à sur-échantillonnage

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.

Figure 11: Principe des modulateurs utilisés dans les CAN

1.2.4.2.1 CAN à modulation à largeur d’impulsion


Il est possible d’implémenter un convertisseur analogique numérique au moyen d’un
microcontrôleur rapide et de quelques composants externes en utilisant la modulation de

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.

1.2.4.2.1.1 Principe de base de la conversion A/N par MLI

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)
𝑇𝑂𝑛 + 𝑉𝑂𝑓𝑓

1.2.4.2.1.2 Architecture matérielle, fonctionnement et caractéristiques

La figure 12 présente l’architecture matérielle d’un CAN à modulation de largeur


d’impulsion (Steven, 1997) :

Figure 12: Architecture d'un CAN à MLI

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) = 𝑉𝑖𝑛 ).

On suppose que la variation de la tension d’entrée est inférieure au pas de quantification


pendant toute la durée du processus d’initialisation. Lorsque l’interrupteur analogique S est
ouvert la phase d’initialisation prend fin et celle de conversion commence.

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

1.2.4.3 Conversion analogique-numérique par modulation Sigma-Delta

La conversion analogique-numérique par modulation sigma-delta est la plus ancienne et la


plus rependue des techniques de conversion analogique numérique à modulation du signal.
Elle a vu le jour dans les années 40 (l’historique exhaustive des CAN sigma-delta est
disponible en (Kornfeld, 2005.) et dérive des modulateurs delta dont le principe base est de
réduire la résolution du quantificateur nécessaire pour discrétiser un signal en quantifiant la
différence entre deux échantillons prélevés à une fréquence très grande (suréchantillonnage).
Les modulateurs delta sont essentiellement utilisés dans les transmissions numériques (avec
la modulation d’impulsion codée différentielle DPCM). Le modulateur sigma-delta est une
amélioration du modulateur delta afin de rendre son utilisation optimale dans la conversion
analogique-numérique.

Un CAN sigma-delta possède l’architecture donnée à la figure 13 et son fonctionnement est


basé sur trois principes : le suréchantillonnage, la mise en forme du bruit de quantification
(noise shaping) et le filtrage numérique. Le suréchantillonnage et ses propriétés ayant déjà

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

1.2.4.3.1 Principe de base de la modulation sigma-delta

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

Figure 13: Architecture d'un modulateur sigma-delta du premier ordre

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 𝑉𝑖𝑛

1.2.4.2.2 Limites des CAN sigma-delta

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

Il n’existe pas de méthode analytique permettant de prédire la stabilité du modulateur. La


détermination de la stabilité d’un modulateur passe absolument par la simulation et
l’expérimentation (Mitra, 2006). Des méthodes d’étude inspirées de la théorie de la
commande des systèmes permettant de déterminer la stabilité d’un modulateur, sont
proposées en (Mitra, 2006).

1.2.4.3 CANs à modulation en rapport cyclique classique


La modulation en rapport cyclique est un processus qui consiste à transformer un signal
d’entrée analogique en une onde rectangulaire périodique dont le rapport cyclique encapsule
le signal d’entrée (Mbihi, 2005). Ce processus est réalisé dans le modulateur en rapport
cyclique.

1.2.4.2.1 Fondement de la modulation en rapport cyclique

La modulation en rapport cyclique (MRC) est utilisée en électronique industrielle comme


une technique spéciale de production des signaux en créneaux avec une période variable.
Comme implication, le rapport cyclique du signal modulé évolue en fonction du signal

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.

1.2.4.2.2 Expressions mathématiques de la MRC

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

Figure 14: Allure du signal MRC a) x(t) variable b) x(t) constant

𝑇𝑜𝑛 (𝑢)
𝑅𝑚 (𝑢) = (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

Comme un circuit MRC se comporte structurellement comme un oscillateur commandé en


tension, il consiste conceptuellement en un modulateur impliquant un oscillateur de
relaxation à haute fréquence et un signal de commande à basse fréquence u à moduler. Par
conséquent, la technique de modulation utilisée est fondée sur un contrôle approprié des
temps de commutation associés à la tension modulée résultante. Le rapport cyclique
résultant Rm est donc une fonction de u (Bourgeron, 1986), (Mbihi, 2006).
Le schéma de principe de conversion A/N par MRC non linéaire est décrit sur la figure 15
Il est constitué d'une interface MRC non linéaire (voir Fig.15 (a)), avec une réponse
intermédiaire xM (t) ε {-E, + E} ou un équivalent.

Figure 15: Principe de la conversion A/N par MRC (Mbihi, 2012)

𝑇𝑚 (𝑢) = 𝑇𝑂𝑛 (𝑢) + 𝑇𝑜𝑓 (𝑢) (13)

𝑇𝑜𝑛 (𝑢) 𝑒𝑡 𝑇𝑜𝑓 (𝑢) 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 − ( ) )
𝐸 𝐸
{ −𝐸 ≤ 𝑢(𝑡) ≤ +𝐸

𝐹𝑐 = 𝐹𝑚 (0) est appelé fréquence centrale du modulateur de rapport cyclique.

1.3 Caractéristiques techniques et critères de choix d’un CAN

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𝑁

1.3.4.2 Caractéristiques statiques des CANs

1.3.4.2.2 L’erreur de quantification (ou bruit de quantification)

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

Figure 16: Variation de l'erreur de quantification

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

Figure 17: Répartition du bruit de quantification

Soit P(V x) la puissance du signal Vx et fq sa densité de probabilité, elle s’écrit:

1
𝑓𝑞 = .1 11 (17)
𝑞 [−𝑞,𝑞]

La puissance du bruit de quantification vaut :

+∞
𝑃(𝑉𝜀 ) = ∫ 𝑥 2 . 𝑓𝑞 (𝑥). 𝑑𝑥 (18)
−∞

D’où
𝑞
+∞
1 1 2 𝑞2
𝑃(𝑉𝜀 ) = ∫ 𝑥 2 . . 1[−1,1] . 𝑑𝑥 = ∫ 𝑥 2 𝑑𝑥 = (19)
−∞ 𝑞 𝑞𝑞 𝑞 −𝑞 12
2

Elle représente la puissance moyenne du bruit de quantification. La puissance moyenne du


signal aléatoire étant son moment d’ordre 2, c'est-à-dire sa variance (si la valeur moyenne
est nulle), la valeur RMS du bruit de quantification vaut :

𝑞
√𝑃(𝑉𝜀 ) = (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).

1.3.4.2.4 La Non-Linéarité Intégrale


La Non-Linéarité Intégrale ou INL (Integrated non linearity) est décrite comme étant la
déviation de la fonction de transfert réelle par rapport à une ligne droite. Elle correspond
également pour un code k au cumul des Non-Linéarités Différentielles des codes inférieurs
ou égal à k. Ainsi, la non-linéarité intégrale a pour expression (Steven, 1997):

𝐼𝑁𝐿 = ∑ 𝐷𝑁𝐿(𝑖) (22)


𝑖=0

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)

Où N représente la valeur numérique de sortie du CAN, Y représente l’offset de la fonction


de transfert du CAN et X le gain du CAN. Idéalement Y est égal à 0 et X est égal à 1.

1.3.4.2.5 L’erreur de gain


L’erreur de gain correspond à l’écart entre la pente de la fonction de transfert et la pente de
la fonction de transfert idéale (L’erreur de gain représente la différence entre la valeur de X
et 1). Une telle erreur provoque un changement de la dynamique du convertisseur (Steven,
1997).

1.3.4.2.6 L’erreur d’offset


L’erreur d’offset est un décalage en tension de l’ensemble de la fonction de transfert.
L’erreur d’offset représente donc la différence entre la valeur de Y et 0. Cette erreur entraine
une erreur constante sur l’ensemble des codes du convertisseur (Steven, 1997).

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.

Figure 19: Erreur de l'offset d'un CAN

Figure 20: Caractéristique du CAN avec erreur de gain

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.

1.3.4.3.1 Le rapport signal sur bruit (SNR)

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

Où N est la résolution du CAN et q est le quantum. Tout convertisseur possède un bruit


RMS généré par l’erreur de quantification. A partir de l’équation (8) La valeur RMS du bruit
de quantification est égale (Ruiz, 2012):

𝑞 𝑉𝐿𝑆𝐵
𝑉𝑄𝑟𝑚𝑠 = = (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 )

Pour un convertisseur idéal, le SNR s’exprime en fonction de sa résolution N par :

𝑆𝑁𝑅𝑑𝐵 = 6.02𝑁 + 1.76 (28)

1.3.4.3.2 Le taux de distorsion harmonique (THD)

Le taux de distorsion harmonique représente le rapport de la puissance des raies


harmoniques générées par les non-linéarités du convertisseur, sur la puissance de la raie
fondamentale. La THD est alors la racine carrée de la somme quadratique des amplitudes
A(i.fin) des raies harmoniques d'ordre j divisée par l’amplitude A(fin) de la fondamentale (du
signal d'entrée). Plus ce rapport est faible, plus le CAN possède un comportement linéaire.
Son expression est (Mbihi, 2012):

𝑆𝑁𝑅𝑑𝐵 = 6.02𝑁 + 1.76 (29)

∑𝑗𝑖=2 𝐴2 (𝑖. 𝑓𝑖𝑛 )


𝑇𝐻𝐷𝑑𝐵 = 20. 𝑙𝑜𝑔 (√ ) (30)
𝐴(𝑓𝑖𝑛 )

Avec A(fin) l’amplitude fondamentale du signal d’entrée, A(i.fin ) l’amplitude de la ième et j


le nombre des harmoniques considérées.

1.3.4.4 Autres paramètres dynamiques

1.3.4.4.1 Le SFDR (Spurious-free dynamic range)

Ce paramètre définit le rapport entre la puissance de la raie fondamentale Pf et la puissance


de la pire harmonique ou raie du spectre Ph. La SFDR est illustrée sur la Figure 21 ci-
dessous. L’expression générale de ce paramètre est (Mbihi, 2012):

49
𝑃𝑠
𝑆𝐹𝐷𝑅𝑑𝐵 = 10. log ( ) (31)
𝑃𝑛

1.3.4.4.2 SINAD

Ce paramètre correspond au rapport entre la puissance contenue dans la raie fondamentale


et la somme de la puissance des raies harmoniques et du bruit. Par définition le SINAD
s’exprime sous la forme (Mbihi, 2012):

𝐴. 𝑓𝑖𝑛
𝑆𝐼𝑁𝐴𝐷𝑑𝐵 = 20 log ( ) (32)
𝑏𝑟𝑢𝑖𝑡 + √∑ 𝐴2 (𝑖. 𝑓𝑖𝑛 )

1.3.4.4.3 Le nombre de bits effectifs (ENOB)

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.

1.3.5 Domaine d’application des CANs classiques de Nyquist

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

Technique Nombre f( Mhz) SNR Signal de Applications


de bits contrôle ?
Approximation 10-18 0.250 à 110 Oui Servomécanismes,
successive 0.600 mesure de température
Flash 8 -14 0.100 à 1 33 Oui Vidéo, oscilloscope
numérique, radar
Double rampe 14-16 1 40 -140 Oui Mesure de température
Pipeline 10-12 300 43-70 Oui Télécommunications,
imagerie, instruments
portables, vidéo digital,
ultrasons
Quadruple 8-16 Oui Meure de température,
rampe Mesure de débit.

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 :

Le domaine d’application ; le type de boîtier, la plage de conversion, la résolution, le rapport


signal/bruit en dB, la bande passante, le débit pour une fréquence de base fixée, les tensions
d’alimentation et de référence, la puissance consommée (Newby, 1994). Des critères tels
que la bande passante du signal, la fréquence d'échantillonnage, la surface et la
consommation sont déterminantes dans le choix d'un convertisseur (cf. Tableau II).

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

MRC 16 à 24 bits ≤8MHz - Résolution la plus - Bande passante


élevée limitée
- Excellente linéarité
- Faible consommation.
- Double rétroaction
- Modèle entièrement
analytique

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 2012, ce principe fut introduit pour la première dans le domaine de la conversion


analogique-numérique à travers deux articles scientifiques (Mbihi, 2012a), (Mbihi, 2012b).
Ces deux articles ont présenté respectivement la faisabilité de la conversion analogique-
numérique par MRC à travers les simulations virtuelles et la version multicanal de
conversion A/N fondée sur l’utilisation des cellules de modulateurs en rapport cyclique
parallèles, chacune étant utilisée comme circuit d’interface 1bit indépendant.

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

METHODOLOGIE, OUTILS D’OPTIMISATION ET DE


MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO

2.1 Introduction aux CANs à suréchantillonnage par MRC

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.

2.1.1 Principe détaillé de la modulation en rapport cyclique

La modulation en rapport cyclique est un processus électronique qui consiste à transformer


un signal d’entrée analogique (𝑢(𝑡)) en une onde rectangulaire (𝑢𝑚 ) périodique dont le
rapport cyclique encapsule le signal d’entrée (Mbihi, 2005). Une implication directe de ce
principe est matérialisée par l’évolution du rapport cyclique en fonction du signal modulant
d’entrée.

On rencontre dans la littérature une variété d’architecture de modulateurs de rapport


cyclique, chacune caractérisée par une expression spécifique du rapport cyclique qui
introduit un déphasage sur le modulant. Il a été démontré (Roza, 1997) , (Mbihi, 2005) que
la modulation MLI, technique de modulation déjà éprouvée en électronique de puissance
n’est qu’une sous-classe de la MRC et dont la fréquence de modulation est une constante,
indépendamment des variations du signal modulant. Le principe de modulation par MRC
peut être illustré par le schéma de la figure 22. La figure 22 présente le modulateur MRC et
son principe de fonctionnement avec à l’entrée un signal modulant analogique.

57
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO

Figure 22: Principe de la Modulation en rapport cyclique

Le schéma de la figure 22 met en évidence les relations (34) et (35) ci-dessous :

𝑇𝑚 (𝑢(𝑡)) = 𝑇𝑂𝑛 (𝑢(𝑡)) + 𝑇𝑂𝑓 (𝑢(𝑡)) (34)

𝛼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

𝛼1 𝑒𝑡 𝛼2 sont les paramètres de modulation caractéristique du modulateur en rapport


cyclique et 𝜏 la constante de temps permettant d’ajuster à la phase de conception, la
fréquence maximale du modulateur car comme il a été énoncé dans le principe, la fréquence
de sortie du modulateur du modulateur est appelée à varier avec le signal modulant. Il admet
dont une fréquence maximale et une fréquence minimale généralement fixées par les
contraintes de conception. Le caractère non linéaire de la fonction rapport cyclique est
clairement établi par l’expression analytique de celle-ci formulée par l’équation 35. La
figure 23 présente l’allure de la variation du rapport cyclique et la fréquence du modulateur.
On peut voir aisément sur cette figure la particularité du modulateur qui, bien que fortement
non linéaire, présente une zone de linéarité exploitable de part et d’autre du point du
fonctionnement. Dans cette zone une approximation linéaire du rapport cyclique est
possible d’où l’équation 36.

Figure 23: Evolution du rapport cyclique 𝑅𝑚 (𝑢) et de la fréquence 𝑓𝑚 (𝑢)du modulateur

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 − ( ) )
𝐹𝐶 𝐸 𝐸
{ −𝐸 ≤ 𝑢(𝑡) ≤ +𝐸

𝑓𝐶 = 𝑓𝑚 (0) est appelé fréquence centrale du modulateur de rapport cyclique. La figure 23


donne les courbes d’évolution du rapport cyclique 𝑅𝑚 (𝑥) et de la fréquence 𝑓𝑚 (𝑥 ) d’un

modulateur de rapport cyclique pour lequel E=5V et 𝐹𝐶 = 100𝑘𝐻𝑧

La fréquence du signal modulé 𝑓𝑚 (𝑢 ) est une parabole dont le sommet est la fréquence

centrale du modulateur 𝑓𝑚 (0) . On observe également que plus l’excursion du signal


modulant devient grande plus petite est la fréquence du signal MRC.

2.1.2 Propriétés spectrales du signal modulé en rapport cyclique

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 :

 Il est périodique et de période 𝑇𝑚 (𝑢(𝑡)) ;


 Il possède une parité paire.
 Il est donc décomposable en série de Fourrier et peut s’écrire :
∞ ∞
2𝜋 2𝜋
𝑢𝑚 (𝑡) = 𝐴0 + ∑ 𝑎𝑛 cos ( 𝑛𝑡) + ∑ 𝑠𝑖𝑛 ( 𝑛𝑡) (37)
𝑇𝑚 (𝑢(𝑡)) 𝑇𝑚 (𝑢(𝑡))
𝑛=1 𝑛=1

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 𝑇𝑚 (𝑢(𝑡))

Et puisque le signal 𝑢𝑚 (𝑡)possède une parité paire les termes 𝑏𝑛 = 0 ∀ n.

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

rapport cyclique (𝐸 = 5 𝑒𝑡 − 2 ≤ 𝑢 ≤ +2) :

Figure 24: Spectre normalisé d’amplitude d'un signal MRC pour u(t) donné

On constate à la lumière de ce spectre que l’amplitude des harmoniques tant à disparaître à


partir d’un rang relativement petit. Cette étroitesse de son spectre d’amplitude est l’une des
propriétés intéressantes du modulateur MRC.

Par ailleurs, pour une harmonique de rang 𝑛 sa fréquence vaut :

𝑢 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

pour conséquence de rendre la reconstitution (démodulation) du signal original impossible.


Il est important de noter que la fréquence du premier du premier harmonique vaut :

𝑢 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 𝑚𝑖𝑛 ≫ 𝐹𝑚𝑎𝑥

𝑢(𝑡) + 𝐸 𝑢(𝑡) 1
𝑅̃𝑚 (𝑢) = = + (46)
2𝐸 2𝐸 2

𝑢(𝑡) 𝑈𝑚 (𝑡) (47)


+ (𝑡) 𝑅1 + 𝑅2 𝑅2 𝑢(𝑡) + 𝑅1 𝑈𝑚 (𝑡)
𝑒𝑚 = =
1 1 𝑅1 + 𝑅2
+
𝑅1 𝑅2

𝑅1 𝑅2
En posant 𝛼1 = , 𝛼2 = = 1 − 𝛼1 on a :
𝑅1 +𝑅2 𝑅1 +𝑅2

+ (𝑡)
𝑒𝑚 = 𝛼1 𝑈𝑚 (𝑡) + 𝛼2 𝑢(𝑡) (48)

𝑡 (49)
− (𝑡)
𝑒𝑚 = 𝑢𝑐 (𝑡) = 𝑢𝑚𝑎𝑥 (𝑡) + (𝑢𝑐 (0) − 𝑢𝑚𝑎𝑥 )𝑒 −𝑅𝐶

L’amplificateur fonctionne en mode commutation donc :

+ (𝑡) − (𝑡)
𝑈𝑚 (𝑡) = +𝐸 𝑙𝑜𝑟𝑠𝑞𝑢𝑒 𝑒𝑚 > 𝑒𝑚
{ + (𝑡) − (𝑡)
𝑈𝑚 (𝑡) = −𝐸 𝑙𝑜𝑟𝑠𝑞𝑢𝑒 𝑒𝑚 < 𝑒𝑚

Pour faciliter l’analyse du modulateur, nous émettons les hypothèses suivantes :

63
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO

o L’amplificateur opérationnel est parfait


o 𝑢(𝑡) varie très lentement par rapport à 𝑈𝑚 (𝑡) et est supposé constant pendant au
moins une période de 𝑈𝑚 (𝑡)
o −𝐸 < 𝑒𝑚 (𝑡) < +𝐸
o 𝑙𝑒 𝑐𝑜𝑛𝑑𝑒𝑛𝑠𝑎𝑡𝑒𝑢𝑟 𝑒𝑠𝑡 𝑖𝑛𝑖𝑡𝑖𝑎𝑙𝑒𝑚𝑒𝑛𝑡 𝑑é𝑐ℎ𝑎𝑟𝑔é et 𝑢𝑐 (𝑡) = 0 𝑒𝑡 𝑈𝑚 (𝑡) = +𝐸

+ (𝑡)
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.

La figure 25 présente les différentes courbes de tension du modulateur our un modulant


constant.

64
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO

Figure 25: Forme d'onde du modulateur pour un modulant constant u=0

1 1
𝑓𝑚 (𝑢) = =
𝑇𝑚 (𝑢) (𝛼 𝑢)2− ((1 + 𝛼1 )𝐸)2 (52)
Log ( 2 )
−((𝛼1 − 1)𝐸)2

Durée niveau haut

α2 u − (1 + α1 )E
TOn (u, α) = RC Log ( ) (53)
α2 (u − E)

Durée niveau bas (Mbihi, 2005)

α2 u + (1 + α1 )E
TOf (u, α) = RC Log ( ) (54)
α2 (u + E)

Période du signal MRC (Mbihi, 2005)

2
(α2 u)2 − ((1 + α1 )E)
Tm (u, α) = RC Log ( ) (55)
α2 2 (u2 − E2 )

𝛼1 𝑒𝑡𝛼2 sont les paramètres caractéristiques du modulateur et 𝜏 la constante de temps


permettant de modifier la fréquence maximale du modulateur étant donné que 𝑓𝑚 (𝑢) est
variable avec le signal modulant. Tout comme le signal modulant u(t), 𝑓𝑚 (𝑢) admet un
minimum et un maximum qui sont fixés par les contraintes de conception.

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.

Figure 26:Variation de 𝑅𝑚 en fonction de u

Figure 27: Variation de la fréquence du modulateur MRC

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

𝑅𝑚 = 𝑘. 𝑢 + 𝑏. Le terme basse fréquence de l’équation 40 devient donc proportionnel au


signal modulant u.

2.2 Conversion analogique-numérique par MRC


La topologie du CAN basé sur MRC représentée sur la figure 28, consiste en un circuit MRC
simple en amont et en un filtre RII numérique en aval (réponse d'entrée infinie) avec une
période d'échantillonnage T.

Figure 28: Système de conversion Analogique Numérique par MRC

Le processus de conversion analogique-numérique par modulation en rapport cyclique


comporte 3 étapes qui sont : la modulation, l’échantillonnage et filtrage numérique.

2.2.1 Modulation et mise en forme TTL

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 modulateur de rapport cyclique est le principal élément analogique présent dans un


convertisseur à modulation de rapport cyclique. Ce dernier délivre un signal codé sur 1 bit
mais de niveau incompatible avec celui du processeur numérique.

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.

Le bloc de mise en forme est réalisé au moyen de composants fonctionnant en commutation.


La figure 29 présente le bloc de mise en forme TTL proposé en (Roza, 1997) :

68
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO

Figure 29: Bloc de mise en forme TTL

2.2.2 Echantillonnage et filtrage numérique

L’échantillonneur est le bloc d’entrée de la partie digitale du CAN à MRC. Il permet


d’obtenir une représentation discrète du signal modulé en rapport cyclique afin de permettre
son filtrage par le filtre numérique. L’échantillonnage consiste à prélever un échantillon du
signal modulé en intervalles de temps réguliers appelés période d’échantillonnage. Le
processus d’échantillonnage est un élément clé dont dépendent les performances globales
du CAN. En effet, si on fait abstraction des imperfections des composants constituants la
partie analogique du CAN, l’échantillonnage est le seul processus qui introduit des erreurs
(du bruit) dans le processus de conversion analogique numérique. Ces erreurs sont dues à la
différence entre le signal modulé et sa représentation discrète. La figure 30 nous présente
les erreurs dues aux processus d’échantillonnage :

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 𝐹𝑐 𝑇𝑠 𝐹𝑚𝑎𝑥

Où 𝐹𝑐 est la fréquence centrale du modulateur, 𝑇𝑠 la période d’échantillonnage du signal

modulé, de fréquence maximale 𝐹𝑚𝑎𝑥 .

𝐹𝑐
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

Si on pose 𝐾 = 2𝐿 et 𝐾𝑚 = 2𝐿𝑚 , on obtiens :

𝑆𝑁𝑅𝑚𝑎𝑥 = 6,02𝐿 − (1.24 + 3.01𝐿𝑚 ) (61)

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 :

 Le facteur de suréchantillonnage qui augmente la résolution effective d’un bit à


chaque fois qu’il est doublé.

 Le rapport de modulation 𝐾𝑚 qui diminue la résolution effective d’un demi-bit à


chaque fois qu’il est doublé mais allège les contraintes sur le filtre démodulateur.

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

Figure 31: Variation de la résolution effective en fonction du facteur de suréchantillonnage

2.2.3 Le filtre décimateur numérique

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.

Les paramètres importants de conception du filtre numérique sont :

 La réponse du filtre dans la bande passante

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

La zone de transition du filtre est l’intervalle de fréquence [𝐹𝑚𝑎𝑥 , 𝐹𝑚1 ] . La zone de


𝑚/𝑛

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

En appliquant la transformation bilinéaire, on trouve la fonction de transfert du filtre


numérique sous la forme suivante :

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, α)

Le gain statique du filtre est donné par :

b2 + b1 + b0
Kf = Ka = (68)
1 + a1 + a0

2.3 Synthèse Du CAN à modulation en rapport cyclique optimal

Cette section présente un schéma optimal de convertisseur analogique-numérique par


modulation en rapport cyclique (MRCO). Le problème global du CAN basé sur MRC est
découplé en sous-problèmes MRC et filtrage numérique optimaux, tout en tenant compte
des contraintes de paramètres mutuelles de conception entre les deux. En utilisant un
ensemble de trois lemmes et quatre théorèmes morphologiques, le sous-problème MRC est
modélisé comme une fonction coût non linéaire avec des contraintes non linéaires. Ensuite,
la norme de l'erreur entre les réponses fréquentielle idéales et prédite pondérée est utilisée
comme fonction coût pour le sous-problème de filtrage numérique. De plus, les outils
MATLAB fmincon et iirlpnorm avec les solveurs Least pth norm sont utilisés pour les
algorithmes d’optimisation respectifs du modulateur et du filtre. En outre, le système de
simulation virtuelle d'un CAN à MRCO de prototypage global est mis en œuvre et bien testé
à l'aide de l'outil Simulink selon un ensemble de données de conception pertinent, à savoir
5 KHz de bande passante modulante, 172 KHz de fréquence de modulation maximale et 25
MHZ de fréquence d'échantillonnage.

74
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO

1.5.4

2.3.1 Hypothèses et principe de l’optimisation

Pour un signal modulant connu u, le but du problème d'optimisation à modéliser et à résoudre


ici est de trouver un ensemble de paramètres critiques α1 , τ et E dans (63) et {b2, b1, b0, a1,
a2} dans (65), (66), qui minimise l'erreur globale entre l'entrée modulante u et son image
numérique à produire en sortie du filtre RII.

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

C’est une optimisation globale du convertisseur et pour le faire, la non-linéarité et la


variation des paramètres caractéristiques du modulateur seront étudiées au travers des
simulations virtuelles sous Matlab.

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 :

|ɛ*(u, α)| = |𝑅𝑚 (u, α) − 𝑅̃𝑚 (u, α) | (69)

75
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO

En observant le comportement du rapport cyclique de la figure 23 on remarque que pour un


choix judicieux des paramètres α , E et τ du modulateur, il est possible d’obtenir une
fonction linéaire qui approche très précisément la fonction rapport cyclique exacte sur une
plage relativement grande du signal modulant.

L’approximation linéaire de R m (u) par développement en série de Taylor donne :

1
𝑅𝑚 (𝑢) ≅ 𝑅̃𝑚 (𝑢) = 𝑃𝑚 𝑢 + (70)
2

Avec

𝛼1 𝛼2
𝑑𝑅𝑚 (𝑢) 𝐸(1 − 𝛼12 )
𝑃𝑚 = | = (71)
𝑑𝑢 𝑢=0 ln (1 + 𝛼1 )
1 − 𝛼1

Il est question de déterminer les paramètres optimaux du modulateur et les coefficients


optimaux du filtre telles que l’erreur d’approximation soit la plus faible possible et l’image
numérique plus proche que possible de l’original. Les résultats de simulation du rapport
cyclique en fonction de E et son approximation sont présentés par les figures 32.

76
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO

Figure 32: Variation du rapport cyclique et de son approximation en fonction de E

La simulation virtuelle du rapport cyclique et de son approximation linéaire présentée à la


figure 32, permet d’observer que pour toute valeur de E choisie, la fonction rapport cyclique
présente une zone de linéarité exploitable qui est d’autant grande que la tension E augmente.
Compte tenu de la contrainte sur l’alimentation des amplificateurs opérationnels fixée par
les fabriquants, E ne peut varier infiniment. Les résultats des figures 32 et 33 le confirment
car on peut y observer que l’erreur de linéarisation diminue avec l’augmentation de E.

A ce stade de l’analyse, on peut dire que le problème d’optimisation du rapport cyclique se


ramène aux paramètres 𝛼 et 𝜏 du modulateur lorsque la tension d’alimentation E est fixée.
Il serait intéressant d’étudier la variation du rapport cyclique en fonction de 𝛼 pour mieux
apprécier les critères d’optimisations. Le résultat de simulation virtuelle de cette étude est
présenté à la figure 34. On peut y remarquer que l’effet de la variation du paramètre 𝛼 sur
le comportement du rapport cyclique est prépondérant.

77
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO

Figure 33: Variation de l’erreur de linéarisation en fonction de E pour 𝛼1 =0.45

Figure 34: Variation du rapport cyclique et son approximation en fonction de α, E=9V

78
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO

La plage de variation de la fréquence du signal modulé et la plage de linéarité du rapport


cyclique sont d’autant plus large que 𝛼1 est petit. C’est-à-dire que l’erreur de linéarisation
du rapport cyclique est minimale.

Figure 35: Variation de l’erreur de linéarisation du rapport cyclique en fonction de α,


E=9V

Optimiser le modulateur revient donc à minimiser l’erreur de linéarisation 𝜀. Le critère


d’optimisation est une fonction coût sous contraintes à minimiser.

Les paramètres du modulateur 𝛼1 et 𝜏 à optimiser sont liés par la fréquence centrale du


modulateur 𝑓𝑚0 . En simulant la variation de la fréquence en fonction de 𝛼1 , on obtient les
résultats graphiques présentés à la figure 36.

79
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO

Figure 36: Variation de la fréquence du modulateur en fonction de α, E=9V

Lorsque 𝛼1 diminue 𝜏 augmente ; cependant, il existe une valeur seuil de 𝛼1 à partir de


laquelle 𝐹𝑚 converge rapidement vers une valeur limite voir figure 35. Cette remarque est
très important si le modulateur est réalisé avec des composants discrets car un choix
judicieux de 𝛼 permettrait d’avoir un modulateur insensible à la dérive des composants due
au vieillissement. Par ailleurs, lorsque la plage de fréquence augmente, le spectre de
fréquence du signal MRC s‘appauvrit en harmoniques ce qui est une propriété recherchée
du modulateur MRC. Toutefois, lorsque 𝛼1 diminue, la valeur de 𝜏 augmente jusqu’à une
valeur si grande qui affecte la modulation et le modulateur tend à reproduire le signal
modulant d’entrée.

Pour éviter cette situation, la condition suivante est nécessaire :

𝐹𝑚𝑖𝑛 > 𝐹𝑙𝑖𝑚 et 𝐹𝑚𝑖𝑛 ≫ 𝐹𝑚𝑎𝑥 (72)

Avec 𝐹𝑚𝑖𝑛 la fréquence minimale du signal modulé, 𝐹𝑙𝑖𝑚 la fréquence limite du

modulateur et 𝐹𝑚𝑎𝑥 la fréquence maximale du modulant.

80
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO

2.3.2 Lemmes et théorèmes morphologiques utiles à l’optimisation

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

linéaire au voisinage du point de fonctionnement: (𝑢 = 0, 𝑅𝑚 (0, α) = 1⁄2).

Lemme 3 : La zone linéaire de 𝑅𝑚 (u, α), requise pour une grande précision et fiabilité est

maximale si la pente 𝑝𝑚 (0, α) observée dans (62) est maximale.

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.

Les lemmes 1 et 2 justifie l’unicité de la solution du problème d’optimisation du modulateur.

2.3.2.2 Théorèmes morphologiques d’optimisation

Trois théorèmes dûment démontrés sous-tendent les contraintes liées au problème


d’optimisation du modulateur :

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

| u | <E et 0 <α <1.

La preuve du théorème 1, repose sur l'analyse du gradient (dérivations directionnelles) de

𝑇𝑂𝑛 (𝑢, 𝛼) ; 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.

Dès lors, le théorème 1 est prouvé par :

𝜕𝑇𝑂𝑛 (𝑢, 𝛼) 2τE α


=
∂𝑢 (𝐸 − 𝑢) (𝐸 − 𝑢 + 𝑎(𝐸 + 𝑢)
(73)
𝜕𝑇𝑂𝑛 (𝑢, 𝛼) 2τE
=
{ ∂α (1 − α) (E − u + a(E + u)

La preuve du théorème 2 s'appuie sur un raisonnement similaire de (74), où il est évident


d'observer que (∂TOf (u, α) )/∂u est strictement négatif alors que (∂TOf (u, α) )/∂α Est
strictement positif sur l’espace | u | <E et 0 <α <1. D'où le théorème 2 est clairement prouvé
aussi

82
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO

𝜕𝑇𝑂𝑓 (u, α) − 2 𝜏𝐸𝛼


=
𝜕𝑢 (𝐸 + 𝑢) (𝐸 − 𝑢 + 𝛼(𝐸 − 𝑢)
(74)
𝜕𝑇𝑂𝑛 (u, α) 2 𝜏𝐸
=
{ 𝜕𝛼 (1 − 𝛼) (𝐸 + 𝑢 + 𝛼(𝐸 − 𝑢)

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

2.4 Optimisation du modulateur MRC

2.4.1 Structure mathématique du problème d’optimisation du MRC

Comme résumé de l'analyse effectuée dans cette section, le problème d'optimisation du


MRC à résoudre est formulé par (77). Il se compose structurellement d'un critère de coût
non linéaire statique (77(a)), associé à un ensemble de contraintes non linéaires statiques (77
(b)) - (77 (d)). Tout d’abord le choix de la fréquence centrale du modulateur fm0 est fixé en
fonction de la bande passante du signal modulant. Par ailleurs, le choix judicieux de fmin et
Flim est capitale pour le bon fonctionnement du modulateur. A ceci on associe la contrainte
sur la valeur du paramètre α pour définir entièrement le problème d’optimisation.

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

2.4.2 Etude de cas pour l’optimisation du modulateur MRC

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

function [ c, ceq ] = contrnew( x )


%UNTITLED2 Summary of this function goes here
% Detailed explanation goes here
E = 9.0;
xm = 8.0;
c = [];
Script
ceq d’optimisation
=[(1/(2*x(2)*log((1+x(1))/(1-x(1)))))-(175000)
(1/(x(2)*log((((1-x(1))*xm)^2-((1+x(1))*E)^2)/(((1-x(1))*xm)^2-
((x(1)-1)*E)^2))))-(40000)];
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)

Figure 37: Code matlab de l'optimisation du modulateur

85
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO

L’exécution du script d’optimisation donne le résultat suivant :


>> optimise
Max Line search Directional First-order
Iter F-count f(x) constraint steplength derivative optimality Procedure
0 3 -0.0178749 1.696e+08 Infeasible start point
1 6 -0.0179276 9.884e+06 1 -0.0534 96.2
2 9 -0.0187878 3.424e+06 1 -0.0532 2.98e+06
3 12 -0.0210494 1.529e+06 1 -0.0499 2.64e+07
4 15 -0.0254608 7.775e+05 1 -0.0437 2.27e+08
5 18 -0.0325336 4.588e+05 1 -0.038 1.68e+09
6 21 -0.0409106 3.375e+05 1 -0.0366 1.01e+10
…………………………………………………………………………
Local minimum found that satisfies the constraints.
Optimization completed because the objective function is non-decreasing in feasible directions, to
within the selected value of the optimality tolerance, and constraints are satisfied to within the selected
value of the constraint tolerance.<stopping criteria details> No active inequalities.
x = 0.012366816265685 0.000115510618677

Figure 38: Résultat de l'optimisation du modulateur

Figure 39: Variation de la fonction coût d’optimisation

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

On déduit donc de l’optimisation les valeurs optimales des paramètres du modulateur


suivants :

𝛼1 = 0.012366816265685
𝜏 = 0.000115510618677
𝑝𝑜𝑢𝑟
𝐹𝑚0 = 175𝑘𝐻𝑧
𝐹𝑚𝑖𝑛 = 40𝑘𝐻𝑧
{ 𝑥𝑚𝑎𝑥 = 8.0𝑉

L’évolution du rapport cyclique et de son approximation avec les paramètres optimaux


présente une erreur de linéarisation très faible. De plus la zone linéaire du rapport cyclique
s’agrandie considérablement après optimisation.

2.4.3 Optimisation du filtre décimateur

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.

2.4.4 Technique de conception du filtre numérique RII

Les techniques de réponse impulsionnelle invariante, la transformation en z correspondante,


et la transformation bilinéaire sont largement utilisées pour réaliser un filtre numérique RII
à partir d'un filtre analogique donné (Luo, 2003). Ces techniques de conception sont simples
et peuvent naturellement garantir la stabilité des filtres numériques RII obtenus. Cependant,
elles ne peuvent être appliquées que pour transformer des filtres analogiques standards, tels
que les filtres passe-bas, passe-haut, passe-bande et bande-arrêt, en homologues numériques.

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.

Si la réponse en phase (ou retard) est également envisagée, le problème de conception de


filtres RII devient plus complexe. Les critères WLS et minimax sont largement utilisés dans
les conceptions de filtres RII pratiques.

Nous avons opté pour la transformation bilinéaire (transformation de Tustin) du filtre


analogique pour obtenir notre filtre numérique RII.

2.4.5 Optimisation convexe du filtre RII

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

Comme la conception de filtres RII est essentiellement un problème d'optimisation non


convexe, il est généralement impossible ou coûteux en termes de calcul de réaliser des
conceptions optimales. De plus, même si une conception optimale était donnée, il serait
difficile de confirmer qu'il s'agit bien de l'optimum global. Cependant, cette difficulté peut
être atténuée dans une certaine mesure, dans le cadre de l'optimisation convexe. Par exemple,
des techniques de relaxation convexes peuvent être appliquées pour transformer les
problèmes de conception non convexe d'origine en formes convexes. Ensuite, des limites
inférieures des valeurs optimales des problèmes de conception d'origine peuvent être
obtenues (YuWang, 2011). Ces limites inférieures nous fournissent des informations
importantes concernant les conceptions optimales globales.

2.4.6 Contraintes de stabilité du filtre

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.

2.4.7 Algorithme d’optimisation par la norme Pth

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,

B(ω, b) ∑Mn=0 b(n)e


−jω n
H(ω, a, b) = = (79)
A(ω, a) 1 − ∑Nk=0 a(n) e
−jω n

où A (ω) et B (ω) sont respectivement des transformées de Fourier des coefficients


polynomiaux du numérateur et du dénominateur, les valeurs réelles 𝑏(𝑛) et 𝑎(𝑛)
correspondant aux ensembles de coefficients inconnus (79).

a = [b(0), b(1), … b(M − 1)] et b = [a(1), a(2), … , a(N)] (80)

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

‖E(K, a, b)‖p = (|∑ Wk (|F(ωk , a, b)| − |H(ωk |)p |) (81)


k=0

Par conséquent, le problème d'optimisation du filtre numérique RII est formulé comme suit:

Min (‖E(K, a, b)‖p ) with


a,b
{ b = [b(0) b(1) … b(N)] (82)
a = [a(1) a(2) … a(N)]

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

2.4.8 Etude de cas d’optimisation de filtre RII de second ordre

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

2.4.9 Schéma de synthèse et de simulation du CAN par MRCO

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.

Figure 41: Modèle simulink du CAN MRCO

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.

2.5 Synthèse d’un CAN par MRCO sur cible FPGA

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.

2.5.1 Prototypage pour l’implantation d’une application sur FPGA


2.5.1.1 Cadre du travail

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.

2.5.1.2 Prototypage rapide d’une application sur FPGA

Une approche alternative de conception réside dans l’utilisation de circuits reconfigurables.


Ceux-ci proposent un compromis intéressant entre la flexibilité du processeur et les
performances de la logique câblée. Les FPGA, circuits reconfigurables à granularité fine
sont les plus utilisés d’entre eux. Ces circuits reprogrammables datent d’une vingtaine
d’années. A l’époque les densités d’intégration ont largement retardé leur développement

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.

2.5.1.3 Flot de conception

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

Le langage de description matérielle comme le VHDL ou Verilog, utilisé habituellement


pour le développement de FPGA sont de nature concurrente. La programmation en VHDL
implique une bonne connaissance non seulement de l’algorithme mais aussi du FPGA et du
compilateur utilisé. Pour mieux exploiter le parallélisme intrinsèque de l’algorithme, il faut
exécuter les tâches de traitement en parallèle (non séquentiel) pour satisfaire aux contraintes
temporelles (Wangmeng, 2010). Pour la plupart des spécialistes du contrôle ou du traitement
du signal qui sont très souvent les chercheurs et les ingénieurs en développement logiciel,
ces langages matériels ne sont pas familiers et d’une utilisation parfois délicate. C’est
probablement l’une des raisons qui freine la démocratisation de la technologie FPGA. Pour
tenter d’apporter une solution appropriée à ce problème, des plateformes de co-conception
par association de plusieurs environnements de développement ont été proposé (Nneme

97
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO

Nneme, 2018). On peut en citer : Matlab/ModelSim, Matlab/Simulink/ISE Xilinx,


Matlab/Simulink/ISE Altera et C/C++/ ISE Xilinx.

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

Figure 42: Schéma général du flot de conception.

2.5.1.4 Outils Hardware/Software codesign

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.

Dans un premier temps, la conception commence à partir d’une spécification unique


décrivant son architecture et/ou son comportement. L’objectif de cette spécification réalisée
à l’aide d’un langage de haut niveau est d’obtenir un modèle simulable et représentatif de

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é …

Une rétroaction permet de revenir à la phase de partitionnement en affinant différemment


les poids associés aux contraintes si les partitions obtenues ne s'avèrent pas satisfaisantes
(Wangmeng, 2010). La figure 41 illustre le flot de conception co-conception générique
utilisé pour la conception des SoCs (Wy, 2006).

Tableau III: Quelques outils de conception haut niveau

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

Xilinx/Vivado Générateurs C/C++, Java vers Verilog,


Personnalisation des contraintes,
Vérification, simulation, caractérisation,
Partitionnement, Allocation HW/SW,
parallèle, pipeline, distribué.
Hardware co-simulation, génération
automatique des schémas, Conception
hardware
Mentor Graphics / Seamless CVE Monet Spécifications exécutables : C/C++,
SystemC, Modélisations fonctionnelles et
modèles de performances, Génération
automatique d’interfaces, Conception
hardware par raffinement du modèle C
C2HDL, intégration d’IPs, Co-simulation
HW/SW.

Les avantages majeurs des approches co-conception sont les suivants :

Performances : Le niveau de performance du produit final est potentiellement élevé par la


présence de deux degrés de liberté majeurs lors de la conception : il est possible d’une part
de choisir, ou concevoir un cœur câblé avec une grande latitude de rapports
performances/coûts ; il est également possible de choisir le processeur parmi un vaste choix
de modèle disponibles, autorisant d’ajuster encore une fois la solution aux besoins.

Flexibilité : L’intégration d’un processeur dans la solution autorise un niveau de flexibilité


bien plus conséquent que les solutions matérielles pures (Das, 2012). Il est ainsi possible
d’envisager des mises à jour du système après sa livraison par la modification du programme
d’exploitation (ou « firmware »).

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

D’ailleurs, de nombreux problèmes restent soulevés par les communautés scientifiques et


industrielles qui s'intéressent à la co-conception :

 La co-spécification des systèmes mixtes: il n'existe toujours pas de formalisme


universellement adopté, qui permette de décrire l'ensemble du système à l'aide d'un
langage de haut niveau sans introduire de biais vers l'une ou l'autre des
implémentations (hardware ou software), ce qui compromettrait l'efficacité des
étapes ultérieures ;

 L'analyse des caractéristiques statiques et dynamiques des systèmes à concevoir ;

 La détermination d'un modèle permettant de modéliser l'ensemble de l'application,


de servir de noyau aux outils de co-conception durant toutes les étapes, de maintenir
la cohérence des informations associées aux différentes entités et de permettre la co-
validation du système avant et après le partitionnement.

 Le développement d'une méthode d'ordonnancement permettant d'établir des


schémas d'exécution tenant compte de l'aspect séquentiel des traitements, de la
concurrence, de la communication et des différents aspects de synchronisation ;

Nous décomposons le flot de conception proposé en quatre étapes principales que nous
détaillons par la suite :

 Développement du modèle de convertisseur MRCO et compilation dans Simulink,

 Extraction automatique du parallélisme sous contrainte de dépendance de données,

 Analyse des ressources matérielles juste nécessaires pour le filtrage,

 Génération du modèle VHDL du processeur taillé pour l’application.

2.5.2 Outils de co-conception Et co-Simulation VIVADO


Vivado est l’ISE de société Xilinx, permettant la gestion complète d’un flot de conception
FPGA. Ce logiciel permet de faire une édition graphique ou une saisie texte (description
VHDL) d’en réaliser une simulation, une synthèse et une implémentation sur cible
reprogrammable. (Moreo, 2005) illustre les avantages de cette approche. Matlab-Simulink-
XSG (Matworks, 2008), (Xilinx, 2012) offre un environnement idéal pour le prototypage

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.

La co-conception est la technique de conception de l’heure au vue de ses nombreux


avantages. R-L. Chung and P-H. Chang (Chang, 2013) ont utilisé le logiciel MATLAB /
Simulink et les blocs de construction du System Generator pour mettre en œuvre les circuits
PDSCH critiques des systèmes LTE de liaison descendante SISO. En 2014, P. R. Kolankar
and V. Swati Sakhare (Sakhare, 2014) ont proposé une conception de modulateur QPSK sur
FPGA qui consomme peu d'énergie et en utilisant la co-simulation matérielle, pour obtenir
une réduction du coût des exigences matérielles.

2.5.2.1 System Generator

Dans le cadre de cette recherche, le développement du prototype s'effectue avec le logiciel


XSG. Il s'agit d'une boîte à outils développée par Xilinx pour être intégré dans
l'environnement Matlab/Simulink et qui laisse l'usager créer des systèmes hautement
parallèles pour FPGA. Les modèles créés sont affichés sous forme de blocs, et peuvent être
raccordés aux autres blocs et à d’autres boîtes à outils de Matlab-Simulink comme SPS. Une
fois le système complété, le code VHDL généré par l'outil XSG reproduit exactement le
comportement observé dans Matlab. Pour le prototypage rapide, le choix de cet outil est
facilement explicable. Le système de conversion devant être vérifié et simulé souvent et
rapidement pendant tout le développement, il est beaucoup plus simple d'analyser les
résultats avec Matlab qu'avec les outils habituellement associés au VHDL, tel que
Modelsim. Quand le prototype fonctionne, le passage vers la plateforme matérielle pour des
tests sur le terrain est rapide, ce qui rend la validation du prototype un projet réalisable à
court terme.

102
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO

2.5.2.2 Prototypage rapide du CAN-MRCO sur FPGA

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.

L’étude menée ici consiste à prototyper l’application de filtrage en utilisant un modèle


VHDL d'un processeur spécifiquement conçu et optimisé par une exploitation des
parallélismes pour notre convertisseur MRCO. Nous partons d’un modèle initialement
conçu sur Matlab/Simulink. Nous obtenons le code VHDL intermédiaire à l’aide du
compilateur intégré dans le bloc SysGen présent dans la boîte à Outils de Xilinx qui crée
aussi automatiquement un bloc de cosimulation matérielle. Ensuite, nous ouvrons ce code
avec l’ISE de Xilinx « Vivado 2017.4 » qui se charge de la parallélisation automatique sous
contrainte de dépendance de données. Une phase de simulation du programme est ensuite
effectuée suivie de la synthèse et l’implémentation pour connaître les ressources matérielles
nécessaires de l’application : les registres nécessaires, les chemins de données ainsi que les
différents opérateurs de calcul. Ces différentes informations constituent une base de données

103
METHODOLOGIE, OUTILS D’OPTIMISATION ET DE MISE EN ŒUVRE PAR FPGA D’UN CAN-MRCO

matérielle et nous permet de générer le schéma RTL correspondant à un modèle de


processeur taillé du filtre ainsi que le bitstream qui sera chargé dans le FPGA. La carte est
ensuite connectée au PC suivie du chargement du bitstream et la cosimulation est lancée à
partir de Simulink pour permettre la visualisation des courbes issues de la carte en vue de la
validation du résultat.

Figure 43: Conception du CAN-MRCO sur cible FPGA avec XSG

 Entrée de conception (Design entry) :

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

être programmés en langage de description hardware de haut niveau tel que le


VHDL, VERILOG, ABEL ou SCHEMATIC. Après l’étape d’entrée, une simulation
optionnelle peut être effectuée à partir de Matlab/Simulink

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

Nous pouvons vérifier la fonctionnalité de notre travail à plusieurs points de flot de


conception. Nous utilisons le VHDL Test Bench dans Vivado. La vérification peut se
faire pour une portion de la conception ou pour toute la conception. La vérification
englobe la fonctionnalité et le temps. Le simulateur interprète le code VHDL ou Verilog
en circuit fonctionnel et affiche les résultats de la description logique HDL pour
déterminer le fonctionnement correct du circuit. La simulation nous permet de créer et
vérifier des fonctions complexes dans un temps. Nous pouvons aussi exécuter la
vérification après la programmation du circuit.

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

2.6 Co-simulation matérielle du prototype du CAN-MRCO sur FPGA

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

Lors d'une session de co-simulation, le simulateur virtuel et le DSP matériel sont


simultanément lancés et pilotés dans les mêmes conditions de fonctionnement (entrée et
paramètres), tandis que le comportement temps réel du DSP matériel est amené à
l'environnement de simulation virtuelle conception, visualisation de performance et
évaluation.

De toute évidence, l'environnement de co-simulation est un cadre hybride composé de


parties de simulation virtuelle et de traitement matériel. Il convient de rappeler que la
simulation virtuelle est un simulateur basé sur Simulink / Xilinx pour le CAN-MRCO. En
variante, la partie de traitement matériel cible est un kit FPGA avec un code exécutable
intégré du filtre de décimation numérique RII. Il est connecté à l'environnement virtuel
Simulink sur PC via un câble JTAG (Joint Test Action) et fonctionne simultanément avec
le simulateur virtuel.

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

proposé reste structurellement inchangé avec ces améliorations supplémentaires. Par la


suite, la conception et la mise en œuvre basée FPGA ainsi que la cosimulation logicielle et
matérielle, du CAN-MRCO est proposée. La conception et la co-simulation ont été
implémentées sur un kit de développement FPGA Xilin 7000 Xilinx. Il convient de noter
que le CAN-MRCO doit son faible coût d'implémentation et sa haute qualité (stabilité,
précision et robustesse) à sa grande simplicité matérielle et à une pertinence topologique
profonde (boucle de rétroaction négative et positive) de son circuit MRC. En tant que
découverte pertinente, le nouveau CAN-MRCO basé FPGA présenté dans cette thèse,
pourrait être utilisé comme une nouvelle solution architecturale potentielle pour les systèmes
d'instrumentation embarqué.

107
RESULTATS DE PROTOTYPAGE DU NOUVEAU CAN-MRCO ET DISCUSSION

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.

3.2 Environnement d’étude et de prototypage du CAN-MRCO

L’image de la figure 44 présente le laboratoire mis en place pour la simulation et la


réalisation du prototype de notre convertisseur analogique-numérique à modulation en
rapport cyclique optimal.

3.3 Coût estimatif des équipements matériels et logiciels


La mise en place du cadre de ce travail de recherche s’est faite moyennant un coût que
nous résumons dans le tableau IV ci-dessous. Il s’agit ici des besoins en termes matériels
et logiciels nécessaires à la réalisation des travaux de modélisation, de simulation et de
prototypage du CAN-MRCO.

108
Ordinateur PC

Oscilloscope
numérique
Générateur de
fonction

Labo Carte FPGA de Xilinx


électronique Zynq 7000
analogique

Figure 44: Environnement de base de recherche

109
Tableau IV: Coût estimatif des équipements matériels et logiciels

Besoins Coût Moyens Observations


déployés
Laptop LG Pour faire tourner les
Intel(R) différents logiciels
Core™i5-
4200M CPU @ 460.000 Fonds
2.50Ghz 2.50G FCFA personnels
hz,
RAM : 8.00GB
Système :
64bits
Carte FPGA,
Xilinx Zynq-
7000 AP SoC
XC7Z020-
CLG484 325.000FCF Fonds
Dual-core A propre
Matériel ARM Cortex™-
A9,
512 MB DDR3 ,
256 MB Quad-
SPI Flash

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

Vivado 2017.4, 1.250.000 Fonds Outils de synthèse des


64 bits, Xilinx FCFA propre FPGA de Xilinx
ISE
Protéus Design Pour l’analyse et la
Logiciels Suite 600.000FCF Fonds simulation
A propre comportementale

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

3.4 Résultats de simulation virtuelle du CAN-MRCO sur cible FPGA

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 simulation requise pour l'évaluation des performances du prototypage global du CAN


basé sur la MRCO est effectuée sur une plage de fréquences suffisamment large, y compris
la bande passante modulante de 3 KHz. De plus, un échantillon de résultat détaillé relatif à
une entrée de modulation sinusoïdale (1 KHz, 1 Vpp) est présenté sur les figures 50 et 51.

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

La figure 44 nous présente le schéma électronique du modulateur optimal conçu sur


protéus pour une entrée sinusoidale.

Figure 45: Schéma électronique du modulateur MRCO

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.

Tableau V: Spécifications techniques du CAN MRCO

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𝑉

La figure 46 donne la réponse temporelle du modulateur pour un modulant sinusoïdal et son


spectre de puissance. On y voit qu’effectivement le signal modulant sinusoïdal a été
transformé en une onde rectangulaire donc le spectre de puissance est concentré sur la raie
du fondamental.

Signal de sortie du modulateur

Figure 46: Résultat de simulation du modulateur MRCO

Les résultats de l’optimisation des paramètres 𝛼 et 𝜏 du modulateur nous ont permis de


matérialiser graphique l’approximation linéaire de la fonction rapport cyclique avec une
erreur quasi nulle dans la plage de tension [-8 +8V]. Cette zone pourrait s’élargir
d’avantage si on disposait d’un amplificateur opérationnel admettant une grande tension
d’alimentation. La figure 47 ci-dessous présente le résultat de cette optimisation ainsi que
l’erreur d’approximation tracé dans l’environnement Matlab.

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

Le tableau VI ci-dessous résume les paramètres essentiels du filtre démodulateur :

Tableau VI: Paramètres du Filtre RII de second ordre

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

3.4.1.2 Résultats de simulation du CAN-MRCO

Le haut niveau de performance obtenu à partir de la simulation virtuelle d'un système de


prototypage est un grand défi: Nous pouvons, sur la base de ces résultats, valider le modèle
une du CAN à suréchantillonnage proposé.

117
Figure 49: Entrée analogique et sortie reconstruite du modèle optimal.

Figure 50: Erreur entre le modulant sinusoidal et la sortie

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

Figure 52: Erreur entrée le signal d'entrée carré et la sortie

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

L'entrée modulante et la forme d'onde de sortie numérique reconstruite du modèle optimal


sont représentées aux Figures 51 et 54 La sortie numérique reconstruite du CAN MRCO
est presque identique à l’entrée analogique. Les effets des non-linéarités et les erreurs
inclues dans le model du CAN MRC ont été éliminés grâce à l’optimisation.
Figure 54 montre la sortie FFT (fast Fourier transformer ou transformée de Fourier rapide)
pour les signaux modulant et numérique, respectivement. On y voit une grande similitude.
Ceci est un autre résultat qui permet de valider la qualité exceptionnelle du convertisseur
proposé dans cette thèse.

120
(a)

(b)

(a) : Densité spectrale du modulant


(b) : Densité spectrale du signal démodulé
Figure 54: Spectres des signaux modulant et démodulé

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

Figure 55: DNL et INL du CAN MRCO de 12bits

Tableau VII: Tableau des performances théoriques du CAN MRCO

Paramètre Valeur
INL -0.3/+0.3
DNL -0.3/+0.2
SNR 63.73 dB
Résolution 12bits
SFR 46.96dB

Le tableau VII montre les profils de la simulation de DNL (Non-linéarité différentielle)


et l'INL (non-linéarité intégrale) et d’autres performances telle que SNR (rapport signal) et
SFDR (Spurious sans rapport dynamique). La DNL se trouve à -1/+1 LSB, et la INL est -
0.6/1 LSB. La SFDR est d'environ 46.96 dB.

122
(a)

(b)

Figure 56: Evolution du SNR (a) et du SFDR (b) virtuels

123
3.4.2 Résultats Expérimentaux du CAN-MRCO

Le générateur SysGen de Xilinx permet de générer le bloc de co-simulation matérielle qui


permet à la carte FPGA d’interagir avec l’ordinateur par l’intermédiaire de l’environnement
Simulink. Le Schema de co-simulation est donne par la figure 53

Figure 57: Plateforme de co-simulation matérielle

Les résultats de co-simulation matérielle sont présentés à la figure 58. Un agrandissement


de l’image permet de juger la qualité de la réponse du convertisseur analogique-numérique
ainsi prototypé. En superposant ces deux courbes, nous constatons une similitude des
courbes et la seule différence concerne un léger décalage qu’il est aisé de corriger pour
aligner l’ensemble des signaux lors de la reconstruction. Dans ce modèle, seuls le filtre est
décrits en VHDL et ils utilisent le solver Vivado pour la simulation. On voit bien que les

124
fréquences se conservent et que le modulant et le signal de sortie du CAN sont parfaitement
en phase.

(a)

(b)

Figure 58: Résultats de co-simulation matérielle pour un signal modulant de fréquence


1kHz : (a) sinusoïde pure, (b) sinusoïde composée

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.

Figure 59: Superposition de sorties matérielle, virtuelle et de l'entrée de CAN

Figure 60: Erreur entre le signal d'entrée et le signal de sortie du FPGA

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)

Figure 61: Courbe du SNR (a) et SFDR (b) de co-simulation

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

Les performances du filtre de décimation ont été déterminées à l'aide de la co-simulation


matérielle utilisant Chipscope Pro dans l’ISE. La sortie numérique résulte de la mise en
œuvre du filtre de décimation dans le Zynq7000 en utilisant Chip Scope pour les signaux
analogiques à 10 kHz illustrée à la figure 58. En comparant le signal numérique obtenu avec
Matlab simulink, on peut voir que les deux signaux numériques sont très similaires et que
cela signifie la génération et l’implémentation du code VHDL dans Zynq7000 se sont
effectuées sans erreur. En raison de la similitude dans le domaine temporel entre deux
signaux numériques de simulation et de mise en œuvre illustrée à la figure 52, on peut
supposer que le spectre de sortie de la mise en œuvre du filtre de décimation est identique
au spectre de sortie simulé.

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

Figure 68: Implantation du CAN-MRCO sur FPGA

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.

Tableau VIII: Caractéristique rapport signal sur bruit du CAN-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.

Figure 69: Spectre de puissance du signal de sortie

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

Sources (Mbihi, (Moffo, Thèse (Ashrafi, Nos


2012) 2016) 2012) Travaux
Tension (V) [-2, 2] [-2, 2] [0.5,0.5] [-2, 2]
Fréquence du 10 [0 ; 5kHz] [0 ; 5kHz]
modulant (Hz)
Fréquence 3.5 25000 100.000 25000
d’échantillonnage
(kHz)
ENOB (bit) Non défini 10 12 12
SNR (dB) Non défini 59 Non 70.45
défini
SFDR (dB) Non défini 57 Non 59
défini
Fréquence 21 172 172
centrale du
modulateur (kHz)

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

Dans le contexte du traitement du signal et de l’instrumentation, nos travaux de thèse de


doctorat se sont focalisés sur la conversion analogique numérique des signaux basse
fréquence moyennant une architecture à sur-échantillonnage basée sur le principe de
modulation de rapport cyclique. Nous avons cherché à tirer profit du modulateur MRC
connu pour son architecture simple et robuste, et pour ses caractéristiques spectrales.

Dans le premier chapitre de cette thèse, le concept et les exigences de la conversion


analogique-numérique sont exposés. Ensuite, un état de l’art des architectures de
convertisseurs suivant la famille d’appartenance est présenté.

Le deuxième chapitre a permis de présenter la méthodologie d’optimisation et de mettre en


œuvre le prototype du convertisseur analogique-numérique MRCO. En effet, le principe de
l’architecture MRC repose sur le choix du rapport de fréquence d’échantillonnage et la
fréquence centrale du modulateur, et donc sur le choix des paramètres de l’oscillateur. La
nouveauté dans l’architecture proposée réside dans l’optimisation globale de la structure
(modulateur + filtre décimateur). La structure du problème d’optimisation à résoudre résulte
de trois lemmes et trois théorèmes morphologiques dûment établis et démontrés. Ainsi la
structure du convertisseur a été subdivisée en deux sous-problèmes d’optimisation tout en
tenant compte des contraintes mutuelles.

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,

 Nous espérons achever complétement le prototypage du CAN à modulation en


rapport cyclique par la mise en œuvre d’un circuit intégré CAN-MRCO ;
 L’approche de modélisation comporte certainement d’autres sources d’erreurs pris
en charge dans notre modèle. Il s’agit notamment de la prise en compte des défauts
de l’amplificateur opérationnel.
 Par ailleurs, il faudra étudier la faisabilité d’un amplificateur opérationnel avec une
plage d’alimentation ainsi qu’une bande passante plus large pour agrandir la zone de
linéarisation de la fonction rapport cyclique.
 Mise en œuvre d’une version multicanal du convertisseur CAN à MRCO

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

Nneme Nneme, L. , Mbihi, J. (2014), Modeling and Simulation of a New Duty-Cycle


Modulation Scheme for Signal Transmission Systems. American Journal of Electrical and
Electronic Engineering, 2(3), pp. 82-87.
Nneme Nneme, L. , Moffo, L. B. , Sonfack, G. B. and. Mbihi, J. (2018), Review of
Multipurpose Duty-Cycle Modulation Technology in Electrical and Electronics
Engineering. Journal of ElectricalEngineering, Electronics, Contrlo and Computer
Science-JEECCS, 4(12), pp. 9-18.
Bello, O., Mbihi, J. and Nneme Nneme, L. (2018), Novel Chaotic Strange Phenomena in
Pieewise Linear Negative Resistance/Conductance L-C Oscillator: Feasibility Study and
Virtual. WSEAS TRANSACTIONS ON CIRCUITS AND SYSTEMS, Volume 17.
Ranjit, S. et al. (2012), Genetic Algorithm for the Design of Optimal IIR Digital Filters.
Journal of Signal and Information Processing,, Volume 3, pp. 286-292.
Rarbi, F. E. (2010), Conception d’un convertisseur analogique numérique pipeline de
grande dynamique et de faible consommation pour le codage des signaux de détecteurs à
forte granularité, Grenoble: Université de Grenoble, France.
Roza, E. (1997), Analog-to-Digital Conversion via Duty-Cycle Modulation. IEEE
TRANSACTIONS ON CIRCUITS AND SYSTEMS, Volume 44.
Ruiz, J. A. et al. (2012), Behavioral modeling of pipeline ADC building blocks.
International Journal of Circuit Theory and Applications, Volume 40, pp. 571-594,.
Rabiul, I. S. M. and Nokib, A. F. M. (2011), FPGA based sigma-delta modulator design
for biomedical application using Verilog HDL. Global Journal of researches in
engineering - Electrical and electronic engineering, 11(7), pp. 01-06.
Sakhare, P. R. et al. (2014), FPGA Implementation of QPSK modulator by using
Hardware Co-simulation. International Journal of Engineering Research and
Development, Volume 10, pp. 86-93.
Sakhare, P. R. et al. (2014), FPGA Implementation of QPSK modulator by using
Hardware Co-simulation. International Journal of Engineering Research and
Development, Volume 10, pp. 86-93.
Schweitzer, E. et al. (2008), AnAlyse et trAitement des signAux méthodes et applications
au son et à l’image. Paris: Dunod.
Sonfack, G. , Mbihi, J. and Moffo, L. B. (2017), Optimal Duty-Cycle Modulation Scheme
for Analog-To-Digital Conversion Systems. World Academy of Science, Engineering and
Technology, 11(3).
Sonfack, G. B. and. Mbihi, J. (2018), FPGA-Based Analog-to-Digital Conversion via
Optimal Duty-Cycle Modulation. Journal of Electrical and Electronic Engineering, JEEE,
8(2), pp. 29-36.
Steven, R. N. et al. (1997), Delta-Sigma Converters Theory, Design and simulation. IEEE
PRESS, Volume 3, pp. 42-63.

145
Bibliographie

Vandenberghe, A. B. (2002), Convex Optimization Problems Involving Finite


Autocorrelation Sequences. In Mathematical Programming, Series A, 93(3), pp. 331-359.
Vandenberghe, L. (2002), In Mathematical Programming,. Series A, 93(3), pp. 331-359.
Vandome, F. P. M. (2010), Traitement Numérique du Signal: Analogique, Traitement du
signal, É lectronique, Transformée de Fourier, Convertisseur analogique-numérique.
s.l.:Broché.
Wangmeng, Z. and Zhang, D. (2010), Postprocessed lda for face and palmprint
recognition : What is the rationale. Signal Processing, 90(3), p. 2344 – 2352.
Wy, C. et al. (2006), SVM-based speaker verification system for match-on-card and its
hardware implementation. ETRI JOURNAL, 28(3), p. 320–328.
Xilinx, (2008), http://www.xilinx.com.. [En ligne] Available at: 21:48[Accès le 6 Mars
2017].
Xilinx, (2012), http://www.xilinx.com.. [En ligne] [Accès le 30 Mai 2017].
Xilinx, (2012),Tutorials, cosmiac - spartan 3E configurable space microsystems
innovations & applications Center.. 21 FEV.
YuWang, B. L. (2011), Digital IIR filter design using multi-objective optimization
evolutionary algorithm. Applied Soft Computing, 11(2), pp. 1851-1857.
Zhang, D. et al. (2003), IEEE Trans. Pattern Anal. Mach. Intell. Online palmprint, 25(9),
p. 1041–1050.

146
Bibliographie

Listes des articles tirés de la thèse

147
Bibliographie

Annexes

1. Annexe B: Code VHDL du filtre RII

-- Generated from Simulink block FiltreIIR/IIR_mult/Adder Tree


library IEEE;
use IEEE.std_logic_1164.all;
library xil_defaultlib;
use xil_defaultlib.conv_pkg.all;
entity filtreiir_adder_tree is
port (
in1 : in std_logic_vector( 76-1 downto 0 );
in2 : in std_logic_vector( 76-1 downto 0 );
in3 : in std_logic_vector( 76-1 downto 0 );
in4 : in std_logic_vector( 54-1 downto 0 );
in5 : in std_logic_vector( 54-1 downto 0 );
clk_1 : in std_logic;
ce_1 : in std_logic;
out1 : out std_logic_vector( 79-1 downto 0 ) );
end filtreiir_adder_tree;
architecture structural of filtreiir_adder_tree is
signal addsub_s_net : std_logic_vector( 77-1 downto 0 );
signal addsub3_s_net : std_logic_vector( 79-1 downto 0 );
signal mult1_p_net : std_logic_vector( 76-1 downto 0 );
signal mult4_p_net : std_logic_vector( 54-1 downto 0 );
signal clk_net : std_logic;
signal mult2_p_net : std_logic_vector( 76-1 downto 0 );
signal mult_p_net : std_logic_vector( 76-1 downto 0 );
signal mult3_p_net : std_logic_vector( 54-1 downto 0 );
signal ce_net : std_logic;
signal addsub2_s_net : std_logic_vector( 78-1 downto 0 );
signal addsub1_s_net : std_logic_vector( 77-1 downto 0 );
begin

148
Bibliographie

out1 <= addsub3_s_net;


mult_p_net <= in1;
mult1_p_net <= in2;
mult2_p_net <= in3;
mult3_p_net <= in4;
mult4_p_net <= in5;
clk_net <= clk_1;
ce_net <= ce_1;
addsub : entity xil_defaultlib.filtreiir_xladdsub
generic map (
a_arith => xlSigned,
a_bin_pt => 62,
a_width => 76,
b_arith => xlSigned,
b_bin_pt => 62,
b_width => 76,
c_has_c_out => 0,
c_latency => 0,
c_output_width => 77,
core_name0 => "filtreiir_c_addsub_v12_0_i0",
extra_registers => 0,
full_s_arith => 2,
full_s_width => 77,
latency => 0,
overflow => 1,
quantization => 1,
s_arith => xlSigned,
s_bin_pt => 62,
s_width => 77)
port map (
clr => '0',
en => "1",
a => mult_p_net,
b => mult1_p_net,
clk => clk_net,

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

signal mult2_p_net : std_logic_vector( 76-1 downto 0 );


signal constant4_op_net : std_logic_vector( 22-1 downto 0 );
signal constant1_op_net : std_logic_vector( 22-1 downto 0 );
signal mult_p_net : std_logic_vector( 76-1 downto 0 );
signal ce_net : std_logic;
signal clk_net : std_logic;
signal cmult_p_net : std_logic_vector( 54-1 downto 0 );
signal addsub3_s_net : std_logic_vector( 79-1 downto 0 );
signal constant2_op_net : std_logic_vector( 22-1 downto 0 );
signal mult4_p_net : std_logic_vector( 54-1 downto 0 );
signal constant_op_net : std_logic_vector( 22-1 downto 0 );
begin
y <= convert2_dout_net;
cmult_p_net <= x;
clk_net <= clk_1;
ce_net <= ce_1;
adder_tree : entity xil_defaultlib.filtreiir_adder_tree
port map (
in1 => mult_p_net,
in2 => mult1_p_net,
in3 => mult2_p_net,
in4 => mult3_p_net,
in5 => mult4_p_net,
clk_1 => clk_net,
ce_1 => ce_net,
out1 => addsub3_s_net );
constant_x0 : entity xil_defaultlib.sysgen_constant_592ed7bc1f
port map (
clk => '0',
ce => '0',
clr => '0',
op => constant_op_net );
constant1 : entity xil_defaultlib.sysgen_constant_01ff7d7929
port map (
clk => '0',

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

clk => clk_net,


ce => ce_net,
core_clk => clk_net,
core_ce => ce_net,
p => mult_p_net );
mult1 : 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 => register2_q_net,
b => constant1_op_net,

155
Bibliographie

clk => clk_net,


ce => ce_net,
core_clk => clk_net,
core_ce => ce_net,
p => mult1_p_net );
mult2 : 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 => register3_q_net,
b => constant2_op_net,

156
Bibliographie

clk => clk_net,


ce => ce_net,
core_clk => clk_net,
core_ce => ce_net,
p => mult2_p_net );
mult3 : entity xil_defaultlib.filtreiir_xlmult
generic map (
a_arith => xlSigned,
a_bin_pt => 28,
a_width => 32,
b_arith => xlSigned,
b_bin_pt => 17,
b_width => 22,
c_a_type => 0,
c_a_width => 32,
c_b_type => 0,
c_b_width => 22,
c_baat => 32,
c_output_width => 54,
c_type => 0,
core_name0 => "filtreiir_mult_gen_v12_0_i2",
extra_registers => 0,
multsign => 2,
overflow => 1,
p_arith => xlSigned,
p_bin_pt => 45,
p_width => 54,
quantization => 1 )
port map (
clr => '0',
core_clr => '1',
en => "1",
rst => "0",
a => register1_q_net,
b => constant3_op_net,

157
Bibliographie

clk => clk_net,


ce => ce_net,
core_clk => clk_net,
core_ce => ce_net,
p => mult3_p_net);
mult4 : entity xil_defaultlib.filtreiir_xlmult
generic map (
a_arith => xlSigned,
a_bin_pt => 28,
a_width => 32,
b_arith => xlSigned,
b_bin_pt => 17,
b_width => 22,
c_a_type => 0,
c_a_width => 32,
c_b_type => 0,
c_b_width => 22,
c_baat => 32,
c_output_width => 54,
c_type => 0,
core_name0 => "filtreiir_mult_gen_v12_0_i2",
extra_registers => 0,
multsign => 2,
overflow => 1,
p_arith => xlSigned,
p_bin_pt => 45,
p_width => 54,
quantization => 1 )
port map (
clr => '0',
core_clr => '1',
en => "1",
rst => "0",
a => register4_q_net,
b => constant4_op_net,

158
Bibliographie

clk => clk_net,


ce => ce_net,
core_clk => clk_net,
core_ce => ce_net,
p => mult4_p_net );
register_x0 : entity xil_defaultlib.filtreiir_xlregister
generic map (
d_width => 54,
init_value => b"000000000000000000000000000000000000000000000000000000" )
port map (
en => "1",
rst => "0",
d => cmult_p_net,
clk => clk_net,
ce => ce_net,
q => register_q_net );
register1 : entity xil_defaultlib.filtreiir_xlregister
generic map (
d_width => 32,
init_value => b"00000000000000000000000000000000" )
port map (
en => "1",
rst => "0",
d => convert2_dout_net,
clk => clk_net,
ce => ce_net,
q => register1_q_net );
register2 : entity xil_defaultlib.filtreiir_xlregister
generic map (
d_width => 54,
init_value => b"000000000000000000000000000000000000000000000000000000")
port map (
en => "1",
rst => "0",
d => register_q_net,

159
Bibliographie

clk => clk_net,


ce => ce_net,
q => register2_q_net );
register3 : entity xil_defaultlib.filtreiir_xlregister
generic map (
d_width => 54,
init_value => b"000000000000000000000000000000000000000000000000000000")
port map (
en => "1",
rst => "0",
d => register2_q_net,
clk => clk_net,
ce => ce_net,
q => register3_q_net );
register4 : entity xil_defaultlib.filtreiir_xlregister
generic map (
d_width => 32,
init_value => b"00000000000000000000000000000000" )
port map (
en => "1",
rst => "0",
d => register1_q_net,
clk => clk_net,
ce => ce_net,
q => register4_q_net);
end structural;
-- Generated from Simulink block FiltreIIR_struct
library IEEE;
use IEEE.std_logic_1164.all;
library xil_defaultlib;
use xil_defaultlib.conv_pkg.all;
entity filtreiir_struct is
port (
gateway_in : in std_logic_vector( 32-1 downto 0 );
clk_1 : in std_logic;

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

register1 : entity xil_defaultlib.filtreiir_xlregister


generic map (
d_width => 32,
init_value => b"00000000000000000000000000000000" )
port map (
en => "1",
rst => "0",
d => register_q_net,
clk => clk_net,
ce => ce_net,
q => register1_q_net);
register4 : entity xil_defaultlib.filtreiir_xlregister
generic map (
d_width => 32,
init_value => b"00000000000000000000000000000000")
port map (
en => "1",
rst => "0",
d => convert2_dout_net,
clk => clk_net,
ce => ce_net,
q => register4_q_net);
register5 : entity xil_defaultlib.filtreiir_xlregister
generic map (
d_width => 32,
init_value => b"00000000000000000000000000000000")
port map (
en => "1",
rst => "0",
d => register4_q_net,
clk => clk_net,
ce => ce_net,
q => register5_q_net );
cmult : entity xil_defaultlib.filtreiir_xlcmult
generic map (

162
Bibliographie

a_arith => xlSigned,


a_bin_pt => 28,
a_width => 32,
b_bin_pt => 17,
c_a_type => 0,
c_a_width => 32,
c_b_type => 1,
c_b_width => 22,
c_output_width => 54,
core_name0 => "filtreiir_mult_gen_v12_0_i0",
extra_registers => 0,
multsign => 2,
overflow => 1,
p_arith => xlSigned,
p_bin_pt => 45,
p_width => 54,
quantization => 1,
zero_const => 0)
port map (
clr => '0',
core_clr => '1',
en => "1",
rst => "0",
a => register1_q_net,
clk => clk_net,
ce => ce_net,
core_clk => clk_net,
core_ce => ce_net,
p => cmult_p_net );
end structural;

-- Generated from Simulink block


library IEEE;

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;

-- Generated from Simulink block


library IEEE;
use IEEE.std_logic_1164.all;
library xil_defaultlib;
use xil_defaultlib.conv_pkg.all;
entity filtreiir is
port (
clk : in std_logic;
filtreiir_aresetn : in std_logic;
filtreiir_s_axi_awaddr : in std_logic_vector( 4-1 downto 0 );

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

gateway_out2 => gateway_out2,


filtreiir_s_axi_awaddr => filtreiir_s_axi_awaddr,
filtreiir_s_axi_awvalid => filtreiir_s_axi_awvalid,
filtreiir_s_axi_wdata => filtreiir_s_axi_wdata,
filtreiir_s_axi_wstrb => filtreiir_s_axi_wstrb,
filtreiir_s_axi_wvalid => filtreiir_s_axi_wvalid,
filtreiir_s_axi_bready => filtreiir_s_axi_bready,
filtreiir_s_axi_araddr => filtreiir_s_axi_araddr,
filtreiir_s_axi_arvalid => filtreiir_s_axi_arvalid,
filtreiir_s_axi_rready => filtreiir_s_axi_rready,
filtreiir_aresetn => filtreiir_aresetn,
filtreiir_aclk => clk,
gateway_in => gateway_in,
filtreiir_s_axi_awready => filtreiir_s_axi_awready,
filtreiir_s_axi_wready => filtreiir_s_axi_wready,
filtreiir_s_axi_bresp => filtreiir_s_axi_bresp,
filtreiir_s_axi_bvalid => filtreiir_s_axi_bvalid,
filtreiir_s_axi_arready => filtreiir_s_axi_arready,
filtreiir_s_axi_rdata => filtreiir_s_axi_rdata,
filtreiir_s_axi_rresp => filtreiir_s_axi_rresp,
filtreiir_s_axi_rvalid => filtreiir_s_axi_rvalid,
clk => clk_net );
filtreiir_default_clock_driver : entity xil_defaultlib.filtreiir_default_clock_driver
port map (
filtreiir_sysclk => clk_net,
filtreiir_sysce => '1',
filtreiir_sysclr => '0',
filtreiir_clk1 => clk_1_net,
filtreiir_ce1 => ce_1_net);
filtreiir_struct : entity xil_defaultlib.filtreiir_struct
port map (
gateway_in => gateway_in,
clk_1 => clk_1_net,
ce_1 => ce_1_net,
gateway_out2 => gateway_out2 );

166
Bibliographie

end structural;

2. . Annexe C: Synoptique du filtre RII

𝑀 𝑁

𝑦(𝑛) = ∑ 𝑎𝑚 𝑥𝑚 − ∑ 𝑏𝑛−𝑘 𝑦𝑛−𝑘


𝑚=0 𝑛=𝑘

3. Annexe C:

167
Bibliographie

Figure 0.1: Typon côté piste

Figure 0.2: Typon côté composants et photo du modulateur

168

View publication stats

Vous aimerez peut-être aussi