Correction et moyennage temps-réel pour mesures ... · Direct Current. DDR . Dual Data Rate . DSP...
-
Upload
truongduong -
Category
Documents
-
view
223 -
download
0
Transcript of Correction et moyennage temps-réel pour mesures ... · Direct Current. DDR . Dual Data Rate . DSP...
Correction et moyennage temps-réel pour mesures interférométriques par peignes de fréquence
Mémoire
JULIEN ROY
Maîtrise en génie électrique Maître ès sciences (M.Sc.)
Québec, Canada
© Julien Roy, 2013
iii
Résumé Ce mémoire a pour but le développement d’un système interférométrique à
peignes de fréquence simple d’utilisation et performant afin de
démocratiser l’utilisation de cette nouvelle technologie.
Dans ce mémoire, le principe d’interférométrie par peignes de fréquence est
décrit ainsi que des techniques de référencement. Par la suite, le
référencement est utilisé afin de concevoir un système de correction et de
moyennage temps-réel.
Ce mémoire présente le système optique et électronique nécessaire à la
réalisation d’un tel système. Toutes les étapes de la conception de
l’algorithme de correction et de moyennage y sont exposées ainsi que les
différents compromis et optimisations effectués.
Finalement, des mesures expérimentales prises et corrigées à l’aide du
système développé sont présentées. À ce jour, la mesure d’HCN et de C2H2
ainsi que celle du micro-résonateur présentées dans ce mémoire possèdent
le plus haut rapport signal sur bruit pris par un interféromètre à peignes
de fréquence.
v
Table des matières Résumé .................................................................................................... iii Table des matières .................................................................................... v Liste des figures ...................................................................................... vii Liste des abréviations ............................................................................... ix Remerciements ........................................................................................ xi 1. Introduction....................................................................................... 1
1.1 Objectifs ...................................................................................... 2 1.2 Vue d’ensemble des chapitres ...................................................... 3 1.3 Publications ................................................................................ 3
2. Interférométrie par peignes de fréquence ............................................ 5 2.1 Peigne de fréquences ................................................................... 5 2.2 Interférométrie ............................................................................. 7 2.3 Stabilisation et référencement .....................................................14 2.4 Survol de l’algorithme de correction ............................................21
3. Système interférométrique et de traitement de données .....................23 3.1 Montage optique .........................................................................23
3.1.1 Sources laser........................................................................24 3.1.2 Interférométrie .....................................................................25 3.1.3 Référencement .....................................................................26
3.2 Système électronique ..................................................................28 3.2.1 Plateforme FPGA ..................................................................29 3.2.2 Ordinateur et boucles d’asservissement ................................36
4. Réalisation de l’algorithme sur FPGA ................................................41 4.1 Correction ..................................................................................43
4.1.1 Extraction des références .....................................................43 4.1.2 Correction des interférogrammes ..........................................59
4.2 Alignement et moyennage ...........................................................72 4.2.1 Corrélation croisée ...............................................................73 4.2.2 Rétroaction du décalage et de la phase .................................76 4.2.3 Moyennage ...........................................................................79
4.3 Périphériques de communication ................................................82 4.3.1 Carte d’acquisition ...............................................................82 4.3.2 Communication série ...........................................................84 4.3.3 Sonde numérique .................................................................86
5. Résultats expérimentaux ..................................................................87 5.1 Addition cohérente......................................................................87 5.2 Mesure de 24 heures ..................................................................89 5.3 Mesure d’un micro-résonateur ....................................................96
Conclusion ............................................................................................ 101 Bibliographie ......................................................................................... 103 A. Guide d’utilisation .......................................................................... 105
A.1 Schéma fonctionnel...................................................................... 106
vi
A.2 Paramètres de correction ............................................................. 106 A.3 Informations sur le système ........................................................ 107 A.4 Boucles d’asservissement ............................................................ 108 A.5 Alignement et moyennage ............................................................ 109
vii
Liste des figures Figure 1 : Représentation temporelle d’un peigne de fréquence ................. 6 Figure 2 : Interféromètre par peignes de fréquence ................................... 7 Figure 3 : Interférométrie par peignes de fréquence .................................. 8 Figure 4 : Analyse temporelle d'un interféromètre à peignes de fréquence 10 Figure 5 : Acquisition de l’interférence entre deux peignes de fréquence ..11 Figure 6 : Spectre électrique d’un IGM. ....................................................12 Figure 7 : Référencement et compensation de l’instabilité ........................16 Figure 8 : Algorithme de correction ..........................................................21 Figure 9 : Montage interférométrique et référencement ............................23 Figure 10 : Système électronique .............................................................28 Figure 11 : Plateforme FPGA ML605 de Xilinx .........................................31 Figure 12 : Carte MI250 de Nutaq offrant 8 ADCs ....................................34 Figure 13 : Diagramme haut-niveau du programme FPGA. ......................42 Figure 14 : Filtrage passe-bande des quatre battements de référence .......44 Figure 15 : Réponse en fréquence des filtres passe-bas. ...........................46 Figure 16 : Erreur du filtrage passe-bande en arithmétique fixe ...............49 Figure 17 : Extraction des références.......................................................51 Figure 18 : Ajustement du gain. ..............................................................52 Figure 19 : Gains ajustables pour l’extraction des références. ..................53 Figure 20 : Erreur de l’arc tangente de 10 bits en arithmétique fixe .........56 Figure 21 : Filtre passe-bas en boîte, structure CIC. ................................58 Figure 22 : Algorithme de correction des IGM ..........................................59 Figure 23 : Schéma bloc du filtre IIR passe-haut .....................................60 Figure 24 : Représentation spectrale du filtre IIR passe-haut ...................61 Figure 25 : Spectre en bande de base suite à la correction de phase ........64 Figure 26 : Erreur engendrée par l’interpolation linéaire ..........................67 Figure 27 : Exemple de grille d’échantillonnage .......................................68 Figure 28 : Machine à état conventionnelle pour le ré-échantillonnage.....69 Figure 29 : Machine à état du bloc de ré-échantillonnage optimisée .........70 Figure 30 : Synchronisation des données provenant des ADCs ................83 Figure 31 : Erreurs résiduelles du décalage et de la phase .......................88 Figure 32 : Mesures du C2H2 et du HCN avec le système de correction ...90 Figure 33 : Phase du spectre d’un IGM dispersé par de la fibre SMF ........91 Figure 34 : Mesure de 24 heures du C2H2 et du HCN ...............................93 Figure 35 : Spectres de la mesure de 24 heures de C2H2 et de HCN .........94 Figure 36 : Réflexion de la rétrodiffusion de Rayleigh de la fibre SMF .......96 Figure 37 : Montage optique pour la mesure d’un micro-résonateur ........97
viii
Figure 38 : Mesure de 100 secondes d’un micro-résonateur .................... 98 Figure 39 : Interface graphique ............................................................. 105
ix
Liste des abréviations ADC Analog-to-Digital Converter
ASIC Application-Specific Integrated Circuit
BRAM Block RAM
C2H2 Acétylène
CEO Carrier-Envelope Offset
CIC Cascaded Integrator-Comb
CLB Configurable logical Bloc
CORDIC COordinate Rotational DIgital Computer
CW Continuous Wave
DAC Digital-to-Analog Converter
DC Direct Current
DDR Dual Data Rate
DSP Digital Signal Processing
ENOB Effective Number of Bits
FF Flip-Flops
FFT Transformée de Fourier rapide
FIFO First In First Out
FIR Finite Impulse Response
FMC FPGA Mezzanine Card
FPGA Field-Programmable Gate Array
HCN Cyanure d'hydrogène
HDL Hardware Description Language
HPF High-Pass Filter
IGM Interférogramme
IIR Infinite impulse response
IP Propriété Intellectuelle
LIDAR Light Detection and Ranging
LPF Low-Pass Filter
LSB Least Significant Bit
LUT Look-Up Tables
x
LVDS Low-Voltage Differential Signaling
MMCM Mixed-Mode Clock Manager
MSB Most Significant Bit
NEB Noise Equivalent Bandwidth
NIST National Institute of Standards and Technology
OCT Optical Coherence Tomography
OLCR Optical Low-Coherence Reflectometry
OPD Différence de Parcours Optique
PI Proportionnel Intégral
RAM Random Access Memory
RIO Redfern Integrated Optics
RMS Root-Mean-Square
SDR Single Data Rate
SMF Fibre à mode unique
SNR Rapport signal à bruit
SPI Serial Peripheral Interface
UART Universal Asynchronous Receiver Transmitter
WDM Wavelength-Division Multiplexing
ZPD Zero Path Difference
xi
Remerciements La réalisation d’un mémoire en traitement de signal dans le domaine de
l’optique, une discipline à l’extérieur de ma zone de confort, m’a forcé à
développer de nouvelles connaissances et m’a permis repousser mes
limites. Durant cette maîtrise, j’ai grandis en tant qu’ingénieur, en
développant de nouvelles approches de résolution de problèmes mais aussi
sur le plan personnel en travaillant avec une équipe passionnée et
dynamique.
J’aimerais remercier mon directeur de recherche Pr Jérôme Genest pour
son soutien et sa présence tout au long de ma maîtrise. Il a su croire en
mes capacités pour mener à terme ce projet. Il a su m’enseigner les
fondements du traitement de signal mais aussi m’initier à l’optique.
Je veux remercier mes collègues Jean-Daniel Deschênes, Simon Potvin et
Sylvain Boudreau pour leur présence tout au long de ma maîtrise. Ils
m’ont apporté une précieuse aide, investi beaucoup de leur temps et
suscité de passionnantes conversations.
Je souhaite aussi remercier Joëlle Murray, l’amour de ma vie, de m’avoir
supporté et motivé durant ces deux dernières années.
Finalement, je termine en remerciant le CRSNG, le FQRNT, le département
de génie électrique et informatique de l’Université Laval et Pr Jérôme
Genest pour leur soutien financier.
1
1. Introduction Ce mémoire porte sur la correction et le moyennage en temps-réel dans un
système interférométrique à peignes de fréquence. Ce type de système
produit des mesures de haute précision et cela à grande vitesse. Dans
plusieurs domaines, l’interférométrie par peignes de fréquence peut donc
s’avérer un outil de choix afin de sonder un échantillon optique.
L’interférométrie par peignes de fréquence peut être utilisée pour connaître
la réponse impulsionnelle et spectrale d’un gaz ou de n’importe quel
échantillon optique dans la bande spectrale des peignes. Aussi, l’utilisation
des peignes dans un montage interférométrique en réflectométrie [TAU10]
permet de caractériser des échantillons biologiques (mesures de type OCT,
pour Optical coherence tomography) ou des composants optiques dans le
domaine des télécommunications (nommé OLCR pour Optical low-
coherence reflectometry). De plus, les peignes peuvent servir de LIDAR
(LIght Detection and Ranging) spectral. Cette technique interférométrique
permet de connaître la réponse spectrale en réflexion d’une cible en plus de
connaître sa distance en observant le « temps de vol » des impulsions
[GEN11].
En effet, l’interférométrie par peignes de fréquence permet de fournir des
mesures spectroscopiques pouvant atteindre une octave de largeur
spectrale, avec une résolution spectrale sous le picomètre et cela en
quelques millisecondes. Ce faible temps de mesure peut servir à suivre la
dynamique du système observé ou simplement à moyenner
successivement les mesures d’un système statique afin d’augmenter la
qualité de la mesure.
Présentement, son utilisation se limite principalement à quelques groupes
de recherche dans le monde due à une certaine complexité reliée à la
stabilité de ces lasers. Si les fluctuations des lasers ne sont pas prises en
2
compte, la qualité des données peut rapidement se dégrader, diminuant
grandement l’attrait des peignes de fréquence comme outil de mesure.
1.1 Objectifs Le projet décrit dans ce mémoire a comme objectif de rendre transparente,
du moins en partie, aux utilisateurs de ce type de système
interférométrique la complexité reliée à l’instabilité des lasers. Une
diminution apparente de la complexité d’un tel système est nécessaire afin
d’élargir l’utilisation des peignes comme outil interférométrique ou
spectroscopique. En effet, plusieurs solutions alternatives, procurant le
spectre ou la réponse impulsionnelle d’un échantillon optique, sont
encapsulées à l’intérieur d’un boitier et l’utilisateur n’a pas besoin d’avoir
une connaissance approfondie de son fonctionnement interne pour pouvoir
l’utiliser correctement. Afin de rivaliser avec ces compétiteurs, il est
inévitable que la démocratisation des peignes de fréquence comme outil de
mesure devra passer par une forte diminution de sa complexité
d’opération.
Un deuxième objectif de ce projet est de rendre possible le moyennage en
temps-réel d’interférogrammes (IGM) successifs afin d’améliorer le rapport
signal à bruit (SNR) des mesures. Comme un interférogramme peut être
mesuré à de hautes différences de parcours optique (OPD) et cela très
rapidement, un IGM unique peut présenter un SNR relativement bas. Cela
est dû au fait qu’en augmentant l’OPD, la puissance totale de la mesure
reste identique tandis que le temps de mesure croît et cela introduit une
plus grande quantité de bruit. Il devient donc nécessaire de pouvoir
moyenner rapidement plusieurs IGMs afin de fournir des mesures précises
et à faible bruit.
3
1.2 Vue d’ensemble des chapitres Le chapitre suivant, le second, commence par la présentation du
fonctionnement d’un interféromètre par peignes de fréquence ainsi que les
conséquences de la variation des paramètres des lasers tels que le taux de
répétition et le décalage entre la phase de la fréquence porteuse et celle de
l’enveloppe. Ensuite plusieurs méthodes de référencement pour contrer les
effets néfastes reliés à l’instabilité seront décrites ainsi que l’algorithme du
référencement choisi dans le cadre de ce mémoire.
Le troisième chapitre explique en détail le montage optique nécessaire au
référencement. La description du système électronique utilisé pour
compenser l’instabilité des lasers et pour moyenner les IGMs consécutifs
s’y retrouve aussi.
Le quatrième chapitre explique en profondeur le traitement de signal et la
programmation nécessaires à la réalisation d’un tel système.
Finalement, le cinquième chapitre démontre, à l’aide de mesures
expérimentales, la qualité des mesures interférométriques suite à la
correction des fluctuations des lasers et du moyennage temps-réel.
1.3 Publications Les publications suivantes sont issues du travail réalisé pour ce mémoire :
Julien Roy, Jean-Daniel Deschênes, Simon Potvin, and Jérôme Genest,
“Continuous real-time correction and averaging for frequency comb
interferometry,” Opt. Express 20, 21932-21939 (2012)
Hugo Bergeron, Jean-Raphaël Carrier, Vincent Michaud-Belleau, Julien
Roy, Jérôme Genest, and Claudine Nì. Allen, “Optical impulse response of
silica microspheres: Complementary approach to whispering-gallery-mode
analysis”, Physical Review A 87, 063835 (2013)
4
Vincent Michaud-Belleau, Julien Roy, Simon Potvin, Jean-Raphaël Carrier,
Louis-Simon Verret, Maxime Charlebois, Jérôme Genest, and Claudine Nì.
Allen, “Whispering gallery mode sensing with a dual frequency comb
probe,” Opt. Express 20, 3066-3075 (2012)
5
2. Interférométrie par peignes de fréquence
2.1 Peigne de fréquences La création des tout premiers peignes de fréquence ne remonte pas à si
loin dans le temps. En effet, c’est au tournant des années 2000 que deux
groupes distincts ont parallèlement réussi à « auto-référencer » un laser à
impulsions ultra-brèves avec verrouillage de mode. Cet exploit a mené à
l’attribution d’un prix Nobel conjointement à T. W. Hänsch du Max-Planck-
Institut für Quantenoptik [HAN05] et J. L. Hall du National Institute of
Standards and Technology [HAL05].
La principale caractéristique distinguant ce type de laser est que sa
représentation spectrale théorique est une série de fonctions delta séparées
de manière équidistante. Cette séparation fréquentielle entre les « dents »
du peigne est directement reliée au taux de répétition ( rf ) des impulsions
émises par le laser, le temps entre deux impulsions étant défini par la
durée du parcours optique dans la cavité laser. Un autre paramètre
définissant un peigne de fréquence est le décalage entre la phase de la
fréquence porteuse et celle de l’enveloppe ( CEOφ ) (CEO pour carrier-envelope
offset) entre deux impulsions successives. Comme la dispersion du milieu
de propagation de la cavité laser engendre une différence entre les délais
de groupe et de phase, le CEOφ n’est pas nul et la différence de phase évolue
d’une impulsion à l’autre. L’influence de cette évolution sur la
représentation spectrale équivaut à un décalage commun à tous les modes
du laser. La translation que subissent les modes du peigne se calcule
comme suit :
2CEO CEO rf fφ π= ⋅ (1.1)
La figure 1 illustre les différentes variables d’un peigne de fréquence dans
leurs représentations temporelles et spectrales. Dans la représentation
6
temporelle, la sous-figure (a), on suppose que la porteuse et l’enveloppe
sont en phase à la première impulsion. Un décalage CEOφ s’accumule
ensuite à chaque impulsion.
Figure 1 : Représentation temporelle (a) et spectrale (b)
d’un peigne de fréquence [JON00].
Il est donc possible d’exprimer la fréquence optique de chacun des modes d’un peigne comme suit :
( )o r CEOf k k f f= ⋅ + , (1.2)
où k est un entier représentant le numéro de mode.
La distinction entre un peigne de fréquence et un simple laser à
verrouillage de mode (mode-lock) consiste en la mesure et au contrôle de rf
et surtout de CEOf . En comparant ces deux fréquences électriques aux
standards fournis par des horloges atomiques, la fréquence absolue de
7
chacun des modes du peigne est connue. En pratique, la méthode d’auto-
référencement permet d’asservir CEOf à zéro. Le peigne de fréquence est
alors purement harmonique et chaque fréquence optique produite est un
multiple exact de la fréquence de répétition. De ce fait, il devient facile de
comparer ou asservir rf sur une horloge atomique.
2.2 Interférométrie Pour réaliser l’expérience d’interférométrie à peignes de fréquences, les
champs de deux peignes doivent être mélangés. La figure 2 montre un
montage optique où le premier peigne sonde un échantillon. Le champ des
deux peignes sont ensuite additionnés par le coupleur et mélangés par le
photodétecteur.
Figure 2 : Interféromètre par peignes de fréquence.
Tel qu’utilisé dans le montage ci-haut, un coupleur fibré peut être utilisé
pour additionner deux champs électriques de sources différentes. Lorsque
ce signal atteint le photodétecteur, il est transformé en courant
proportionnellement au module au carré de son champ électrique :
2 2
1 2( ) ( ) ( ) ( )I t E t E t E t∝ ∝ +
{ }2 2 *1 2 1 2( ) ( ) ( ) 2 Re ( ) ( )I t E t E t E t E t∝ + + ⋅ ⋅ (1.3)
C’est le troisième terme de l’équation 1.3 qui représente l’interférence entre
les deux signaux optiques.
Lorsque deux peignes de fréquence interfèrent l’un avec l’autre, leur
battement produit un signal électrique dans la bande des radiofréquences.
8
Chacun des modes d’un laser produit un battement avec chacun des
modes du second peigne, tel qu’illustré à la figure 3.
Dans la sous-figure (a), les modes du premier peigne (rouge) battent avec
chacun des modes du deuxième peigne (bleu). La sous-figure (b) présente
le résultat de cette interférence. Les paires de modes les plus rapprochées,
en (a), produisent la première copie spectrale, en (b).
Figure 3 : Interférométrie par peignes de fréquence.
Comme le deuxième laser a un taux de répétition légèrement différent du
premier laser, le battement correspondant à l’écart entre la première paire
de modes (f1) est à une fréquence inférieure au battement correspondant à
l’écart de la dernière paire de modes (f2). C’est cet écart grandissant entre
les paires de modes qui permet de transposer le spectre optique dans les
radiofréquences.
9
L’interférence entre des paires de modes éloignés, comme le démontre f3 et
f4, crée des copies du spectre à des fréquences plus élevées. Ces copies
spectrales ne possèdent que très peu d’information additionnelle sur
l’échantillon optique et sont souvent éliminées par un filtre passe-bas afin
de réduire la bande-passante nécessaire à la numérisation de l’IGM.
La fréquence électrique du battement entre chacune des paires de modes
des peignes peut être calculé comme suit [TAU10] :
1 2( , ) ( ) ( )e o of k l f k f l= −
1 1 2 2r CEO r CEOk f f l f f= ⋅ + − ⋅ −
1 2 2 2 1 2r r r r CEO CEOk f k f k f l f f f= ⋅ + ⋅ − ⋅ − ⋅ + −
1 2 2 1 2( ) ( )r r r CEO CEOk f f k l f f f= ⋅ − + − ⋅ + −
2( )r r CEOk f k l f f= ⋅∆ + − ⋅ + ∆ , (1.4)
où rf∆ est la différence de fréquences de répétition et CEOf∆ est la différence
de CEOf entre les deux peignes. Dans le cas où le battement électrique
d’intérêt est généré lorsque k l= , la fréquence de chacun des modes peut
alors s’exprimer par CEOf∆ et rf∆ :
( )e r CEOf k k f f= ⋅∆ + ∆ (1.5)
En utilisant ce principe d’interférométrie, un échantillon peut être sondé
afin de mesurer sa réponse en fréquence à chacun des modes du premier
peigne. Par la suite, par l’interférence de ces modes avec ceux du deuxième
peigne, cette réponse est transposée dans les radiofréquences où il est
possible de l’échantillonner.
10
Figure 4 : Analyse temporelle de l’interférométrie par
peignes de fréquence.
Une analyse temporelle permet d’arriver au même constat en posant
comme hypothèse que les impulsions successives d’un seul laser sont
identiques, ou du moins, leur enveloppe est invariante et elles diffèrent
uniquement d’une phase constante sur la durée des impulsions. Les
impulsions du premier peigne servent à générer la réponse impulsionnelle
de l’échantillon. Par la suite, comme le deuxième peigne possède un taux
de répétition légèrement différent de celui du premier peigne, le moment où
survient l’impulsion du deuxième peigne glisse temporellement
relativement à l’impulsion du premier peigne. Le deuxième peigne permet
donc d’échantillonner optiquement la réponse impulsionnelle de
l’échantillon à différents délais. La figure 4 illustre ce glissement du
moment d’échantillonnage par rapport au début de la réponse
impulsionnelle de l’échantillon.
La figure 5(a) montre une acquisition réelle de l’IGM généré à partir de
deux peignes de fréquence. Un filtre passe-bas a été utilisé afin de
conserver uniquement la première copie spectrale et ainsi éviter le
repliement spectral.
11
Figure 5 : (a) Acquisition de l’interférence entre deux
peignes de fréquence. (b) Acquisition d’IGMs consécutifs due au glissement continu entre les paires d’impulsion.
Comme les impulsions sont beaucoup plus courtes que le taux de
répétition des peignes, l’énergie d’un IGM est concentré dans un faible
intervalle de temps. L’enveloppe temporelle de l’IGM est causée par la
corrélation croisée entre les enveloppes des deux lasers. Si un échantillon
optique se retrouve dans le parcours d’un des peignes, l’IGM comprend
aussi le résultat de la corrélation avec la réponse impulsionnelle de
l’échantillon [GIA08].
La figure 5(b) met en évidence le comportement cyclique de la génération
des IGMs. En effet, la différence du taux de répétition des peignes fait
glisser le délai entre les impulsions d’une paire mais lorsque ce délai
12
équivaut à la période des peignes, deux impulsions se produisent de
nouveau au même moment et un nouvel IGM est produit.
Figure 6 : Spectre électrique d’un IGM.
La figure 6 montre le spectre électrique de l’IGM représenté à la figure 5(a).
Ce spectre représente la première copie, celle la plus basse en fréquence,
de l’interférence des peignes de fréquence et est équivalent au spectre
compris entre f1 et f2 de la figure 3(b). Cependant, le spectre de la figure 6
ne met pas en évidence les modes des peignes présents dans la figure 3(b)
puisque qu’un seul IGM a été utilisé afin de calculer le spectre de
l’interférence.
L’équation décrivant l’échantillonnage de la réponse impulsionnelle par
une seule paire d’impulsions est exprimée par l’équation 1.6. Sa dérivation
mathématique complète se retrouve dans l’annexe de l’article de
Deschênes [DES10].
[ ] ( ) 2 ( ) ( )( ) m ceoj f T k j km ms k A T k e π φ∆ + ∆= ∆ ⋅ , (1.6)
13
où [ ]ms k représente l’échantillonnage de la réponse impulsionnelle, k ,
l’index d’une paire d’impulsions, ( )T k∆ , le délai entre les impulsions de la
paire, mf , la fréquence optique centrale des peignes, ( )ceo kφ∆ , le différence
de phase entre les impulsions de la paire et mA , la réponse impulsionnelle
de l’échantillon convoluée par la forme de l’impulsion du premier peigne et
par l’inverse de celle du deuxième peigne. En connaissant la forme des
impulsions, il est donc possible de retrouver la réponse impulsionnelle de
l’échantillon.
Lors de l’échantillonnage du signal interférométrique, on désire un temps
équidistant entre les différents points de mesure. Cet aspect de la mesure
est d’autant plus crucial si la réponse spectrale de l’échantillon doit être
calculée puisque l’algorithme de transformée de Fourier rapide (FFT)
s’attend à recevoir des données échantillonnées sur une grille équidistante.
Pour satisfaire cette exigence, il faut donc que ( )T k∆ croisse linéairement
durant toute l’acquisition de l’interférogramme. De plus, pour ne pas que
la réponse impulsionnelle mesurée comporte des distorsions dues à une
progression non-linéaire de phase, doit avoir une pente constante.
Cependant, comme les peignes de fréquence ne sont pas parfaits, plusieurs
facteurs peuvent influencer ces paramètres. Plusieurs facteurs externes,
comme la température ou des vibrations, peuvent changer la longueur et la
dispersion des cavités laser. Ces variations ont des répercutions directes
sur le taux de répétition et sur le CEOφ de chacun des peignes de fréquence.
Comme les deux peignes ne sont pas identiques et qu’ils ne subissent pas
les mêmes perturbations, ( )T k∆ et ( )ceo kφ∆ varieront, dégradant ainsi la
qualité des mesures interférométriques. En considérant ces paramètres
comme imparfaits, ce qui est le cas en pratique, les mesures
interférométriques ne peuvent pas être précises. C’est pourquoi différents
( )ceo kφ∆
14
groupes de recherche développent des techniques pour pallier aux
imperfections des peignes de fréquence. Une fois que ( )T k∆ et ( )ceo kφ∆ sont
connus pour chacune des paires d’impulsion, il est alors possible de
contrebalancer leurs fluctuations.
Dans le cas présent, l’espacement des impulsions est en moyennes de
10 ns, et varie de fractions d’attoseconde tout au plus, mais cette variation
s’additionne comme une marche aléatoire jusqu’à 5 fs sur les 500 000
impulsions que peuvent durer une mesure. Cependant, pour les besoin
interférométriques, le délai entre les impulsions doit être connu et/ou
stabilisé à quelques attosecondes.
Dans le domaine fréquentiel, cela correspond à des lasers aillant un taux
de répétition de 100 MHz avec une précision légèrement supérieur à
0.1 Hz. Cela correspond aux 100 kHz de largeur de raie de leurs modes à
200 THz. En effet, avec un gain de 2 millions, cela correspond à 0.05 Hz de
précision sur fr.
En pratique, la limitation est la largeur de raie des lasers et cela se traduit
par une limitation sur le temps d’arrivée des impulsions.
2.3 Stabilisation et référencement Afin de pouvoir compenser pour les variations de rf et CEOf de chacun des
peignes, il faut d’abord pourvoir les mesurer. Un montage optique « f-2f »
[JON00] permet de mesurer CEOf . Pour ce faire, le peigne de fréquence doit
avoir une largeur fréquentielle d’au moins une octave. En doublant la
fréquence d’une portion du spectre à basse fréquence et en mélangeant la
lumière doublée avec la portion haute fréquence du peigne couvrant plus
d’une octave, on obtient un battement à la fréquence CEOf .
15
Pour mesurer rf , le train d’impulsions du peigne peut être directement
comparé à un oscillateur dans les radiofréquences. Cependant, cela
correspond à multiplier la fréquence de l’oscillateur jusque dans les
fréquences optiques, multipliant par le fait même son imprécision [DID10].
Une solution alternative est de faire battre un mode du peigne avec un
laser à onde continue (CW pour Continuous Wave). Dans ce cas, le peigne
sert à échantillonner le CW afin de rendre l’information disponible dans les
radiofréquences. Comme les CW sont des sources laser stables et que leur
mode peut être asservi à une fréquence connue, sur une référence
atomique, moléculaire ou même sur un ion refroidi, la position de la
« dent » du peigne qui bat avec le CW devient, elle aussi, connue.
Si le CEOf du peigne est nul, cela revient à définir les fréquences électriques
à partir de la référence optique et ainsi de mesurer rf précisément. Pour
un laser sans auto-référencement, l’utilisation de deux références optiques
rend la mesure de rf et de CEOf potentiellement plus précise.
Le National Institute of Standards and Technology (NIST) utilise ces
techniques afin d’asservir les peignes de fréquence utilisés en
interférométrie [COD08]. Leurs peignes de fréquence sont asservis sur
deux lasers CW à raie étroite (1 Hz) eux-mêmes stabilisés et affinés sur des
cavités Fabry-Pérot externes. Afin de stabiliser rf , un transducteur
piézoélectrique et un modulateur acousto-optique externe sont utilisés
pour compenser respectivement les basses et les hautes fréquences [YE99].
L’actuateur servant à asservir CEOf est le courant de pompe du laser.
Comme le changement de puissance de pompe à l’intérieur de la cavité
laser influence le nombre de porteurs de charges et ainsi l’indice effectif,
CEOf peut être contrôlé. Étant donné que ces actuateurs ont une bande
passante limitée, la stabilisation des peignes n’est pas parfaite ce qui limite
16
le temps de cohérence de leurs lasers, et par le fait même leur temps de
moyennage à 3 secondes [COD10].
Bien que chaque actuateur serve à asservir un paramètre donné, rf et
CEOf sont fortement couplés et chaque actuateur affecte ces paramètres
avec des gains et des fonctions de transfert différentes. Ce fort couplage
rend l’asservissement plus difficile à concevoir afin d’atteindre les
constantes de temps souhaitées.
Présentement, tous les groupes de recherche faisant de l’interférométrie
par peigne de fréquence mesure les fréquences de battement de deux
paires de modes. Ce qui les distingue est l’utilisation qu’ils font de cette
information afin de compenser pour l’instabilité des lasers. La figure 7
illustre l’ajout du référencement dans le montage d’interférométrie par
peignes de fréquence ainsi que 3 types de compensation des fluctuations
des lasers possibles.
Figure 7 : Référencement et compensation de
l’instabilité : stabilisation des lasers (bleu), génération d’une horloge d’échantillonnage (rouge) et acquisition du référencement pour traitement de signal ultérieur (vert)
Le premier type de correction des instabilités utilise l’information
provenant du référencement afin de stabiliser les peignes de fréquences
(figure 7, traits bleus). Ce type de correction inclut l’asservissement des
lasers en utilisant l’approche « f-2f » ou celle se servant de deux lasers CW
comme référence décrite précédemment.
17
Une autre technique possible [POI12] consiste à utiliser cette information
afin de générer une l’horloge d’échantillonnage provenant de la relation
entre les paires d’impulsions des peignes (figure 7, trait rouge). Cette
méthode permet de corriger une partie des fluctuations des lasers mais
n’est pas complète. Cependant, rien n’empêche la conception d’une telle
approche qui serait complète.
Finalement, les signaux provenant du référencement peuvent être
numérisés et la compensation des fluctuations des lasers peut être faite
numériquement a posteriori (figure 7, trait vert). En effet, une manière de
contourner la limitation des actuateurs est d’utiliser l’information du
système de référencement, non pas pour stabiliser les lasers, mais pour
appliquer une correction numérique sur l’interférogramme acquis.
Une méthode de référencement différente de celle du NIST, décrite
précédemment, utilise deux réseaux de Bragg comme filtres optiques
passe-bande. Lorsque chacun des réseaux filtre les peignes de fréquence,
deux équations distinctes du système à deux inconnues, ( )ceo kφ∆ et ( )T k∆
de l’équation 1.6, sont générées [GIA08, DES10] :
[ ] ( ) 12 ( ) ( )1 1 ( ) c ceoj f T k j kr k A T k e π φ∆ + ∆= ∆ ⋅ (1.7)
[ ] ( ) 22 ( ) ( )2 2 ( ) c ceoj f T k j kr k A T k e π φ∆ + ∆= ∆ ⋅ , (1.8)
où 1r et 2r représentent les signaux de référence, 1A et 2A , les variations
lentes de la réponse impulsionnelle des réseaux de Bragg, ainsi que 1cf et
2cf , la fréquence centrale de ces filtres. Pour annuler la contribution de
( )ceo kφ∆ dans l’équation 1.6, on soustrait la phase de l’IGM par celle de la
première référence :
18
[ ] [ ][ ] ( ) 11 2 ( ) ( )
1
( ) m cj f f T km m
r ks k A T k e
r kπ
∗− ∆= ∆ ⋅ (1.9)
Cette équation est valide si ( )1A τ est réel, c’est-à-dire que le réseau de
Bragg n’est pas dispersif. Par la suite, il est possible de calculer l’instant
d’échantillonnage de l’IGM en fonction de ( )T k∆ . En se servant des deux
références, on trouve la grille d’échantillonnage suivante :
[ ] [ ] [ ][ ] [ ]
2 11 2 2 ( ) ( )
1 2
c cj f f T kgrid
r k r kr k e
r k r kπ
∗− ∆⋅
= =⋅
(1.10)
Comme la grille d’échantillonnage est maintenant connue, il suffit
d’interpoler l’IGM sur une nouvelle grille équidistante afin de compenser
pour les fluctuations de ( )T k∆ . Cependant, cette technique contient des
inconvénients. Les signaux de référencement ne sont utilisables que sur
une plage limitée de l’OPD en plus d’avoir une faible puissance due au
caractère étroit des filtres optiques. Ces deux désavantages sont
diamétralement opposés puisqu’une réponse impulsionnelle plus longue
implique un filtre plus étroit.
Une méthode proposée par Deschênes [DES10] utilise, au lieu des réseaux
de Bragg, deux lasers CW comme oscillateurs intermédiaires. Chaque
peigne interférant avec chaque CW, quatre signaux de référence sont
produits :
[ ] ( ) ( ) ( )( )1 1 1 1 121, 1 1 1, 1
CW P P CWj f T k j k j T kP CW CW Pr k P P e π φ φ
λ+ += ⋅ (1.11)
[ ] ( ) ( ) ( )( )1 2 2 1 222, 1 1 2, 1
CW P P CWj f T k j k j T kP CW CW Pr k P P e π φ φ
λ+ += ⋅ (1.12)
[ ] ( ) ( ) ( )( )2 1 1 2 121, 2 2 1, 2
CW P P CWj f T k j k j T kP CW CW Pr k P P e π φ φ
λ+ += ⋅ (1.13)
19
[ ] ( ) ( ) ( )( )2 2 2 2 222, 2 2 2, 2
CW P P CWj f T k j k j T kP CW CW Pr k P P e π φ φ
λ+ += ⋅ , (1.14)
où r sont les signaux de référence, ( )T k , les instants où se produit la ke
impulsion. CWxP , CWxf et CWxφ sont respectivement la puissance, la fréquence
et la phase de chaque laser CW, ,Px yP λ la puissance du peigne x autour de
la fréquence du laser CW y et Pxφ la phase de chacun des peignes.
Ces battements hétérodynes permettent d’avoir une puissance constante
pour chaque OPD débloquant ainsi le référencement sur tout l’IGM. De
plus, cette nouvelle méthode produit des signaux de référence avec une
amplitude plus élevée puisque la puissance des lasers CW permet
d’augmenter la puissance des signaux d’interférence, il s’agit d’un gain
cohérent. Le rapport signal sur bruit de ces signaux de battement reste
cependant limité par le bruit de photons lié à la puissance optique de la
dent de peigne sélectionnée.
Cela est semblable à l’approche du NIST, mais au lieu d’asservir les
peignes sur les lasers CW, les lasers servent dans notre cas d’oscillateurs
intermédiaires. Les signaux de référence sont multipliés deux à deux afin
d’éliminer le plus possible la contribution des lasers CW et de régénérer
des signaux de référence équivalents à 1.7 et 1.8 :
[ ] *1 1, 1 2, 1[ ] [ ]P CW P CWr k r k r k= ⋅
( ) ( ) ( )( ) ( )( )1 1 1 1 221 1, 1 2, 1
CW CW CWj f T k j k j T k j T kCW P PP P P e π φ φ φ
λ λ∆ + ∆ + −= ⋅ (1.15)
[ ] *2 1, 2 2, 2[ ] [ ]P CW P CWr k r k r k= ⋅
( ) ( ) ( )( ) ( )( )2 2 1 2 222 1, 2 2, 2
CW ceo CW CWj f T k j k j T k j T kCW P PP P P e π φ φ φ
λ λ∆ + ∆ + −= ⋅ (1.16)
20
Les équations 1.15 et 1.16 possèdent les mêmes informations sur ( )ceo kφ∆
et ( )T k∆ que celles générées par les réseaux de Bragg. Par contre, il y a un
terme de plus dans la phase de la référence : ( )( ) ( )( )1 2CW CWT k T kφ φ− . Ce
terme engendre une contrainte sur les CW utilisés. Ceux-ci ne doivent pas
changer significativement de phase entre les différents temps d’arrivée
d’une paire d’impulsions. Cela correspond à ce que la largeur de raie des
lasers CW soit inférieure à l’espacement entre les dents des peignes.
Au NIST, les peignes de fréquences sont asservis sur des lasers CW
puisque ces derniers possèdent des largeurs de raie beaucoup plus étroites
que les dents de leurs peignes. Leurs lasers CW sont larges d’environ 1 Hz
comparativement aux 100 kHz des dents d’un peigne. Cela rend la mesure
interférométrique sensible à la dérive des lasers CW mais il est tout à fait
logique d’agir ainsi puisque les lasers CW sont plus stables que les
peignes.
Cependant, lorsque le référencement avec oscillateurs intermédiaires est
utilisé, des lasers CW d’une largeur de 30 kHz à 100 kHz, beaucoup plus
accessibles que ceux du NIST, sont amplement suffisants. Dans ce cas, il
ne faut pas asservir les peignes sur les CW puisqu’ils ne sont pas
significativement meilleurs que les peignes. Dans cette configuration en
boucle ouverte, la mesure interférométrique est alors sensible à la dérive
des peignes de fréquence.
La technique de référencement et de correction utilisant des oscillateurs
intermédiaires permet de débloquer toute la résolution que fournissent les
peignes. De plus, cette technique n’est pas limitée par la bande passante
des actuateurs et ne nécessite que des lasers CW modérément stables, ce
qui n’est pas difficile à se procurer. C’est donc cette dernière technique de
référencement qui sera utilisée dans ce projet pour compenser l’instabilité
des peignes de fréquence.
21
2.4 Survol de l’algorithme de correction L’algorithme de correction développé dans le cadre de ce projet permettra
de corriger en parallèle deux IGMs ayant subi les mêmes perturbations.
Pour ce faire, seulement une partie de l’algorithme de correction doit être
répliquée comme le montre la figure 8.
Figure 8 : Algorithme de correction
Premièrement, un filtre complexe passe-bande est appliqué à chacune des
références échantillonnées. Cela permet de générer les signaux complexes
décrits par les équations 1.11 à 1.14. De plus, ces filtres servent à atténuer
le bruit présent aux fréquences éloignées du battement d’intérêt.
Ensuite, deux multiplicateurs complexes servent à multiplier ces signaux
de référence deux par deux afin de créer les signaux de référence *1 [ ]r k et
2[ ]r k .
Le signal *1 [ ]r k est normalisé avant de multiplier chacun des IGMs acquis.
Cette multiplication par la première référence normalisée correspond à
appliquer la première correction décrite par l’équation 1.9.
Afin de connaître la grille d’échantillonnage des IGMs, la phase de la
multiplication entre *1 [ ]r k et 2[ ]r k est extraite. Finalement, il ne reste qu’à
22
ré-échantillonner chacun des IGMs corrigés en phase sur une nouvelle
grille équidistante afin de compléter l’algorithme de correction.
23
3. Système interférométrique et de traitement de données
L’implantation du référencement choisi au chapitre précédent nécessite un
montage optique générant l’interférogramme d’un échantillon ainsi que les
quatre signaux de référence. Par la suite, les 5 signaux optiques doivent
être convertis électriquement puis numérisés. Finalement, un algorithme
de correction doit être appliqué a posteriori pour compenser les variations
des peignes de fréquence.
Le montage optique et le système électronique nécessaires à ces étapes
sont décrits dans les prochaines sections.
3.1 Montage optique
Figure 9 : Montage interférométrique et référencement.
Ligne pleine = fibre optique, ligne pointillée = câble électrique, WDM = multiplexeur de longueur d’onde, PC
= contrôleur de polarisation, D = détecteur balancé, CW1 = un seul et même laser CW, CW2 = un seul et
même laser CW mais différent de CW1
24
La figure 9 décrit le montage optique utilisé afin d’obtenir une mesure
interférométrique par peignes de fréquence référencée. Chaque peigne voit
sa puissance séparée entre deux fibres optiques différentes par des
coupleurs. Cette séparation sert à utiliser les peignes de fréquence à la fois
pour la mesure interférométrique et pour le référencement.
3.1.1 Sources laser Les deux peignes de fréquence proviennent de Menlo Systems GmbH. Ils
possèdent un taux de répétition de 100 MHz, sont larges d’une centaine de
nanomètres autour de 1562 nm et leurs sorties fibrées ont une puissance
d’environ 15 mW. Leurs impulsions durent environ 90 fs lorsqu’aucune
dispersion n’est présente.
La différence de taux de répétition entre les deux peignes est fixée aux
alentours de 100 Hz afin de produire un battement électrique qui est
entièrement compris entre 0 et 50 MHz. Comme le signal est constitué de
paires d’impulsions à 100 MHz, le spectre est périodisé et il y a deux copies
du signal de battement dans chaque intervalle de 100 MHz (voir figure 3).
Si le spectre de battement est plus large que 50 MHz, le critère de Nyquist
n’est plus respecté et le repliement spectral dégradera grandement la
mesure interférométrique. À cette différence de taux de répétition, un
nouvel IGM est produit à chaque 10 ms.
Les lasers CW utilisés pour le référencement sont des lasers PLANEX de
Redfern Integrated Optics (RIO). Ceux-ci ont une puissance optique de
sortie d’environ 10 mW. Leur longueur d’onde est de 1549,351 nm et de
1562,236 nm respectivement et ils ont une largeur spectrale de 30 kHz. Si
leur bruit de fréquence est blanc, cela produit, pour l’équation 1.16, une
erreur de phase ayant un écart type de 43 milliradians. Cela se répercute
en bruit de phase sur l’IGM corrigé. Cette valeur étant faible, le facteur
limitant la résolution spectrale reste le taux de répétition de peignes (100
25
MHz), ou encore la dérive de ceux-ci lors de très longues mesures. Ces
lasers CW sont donc assez stables pour servir de référence. Pour ne pas
que ces lasers dérivent sur de longues périodes de temps, ceux-ci sont
asservis en température. Par contre, aucune mesure absolue de leur
fréquence n’est réalisée.
Afin de combler cette lacune, une possibilité d’amélioration du
référencement serait d’utiliser des lasers CW asservis sur des raies de gaz
connues afin d’empêcher leur variation lente et aussi de pouvoir recréer
l’axe des fréquences des mesures spectroscopiques de façon absolue.
3.1.2 Interférométrie Dans la section interférométrique du montage optique, le premier peigne
sert à sonder l’échantillon tandis que le deuxième peigne échantillonne la
réponse impulsionnelle résultante. Un coupleur combine ensuite les deux
signaux afin de les faire interférer ensemble sur le photodétecteur. Pour
maximiser cette interférence, un contrôleur de polarisation se trouve dans
le parcours optique du deuxième peigne.
Un rouleau de 200 mètres de fibre à mode unique (SMF) est utilisé pour
étirer temporellement les impulsions du premier peigne grâce à la
dispersion du milieu de propagation. Cet étirement ne change pas le
contenu spectral de l’impulsion. Il ne fait que distribuer différemment,
dans le domaine temporel, l’énergie en fonction de la fréquence optique.
Cela permet de relaxer la contrainte sur la plage dynamique du détecteur.
En effet, pour que le détecteur ne soit pas le facteur limitant du SNR de la
mesure, il faut que la puissance maximale du signal optique soit comprise
dans la plage de conversion linéaire du détecteur et que le bruit électrique
du détecteur soit plus faible que le bruit optique. Ainsi, en allongeant
l’impulsion, la valeur maximale est diminuée puisque l’énergie est
distribuée sur une plus grande plage de temps [DES10].
26
Une fois le signal interférométrique combiné, l’utilisation d’un détecteur
balancé est fort utile lors de la mesure d’un signal d’interférence. La
soustraction des deux sorties du coupleur permet d’annuler les termes
non-modulés de l’équation 1.3 en plus de doubler l’amplitude du signal
d’interférence. Cela amène à une meilleure utilisation de la plage
dynamique, car le biais du courant continu (DC) n’est plus présent.
Le détecteur balancé D1 (figure 9) a été conçu à partir de deux
photodétecteurs DET410 de Thorlabs Inc. connectés ensemble afin que les
sorties électriques se soustraient. Le DET410 a été choisi puisqu’il possède
une responsivité d’environ 0.95 A/W entre 1400 nm et 1600 nm et que le
seul gain présent, pour la conversion du courant de la photodiode en
tension à la sortie du détecteur, est celui de la résistance de charge de
50 Ω.
Une fois le signal électrique des photodétecteurs soustrait, un filtre LC (un
bias tee) agit comme filtre passe-haut et un filtre Mini-Circuits® atténue les
fréquences plus hautes que 50 MHz. Ces deux éléments servent à enlever
la lumière non-modulée résiduelle en plus des autres alias provenant de
l’interférence des peignes. Finalement, un amplificateur radiofréquence
amplifie le signal électrique d’un facteur 30 pour un gain total de la chaîne
de détection de 1500 V/A. Ce détecteur balancé à faible gain permet donc
une conversion linéaire jusqu’à une puissance optique de 2 mW lorsque les
impulsions de l’un des peigne sont étirées. À cette puissance optique, les
mesures interférométriques résultantes sont limitées par le bruit de
grenaille, ce qui est le cas dans le montage actuel.
3.1.3 Référencement Chaque peigne, en plus de servir pour la mesure interférométrique, passe
dans un système optique pour obtenir les signaux de référencement. Le
système qui identifie le premier peigne doit lui aussi subir la dispersion
27
due à la fibre optique SMF de 200 m pour que les variations présentes
dans cette section optique soient compensées par l’algorithme de
correction.
Deux réseaux de Bragg sont utilisés comme multiplexeur de longueur
d’onde (WDM pour wavelength-division multiplexing) et permettent de
séparer sur des sorties optiques différentes des bandes spectrales larges de
50 GHz centrées sur les longueurs d’onde des lasers CW. Comme
seulement le battement d’un CW avec un mode d’un peigne est utilisé, la
puissance aux autres fréquences ne fait qu’additionner du bruit de
grenaille par-dessus le signal d’intérêt. Puisque la bande spectrale du
WDM agit comme filtre optique atténuant les modes du peigne distants du
CW, l’amplitude de ce bruit est alors atténuée. Chaque WDM fournit deux
sorties passe-bandes autour de 1549 nm et 1562 nm pour le battement
avec les lasers CW. Des coupleurs servent à mixer les lasers CW avec les
sorties des WDM et des contrôleurs de polarisation sont aussi utilisés pour
maximiser l’interférence de ces signaux sur les photodiodes balancées.
Les photodétecteurs D1 (figure 9) qui convertissent le signal optique des
références en signal électrique sont des PDB130C de Thorlabs Inc., un
photodétecteur balancé et amplifié. Ce détecteur a une responsivité de
1 A/W et un gain 10 000 V/A.
Un filtre passe-bas Mini-Circuits® à 50 MHz élimine ensuite les battements
du CW avec les autres modes du peigne pour n’en garder qu’un seul, celui
le plus proche de la fréquence du CW.
28
3.2 Système électronique
Figure 10 : Système électronique comprenant
l’acquisition, la correction, le transfert des données avec l’ordinateur par la plateforme FPGA et des boucles d’asservissement sur les lasers par l’ordinateur.
La figure 10 représente le système électronique servant à corriger et à
moyenner des IGMs pendant de longues périodes. La plateforme FPGA
(field-programmable gate array) sert à l’acquisition, à la correction des
interférogrammes et au moyennage de ceux-ci. L’ordinateur, quant à lui,
sert à paramétrer les algorithmes du FPGA et à enregistrer les IGM
moyennés. L’ordinateur reçoit aussi du FPGA de l’information sur les
références afin de compenser pour le décalage des peignes et des CW à
long terme.
Comme le montre la figure 10, la plateforme FPGA, ainsi que l’algorithme
développé, permettent de corriger et d’enregistrer jusqu’à deux IGMs
simultanément. Dans cette configuration, comme la correction provient de
références communes, les deux IGMs doivent subir sensiblement les
mêmes perturbations afin que la correction appliquée soit valide.
Tous les composants du système électronique présents dans la figure 10
sont décrits en détail dans les sous-sections suivantes.
29
3.2.1 Plateforme FPGA 3.2.1.1 Puce FPGA
Un FPGA est une puce électronique programmable. Contrairement aux
microcontrôleurs qui ont une architecture matérielle fixe, que seule la
séquence d’instructions peut être programmable et que son exécution est
séquentielle, le FPGA quant à lui contient de la logique programmable et
peut donc agir comme un application-specific integrated circuit (ASIC), un
circuit intégré propre à une application. Cette particularité du FPGA lui
permet d’avoir un comportement entièrement parallèle puisque chaque
opération peut avoir sa propre logique dédiée.
Un FPGA contient plusieurs tables de recherche (LUT pour look-up tables)
et plusieurs bascules (FF pour flip-flops) regroupés en blocs logiques
configurable (CLB pour configurable logical bloc) servant respectivement
comme opérateurs logiques et comme registres. Ces ressources sont fixes à
l’intérieur d’une puce et ce sont leur comportement et leurs
interconnexions qui sont programmables. C’est à l’aide d’un langage de
description matérielle (HDL pour hardware description language) que le
comportement du FPGA est décrit et lors de la compilation, le code est
analysé et transposé en éléments logiques pouvant être reliés à l’intérieur
du FPGA ciblé.
L’algorithme de correction décrit dans la section 2.3 contient relativement
peu d’opération mais celles-ci doivent être appliquées à chacun des points
de l’interférogramme. Le nombre de points à traiter par seconde découle
directement du taux de répétition des peignes qui est de 100 MHz. Afin de
corriger tous les échantillons en plus de conserver tous les
interférogrammes, plusieurs milliards d’additions et de multiplications
doivent être effectuées à toutes les secondes. Les FPGA répondent à ces
critères de performance en plus d’être facilement reconfigurables
30
contrairement aux ASIC. En effet, ils peuvent être opérés à une fréquence
d’horloge supérieure à 100 MHz en plus d’exécuter toutes les opérations
arithmétiques en parallèle. Pour ce type d’algorithme, leur vitesse de
traitement des données peut être de plusieurs ordres de grandeur
supérieure aux processeurs modernes, même si ces derniers possèdent des
fréquences d’horloge plus élevées. Cette grande vitesse de calcul,
permettant de faire du traitement de signal temps-réel, est la raison qui
justifie l’utilisation d’une plateforme FPGA au lieu d’un traitement
entièrement sur ordinateur.
Sur un ordinateur, le traitement des données aurait dû se faire une fois
l’acquisition terminée puisqu’il ne peut pas soutenir le rythme avec lequel
les données sont échantillonnées. Par exemple, une mémoire vive de 8 Go
pourrait contenir environ 800 IGMs ainsi que les canaux de référencement.
Pour cette quantité d’IGMs, le temps de correction serait de l’ordre de
plusieurs heures. Avec une telle solution, le nombre d’IGMs maximal
pouvant être moyenné est très limité et réduit ainsi la qualité des IGMs
possible à atteindre. De plus, un utilisateur n’est pas enclin à attendre
aussi longtemps avant de pouvoir observer sa mesure. Cela confirme donc
l’utilisation d’une plateforme FPGA pour effectuer la correction et le
moyennage en temps-réel comme la solution optimale, même si celle-ci
comporte un niveau de difficulté supérieur.
Lors du développement d’un algorithme pour un FPGA, la contrainte sur la
rapidité d’exécution peut être déplacée vers une contrainte sur la quantité
de ressources disponibles. Il est donc nécessaire de s’assurer que le
nombre d’éléments logiques que contient le FPGA est suffisant pour
l’application désirée.
Comme les multiplications et les mémoires à accès direct (RAM pour
random access memories) nécessitent de grandes quantités de LUT et de
31
FF, les fabricants de FPGA intègrent à leurs puces des ressources dédiées
pour accomplir ces opérations. Des tranches dédiées au traitement de
signal numérique (DSP pour digital signal processing) peuvent servir de
multiplicateurs, d’additionneurs et de registres tandis que les block RAM
(BRAM) contiennent plusieurs milliers de bits accessibles par un index. Les
FPGA contiennent aussi des ressources dédiées pour accomplir différentes
tâches qui ne sont pas réalisables à partir d’éléments logiques. En autres,
des Mixed-Mode Clock Manager (MMCM) servent à créer des horloges
digitales à fréquence et phase ajustables et des IODELAY permettent de
varier le délai de propagation de différents signaux digitaux à des fins de
synchronisation.
Figure 11 : Plateforme FPGA ML605 de Xilinx [XIL12]
La plateforme ML605, une plateforme de développement FPGA de Xilinx,
répond aux performances désirées de notre système. En effet, celle-ci
comporte un Virtex 6, un FPGA de grande taille pour la correction temps-
réel des IGMs, une mémoire à haute bande-passante pouvant contenir les
IGMs corrigés, des ports d’extension pouvant accueillir une carte
d’acquisition et plusieurs interfaces de communication série.
32
Le choix d’une carte d’évaluation permet un prototypage rapide en plus
d’une grande flexibilité puisque plusieurs périphériques et interfaces sont
disponibles à partir des broches du FPGA et que l’électronique
d’alimentation et de configuration est déjà implémentée.
La plateforme ML605 est dotée d’un FPGA de type Virtex 6, le
XC6VLX240T. Ce FPGA possède 37680 CLB contenant chacun 4 LUT et 8
FF. Elle possède aussi 768 tranches DSP pouvant effectuer des
multiplications de 18 par 25 bits, 14976 kb en RAM dédiée et 12 MMCM.
Avec ce FPGA, les ressources disponibles comblent largement les requis.
En effet, pour le traitement de signal, les ressources FPGA les plus
critiques sont les tranches DSP et ce Virtex 6 en possède 768. Une
multiplication complexe en nécessite 3, et un filtre symétrique en a besoin
de deux fois moins que son nombre de coefficients. À partir du schéma de
la figure 8 et en utilisant des filtres de quelques dizaines de coefficients, il
est possible de conclure que 768 tranches DSP sont entièrement
suffisantes.
De plus, comme seulement un exemplaire du système de correction doit
être développé et que le coût n’est pas significativement plus élevé
comparativement à un FPGA de plus petite taille, l’utilisation de ce FPGA
est adéquate et permettra aussi d’avoir une marge de manœuvre sur la
taille de l’algorithme et sur de nouvelles fonctionnalités possibles.
3.2.1.2 Périphériques
Le port USB JTAG permet de programmer le FPGA en plus de pouvoir le
déverminer grâce à l’outil ChipScope™ de Xilinx. Une deuxième interface
USB permet d’établir une communication UART (Universal Asynchronous
Receiver Transmitter) entre le FPGA et un ordinateur à une fréquence de
communication pouvant atteindre 921600 Hz. Du point de vue de
33
l’ordinateur, ce port peut donc servir à la paramétrisation de l’algorithme
temps-réel et à la lecture des données provenant du FPGA.
Afin de moyenner les interférogrammes, le FPGA nécessite de la mémoire
très rapide et assez grande pour pouvoir contenir un IGM complet. Pour
cette application, les 15 Mb disponibles à l’intérieur du FPGA ne sont
définitivement pas suffisants. Toutefois, une barrette de mémoire de type
DDR3 est disponible sur la carte ML605 et peut contenir jusqu’à 512 MB.
La technologie DDR3 permet d’accomplir au moins 800 millions de
transactions par secondes. Avec un bus de données large de 64 bits, la
barrette de DDR3 offre donc une vitesse de transfert de 6400 MB par
seconde. Ce taux élevé permettra d’écrire et de lire plusieurs octets en
mémoire à chaque arrivée d’un point de l’interférogramme, ce qui est
nécessaire à l’opération de moyennage.
La plateforme ML605 possède deux ports d’extension FMC (FPGA
Mezzanine Card). Ce type de connecteur est un standard développé par
VITA, un consortium de plusieurs compagnies, afin de faciliter la
comptabilité entre des modules d’extension et la carte contenant
l’électronique programmable. Diverses compagnies proposent une vaste
gamme de produits FMC offrant différents types de périphériques. Cela
permet donc l’utilisation de cartes de développement génériques, comme le
ML605, pour des fins plus spécifiques.
Le FPGA étant entièrement numérique, les canaux analogiques doivent être
échantillonnés et discrétisés avant d’y être traités. L’utilisation de
convertisseurs analogique-numériques (ADC pour analog-to-digital
converter) est donc requise.
Le système de référencement produit 4 signaux nécessaires pour corriger
un interférogramme. Il est possible d’additionner des battements entre les
peignes et les CW sur les mêmes canaux afin d’économiser sur le nombre
34
d’ADCs. Si les fréquences de battements ne se juxtaposent pas, les signaux
peuvent être séparés à l’aide de filtres numériques. Cependant, en
additionnant un battement à un autre, du bruit à toutes les fréquences est
additionné, dégradant alors la qualité du signal. Il est donc utile d’avoir au
moins 5 ADCs, mais pas obligatoire. L’article scientifique publié dans le
cadre de ce projet [ROY12] utilise ce multiplexage en fréquences puisque
seulement 4 ADCs étaient disponibles lors de sa publication.
Figure 12 : Carte MI250 de Nutaq offrant 8 ADCs et
conforme au standard FMC [de DSP12].
La carte électronique MI250 de Nutaq (voir figure 12) contient 8 ADCs
détenant une résolution de 14 bits et une fréquence d’échantillonnage
maximale de 250 MHz. Selon la fiche technique fournie par Nutaq [NUT12],
les convertisseurs possèdent un nombre effectif de bits (ENOB pour
effective number of bits) de 11,5. En pratique, ce nombre s’est révélé être
légèrement meilleur avec un ENOB de 12. Le calcul du ENOB est décrit à
la prochaine section par l’équation 3.1.
Cette résolution offerte est grandement supérieure, plus d’un facteur 100,
au ratio signal sur bruit des signaux de référence et de l’interférogramme.
De plus, la fréquence maximale des convertisseurs dépasse celle de
35
l’échantillonnage par les peignes de fréquence. Les performances de la
MI250 conviennent donc au système de correction de mesures
interférométriques. Cette carte a une interface FMC, ce qui lui permet
d’être facilement intégrée à la plateforme ML605.
Cette carte d’acquisition est utilisée afin de numériser les signaux
analogiques provenant des photodétecteurs. Deux canaux servent à
l’acquisition des IGMs et quatre autres sont utilisés pour les signaux de
référencement. Le multiplexage en fréquence des signaux de références
n’est donc pas requis.
Le taux de répétition des peignes à 100 MHz est plus stable que les
oscillateurs disponibles sur la carte d’ADC et sur la carte FPGA. Une sortie
d’un peigne est donc envoyée vers un photodétecteur et le signal produit
est filtré de manière à générer une horloge de 100 MHz de haute précision.
Il est donc judicieux de configurer la MI250 en mode horloge externe afin
d’échantillonner les signaux sur cette horloge. Il est important de s’assurer
que le taux de répétition des peignes est bien à 100 MHz puisque les
contraintes de temps du design FPGA sont basées sur cette valeur.
Finalement, la carte de développement de Xilinx offre des interfaces de
communication USB, Gigabit Ethernet et PCI Express. Ces ports sont des
alternatives avantageuses comparativement à la communication UART en
ce qui a trait aux vitesses de transfert (>1000 fois plus rapide). Lorsque
plusieurs mégaoctets doivent être échangés entre l’ordinateur et le FPGA,
comme dans le cas de la lecture de l’IGM moyenné, des dizaines de
secondes peuvent être nécessaires à la communication UART. Cependant,
ces alternatives engendrent une complexité supplémentaire et n’ont pas été
développées dans le cadre de ce projet. Ces ports sont tout de même
disponibles sur la carte pour de futures améliorations du système.
36
3.2.2 Ordinateur et boucles d’asservissement Un ordinateur sert d’interface entre la carte de développement et
l’utilisateur. Il permet de configurer plusieurs paramètres de l’algorithme
afin de le rendre le plus versatile possible. Le logiciel d’interfaçage est
développé dans MATLAB® pour sa rapidité de prototypage. L’interface n’a
pas de requis de performance, c’est pourquoi l’utilisation d’un langage de
bas niveau n’est pas essentielle. De plus, le but de ce projet n’est pas la
réalisation d’un logiciel commercial, mais plutôt un outil de laboratoire en
constante évolution. Aucun défi technique n’est relié au développement de
ce logiciel, c’est pourquoi aucune section ne l’aborde en détail dans ce
mémoire. Le guide d’utilisation de l’interface graphique se retrouve tout de
même en annexe A afin que l’utilisateur puisse s’en servir aisément.
L’ordinateur sert aussi à avoir un retour d’information sur les différentes
étapes de correction et sur plusieurs paramètres de système
interférométrique. Comme les mesures peuvent être prises sur de longues
périodes de temps, les peignes de fréquence et les lasers de référence
peuvent fluctuer assez pour que les battements électriques excèdent DC
(direct current, 0 Hz) ou la fréquence de Nyquist. Si cela arrive,
l’information nécessaire ne peut plus être correctement extraite des
signaux.
Les sources laser utilisées possèdent des entrées électriques pouvant
moduler le courant de pompe. Les peignes de fréquence possèdent aussi
une entrée modulant la tension sur leur piézoélectrique. Il est donc
possible d’utiliser ces actuateurs afin que l’interférogramme et les
battements de référence restent loin des limites spectrales (0 et 50 MHz).
Les lasers CW possèdent déjà de l’électronique contrôlant leurs paramètres
d’opération. Celle-ci possède une interface GPIB qui permet de contrôler le
37
courant de pompe. Avec un adaptateur USB-GPIB l’ordinateur peut donc
faire varier la fréquence optique des CW.
Cependant, l’électronique contrôlant les lasers CW possède une forte
discrétisation. En effet, un seul incrément fait varier de quelques MHz la
fréquence des CW. Comme cette valeur correspond environ à la plage
maximale d’erreur tolérable sur le battement des CW avec les peignes, un
algorithme très simple s’occupe de surveiller la fréquence des CW et
d’incrémenter ou de décrémenter la valeur de leur courant de pompe afin
de maintenir les battements autour de leur consigne.
Un contrôleur avec une plus fine discrétisation, permettrait un meilleur
contrôle des lasers CW, mais ce n’est toutefois pas nécessaire au bon
fonctionnement de l’algorithme de correction.
Pour la variation de tension aux bornes des piézoélectriques et du courant
de pompe des peignes, des entrées analogiques sont disponibles. Comme
l’ordinateur ne possède pas de convertisseur numérique-analogique (DAC
pour digital-to-analog converter), deux générateurs de signaux Agilent sont
utilisés à cette fin. Ceux-ci sont aussi configurables par GPIB. Cependant,
ces DACs possèdent un fort délai entre l’envoi d’une commande et la
modification des sorties, ce qui limite grandement les performances de
l’asservissement. Des DACs directement reliés à l’ordinateur ou au FPGA
permettraient d’avoir des constantes de temps beaucoup plus faible. Cette
amélioration serait souhaitable, mais elle n’est pas nécessaire puisque les
dérives des lasers sont lentes et la tâche de corriger les fluctuations
rapides revient à l’algorithme de correction temps-réel.
La différence du taux de répétition des peignes, ainsi que la fréquence
électrique de leur battement sont reliées à la tension sur le piézoélectrique
et sur le courant de pompe des peignes de fréquence. Ce système à deux
entrées et à deux sorties est fortement couplées ce qui rend le design de
38
l’asservissement difficile. Un asservissement multivariable permettrait
d’améliorer le temps de convergence des boucles, cependant cela requiert
une bonne identification des fonctions de transfert en plus d’une linéarité
du système sur sa plage d’opération.
Comme les variations sont lentes et que la consigne est davantage une
plage de valeurs possibles qu’une cible à atteindre, la constante de temps
du système en boucle fermée n’a pas besoin d’être petite. Une approche
distribuée est donc suffisante pour le système actuel.
Une première boucle ayant une bande de l’ordre de quelques dixièmes de
Hz permet de fixer rf∆ avec comme actuateur le piézoélectrique. Une fois
cette boucle fermée, l’influence du courant de pompe sur la fréquence
électrique du battement des peignes est identifiée. Cela permet de fermer la
deuxième boucle qui possède une constante de temps beaucoup plus
grande. Celle-ci possède une constante de temps de quelques dizaines de
secondes.
Comme les deux actuateurs sont fortement couplés, cet écart entre leurs
temps de réponse est nécessaire. Comme ils agissent un contre l’autre, en
donnant le temps au premier de se stabiliser même si le deuxième n’a pas
encore atteint sa consigne, cela permet une transition plus douce et sans
oscillations des actuateurs.
Due à la forte latence créée par les DAC Agilent, un taux de
rafraîchissement de 1 Hz a été choisi. Le gain de la variation de la tension
au borne du piézoélectrique sur la variation de rf∆ a été identifié à 40 Hz/V
et comme sa constante de temps est beaucoup plus faible que le taux de
rafraîchissement de l’asservissement, celle-ci peut être négligée. Son
régulateur a été conçu afin de produire une constante de temps 2,5
secondes en boucle fermée :
39
1 1
0.01( )1CG z
z−=−
(2.1)
L’influence du courant de pompe sur la fréquence électrique du battement
des peignes, une fois la première boucle sur rf∆ est fermée, est identifiée à
-200 MHz/V. Cette fois-ci, la deuxième boucle est conçue pour produire
une constante de temps 8 fois plus élevé que celle de la première boucle
pour lui laisser le temps de se stabiliser. Voici la fonction de transfert du
deuxième régulateur afin d’atteindre ce résultat :
2 1
-0.00025( )1CG z
z−=−
(2.2)
Une fois ces deux boucles en fonction, et la fréquence électrique du
battement des peignes sont assez stables pour que l’information nécessaire
puisse être correctement extraite des signaux de référence.
rf∆
41
4. Réalisation de l’algorithme sur FPGA La programmation sur FPGA demande une bonne connaissance de la
technologie utilisée. Ce type de programmation se retrouve à mi-chemin
entre la programmation traditionnelle et le design de systèmes
électroniques numériques. Chaque opération doit être décortiquée pour
s’assurer d’avoir une résolution adéquate sans toutefois utiliser
inutilement des ressources matérielles. Le développement sur FPGA est
complexe et nécessite une bonne compréhension de l’algorithme à
implémenter. Toutefois, les FPGA permettent d’accéder à des performances
comparables aux puces dédiées justifiant ainsi cet effort supplémentaire de
programmation.
Tout le développement FPGA est fait dans l’environnement Xilinx ISE®
Design Suite et la simulation avec le logiciel ModelSim®. L’analyse des
résultats ainsi que l’application utilisateur sont faites à l’aide des
fonctionnalités de base de MATLAB®.
L’horloge principale du système FPGA découle de celle provenant de la
carte FMC des ADCs puisque celle-ci utilise l’horloge disponible la plus
stable, un peigne de fréquence. Comme la fréquence d’échantillonnage est
la même que celle du système, toutes les sections de l’algorithme doivent
être non-bloquantes. Une horloge plus rapide pourrait être utilisée, mais ce
n’est pas un gage de performances accrues puisque certaines opérations
logiques nécessitent entièrement les 10 ns allouées afin d’être stables. Des
horloges plus rapides seront donc seulement utilisées à des endroits précis
où une marge de manœuvre est disponible sur le temps de stabilisation
des signaux et où il y a une économie importante à faire sur l’utilisation
des ressources du FPGA.
Lors de programmation dans un environnement haut niveau tel que
MATLAB, le programmeur n’a pas besoin de se soucier de la précision des
42
opérations. En effet, par défaut dans l’environnement MATLAB, les
variables sont exprimées en précision « double ». D’après le standard IEEE
754, le format « double » alloue 64 bits (1 pour le signe, 11 pour l’exposant
et 52 bits en mantisse) pour conserver la précision des variables. La
majorité du temps, ce nombre dépasse largement les requis en précision et
l’algorithme ne détériore donc pas les résultats.
Dans un FPGA, les nombres sont habituellement exprimés en arithmétique
fixe et le nombre de bits est à la discrétion du développeur. Ce dernier peut
alors optimiser soit les ressources matérielles, soit la précision de
l’algorithme. À chaque étape de l’algorithme, une étude sur la précision
requise est faite pour ne pas utiliser inutilement des ressources logiques.
Figure 13 : Diagramme haut-niveau du programme
FPGA.
La figure 13 montre la structure hiérarchique présente dans le FPGA ainsi
que quelques signaux de données et de contrôle. Le bloc FMC108 sert
d’interface avec la carte électronique d’acquisition, le bloc UART sert
d’interface avec l’ordinateur et le bloc DDR3 Manager sert d’intermédiaire
entre la mémoire DDR3 et les signaux internes du FPGA. Le bloc « Probe »
quant à lui, sert d’outil pour suivre le bon déroulement de l’algorithme. Les
blocs Correction et Alignment & Averaging constituent le cœur de
43
l’algorithme temps-réel et sont décrits en détail dans les prochaines
sections.
4.1 Correction
4.1.1 Extraction des références 4.1.1.1 Filtrage passe-bande
Une fois les battements entre les peignes et les CW échantillonnés par les
ADC, ceux-ci se trouvent dans une plage spectrale étroite tandis que le
bruit occupe toute la plage disponible. Il est donc intuitif d’appliquer un
filtre passe-bande autour des fréquences de battement pour rejeter le plus
de bruit possible sans perdre de l’information sur les battements.
Les équations 1.11 à 1.14 expriment les battements sous forme complexe.
Les signaux de référencement sont exprimés en notation complexe, car cela
facilitera l’extraction de la phase présente dans l’algorithme.
Comme les signaux échantillonnés sont réels, une symétrie est présente
entre leurs fréquences positives et négatives. Afin de générer les
battements de référence sous forme complexe, seulement les fréquences
positives ou celles négatives seront conservées dépendamment de la
position fréquentielle du CW par rapport à la dent du peigne avec laquelle
il bat.
Cette opération de garder soit les fréquences positives ou négatives et le
filtrage passe-bande peuvent être regroupés par l’application d’un filtre
passe-bande complexe. Quatre blocs de filtrage avec des fréquences
centrales distinctes doivent donc être implémentés. Ces blocs doivent aussi
avoir des fréquences centrales paramétrables puisque les fréquences des
battements changent en fonction des conditions d’opération des lasers.
44
Une approche serait de créer quatre filtres à réponse impulsionnelle finie
(FIR pour finite impulse response) complexes avec coefficients
rechargeables. Comme les filtres nécessitent beaucoup de multiplications
et d’additions, beaucoup de ressources seront nécessaires à cette
réalisation. Une manière d’optimiser cette situation est d’essayer de
réutiliser le plus de ressources possibles entre les différents filtres.
Un filtre passe-bande complexe peut aussi être réalisé par une séquence
d’opérations plus simples. Le signal d’intérêt peut d’abord être amené en
bande de base par une multiplication avec un oscillateur complexe.
Ensuite, chacune des parties réelles et imaginaires est filtrée par un filtre
passe-bas réel, nécessitant ainsi deux filtres réels par filtre complexe.
Finalement, le signal complexe résultant d’une paire de filtres est ramené à
sa fréquence initiale par une multiplication avec le conjugué complexe de
l’oscillateur utilisé précédemment.
Figure 14 : Filtrage passe-bande des quatre battements entre les peignes et les CW. Les X encerclés représentes des multiplications complexes, FIFO, des mémoires First
In First Out et LPF, des filtres passe-bas
Comme les coefficients des filtres passe-bas sont réels et communs aux
différentes références peu importe leur fréquence centrale, les réalisations
45
des huit filtres réels sont maintenant identiques. Les tranches DSP sont
conçues principalement pour effectuer des filtres, ce qui leur permet
d’opérer à des fréquences élevées. Il est donc possible en partageant les
ressources matérielles d’appliquer le même filtre à plusieurs canaux
différents sans pour autant bloquer le flot de données. Le générateur de
composantes à propriété intellectuelle (IP Core) de Xilinx supporte ce type
d’optimisation pour des filtres possédant les mêmes coefficients. La figure
14 décrit l’implantation du filtrage complexe de l’ensemble des battements
entre les peignes et les CW.
L’architecture utilisée démontre clairement que les mêmes opérations sont
appliquées sur chacun des canaux.
Afin de générer un oscillateur complexe, un compteur incrémente
linéairement la phase à l’entrée d’une LUT qui convertit cette information
en composantes réelles et imaginaires. L’opération produite par la LUT,
enregistrée à l’intérieur d’un BRAM, se traduit par le calcul d’une
exponentielle complexe en fonction de l’angle d’entrée. La LUT comporte
1024 valeurs précalculées. Cela implique que l’oscillateur peut seulement
prendre 1024 fréquences distinctes, ce qui est amplement suffisant
puisque la fréquence de coupure du filtre passe-bas est relativement élevée
par rapport à la largeur des battements. C’est en changeant l’incrément du
compteur que la fréquence de l’oscillateur varie et cela permet donc
l’alignement en fréquence de l’oscillateur avec le signal de battement. Ce
changement peut se faire dynamiquement dans l’interface utilisateur du
programme. De plus, la modification de la fréquence des oscillateurs
numériques est beaucoup plus simple que le calcul et le rechargement des
coefficients lors d’une utilisation de filtres FIR complexes.
Une fois chacun des signaux amenés en bande de base, ceux-ci passent
par un élément de mémoire de type First In, First Out (FIFO) afin de
46
transférer les données d’un domaine d’horloge à un domaine deux fois plus
rapide. L’utilisation d’une horloge plus rapide que le débit de données
permet alors le partage des ressources matérielles entres les différents
filtres numériques.
Grâce à l’approche utilisée, remplaçant les filtres FIR passe-bandes par des
filtres FIR passe-bas, les coefficients de ceux-ci n’ont pas besoin d’être
recalculés lors d’un changement de la fréquence des battements. Il est
donc possible d’utiliser l’algorithme itératif Parks-McClellan [MAT12] afin
d’obtenir la solution optimale en fonction du nombre de coefficients
disponibles même si cette méthode requiert des calculs intensifs. À l’aide
de MATLAB, les coefficients d’un filtre passe-bas d’ordre 26 ont été
générés. Le filtre comporte 27 coefficients afin d’avoir une région passe-
bande sans oscillation majeure, une bonne rejection des hautes fréquences
en plus d’une complexité raisonnable pour son implantation dans un
FPGA.
Figure 15 : Réponse en fréquence des filtres passe-bas.
La figure 15 montre l’amplitude de la réponse en fréquence de ce filtre à
phase linéaire. Il est important que le nombre de coefficients soit impair
47
puisque qu’il faut aligner correctement point par point les signaux de
référencement avec les interférogrammes. Un filtre à phase linéaire de N
coefficients engendrera un délai de (N-1)/2 échantillons. Les 13 premiers
points de l’IGM seront donc abandonnés pour maintenir son alignement
avec les canaux de référencement filtrés. Les hautes fréquences sont
atténuées d’un facteur 700 tandis que l’amplitude dans la région passe-
bande oscille à l’intérieur de ±0.3 %.
La fréquence de coupure est à 3,5 MHz, ce qui est plus large
fréquentiellement que le battement, mais cela permet d’avoir une marge de
manœuvre sur la fréquence de l’oscillateur qui amène le battement en
bande de base avec comme compromis un SNR légèrement inférieur en
comparaison avec un filtre plus étroit. De plus, la discrétisation sur le
courant de pompe du contrôleur ILX des lasers CW produit une
discrétisation de l’ordre de quelques MHz sur le changement de leur
fréquence. Il est donc nécessaire que la fréquence du battement puisse
glisser de quelques MHz sans que le battement soit atténué par le filtre.
Par la suite, les opérations inverses sont appliquées aux signaux filtrés afin
de les ramener à leur fréquence initiale.
Finalement, dû à l’ajout des oscillateurs et des multiplications complexes
qui leur sont reliées, le gain en ressource matérielle de cette approche n’est
pas important comparativement à celle utilisant 4 filtres FIR complexes :
88 tranches DSP sont nécessaires au lieu de 104. Cependant, la structure
actuelle permet de modifier la fréquence centrale des filtres facilement et
elle ne nécessite pas de longs calculs comme ceux pour la génération de
nouveaux coefficients des filtres FIR.
Les signaux de battements numérisés possèdent un certain SNR et afin
d’utiliser le maximum de l’information disponible pour la correction, il ne
faut pas que le SNR se dégrade suite à l’application de l’algorithme en
48
arithmétique fixe. Pour effectuer le filtrage passe-bande décrit à la figure
14, la majorité des opérations arithmétiques nécessaires sont des
multiplications. Celles-ci sont implémentées de façon optimale par le
matériel dédié des tranches DSP. Dans les FPGA de type Virtex 6, chaque
tranche permet d’effectuer une multiplication de 18 par 25 bits. Tant que
la taille des opérandes est inférieure à ces valeurs, une seule tranche est
utilisée. Il n’y a donc pas d’avantage, en termes de ressources logiques, à
utiliser des bus de plus petite taille puisque le matériel est entièrement
dédié à cette application.
Comme les battements sont numérisés sur des bus de 14 bits, cette taille
sera conservée à l’étape du filtrage passe-bande. Les multiplicateurs pour
amener les signaux en bande de base et ensuite les retourner à leur
fréquence initiale conservent la précision de 14 bits. C’est aussi le cas pour
l’implémentation des filtres FIR passe-bas. En ce qui concerne les
oscillateurs numériques, une largeur de 14 bits requiert seulement un
BRAM. Des bus de taille moindre pour les oscillateurs numériques ne
permettent donc pas de gain matériel.
Pour qu’un signal filtré passe-bas puisse utiliser complètement la plage
dynamique offerte par les 14 bits du bus de données, il est souhaitable que
la somme des coefficients du filtre soit égale à une puissance de deux. Cela
permet de simplement tronquer les bits les moins significatifs (LSB pour
least significant bit) afin de rendre le gain du filtre unitaire. En effet, si le
signal d’entrée utilise pleinement la plage dynamique du bus de données,
que le signal se situe avant la fréquence de coupure du filtre et que le gain
du filtre est unitaire, alors le signal, une fois filtré, utilisera aussi la plage
dynamique de façon optimale.
Dans le cas présent, les coefficients du filtre ont été conçus dans
l’environnement MATLAB afin que leur somme donne 8192. Comme le gain
49
du filtre sera lui aussi de 8192, il suffit de tronquer à la sortie du filtre les
13 LSB afin d’obtenir un filtre à gain unitaire et d’utiliser seulement les
14 bits qui suivent afin d’exprimer le signal filtré.
Une fois que la logique du filtrage passe-bande est décrite par le langage de
description matériel, il est possible d’observer sa précision réelle. Pour ce
faire, Xilinx fournit avec son environnement de développement un outil de
simulation nommé ISim. Ce logiciel permet de simuler le comportement de
l’algorithme tel qu’il sera conçu en éléments logiques. Son utilisation
permet une analyse approfondie de la précision engendrée par les
algorithmes en arithmétiques fixes.
En comparant le filtrage passe-bande simulé avec ISim et son équivalent
exprimé en précision double dans MATLAB, on constate que la précision
est inférieure aux 14 bits du bus de données. La figure 16 illustre l’erreur
engendrée par la précision limitée de l’arithmétique fixe.
Figure 16 : Erreur du filtrage passe-bande en
arithmétique fixe.
50
Ce signal d’erreur possède un écart type de 0,8390. L’équation 3.1 permet
de calculer l’ENOB à partir de l’écart type d’un signal :
2log ( )12bruit
DRENOBσ
= , (3.1)
où DR est la taille de la plage dynamique et bruitσ l’écart type du bruit de
mesure.
L’équation ci-haut divise le ratio entre la plage dynamique et l’écart type du
bruit par la racine carrée de 12 avant de transformer ce résultat en
nombre de bits. Cela est dû à la variance du processus de quantification
qui peut se représenter par un bruit uniforme [AMB07] :
2 2 /12LSBσ = (3.2)
où LSB représente dans ce cas-ci le pas de quantification.
Comme le battement filtré occupe complètement la plage dynamique de
14 bits, l’ENOB de l’erreur reliée à l’arithmétique fixe pour le filtrage passe-
bande est de 12,5 bits. L’écart entre le résultat obtenu et la précision reliée
au nombre total de bits est dû aux troncations successives aux différentes
étapes de l’algorithme. L’erreur s’accumule à chaque nouvelle
quantification du signal, c’est pourquoi l’ENOB total ne correspond pas à
celui d’une quantification unique.
Les battements entre les peignes de fréquence et les CW ont un SNR
d’environ 54. Ceux-ci peuvent donc se représenter adéquatement à l’aide
d’un bus de 4 bits. Comme le filtre passe-bas possède une bande-passante
équivalente pour le bruit (NEB pour noise equivalent bandwidth) de 14,39
MHz, une fois filtrés, les signaux rejetteront 14,39 % de leur bruit si celui-
ci est blanc et aussi la moitié de l’amplitude du battement puisque
51
seulement les fréquences positives ou négatives sont conservées. Cela aura
comme effet une augmentation du SNR, ce qui fera passer la précision
nécessaire afin d’exprimer adéquatement le battement de 4 à 5,7 bits.
La précision du filtre de 12,5 bits est alors amplement suffisante dans les
conditions actuelles. Les bits excédentaires peuvent permettre de conserver
la précision d’un signal même si celui-ci se retrouve dans la région des bits
les moins significatifs. Il n’y a donc pas d’effort supplémentaire à fournir
pour que le signal en entrée de ce bloc occupe complètement la plage
dynamique.
4.1.1.2 Extraction des références
Figure 17 : Diagramme de l’extraction des références,
où x représente le signal en entrée et LPF, un filtre passe-bas.
Une fois les signaux de battement filtrés, les références doivent être
extraites. La figure 17 montre l’implémentation de l’algorithme nécessaire
pour accomplir cette tâche.
D’abord, afin de retirer la contribution du CW des références comme décrit
par les équations 1.15 et 1.16, les canaux ayant le laser CW en commun
sont multipliés l’un par le conjugué complexe de l’autre. Aucune ressource
n’est utilisée pour l’application du conjugué complexe, car celui-ci peut
s’obtenir à l’étape du filtrage en choisissant de garder les fréquences
négatives plutôt que les fréquences positives du battement. C’est aussi le
cas pour le conjugué complexe présent dans les équations 1.9 et 1.10. Il
52
suffit de prendre les fréquences de signe opposé des battements
correspondant soit au premier ou soit au deuxième laser CW.
Lors d’une multiplication en arithmétique fixe, le nombre de bits requis,
pour exprimer tous les résultats possibles sans perdre de précision, doit
équivaloir à la somme de la taille des deux opérandes. Cependant, si à
chaque multiplication rencontrée la taille du bus augmente de 14 bits,
rapidement la taille du bus sera énorme et consommera une quantité
disproportionnée de ressources logiques.
Il est toutefois possible de limiter la taille du bus de sortie à 14 bits. En
effet, si les 14 bits sont bien choisis, le bus de sortie conservera la même
précision que les opérandes. Des composantes ont été développées pour
permettre de conserver la précision tout au long de l’algorithme. Celles-ci
permettent d’appliquer un gain variable à la sortie de diverses étapes de
l’algorithme afin de maximiser l’utilisation de la plage dynamique et sans
possibilité de débordement.
Figure 18 : Ajustement du gain.
La figure 18 illustre l’implémentation du bloc d’ajustement du gain. En
fait, ce bloc choisit les 14 bits représentant le mieux le signal d’intérêt
parmi les 22 bits en entrée afin de maximiser la précision.
Ce bloc possède deux modes d’opération. Dans le premier mode, où
iAutomaticMode vaut ‘0’, le gain est dicté par le bus d’entrée iGain. Celui-ci
choisit les 14 bits les plus significatifs (MSB pour most significant bit)
53
lorsque iGain vaut ‘000’ et les 14 LSB lorsqu’il vaut ‘111’. iGain est contrôlé
par l’utilisateur et c’est ce dernier qui doit s’assurer de remplir
adéquatement la plage dynamique disponible et cela sans débordement.
Dans le deuxième mode, le gain est contrôlé de façon automatique. Pour ce
faire, la valeur maximale du signal d’entrée sur une période de plusieurs
millisecondes est calculée. Par la suite, le gain est décidé en fonction de la
position du premier bit ‘1’ rencontré à partir des MSB. Une marge de
manœuvre d’un bit est conservée pour s’assurer qu’aucun débordement ne
peut survenir et aussi parce qu’une représentation entre 12 et 13 bits est
largement suffisante pour la précision désirée.
En mode automatique, le gain calculé écrase la valeur contenue à
l’intérieur de la variable iGain. L’utilisateur peut donc mettre le bloc en
mode automatique au démarrage pour que l’optimisation se fasse de façon
transparente et ensuite retourner au mode manuel pour que le bloc
converse une valeur fixe durant la correction de l’IGM.
Figure 19 : Gains ajustables pour l’extraction des
références, où BPF représente un filtre passe-bande.
Plusieurs gains ajustables se retrouvent dans la partie de l’algorithme où
les références sont extraites. La figure 19 représente le début de
l’algorithme d’extraction des références présenté à la figure 17, où les
composantes de gain ajustable sont identifiées. Ces blocs se retrouvent
après chaque filtre passe-bande et après chaque multiplication. Les bus de
54
données conservent alors une précision de 12 bits peu importe l’utilisation
initiale de la plage dynamique.
La présence des gains ajustables après les filtres ne rendent pas
optionnelle leur présence après les multiplications. Par exemple, si une
précision de 12 bits est assurée suite aux filtres passe-bandes et les
14 MSB sont systématiquement conservés suite à une multiplication, une
précision de 10 bits serait présente après la première étape de
multiplication et une précision de 6 bits après la deuxième.
En effet, deux nombres en notation complément 2, utilisant 12 bits d’une
plage dynamique de 14 bits, produisent suite à leur multiplication des
résultats compris seulement dans les 23 LSB contrairement aux 27 bits
disponible. En prenant systématiquement les 14 MSB, le signal en sortie
de la multiplication ne possède plus que 10 bits de précision.
Si on applique le même raisonnement pour la multiplication suivante,
deux nombres de 10 bits produisent des résultats compris à l’intérieur de
19 bits. En prenant encore les 14 MSB, le signal résultant n’utilise
seulement que 6 de ses 14 bits.
Ce cas est tout simplement inacceptable en ce qui a trait à la précision des
références et c’est pourquoi les gains ajustables sont positionnés tels
qu’indiqués à la figure 19.
Suite aux multiplications pour obtenir les signaux de référence, une
division par la norme des références se retrouve dans les équations 1.9 et
1.10 pour ne conserver que l’exponentielle complexe, étant donné que la
phase des références est le signal d’intérêt. Le calcul pour normaliser un
signal complexe nécessite deux multiplications, une addition, une racine
carrée et une division. Les opérateurs de racine carrée et de division ne
sont pas triviaux à implémenter à l’intérieur d’un FPGA.
55
Une alternative à cette élimination des fluctuations d’amplitude est
d’utiliser l’arc tangente pour accéder directement à la phase des signaux
de référence. Par la suite, l’exponentielle complexe de la phase peut
aisément être calculée à l’aide d’une LUT, comme expliqué auparavant.
L’opérateur d’arc tangente est tout aussi compliqué que l’opérateur racine
carrée, mais cette approche permet de remplacer deux multiplications, une
addition et une division par seulement une table de conversion.
L’arc tangente est réalisée par l’utilisation de l’IP Core de Xilinx qui
implémente l’algorithme CORDIC (COordinate Rotational DIgital Computer)
[XIL11]. Cet algorithme permet de solutionner de manière itérative une
multitude d’équations trigonométriques, dont l’arc tangente, à l’aide de
petites rotations successives sur l’entrée exprimée dans le système de
coordonnées rectangulaires. Il est important que l’algorithme soit
implémenté de manière parallèle pour pouvoir supporter le flot de données
continu. De plus, les unités de la sortie du CORDIC sont configurées en
radians normalisés afin que la plage des valeurs possibles remplisse
complètement la plage dynamique du bus de données. Dans cette
représentation, -π est exprimé par la valeur la plus faible, -2Nbit-1, du
nombre binaire en complément 2 tandis que la valeur la plus élevée, 2Nbit-1,
représente la valeur π soustraite d’un pas de discrétisation,
π·(2Nbit-1-1)/2Nbit-1.
L’algorithme CORDIC est gourmand en ressources matérielles et une
attention particulière doit donc être portée sur la résolution nécessaire de
l’opération d’arc tangente. Le bruit du signal de référence suite à
l’opération d’arc tangente possède environ un écart type équivalent à
6 bits. Implémenter l’opération d’arc tangente avec le CORDIC tout en
conservant une résolution de 14 bits serait excessif et augmenterait
grandement le nombre de ressources requises. Les paramètres du CORDIC
ont donc été choisis afin d’obtenir une résolution de 10 bits à sa sortie.
56
Une résolution légèrement supérieure au bruit actuel a été choisie pour
permettre une certaine flexibilité dans le cas d’une amélioration du SNR
des références. Comme la configuration du CORDIC offre une résolution de
10 bits, son bus de sortie a été conçu pour avoir une largeur de 10 bits.
La figure 20 montre l’erreur de l’arc tangente engendrée par l’utilisation
d’une taille de bus de 10 bits en sortie. En calculant l’ENOB à partir de
l’écart type du bruit avec l’équation 3.1, on obtient 10 bits de précision. En
effet, l’amplitude de l’erreur est entièrement comprise entre -0,5 et 0,5 pas
de discrétisation, ce qui concorde avec le cas typique d’une utilisation
maximale de la résolution lors d’une discrétisation.
Figure 20 : Erreur de l’arc tangente de 10 bits en
arithmétique fixe.
Une fois que l’angle est extrait de la première référence, une mémoire
s’occupe d’obtenir sa représentation cartésienne équivalente. À la sortie de
la mémoire, les bus représentant les valeurs réelles et imaginaires sont
exprimés sur 14 bits. Aucun compromis n’a besoin d’être fait sur cette
57
précision puisque pour avoir une résolution de 14 bits seulement 1 BRAM
est nécessaire.
Le même bloc d’arc tangente est utilisé afin de remplacer les
normalisations présentes dans le calcul de la grille de ré-échantillonnage.
Contrairement à la table de conversion de l’angle en exponentielle
complexe présente pour la réalisation de la correction de phase, celle-ci
n’est pas utile dans cette section, car le résultat de l’arc tangente fournit la
rampe de phase et cette rampe représente directement l’instant de
l’échantillonnage des peignes par rapport aux lasers CW de référence.
Cette information est celle nécessaire au ré-échantillonnage de l’IGM sur
une grille équidistante. Afin de s’assurer d’avoir une rampe croissante, ce
qui facilite la tâche du bloc de ré-échantillonnage, un opérateur de
conjugué complexe conditionnel est placé devant l’arc tangente. Le
conjugué complexe doit être activé par l’utilisateur si celui-ci observe une
rampe décroissante lors de l’extraction de la phase.
La rampe, suite à l’extraction de phase par l’arc tangente, est contenue à
l’intérieur de –π à π, ce qui résulte en des débordements fréquents. Ces
discontinuités de la rampe peuvent produire des incertitudes sur les
variations de phase. En effet, si les variations sont rapides, il est difficile de
savoir s’il y a eu un débordement ou non entre deux points distants de
plusieurs échantillons. La différence entre deux points est couramment
calculée lors du ré-échantillonnage, c’est pourquoi le bloc unwrap de la
figure 17 permet de dérouler la phase. Le déroulement sur une plus grande
plage de valeurs permet ainsi de lever cette ambiguïté.
Le déroulement de phase ajoute des MSB au signal de phase afin que les
débordements se produisent moins fréquemment. Un ajout de 5 bits a été
considéré comme suffisant pour lever toute ambiguïté lors de l’application
du filtre passe-bas qui suit le déroulement de phase. En effet, pour que le
58
filtre s’applique correctement, il ne doit pas y avoir plus qu’un
débordement sur toute la longueur du filtre. Cet ajout de 5 bits permet de
diminuer le taux d’occurrence du débordement par un facteur 32, ce qui
est amplement suffisant étant donné la taille du filtre subséquent.
Finalement, les variations rapides de la grille d’échantillonnage sont
rejetées par l’application d’un filtre passe-bas. Cette étape permet
d’atténuer le bruit de mesure aux hautes fréquences sans trop dégrader
l’information sur les instants d’échantillonnage. Le filtre est implémenté
sous forme de boîte, c’est-à-dire que tous ses coefficients sont de poids
identiques et cela permet de s’affranchir des multiplicateurs dans
l’implémentation du filtre. La figure 21 représente l’implémentation en
éléments logiques du filtre en boîte. Une structure CIC (Cascaded
Integrator-Comb) est utilisée pour l’implémentation de ce filtre.
Figure 21 : Filtre passe-bas en boîte, structure CIC, où
z-1 représente le délai d’un cycle d’horloge.
Celle-ci ne nécessite que 2 opérateurs d’addition, un registre à décalage de
longueur N et un registre servant d’accumulateur. Cette architecture
produit des coefficients unitaires et le gain total du filtre est donc N. Afin
d’atténuer le bruit sans trop perturber les variations réelles de
l’échantillonnage, une largeur de 128 a été attribuée à ce filtre. Cela
correspond à une bande passante de 350 kHz. Pour accumuler la somme
de 128 éléments sans débordement, le registre identifié par z-1 nécessite 7
bits supplémentaires comparativement aux échantillons d’entrée. Par la
suite, certains LSB sont retranchés afin de ne conserver que la précision
désirée.
59
Lors d’un moyennage, l’amplitude du bruit diminue en racine carrée par
rapport au nombre d’éléments sommés. Pour cette taille de filtre, le bruit
est donc 128 11,3= fois plus faible à la sortie du filtre. En arithmétique fixe,
afin de converser un gain en précision, il faut nécessairement augmenter le
nombre de bits alloués à la représentation binaire de la sortie. 4 bits
supplémentaires permettent d’exprimer adéquatement cette nouvelle
précision. Tel qu’illustré dans la figure 21, il ne reste qu’à retrancher les
3 bits les moins significatifs de l’accumulateur pour ne pas traîner des bits
excédentaires inutilement dans les étapes subséquentes de l’algorithme.
La rampe d’échantillonnage comporte désormais 19 bits et sera utilisée
dans l’étape suivante de ré-échantillonnage afin de corriger les variations
de rf∆ .
4.1.2 Correction des interférogrammes Afin que les variations des peignes de fréquence ne perturbent pas les
interférogrammes, une correction de la phase et un ré-échantillonnage
doivent être appliqués aux IGMs numérisés. La figure 22 donne un aperçu
de l’implémentation dans le FPGA de l’équation 1.9 et du ré-
échantillonnage basé sur l’équation 1.10.
Figure 22 : Algorithme de correction des IGMs, où HPF
représente un filtre passe-haut, Sync, un bloc de synchronisation, LPF, un filtre passe-bas et Resample, le
bloc de ré-échantillonnage.
Chacun des blocs composant cet algorithme est décrit plus en détail dans
les sous-sections qui suivent.
60
4.1.2.1 Filtrage passe-haut
Bien que l’électronique analogique possède des composants pour enlever le
DC, les amplificateurs à l’intérieur des ADCs ainsi que l’étape de
quantification peuvent créer un décalage du signal par rapport au centre
de la plage dynamique.
Comme ce décalage n’est pas utile et qu’il créera une oscillation lorsque
l’interférogramme sera amené en bande de base, mieux vaut l’éliminer au
début de l’algorithme. Un filtre passe-haut (HPF pour high-pass filter) est
donc nécessaire afin d’éliminer dynamiquement ce décalage au cas où
celui-ci varierait durant la prise de mesure.
L’utilisation d’un filtre avec une réponse impulsionnelle infinie (IIR) permet
une réalisation matérielle plus compacte tout en possédant une transition
rapide entre les fréquences à rejeter et celles à conserver.
Figure 23 : Schéma bloc du filtre IIR passe-haut, où z-1
représente le délai d’un cycle d’horloge.
La figure 23 illustre l’implantation du filtre IIR passe-haut. Celui-ci a été
conçu en soustrayant le signal original par le signal filtré passe-bas. La
fonction de transfert équivalente de ce filtre est exprimée par l’équation
suivante.
61
1
1512( ) 1 5111 512
H zz−
= −−
(3.3)
En choisissant des puissances de 2 comme dénominateurs des
coefficients, aucune multiplication ou division n’est nécessaire à
l’implémentation du filtre comme le démontre la figure 23. En effet, à
l’intérieur d’un FPGA, les divisions et multiplications par des puissances
de 2 ne sont que des opérations de décalage des bits et ce type d’opération
ne nécessite aucune ressource logique.
La figure 24 montre la représentation spectrale de ce filtre IIR. La
fréquence de coupure de ce filtre se trouve à 18 kHz. Comme cette
fréquence est très basse comparativement à celle de l’IGM, le filtre laisse
donc passer entièrement l’IGM qui est centré à plusieurs MHz et rejette
complètement le DC.
Figure 24 : Représentation spectrale du filtre IIR passe-
haut.
Afin de réaliser le filtre tel qu’illustré à la figure 23, les données à l’entrée
de la section passe-bas sont multipliées par 16 pour augmenter la
précision de l’accumulateur. Deuxièmement, le ratio 511/512 est calculé
62
en soustrayant la valeur de l’accumulateur par la même valeur, mais
divisée par 512. Finalement, comme la section passe-bas produit une
latence d’un cycle d’horloge, les données à l’entrée doivent aussi subir cette
latence pour ensuite être soustraites par la valeur de l’accumulateur
ramenée à la même précision.
Suite au filtrage passe-haut, un bloc de gain ajustable, tel que décrit à la
figure 18, permet de remplir la plage dynamique disponible. Une utilisation
complète de la plage augmente la précision de l’algorithme puisque les
erreurs reliées à l’arithmétique fixe se situent dans les bits les moins
significatifs. L’amplitude maximale doit donc être la plus éloignée possible
de ces bits pour ne pas subir une détérioration lors de la quantification.
Suite au filtrage passe-haut, une précision de 14 bits est conservée
puisque c’est la résolution du signal d’entrée et que ce filtre ne sert pas à
l’atténuation du bruit.
4.1.2.2 Correction de phase
Afin de corriger les fluctuations de phase ( )ceo kφ∆ des interférogrammes, les
IGMs doivent être multipliés par la première référence normalisée tel
qu’indiqué par l’équation 1.9. La figure 17 montre que la première
référence normalisée est rendue disponible par une autre partie de
l’algorithme. Comme le filtrage passe-haut des IGMs fonctionne en
parallèle à l’extraction des références, rien ne garantit une latence
identique dans les deux parcours. Un mécanisme doit donc s’assurer que
l’échantillon de la référence corresponde bien à celui de l’IGM lors de la
multiplication.
Un délai fixe peut être produit à l’aide d’un registre à décalage. Il est
nécessaire de calculer la latence dans chaque parcours et allonger le plus
court en conséquence. Cependant, lors d’une modification de l’un de ces
63
parcours, le délai doit être recalculé et la taille du registre à décalage,
changée.
Une méthode alternative plus flexible peut être implémentée à l’aide d’un
FIFO. Lorsque les données du parcours le plus rapide sont disponibles,
celles-ci sont enregistrées à l’intérieur d’une mémoire. Cette mémoire est
lue lorsque les données du second parcours sont, à leur tour, disponibles.
Il suffit de s’assurer que la taille du FIFO est assez grande pour contenir
une quantité de données équivalente à la différence de latence entre les
deux parcours. De plus, il faut que le délai de propagation des données à
l’intérieur du FIFO soit plus petit que la différence de latence pour ne pas
la surcompenser.
En plus de la synchronisation de la latence des deux parcours, une
analyse du délai de groupe des différentes sections de l’algorithme doit être
faite. Lors du filtrage passe-bande, un filtre FIR de 27 coefficients est
utilisé. Celui-ci engendre un délai de groupe constant pour toutes les
fréquences qui correspond à 13 échantillons. Dans l’autre branche de
l’algorithme, le filtre IIR n’a pas une phase linéaire, mais le délai de groupe
peut être considéré comme nul pour les fréquences distantes de DC. Lors
de la synchronisation, il faut donc laisser tomber 13 échantillons de l’IGM
pour que ces données arrivent à l’étape de correction de phase en même
temps que le signal de référence.
Lorsque les données provenant des deux parcours sont disponibles, elles
sont multipliées ensemble. La fréquence optique où se trouve le mode qui
bat avec le premier laser CW se retrouve fixée à la fréquence électrique 0
après la correction de phase et ce peu importe les fluctuations des peignes.
La figure 25 montre le spectre de l’IGM une fois amené en bande de base
par la correction de phase.
64
Figure 25 : Spectre amené en bande de base suite à la
correction de phase.
Aucune modification de l’amplitude du signal résultant n’est nécessaire
puisque l’IGM est multiplié par la référence normalisée à amplitude
unitaire. Comme cette dernière occupe complètement la plage dynamique
de 14 bits qui lui est attribuée, en laissant tomber les 13 LSB suite à la
multiplication, la sortie conserve à tout coup la précision de l’IGM et ce
quelle que soit sa précision initiale.
Notons qu’après la correction de phase, le signal est nécessairement
complexe, puis qu’il n’y a plus de symétrie entre les fréquences positives et
les fréquences négatives.
4.1.2.3 Filtrage passe-bas
Une fois le spectre de l’interférogramme amené en bande de base, l’autre
copie se retrouve à plus haute fréquence. Le spectre dans les hautes
fréquences ne contient aucune information additionnelle. Celui-ci peut
donc être enlevé pour que toute l’information soit seulement contenue
dans les fréquences autour de DC. Un filtrage passe-bas permet donc de
réduire la bande autour de l’alias centré sur zéro et permettra une
65
décimation à une étape subséquente, question de réduire au minimum la
taille du flot de données.
Comme la largeur spectrale de l’IGM varie en fonction des conditions
d’opération des lasers, le filtre passe-bas a été conçu pour avoir une
fréquence de coupure autour de 25 MHz. Cette largeur permet de toujours
éliminer la copie du spectre à plus haute fréquence sans dégrader la copie
en bande de base. Ce filtre atténue l’amplitude des hautes fréquences
d’environ 30 dB, ce qui est suffisant puisqu’une fois filtré, l’amplitude de la
copie du spectre dans les hautes fréquences est plus faible que le bruit
autour de la copie conservée. Une décimation peut donc être faite sans que
le repliement spectral ne dégrade l’interférogramme.
La fréquence de coupure à 25 MHz du filtre comporte néanmoins des
désavantages. En effet, si le spectre n’occupe qu’une petite partie de la
plage fréquentielle disponible, une forte décimation sans perte de
d’information pourrait être possible avec un filtre plus étroit. Le filtre à
25 MHz limite donc la réduction du flot de données à un facteur 2. En
effet, comme seulement la moitié du bruit est atténuée, une décimation
supérieure à un facteur 2 engendrerait du repliement spectral et pourrait
alors augmenter le bruit présent dans la bande spectrale utile.
Une amélioration future pourrait être de permettre à l’usager de changer la
largeur du filtre en fonction de la largeur du spectre de l’IGM. Par la suite,
la décimation pourrait ne conserver que les échantillons nécessaires afin
d’optimiser la taille des IGMs. Comme la quantité de données totale n’est
pas un paramètre critique dans l’algorithme actuel puisque la taille et la
bande passante de la mémoire DDR3 permet le traitement des IGMs sans
décimation, cet ajout n’est pas nécessaire. Une diminution du temps de
transfert des IGM vers l’ordinateur serait cependant bienvenue, mais n’est
toutefois pas essentielle au bon fonctionnement du programme.
66
Les coefficients du filtre passe-bas ont été conçus en s’assurant que leur
somme soit une puissance de deux. Cela permet de conserver une
utilisation optimale de la plage dynamique offerte par le nombre de bits, tel
que discuté auparavant.
L’amplitude maximale de l’IGM est diminuée de moitié lors du filtrage
passe-bas puisqu’une copie du spectre est complètement éliminée. Afin de
compenser pour cette baisse d’amplitude et de continuer à utiliser
pleinement les 14 bits de précision allouée, un gain fixe de 2 est appliqué à
la sortie du filtre. L’utilisation d’un LSB supplémentaire à la place d’un
MSB permet aussi de conserver la précision gagnée lors du filtrage du
bruit contenu dans les hautes fréquences.
4.1.2.4 Ré-échantillonnage
Tel qu’indiqué à la figure 22, un autre bloc de synchronisation est
nécessaire afin de permettre au deux entrées du bloc de ré-échantillonnage
d’arriver en même temps. En effet, l’échantillon de l’IGM doit correspondre
avec le point de la grille d’échantillonnage qui lui est rattaché. Encore une
fois, un FIFO s’occupe de la synchronisation de la latence entre les deux
parcours de l’algorithme.
Pour ce qui est des délais de groupe, le filtre passe-bas en boîte pour la
grille d’échantillonnage et le filtre FIR pour l’IGM ont tous les deux une
phase linéaire. Le filtre en boîte possède 128 coefficients, ce qui engendre
un décalage de 63,5 échantillons. Le filtre FIR possède 30 coefficients, ce
qui correspond à 14,5 échantillons. 49 échantillons provenant de l’IGM
doivent donc être abandonnés pour s’assurer de faire correspondre
parfaitement les paires de points.
Le ré-échantillonnage sur une grille équidistante sera fait à partir d’une
interpolation linéaire. Comme l’information spectrale des IGMs se situe
67
autour de 0 Hz suite à la correction de phase, l’interpolation linéaire offre
une bonne approximation même en comparaison aux interpolations de
degré supérieur.
La figure 26 illustre l’erreur suite à l’interpolation linéaire d’un IGM
typique et d’amplitude unitaire en comparaison à l’interpolation par la
méthode des splines. En calculant le nombre effectif de bits relié à cette
erreur d’interpolation à partir de l’équation 3.1, on obtient 8,9 bits. Comme
la précision d’une mesure unique d’IGM équivaut à un ENOB de 5,2 bits
(voir section 5.2 Mesure de 24 heures) et que ce nombre est inférieur à la
précision de l’interpolation linéaire, l’utilisation de cette technique lors de
la correction de la grille d’échantillonnage est suffisante. De plus,
l’interpolation linéaire ne requiert pas beaucoup d’opérations
mathématiques, ce qui est souhaitable pour une implémentation à
l’intérieur d’un FPGA.
Figure 26 : Erreur engendrée par l’interpolation linéaire
d’un IGM comparativement à la méthode des splines.
68
Le bloc de ré-échantillonnage doit fonctionner à une fréquence d’horloge
plus rapide que le taux de données à son entrée. En effet, dans le cas où la
nouvelle valeur de l’abscisse ne correspond pas à la plage de valeur
nouvellement lue, un nouvel échantillon en mémoire doit être accédé et
celui-ci ne sera disponible qu’à la prochaine période de l’horloge. Une
vitesse d’horloge plus élevée que le taux moyen d’arrivée des échantillons
permet donc de compenser pour les cycles d’horloge où l’information
nécessaire n’est pas disponible. Une horloge fonctionnant au double de la
fréquence de base de l’algorithme a été utilisée afin de garantir une bande
passante supérieure ou égale aux taux des ADCs.
Figure 27 : Exemple de grille d’échantillonnage reçu par
le bloc de ré-échantillonnage.
Par exemple, la figure 27 montre un cas où le nombre de cycles d’horloge
pour ré-échantillonner l’IGM est supérieur au nombre de points traités. Les
marqueurs rouges indiquent les nouveaux moments d’échantillonnage
souhaités et les marqueurs bleus, ceux courants.
69
Pour ré-échantillonner le deuxième marqueur rouge, les valeurs du 1er et
du 2e marqueur bleu sont nécessaires. Comme la valeur du prochain
marqueur rouge est supérieure à celle du 2e marqueur bleu, un nouvel
échantillon, le 3e marqueur bleu, est lu. Cependant la plage de valeurs
couverte par les 2e et 3e marqueurs bleus n’inclut pas le 3e marqueur
rouge et un nouvel échantillon doit être lu en mémoire. Ce dernier cycle
d’horloge peut être considéré comme perdu puisqu’aucun nouvel
échantillon n’a été généré.
Entre le 3e et le 4e marqueur bleu, on y retrouve 2 échantillons de la grille
équidistante. Par contre, il faudra tout de même compter un cycle
d’horloge pour générer chacun de ces échantillons. Le cycle perdu ne
pourra donc jamais être rattrapé. C’est pourquoi une horloge plus rapide
que le taux d’échantillonnage doit être utilisée à l’intérieur du bloc de ré-
échantillonnage.
Pour un algorithme de ré-échantillonnage exécuté sur un ordinateur, la
machine à états de la figure 28 conviendrait parfaitement.
Calcul de la validité de la
plage
Lecture d’un nouvel
échantillon
Incrémente la grille
équidistante
ValideNon valide
Figure 28 : Machine à états conventionnelle pour le ré-
échantillonnage
Cependant, son implémentation à l’intérieur du FPGA à une fréquence
d’horloge de 200 MHz ne permet pas de calculer la validité de la plage de
valeurs le même cycle d’horloge qu’un nouvel échantillon est lu. Le nombre
de cycles d’horloge moyen par échantillon serait alors supérieur à 2, ce qui
70
n’est pas adéquat étant donné le ratio entre l’horloge du bloc de ré-
échantillonnage et l’horloge des ADCs.
Pour que le nombre de cycle d’horloge moyen par échantillon soit inférieur
à 2, il faut que la décision de lire le prochain échantillon en mémoire soit
prise durant le même cycle d’horloge qu’il est lu. Comme ce n’est pas
possible, trois échantillons de la grille d’échantillonnage seront disponibles
au lieu de deux. Cela permettra de calculer la validité des deux plages
simultanément et de pouvoir prendre la décision de lire un nouvel
échantillon en plus d’incrémenter la grille équidistante durant le même
cycle d’horloge.
Figure 29 : Machine à états du bloc de ré-
échantillonnage optimisée.
La figure 29 illustre les trois scénarios possibles lorsque deux plages de
valeurs sont vérifiées en même temps. Premièrement, l’échantillon de la
grille équidistante peut ne pas être compris dans la plage courante de la
grille d’échantillonnage et un nouvel échantillon doit être lu.
Deuxièmement, l’échantillon de la grille équidistante est compris dans la
plage courante et le prochain point de cette grille se trouve lui aussi dans
Calcul de la validité des
plages
Lecture d’un nouvel
échantillon + incrémente grille
équidistante
Incrémente la grille
équidistante
Deux plages validesSeulement plage courante valide
Lecture d’un nouvel
échantillon
Aucune plage valide
71
cette plage. La plage doit donc être conservée et l’échantillon de la grille
équidistante est incrémenté. Finalement, l’échantillon de la grille
équidistante peut être dans la plage courante, mais le point suivant ne s’y
trouve pas. Il faut donc lire l’échantillon suivant en mémoire en plus
d’incrémenter la grille équidistante.
De plus, pour réduire la complexité de l’algorithme, la rampe est supposée
positive et elle ne peut pas reculer, car les points antérieurs ne sont pas
conservés.
Une fois que la nouvelle abscisse a été identifiée à l’intérieur d’une plage de
points, ces abscisses et les valeurs de l’IGM correspondantes sont envoyées
au bloc d’interpolation linéaire. Le calcul pour l’interpolation linéaire est
défini par l’équation 3.4.
00 1 0
1 0
( ' )' ( )( )x xy y y yx x−
= + − ⋅−
(3.4)
où 0x et 1x sont les points de la grille d’échantillonnage comprenant la
valeur de la nouvelle abscisse 'x , 0y et 1y sont les valeurs des points de
l’IGM correspondant à 0x et 1x , et 'y est le résultat de l’interpolation
linéaire au point 'x .
L’opérateur division nécessite beaucoup de ressources lorsqu’implémenté
dans un FPGA. Afin d’éviter la synthèse d’un tel bloc, la différence entre 1x
et 0x est inversée à l’aide d’une LUT, enregistrée à l’intérieur d’un BRAM,
ce qui ne nécessite que très peu de ressources. Par la suite, seule une
multiplication est nécessaire pour avoir le résultat de la division.
Remplacer la division par un inverseur et un multiplicateur est un choix
judicieux lorsque la taille des opérandes est assez petite pour que
l’inversion ne nécessite pas plus de quelques de BRAM.
72
Pour interpoler linéairement les données, 3 soustracteurs, 2
multiplicateurs et un BRAM sont nécessaires, ce qui est raisonnable en
termes de ressources logiques utilisées.
Une fois ré-échantillonnées sur une grille équidistante, les données sont
envoyées à la section de l’algorithme s’occupant de l’alignement et de
l’enregistrement des IGMs.
4.2 Alignement et moyennage Lors d’une prise de mesure, une manière d’augmenter le SNR d’un signal
est de le sommer successivement. En effet, si le signal d’intérêt est
identique d’une acquisition à l’autre, alors son amplitude augmentera
linéairement tandis que l’écart type du bruit augmentera, si ce dernier est
indépendant d’une mesure à l’autre, en racine carrée dû au caractère
aléatoire d’un tel processus.
Afin de moyenner les IGMs à la sortie de l’algorithme de correction, il faut
s’assurer de leur cohérence. L’espacement de la grille d’échantillonnage
peut maintenant être considéré comme constant après le ré-
échantillonnage, mais cette nouvelle grille doit toujours échantillonner les
IGMs aux mêmes endroits pour pouvoir les additionner de manière
cohérente.
Dans le système laser, rien ne garantit que la relation de phase entre les
impulsions des peignes de fréquence est conservée. La phase des
interférogrammes varie alors d’un interférogramme à l’autre selon le CEOf
des peignes et même des perturbations mécaniques et thermiques dans les
diverses fibres optiques du montage optique. Pour que l’addition des IGMs
successifs soit cohérente, les IGMs doivent avoir la même phase sinon le
gain sur le SNR du moyennage ne sera plus en racine carrée et celui-ci
peut même se dégrader si les IGMs deviennent hors phase.
73
4.2.1 Corrélation croisée L’utilisation de la corrélation croisée (cross-correlation) permet de connaître
la similarité entre deux signaux. La position de la valeur maximale
retournée par la corrélation croisée indique le décalage nécessaire pour le
meilleur alignement des vecteurs de points lors d’une addition cohérente.
De plus, la phase de cette valeur maximale permet aussi de connaître la
relation de phase entre les deux signaux à l’entrée de la corrélation croisée.
Cette méthode semble donc appropriée pour l’alignement des différents
IGMs.
Cependant, la complexité d’une corrélation croisée complète peut être
comparée à celle d’un filtre FIR avec un nombre de coefficients égal au
nombre d’échantillons du plus court opérande. Dans le cas présent, cela
équivaut à des centaines de milliers de multiplications et d’additions à
chaque cycle d’horloge. Ce besoin en ressources logiques est de plusieurs
ordres de grandeurs supérieur à ce que peuvent offrir les FPGA haut de
gamme.
Comme c’est seulement la position et la valeur maximale de la corrélation
croisée qui est d’intérêt, une corrélation croisée complète n’est pas
nécessaire. Si une bonne approximation du décalage entre les
interférogrammes est connue, il ne suffit que de calculer certains points en
particulier où la valeur maximale devrait normalement arriver. Meilleure
est l’approximation initiale, plus petit est le nombre de points devant être
calculé pour la corrélation croisée partielle.
En connaissant la fréquence des lasers de référence, le taux de répétition
des peignes de fréquence et la pente de la grille de ré-échantillonnage, il est
possible d’avoir une approximation de l’ordre des centaines de points sur
la période des interférogrammes. L’équation suivante permet de calculer
cette approximation :
74
1 2
equidistant
( )2 CW CWIGM
r
f fNf
πφ
−=∆
, (3.5)
où IGMN est le nombre de point entre deux IGMs consécutifs et equidistantφ∆ la
pente de la grille de ré-échantillonnage entre 2 échantillons exprimée en
radians. Bien que cette équation soit exacte, son résultat est approximatif
puisque les valeurs de 1CWf , 2CWf ne sont pas connues précisément.
Cette première approximation permet de sortir 4000 échantillons d’un
premier IGM où l’écart entre les deux impulsions des lasers est proche de
zéro (ZPD pour zero path difference) ainsi que les 4000 échantillons
distants de la première approximation calculée précédemment. Ce second
groupe de 4000 points devrait normalement être centré sur le ZPD du
second interférogramme si la première approximation est bonne.
Ces données sont retournées à l’ordinateur où l’opération de corrélation
croisée sur les 4000 points est exécutée. Celle-ci n’est pas compliquée à
réaliser pour un ordinateur moderne, mais elle nécessite tout de même un
certain temps de calcul. Le résultat obtenu possède une précision
d’environ un échantillon et cette valeur est envoyée au FPGA. C’est à partir
de cette deuxième approximation que l’algorithme de corrélation croisée
alignera les IGMs.
Le résultat des IGMs moyennés provient du contrôleur mémoire tandis que
le nouvel IGM provient de la section de correction des IGMs. Ces deux
signaux entrent dans le bloc de corrélation croisée et au total seulement 9
points centrés autour de la position de la valeur maximale sont calculés.
Pour réaliser cette corrélation croisée, un IGM avec un décalage allant de -
4 à 4 échantillons doit être multiplié point par point avec le deuxième IGM.
Par la suite, le résultat de ces multiplications doit être accumulé sur la
longueur utile du signal afin de trouver l’alignement optimal entre les deux
75
vecteurs. Si la longueur de la corrélation croisée dépasse celle du signal
utile, le bruit sur la corrélation augmentera sans que le signal d’intérêt
augmente. Un paramètre sert donc à ajuster cette longueur afin
d’optimiser le SNR de la mesure du décalage. Une fenêtre variant entre 0 et
500000 échantillons peut donc être utilisée afin de calculer la corrélation
croisée.
Les accumulateurs sont composés de 38 bits afin d’accumuler le résultat
des multiplications tout en conservant une bonne précision et en évitant
les débordements lors d’une longue corrélation croisée.
Afin d’avoir une précision supérieure à un échantillon, la position de la
valeur maximale est calculée en ajustant une parabole sur les 3 points les
plus proches du sommet. Comme la précision des accumulateurs est trop
élevée pour les calculs nécessaires à l’ajustement de la parabole, un bloc
de gain automatique permet de choisir les 14 bits décrivant le plus
précisément ces signaux. Par la suite, les calculs sont faits sur 14 bits ce
qui est acceptable au niveau des ressources logiques.
Le résultat de la corrélation croisée est complexe, ce qui nécessite de
calculer la valeur absolue afin de trouver la position du maximum. Trouver
la valeur absolue nécessite un extracteur de racine carrée, ce qui est
coûteux en ressources. Pour contourner ce problème, la parabole sera
ajustée sur la norme au carrée du signal complexe. Cette modification
n’influence que très peu le résultat et son calcul n’a besoin que d’une
multiplication complexe, ce qui est très facile à réaliser.
Une fois les trois points maximaux trouvés, l’écart entre la position du
point contenant la valeur maximale et la valeur prédite par l’ajustement
d’une parabole est exprimé par l’équation 3.6.
76
[ ] [ ]
[ ] [ ] [ ]max max
maxmax max max
1 12 1 4 2 1
y x y xx
y x y x y x− − +
∆ =− − + +
(3.6)
où x représente un indice du résultat de la corrélation croisée et y, son
amplitude au carré. Les multiplications par une puissance de deux sont
triviales et les additions sont faciles à implémenter. Pour ce qui est de la
division, la même technique que celle utilisée dans l’interpolation linéaire
est développée pour économiser des ressources logiques.
Le résultat de la division est exprimé sur 11 bits, ce qui est suffisant
puisque le bruit est supérieur à cette résolution. Trois bits
supplémentaires servent à exprimer à partir de quel point central la
parabole a été calculée. Le résultat global contenant le décalage possède
donc 14 bits et décrit le décalage sur une plage de -4 à 4 points à partir de
l’approximation de la période des IGMs.
Par la suite, pour connaître la valeur complexe correspondant au
maximum de la corrélation croisée, une interpolation linéaire telle que
décrite par l’équation 3.4 est utilisée. La partie de cette équation contenant
la division est déjà calculée à partir de l’équation 3.6. Il ne reste qu’à
effectuer une soustraction et une multiplication pour connaître la valeur
maximale.
Finalement, la phase du sommet de la corrélation croisée est extraite à
l’aide d’un CORDIC. Le même bloc CORDIC que celui présent dans la
section d’extraction des références est utilisé. Une précision de 10 bits sur
la phase est donc disponible.
4.2.2 Rétroaction du décalage et de la phase Une fois que le décalage et la phase entre deux IGMs sont identifiés, une
modification de l’IGM courant doit être apportée pour que l’addition se
77
fasse de façon cohérente par rapport aux autres déjà accumulés en
mémoire.
Cependant, le résultat de la corrélation croisée est disponible uniquement
une fois que les deux interférogrammes sont complètement passés dans ce
bloc. Pour corriger l’IGM courant avant de l’additionner aux autres IGMs
déjà moyennés, il faudrait l’équivalent de deux mémoires. Comme ce n’est
pas le cas de notre plateforme FPGA, l’opération d’addition doit s’exécuter
en parallèle à celle de corrélation croisée. Le ré-échantillonnage et la
correction de phase sont donc appliqués seulement sur l’IGM suivant.
Comme les variations de ces deux paramètres sont lentes, cette technique
n’influence que très peu la qualité de l’IGM moyenné. L’influence de ce
retard sur la correction est présentée dans la section 5.1 des résultats
expérimentaux.
Au lieu d’ajouter de nouveaux blocs dans l’algorithme pour supporter la
correction des erreurs d’alignement, seulement quelques légères
modifications au design présenté jusqu’à maintenant permettent la
rétroaction des paramètres d’alignement. En effet, la correction de phase
peut se faire simplement en ajoutant la différence de phase trouvée par la
corrélation croisée à la phase de la première référence à l’aide d’un simple
additionneur.
Pour ce qui est du décalage, la valeur exprimée en nombre de points, à la
sortie du bloc de corrélation croisée, peut être multipliée par la pente de la
nouvelle grille équidistante. Le résultat de cette opération indique quelle
constante doit être additionnée sur la grille de ré-échantillonnage afin que
le ZPD de l’IGM courant soit aligné avec celui des IGM moyennés.
Comme les deux paramètres de l’alignement varient lentement, qu’il y a un
retard d’un IGM entre leur identification et leur application, et que du bruit
est présent sur les mesures de décalage et de phase, un contrôleur
78
comportant un gain proportionnel et un intégrateur est utilisé. Celui-ci
dispose de paramètres ajustables par l’utilisateur afin de minimiser
l’influence du bruit tout en permettant de suivre adéquatement les erreurs
réelles de l’alignement.
La commande provenant du contrôleur proportionnel intégral (PI) est
discontinue et son application ne doit pas avoir lieu lorsque le signal
d’intérêt de l’IGM est présent. Une discontinué dans la phase ou dans la
grille d’échantillonnage peut dégrader grandement l’information, surtout
lorsque la transformée de Fourier est calculée.
Pour éviter ces cas possibles, un bloc s’occupe de générer un signal
d’activation pour l’application de la commande des contrôleurs PI. Ce bloc
fonctionne à l’aide d’un seuil pour détecter les valeurs maximales de l’IGM.
La période entre deux IGMs est alors calculée et le signal d’activation
devient valide une demi-période après un déclenchement d’un maximum
du signal. La rétroaction des paramètres d’alignement survient alors
seulement lorsque l’IGM courant est présentement entre deux ZPD.
Initialement, une demi-période est utilisée pour centrer le ZPD de l’IGM sur
la fenêtre d’acquisition. Cependant, la réponse impulsionnelle d’un
échantillon peut excéder 5 ns. Dans ce cas, la réponse impulsionnelle
possède une discontinuité à 5 ns et le spectre de l’échantillon ne peut pas
profiter pleinement de la résolution offerte par le système interférométrique
à peignes de fréquence. Une fonctionnalité de l’algorithme a donc été
développée pour permettre à l’utilisateur de déplacer le moment où le
signal d’activation est présent afin de maximiser la résolution spectrale.
79
4.2.3 Moyennage 4.2.3.1 Mémoire
Certains IGMs corrigés peuvent occuper plus d’un million de points. Afin
de pouvoir les enregistrer, une mémoire externe est nécessaire puisque le
FPGA ne contient pas plus que 2 MB en RAM. La mémoire DDR3 est donc
utilisée pour conserver les IGMs moyennés.
Afin de pouvoir moyenner, la somme des IGMs contenue en mémoire doit
être lue chaque fois qu’un nouvel IGM est disponible. La valeur du nouvel
IGM doit être additionnée à cette somme et le résultat doit être ré-écrit en
mémoire. Deux accès mémoires sont donc nécessaires à chaque fois qu’un
nouveau point doit être ajouté à la moyenne.
Un changement constant du mode d’opération de la mémoire à chaque
nouveau point en plus du changement du bloc d’adresse visé résulte en
une utilisation inefficace de la bande passante de la mémoire DDR3. Cela
est dû à des opérations supplémentaires de configuration lors de ces
changements. Le temps dédié à la lecture et à l’écriture peut alors être
grandement restreint.
Pour pallier à ce problème, des mémoires tampons à l’entrée et à la sortie
du contrôleur mémoire ont été conçues pour permettre le regroupement
des opérations du même type en groupes de 128. Les changements de
mode d’opération et de plage d’adresse occupent désormais une période de
temps beaucoup moins significative par rapport aux transactions désirées.
La bande passante offerte par la mémoire DDR3 permet de réaliser en une
seconde 100 millions d’écritures et autant de lectures pour un bus de
données de 128 bits. À ce taux de transfert et en regroupant les accès
mémoires de mêmes types, la mémoire possède assez de temps de repos
80
pour pouvoir se rafraichir et changer de bloc d’adresse sans que les
modules externes n’aient à s’en soucier.
Le contrôleur de mémoire développé permet d’utiliser la mémoire DDR3
comme un FIFO avec un bus de données de 128 bits et une capacité totale
de 512 MB. À une vitesse d’opération de 100 MHz, le FIFO peut écrire et
lire à chaque cycle d’horloge. Les requis de l’opération de moyennage sont
donc remplis.
Une taille du bus de données de 128 bits peut cependant être considérée
comme un facteur limitatif. Si l’on considère que l’IGM provenant de la
section de correction est complexe et contient 14 bits significatifs, alors 50
bits supplémentaires sont disponibles pour additionner les IGMs suivants.
Une quantité quasi-infinie d’IGMs peut donc être moyennée puisque ce
nombre est 250.
Cependant, lorsque deux interférogrammes différents sont échantillonnés
par le système de correction temps-réel, le nombre de bits disponibles pour
chacun des canaux est divisé par deux. Seulement 18 bits peuvent être
attribués à l’expansion du bus de données dû au moyennage. Cela
correspond à une limite en temps de mesure à environ 43 minutes pour
une différence de taux de répétition des peignes de fréquence de 100 Hz.
Pour permettre au système d’offrir soit des temps de mesure excédant
43 minutes ou soit l’utilisation de deux canaux de mesures, deux modes
d’opération du moyennage sont implémentés. Lors de la paramétrisation
du système, l’utilisateur décide s’il utilise un ou deux canaux d’acquisition,
ce qui fixe par la suite le nombre limite d’IGMs qu’il peut moyenner.
81
4.2.3.2 Démarrage
Une fois que tous les paramètres de correction sont optimisés par
l’utilisateur, un moyennage peut être débuté. Plusieurs étapes sont
nécessaires afin que les IGMs s’additionnent de manière cohérente.
Lors du démarrage, un premier IGM est enregistré à l’intérieur de la
mémoire DDR3. C’est sur sa longueur et sur sa phase que les IGMs
suivants seront alignés.
Dans l’étape suivante, la corrélation croisée entre les IGMs subséquents et
celui enregistré est calculée, mais ces IGMs ne sont pas additionnés avec
celui présent en mémoire. Cette étape permet, à l’aide des résultats des
corrélations croisées, de faire converger les contrôleurs PI vers des états où
le décalage et la phase des nouveaux IGMs sont similaires à celui
enregistré.
Ensuite, une fois que les contrôleurs ont atteint leur régime permanent,
l’utilisateur indique le nombre d’IGMs à moyenner et l’addition cohérente
des IGMs se met en marche. La corrélation croisée continue de s’exécuter
au fur à mesure que les IGMs sont moyennés et son résultat est retourné
au système de correction pour être appliqué aux prochains IGMs.
Finalement, lorsque le nombre total d’IGMs demandé est atteint, le
contrôleur mémoire se met en attente de l’utilisateur et tous les IGMs
suivants sont laissés tombés. Quand l’utilisateur demande l’IGM moyenné,
celui-ci est lu dans la mémoire DDR3 au rythme du port de
communication avec l’ordinateur. Lorsque le transfert est terminé, une
nouvelle acquisition peut débutée.
Lors du transfert des données vers le PC, les boucles de rétroaction des
lasers deviennent alors en boucle ouverte, car le lien de communication
sert exclusivement au transfert de l’IGM moyenné.
82
4.3 Périphériques de communication Le FPGA étant une puce numérique programmable, il doit recevoir des
périphériques externes les données à traiter sous forme numérique. De
plus, le résultat du traitement de signal fait à l’intérieur du FPGA doit être
retourné sous forme numérique à un autre périphérique si l’on veut que le
traitement ne soit pas fait en vain.
Dans l’application courante, les données proviennent d’une carte
d’acquisition et de l’ordinateur, et le résultat de l’algorithme est retourné à
l’ordinateur. L’implémentation de ces périphériques est décrite dans les
sections suivantes.
4.3.1 Carte d’acquisition La carte d’acquisition est le modèle MI250. Elle possède quatre ADS62P49,
des convertisseurs analogiques-numériques à deux canaux de Texas
Instruments. Aussi, la carte possède un générateur d’horloge AD9510 pour
pouvoir synthétiser sa propre fréquence d’horloge ou bien utiliser celle
externe provenant d’un port sur le devant de la carte.
Ces deux types de puces électroniques possèdent une multitude de
registres internes configurables afin de changer leur mode d’opération. Afin
de pouvoir les modifier, une communication Serial Peripheral Interface (SPI)
partagée entre toutes ces puces est reliée au FPGA par le port FMC.
Le FPGA agit comme maître pour ce protocole de communication et décide
à quelle puce les messages envoyés sont adressés. Un bloc de
communication SPI a été développé à l’intérieur du FPGA pour
communiquer avec les ADS62P49 et l’AD9510. Au démarrage du FPGA,
une mémoire contenant l’état souhaité des registres est lue et son contenu
est envoyé par protocole SPI aux différentes puces à des fins de
configuration.
83
Le mode d’opération désiré de l’AD9510 est celui utilisant une horloge
externe à une fréquence de 100 MHz. De plus, les données provenant des
ADCs sont envoyées aux FPGA sous formes Low-Voltage Differential
Signaling (LVDS) et en Dual Data Rate (DDR). Ceux-ci sont accompagnés
de leur horloge respective afin d’améliorer la synchronisation des données.
Les modules de communication SPI, se trouvant à l’intérieur du FPGA, ont
été développés pour qu’ils puissent aussi supporter une interface
utilisateur permettant alors de recevoir des commandes de l’usager
provenant de la communication série et de les transmettre vers les puces
visées. Les modes d’opération des ADCs peuvent donc être modifiés selon
les besoins de l’utilisateur.
À l’intérieur du FPGA, les données provenant de la carte d’acquisition
MI250 doivent être synchronisées sur une horloge interne afin de pouvoir
être utilisées.
clk_adc_p
ADC data
clk_adc_n
IDDRIODELAYE1IBUFDSdata_adc_pdata_adc_n
Phaseregister
Phaselogic
CNTVALUEINDelay
register
Q D A == BPATTERNError
register
ADC clockMMCM
PSENPSINCPSDONE
Figure 30 : Synchronisation des données provenant des ADCs, où IBUFDS est un buffer d’entrée différentielle, IODELAYE1, un bloc à délai de propagation variable, IDDR, un convertisseur de signal DDR à SDR (single
data rate) et MMCM, un générateur d’horloge.
84
La figure 30 illustre la logique présente dans le FPGA afin de capturer les
données provenant des ADCs.
L’horloge provenant du premier convertisseur entre dans un MMCM afin
de générer une horloge interne dont la phase peut être modifiée facilement.
C’est cette horloge qui servira à la synchronisation de tous les signaux
provenant des ADCs et par la suite à l’exécution de l’algorithme de
correction.
Les signaux de données passent quant à eux dans un bloc IODELAYE1
pour pouvoir modifier leur délai de propagation. Il est maintenant possible
d’aligner les transitions des bits des ADCs au milieu des transitions de
l’horloge. Un patron de test est disponible afin de s’assurer qu’aucune
erreur de communication n’a lieu.
Les délais initiaux des IODELAYE1 ont été configurés pour une fréquence
d’horloge de 100 MHz. Si cette fréquence change, une calibration des
IODELAYE1 devra être faite afin de s’assurer de l’intégrité des données
provenant des ADCs.
Une fois la synchronisation réussie, un bloc IDDR permet la conversion du
format DDR en format où un seul échantillon est présent par cycle
d’horloge. Finalement, les données résultantes ainsi que l’horloge interne
générée par le MMCM sont transmises aux sections de correction et de
moyennage du FPGA.
4.3.2 Communication série Une communication série existe entre l’ordinateur et la plateforme FPGA.
Elle utilise un lien USB et un protocole de communication UART. Cette
communication sert à configurer l’algorithme dans le FPGA, sortir de
l’information concernant l’état de l’algorithme et extraire les IGMs
moyennés vers l’ordinateur.
85
Même si la communication UART est bidirectionnel, une hiérarchisation
maîtrise-esclave a été développée. Cela permet d’alléger le transfert vers
l’ordinateur, puisqu’étant donné que l’ordinateur est le maître,
l’information associée aux octets reçus est connue d’avance et les
messages n’ont pas besoin d’être accompagnés par un en-tête.
Dans l’autre direction, les messages envoyés au FPGA possèdent l’adresse
et la taille du registre visé en entête suivies de la valeur désirée. Des
registres de configuration se situent dans plusieurs blocs de l’algorithme et
ils sont tous reliés au bus de sortie de contrôleur UART. Par le changement
de valeur de ces registres, les paramètres de l’algorithme peuvent changer,
une acquisition peut être démarrée et des données peuvent être retournées
au contrôleur UART.
Trois types de données peuvent être envoyés à l’ordinateur. L’état interne
de certains registres peut être demandé à des fins d’observation de la
correction ou à des fins de rétroaction sur les actuateurs des lasers. L’IGM
moyenné peut aussi être retourné à l’utilisateur lorsqu’il est demandé. Le
troisième type de données provient d’un bloc agissant comme une sonde
d’oscilloscope.
La bande passante efficace du lien UART est d’environ 100 kB/s. Cette
vitesse n’a pas beaucoup d’influence sur le changement de valeur des
paramètres, mais peut devenir désagréable lors d’un long transfert. Dans
le cas du transfert complet de l’IGM moyenné, le temps requis peut s’élever
à quelques minutes. Ce temps d’attente est déplaisant pour l’usager, mais
n’est toutefois pas critique dans la prise de mesure. Une amélioration du
système pourrait utiliser le port USB, Ethernet ou PCI de la plateforme
FPGA afin d’accélérer les transferts.
86
4.3.3 Sonde numérique Un bloc à l’intérieur du FPGA a été développé pour qu’à tout moment
l’utilisateur puisse suivre l’évolution des données à l’intérieur de
l’algorithme. Toutes les étapes décrites précédemment peuvent être
observées par la sonde interne. Cela permet de s’assurer de l’intégrité des
signaux à toutes les étapes avant de débuter une acquisition.
Le bloc de sonde possède des paramètres semblables à ceux d’un
oscilloscope. L’utilisateur peut choisir la longueur de la fenêtre
d’acquisition, le canal de déclenchement de l’acquisition ainsi que le seuil
du déclenchement. La taille maximale de la fenêtre est de 32 766
échantillons.
Dû à la bande passante limitée du lien de communication série, le taux de
rafraichissement de la sonde est directement fixé par la taille de la fenêtre
d’acquisition. Ce taux peut aller de plusieurs dizaines de Hz lorsque la
fenêtre est petite à quelques secondes de temps de transfert pour une
fenêtre de taille maximale.
Une fois que la sonde numérique est fonctionnelle, les signaux internes du
FPGA peuvent être observés et le système global peut être adéquatement
configuré pour que la correction se fasse de manière optimale.
87
5. Résultats expérimentaux L’objectif derrière le développement d’un tel système de correction est
d’abord d’avoir accès à des interférogrammes corrigés sans devoir exécuter
du traitement sur les signaux sortant du système interférométrique. La
correction temps-réel permet de rendre les IGMs robustes aux fluctuations
des peignes de fréquence, de conserver la cohérence entre les différentes
mesures, et de moyenner beaucoup plus longtemps qu’avec une simple
carte d’acquisition.
5.1 Addition cohérente L’addition des différentes acquisitions devient cohérente une fois les IGMs
corrigés et alignés. Aucune limite n’est présente sur le temps de cohérence
puisque le décalage et la phase entre les IGMs sont compensés. Une
addition cohérente devrait donc augmenter l’amplitude du signal au même
taux que le nombre d’IGMs acquis tandis que le bruit blanc n’augmenterait
seulement qu’en racine carrée de ce nombre.
Cependant, l’alignement des IGMs contient un délai d’un interférogramme
par rapport à l’instant où le nouvel IGM est ajouté à la moyenne. Les
erreurs de décalage et de phase entre les IGMs sont dues aux variations
lentes de ces paramètres en plus du bruit présent sur les mesures. La
figure 31 illustre les erreurs présentes sur le décalage et la phase du
nouvel IGM par rapport à celui en mémoire lorsque l’alignement est en
marche. L’erreur de décalage, exprimée en point, correspond au nombre de
points à la fréquence d’échantillonnage une fois que le signal
rééchantillonné sur la grille équidistante. L’erreur RMS (Root-Mean-
Square) du décalage est de 0,12 point tandis que l’erreur RMS de la phase
est de π/70 rad.
88
Ces erreurs résiduelles empêchent une addition parfaitement cohérente
des IGMs. L’amplitude du signal d’intérêt peut alors augmenter à un taux
inférieur à l’augmentation du nombre d’IGMs sommés, dégradant ainsi le
gain en SNR du moyennage.
Figure 31 : Erreurs résiduelles de décalage et de phase
entre un nouvel IGM et celui contenant la somme de tous les IGM précédents.
Afin de juger de l’impact de ces fluctuations restantes, 8 IGMs ont été
moyennés par le système temps-réel tandis que cette même manipulation a
été reproduite dans le logiciel MATLAB. Lors de l’alignment des IGMs dans
l’environnement de programmation de MATLAB, aucune erreur résiduelle
n’est présente puisque la résultat de la corrélation croisée est directement
utilisée.
Un gain en amplitude de 8, tel qu’attendu, a été atteint à l’aide de
MATLAB. Pour le moyennage temps-réel, un gain de 7,96 a été observé.
Cette légère détérioration du gain n’est pas critique et est due aux faibles
89
variations restantes du décalage et de la phase. Le gain sur le SNR
découlant du moyennage est de 2,82 comparativement au gain attendu de
2,83. Cela confirme que le gain en SNR est presque entièrement conservé
puisqu’une bonne cohérence existe entre les signaux additionnés. Le SNR
augmentera donc au fur et à mesure que le nombre d’IGMs sommés
augmentera et ce tant que cette cohérence est conservée.
5.2 Mesure de 24 heures Pour démontrer la fiabilité et la précision de la correction et du moyennage,
une mesure de 24 heures a été prise avec le montage décrit par la figure 9.
L’échantillon sondé par le premier peigne de fréquence est composé de
deux cellules de gaz.
Ces deux cellules sont placées à l’intérieur d’un module Newport 2010WR.
La première cellule contient de l’acétylène (C2H2). Elle a une longueur de
51 mm et une pression de 225 torrs. La deuxième cellule, quant à elle,
contient du cyanure d'hydrogène (HCN), a une pression de 100 torrs et est
longue de 75 mm.
Lors d’une simple acquisition, le battement résultant de l’interférence entre
les deux peignes de fréquence possède un SNR temporel de 126,2 pour une
largeur spectrale de 142 nm (22 THz). Après le moyennage de 24 heures, la
valeur du SNR atteint 341 066. Ces deux IGMs sont illustrés à la figure 32.
Cette figure montre les mesures zoomées sur l’axe des ordonnées de telle
sorte que l’amplitude à ZPD est coupée, mais cela permet de mieux
distinguer les ailes de l’IGM.
7 500 000 IGMs ont été moyennés durant la mesure de 24 heures. Comme
le bruit blanc diminue en racine carrée du nombre de mesures, un gain de
2 739 sur le SNR est attendu. Le gain réel obtenu est de 2 703. L’écart
entre ces deux valeurs peut être dû aux erreurs restantes sur le décalage
90
et la phase des IGMs suite à l’alignement et aussi aux variations des lasers
de référence sur une aussi longue période de temps.
Figure 32 : Mesure unique (bleue) et mesure de
24 heures avec le système de correction temps-réel (rouge) du C2H2 et du HCN.
Cette mesure prouve que l’amplitude de la somme des IGMs augmente
avec le nombre d’IGMs additionnés et que le SNR augmente en racine
carrée de ce nombre. Cela confirme que l’addition des IGMs a été faite de
manière cohérente durant une période de 24 heures. Ce système de
correction et de moyennage temps-réel n’a donc pas de limite pratique sur
le temps de cohérence des IGMs successifs tant que ses références sont
stables.
Lors de l’échantillonnage des IGMs par les ADCs, les interférogrammes
sont étirés temporellement à l’aide d’un rouleau de fibre SMF de 200
mètres tel qu’illustré à la figure 9. Cela permet de distribuer l’énergie de
l’impulsion sur une plus grande période de temps et ainsi diminuer la
91
plage dynamique nécessaire. Cependant, lorsque la réponse impulsionnelle
de l’échantillon est d’intérêt, un élargissement temporel des impulsions ne
permet pas de bien analyser l’information disponible. La même information
est présente dans l’IGM, mais il ne représente plus la réponse
impulsionnelle de l’échantillon.
Cet étirement, qui a été ajouté par le système interférométrique, peut être
retiré a posteriori par traitement numérique. En effet, la dispersion induite
par la fibre SMF ne possède pas de discontinuité et son effet est facilement
observable par l’évolution de la phase du spectre.
Figure 33 : Phase du spectre d’un IGM dispersé par de
la fibre optique SMF et son approximation par un polynôme d’ordre 4.
La courbe en bleu de la figure 33 représente la phase déroulée du spectre
d’un IGM dispersé par un rouleau de fibre SMF. La courbe pour les
longueurs d’onde inférieures à 1460 nm et supérieures à 1650 nm ne
représente pas la courbe de dispersion de la fibre SMF. Il s’agit en effet
92
d’un déroulement de phase aléatoire puisque l’amplitude du spectre dans
ces plages spectrales est dominée par le bruit.
Comme la courbe rouge de la figure 33 le démontre bien, la dispersion
dans la zone spectrale d’intérêt peut être approximée par un polynôme
d’ordre 4 :
3 4 3 3 2 5 7( ) 4.840 10 4.759 1.753 10 2.842 10 1.705 10f f f f fϕ −= − ⋅ ⋅ + ⋅ − ⋅ ⋅ + ⋅ ⋅ − ⋅ , (4.1)
où est la fréquence exprimée en THz et , la phase en radian.
Un filtre compensant cette dispersion peut alors être conçu en calculant la
transformée de Fourier inverse de l’opposé de l’approximation du signal de
phase. Lorsque ce filtre est appliqué sur l’IGM, l’effet du rouleau de SMF
est annulé et l’IGM représente maintenant mieux la réponse impulsionnelle
de l’échantillon.
En supposant un coefficient de dispersion de la fibre SMF de 17
ps/km/nm et en dérivant deux fois le polynôme trouvé précédemment, on
peut retrouver la différence de longueur de fibre entre les parcours
optiques de chaque peigne. Pour le polynôme de l’équation 4.1, cela
correspond à une différence de 181 m de fibre SMF. La différence entre
cette valeur et le rouleau de 200 m de fibre présent dans la figure 9 peut
facilement être expliquée par les différentes longueurs de fibre utilisées
ailleurs dans le montage optique.
En annulant l’effet de la dispersion, cela a comme effet de compresser
numériquement l’impulsion provenant du peigne de fréquence sondant
l’échantillon et de rassembler la puissance du signal à un instant
commun. L’amplitude de l’impulsion devient de loin supérieure à celle
dispersée tandis que l’amplitude du bruit demeure inchangée.
f ϕ
93
Figure 34 : (a) Mesure de 24 heures du C2H2 et du HCN avec compensation de la dispersion. (b) Mesure zoomée
entre 1 et 2 ns.
La figure 34(a) illustre l’IGM moyenné de la mesure de 24 heures où la
dispersion a été annulée avec la technique décrite ci-haut. Cette figure
représente la réponse impulsionnelle des cellules de C2H2 et de HCN telle
que mesurée dans la bande des peignes. Cela correspond donc à la
réponse impulsionnelle de l’échantillon convoluée avec la fonction de
cohérence croisée des peignes.
Le SNR de la mesure est maintenant de 10 750 000 puisque l’amplitude de
l’impulsion a grandement augmentée. Un tel SNR requiert une plage
dynamique de 22,57 bits afin de bien représenter le bruit par rapport à
l’amplitude de l’impulsion. Cette plage dynamique n’est pas nécessaire à
l’intérieur du FPGA puisque la correction de phase est effectuée après avoir
récupéré l’IGM final mesuré.
94
Comme la figure 34(b) permet de bien l’observer, la réponse impulsionnelle
du C2H2 et du HCN (free induction decay) est supérieure au niveau de bruit
et cela jusqu’à des délais optiques dépassant 2 ns.
Figure 35 : Spectres de la mesure de 24 heures de C2H2 et de HCN. (a) Spectre complet en échelle logarithmique.
(b) Transmittance des cellules de C2H2 et de HCN. (c) Zoom entre 1527 nm et 1530,5 nm de la
transmittance des cellules.
Différentes représentations spectrales de la mesure de 24 heures sont
données à la figure 35. La figure 35(a) montre le spectre complet en échelle
logarithmique afin de bien visualiser l’écart d’amplitude entre le signal
95
d’intérêt et le bruit. La figure 35(b) et 35(c), quant à elles, montrent la
transmittance de l’échantillon sur une échelle linéaire.
Comme tous les points composant l’OPD de 3 m sont corrigés et moyennés
dans cette mesure, la résolution des spectres de la figure 35 est de
0,75 pm en théorie, ce qui correspond aux 100 MHz de taux de répétition
des peignes.
Cependant, en pratique les lasers de référence ne sont pas absolus et leur
fréquence peut dériver avec le temps. Le spectre de l’IGM peut alors subir
une légère translation et une dilation dépendamment des nouvelles
fréquences des références. Durant la mesure de 24 heures, celles-ci ont
donc pu varier de quelques centaines de MHz. La résolution spectrale
réelle est donc légèrement plus élevée à celle théorique.
Tel qu’illustré à la figure 35(c), les raies d’absorption du C2H2 sont plus
étroites que celles du HCN. Cela est dû à un plus faible coefficient
d’élargissement relié à la pression. Comme on peut distinguer cette
différence de largeur de raie, la résolution pour la mesure du HCN n’est
pas limitée par l’instrument.
Des comparaisons avec les largeurs théoriques des raies de C2H2 et de
HCN ont permis de confirmer que les largeurs obtenues correspondaient à
celles attendues. Les raies de C2H2 ont quelques GHz de large, ce qui est
cohérent avec l’élargissement de 12 MHz/torr donné dans [SWA00] et les
raies de HCN peuvent aller jusqu’à une largeur de 9 GHz, ce qui
correspond à l’élargissement de 90 MHz/torr donné dans [SWA05].
La figure 36 illustre qu’après 24 heures de moyennage cohérent, une
courte transformée de Fourier d’une section de l’IGM distant de ZPD révèle
la présence d’un signal à tous les OPD. Ce signal est 40 dB plus faible que
le signal d’intérêt et d’après sa forme spectrale, ce n’est pas du bruit
96
[ROY12]. Il a été démontré expérimentalement qu’il s’agit de la
rétrodiffusion de Rayleigh du rouleau de 200 m de fibre SMF qui est
redirigé vers le détecteur par des réflexions de connecteurs. En effet, il a
été possible de faire varier, de façon cohérente, l’amplitude de ce signal en
remplaçant le rouleau de fibre par un circulateur et un réseau de Bragg
servant à étirer les impulsions du peigne et en variant la longueur de fibre
entre le circulateur et le réseau.
Figure 36 : La réflexion de la rétrodiffusion de Rayleigh
du rouleau de fibre SMF produit du signal à tous les OPD. La transformée de Fourier d’une section de l’IGM loin de ZPD (rouge) révèle un signal de 40 dB sous le
signal d’intérêt (bleu).
5.3 Mesure d’un micro-résonateur Une autre mesure a été faite afin de démontrer le potentiel du système de
correction et de moyennage temps-réel. Dans cette mesure, l’échantillon
est le couplage entre une section étirée de fibre optique (taper) et une cavité
de silice d’environ 200 µm agissant comme micro-résonateur. Le montage
optique utilisé est le même que celui décrit dans [MIC11] et est illustré à la
figure 37.
97
Ce type de mesure est utile dans le domaine de la biodétection où le
changement de l’indice de réfraction du milieu ambiant se traduit par le
décalage des modes du micro-résonateur. Lorsqu’une protéine ou une
bactérie se lie à la surface du micro-résonateur, un tel changement de
l’indice de réfraction se produit. Il est donc possible d’identifier la présence
d’une substance précise à l’intérieur d’une solution aqueuse si le micro-
résonateur est fonctionnalisé pour se lier avec.
Figure 37 : Montage optique utilisé lors de la mesure
d’un micro-résonateur [MIC11].
Comme ces sphères possèdent de longs temps de résonance, leurs modes
sont très étroits. Il est donc possible de vérifier si la correction temps-réel
permet d’atteindre la résolution attendue de 100 MHz.
La figure 38 montre le résultat d’une mesure de 100 secondes avec le
système de correction et de moyennage temps-réel. La dispersion subie par
l’impulsion a été compensée afin que l’IGM corresponde à la réponse
impulsionnelle du micro-résonateur. Dans la sous-figure (a), on y distingue
la première impulsion passant directement à travers le taper ainsi que
plusieurs impulsions sortant du micro-résonateur et recouplant dans la
fibre après chaque tour de l'impulsion de lumière à l’intérieur de la sphère
de silice. Cette résonance possède une décroissance exponentielle reliée au
temps de vie de l'impulsion dans la cavité, indiquant la qualité du micro-
résonateur et du couplage.
98
La figure 38(b) montre le même IGM, mais cette fois-ci sur une échelle
logarithmique. Il est donc possible de voir que la résonance domine le bruit
durant toute l’acquisition de 10 ns, la période de temps entre deux
impulsions successives. C’est la première fois qu’une mesure
interférométrique par peignes de fréquence utilise pleinement le délai
optique maximal de 10 ns, une limite imposée par le taux de répétition.
Afin d’observer l’IGM sur la plus grande plage possible, sans discontinuité,
il est important de décaler le signal d’activation pour ne pas que la valeur
maximale de l’IGM soit au centre de l’acquisition et ainsi maximiser la
résolution spectrale.
Figure 38 : Mesure de 100 secondes d’un micro-
résonateur. (a) IGM avec une échelle linéaire. (b) IGM avec une échelle logarithmique. (c) Transmittance entre
1543,45 nm et 1543,70 nm.
99
Dans cette figure, le signal présent entre -1 ns et 0 ns provient de la
réponse impulsionnelle précédente. La section de la réponse impulsionnelle
supérieure à 10 ns s’additionne donc avec celle nouvellement créée et
perturbe alors la qualité spectrale de la mesure.
Dans la mesure actuelle, la réponse impulsionnelle après 10 ns est environ
40 dB inférieure à la première impulsion. La perturbation engendrée ne
devrait donc pas être trop importante même si la réponse spectrale de
l’échantillon possède du contenu spectral sous la résolution des peignes à
100 MHz.
La figure 38(c) illustre la transmittance spectrale du micro-résonateur
entre 1543,45 nm et 1543,70 nm. Plusieurs modes de cette mesure
possèdent une largeur limitée par la résolution de l’instrument. Comme ces
modes n’ont pas été élargis par la résolution de l’instrument, il est possible
de conclure que la correction et le moyennage temps-réel permettent
d’atteindre la résolution dictée par le taux de répétition des peignes et cela
durant toute la durée de la mesure.
Cependant, comme la réponse impulsionnelle de l’échantillon dépasse
l’écart de temps entre deux impulsions, la forme des modes observée ne
correspond pas à celle réelle puisqu’elle est limitée par la résolution de
l’instrument. Afin d’augmenter la résolution de l’instrument, il faudrait soit
diminuer le taux de répétition des peignes de fréquence ou soit utiliser une
technique semblable à celle décrite dans [JAC09] pour échantillonner le
spectre à différents décalages de fréquence.
101
Conclusion Ce projet a démontré l’utilisation d’une plateforme FPGA pour permettre la
correction et le moyennage temps-réel d’un système interférométrique par
peignes de fréquence. L’utilisation d’un tel système de traitement de
données permet de diminuer la complexité d’utilisation des peignes,
d’accélérer la correction des IGMs en plus de fournir des mesures de haute
qualité.
L’utilisation d’une interface graphique pour contrôler l’état des lasers et les
paramètres de l’algorithme de correction et de moyennage facilite la prise
de mesures interférométriques. Par contre, l’utilisateur doit tout de même
savoir comment l’interférométrie par peignes de fréquence fonctionne et
connaître le processus de correction des IGMs. Comme toutes les
informations nécessaires sont déjà disponibles dans l’ordinateur de
contrôle, l’ajout d’une couche d’intelligence supplémentaire sous l’interface
graphique pourrait aisément faciliter l’utilisation du système et ainsi
permettre à un usager ne connaissant pas ce type d’interférométrie de
prendre plus facilement des mesures.
L’étape de correction des IGMs, reliée à l’instabilité des peignes de
fréquences, se fait désormais en temps-réel et l’utilisateur n’a plus à
attendre plusieurs minutes avant de visualiser ses résultats. De plus,
comme le moyennage se fait à l’intérieur du FPGA, tous les IGMs
disponibles peuvent être utilisés et la prise de mesures de longue durée,
comme celle de 24 heures, est maintenant possible.
Ce système de correction et de moyennage utilise pleinement la résolution
intrinsèque aux peignes débloquant ainsi le plein potentiel de
l’interférométrie par peignes de fréquence. La courte période de temps
nécessaire à l’acquisition d’un IGM peut maintenant se convertir en SNR
élevé pour des temps de mesure plus grands. Suite à ce traitement de
102
données temps-réel, ce système interférométrique permet de prendre des
mesures de grande qualité, sur une large bande spectrale et cela à haute
résolution.
Le système de correction et de moyennage développé dans le cadre de ce
mémoire a été utilisé pour deux applications distinctes. Il a servi à sonder
des cellules de gaz, tels le HCN et le C2H2, et aussi à acquérir la réponse
impulsionnelle et spectrale de micro-résonateurs.
À ce jour, ces deux mesures détiennent le plus haut SNR pris par un
interféromètre à peignes de fréquence. De plus, la mesure du micro-
résonateur montre pour la première fois un interférogramme dépassant la
résolution des peignes. En effet, le signal de l’IGM est visible sur toute la
plage des délais optiques.
Afin d’améliorer la qualité des mesures de longue durée et de fournir aux
spectres des échantillons une grille fréquentielle absolue, l’utilisation de
lasers de référence stables et ayant toujours la même fréquence est
nécessaire. Des lasers asservis sur des raies de gaz étroites et connues
peuvent jouer ce rôle et leur utilisation bonifierait alors le système de
référencement.
Le projet de ce mémoire constitue une première étape à la conversion de
l’interférométrie par peignes de fréquence, comme domaine de recherche, à
son utilisation comme instrument de mesure performant, fiable et simple
d’utilisation. Encore beaucoup de travail reste à faire avant d’en retrouver
un dans une boîte fermée comme les analyseurs de spectre optique
disponibles sur le marché, mais il n’en demeure pas moins un projet
maintenant réalisable grâce à un traitement de données temps-réel que
procure la puce FPGA.
103
Bibliographie AMB07 A. Ambardar, « Digital signal processing : a modern introduction »
Thomson, p.294 (2007)
COD08 I. Coddington, W. C. Swann, and N. R. Newbury, « Coherent Multiheterodyne Spectroscopy Using Stabilized Optical Frequency Combs, » Phys. Rev. Lett. 100, 013902 (2008).
COD10 I. Coddington, W. C. Swann, N. R. Newbury, « Coherent dual-comb spectroscopy at high signal-to-noise ratio, » Phys. Rev. A. 82, 043817, (2010).
DES10 J.-D. Deschênes, P. Giaccarri, and J. Genest, « Optical referencing technique with CW lasers as intermediate oscillators for continuous full delay range frequency comb interferometry, » Opt. Express 18, 23358-23370 (2010)
DID10 S. A. Diddams, « The evolving optical frequency comb [Invited], » J. Opt. Soc. Am. B 27, B51-B62 (2010)
DSP12 4DSP, « FMC108 User Manual, » (2012)
GEN11 J. Genest, S. Boudreau, J.-D. Deschênes, M. Godbout, and S. Roy, « Active Fourier-transform spectroscopy for spectral ranging, » Fourier Transform Spectroscopy (FTS), FThB3 (2011)
GIA08 P. Giaccari, J.-D. Deschênes, P. Saucier, J. Genest, and P. Tremblay, « Active Fourier-transform spectroscopy combining the direct RF beating of two fiber-based mode-locked lasers with a novel referencing method, » Opt. Express 16, 4347–4365 (2008).
HAL05 J. L. Hall, « Defining and Measuring Optical Frequencies: The Optical Clock Opportunity – and More, » The Nobel Foundation, Nobel Lecture (2005)
HAN05 T. W. Hänsch, « Passion for precision, » The Nobel Foundation, Nobel Lecture (2005)
JAC09 P. Jacquet, J. Mandon, B. Bernhardt, R. Holzwarth, G. Guelachvili, T. Hänsch, and N. Picqué, « Frequency comb Fourier transform spectroscopy with kHz optical resolution, » in Fourier Transform Spectroscopy, OSA Technical Digest (CD) (Optical Society of America, 2009), paper FMB2.
JON00 D. J. Jones, S. A. Diddams, J. K. Ranka, A. Stentz, R. S. Windeler, J. L. Hall, and S. T. Cundiff, « Carrier-envelope phase control of femtosecond modelocked lasers and direct optical frequency synthesis, » Science 288, 635 (2000).
104
MAT12 MathWorks, « Parks-McClellan optimal FIR filter design, » www.mathworks.com/help/signal/ref/firpm.html, (2012)
MIC11 V. Michaud-Belleau, J. Roy, S. Potvin, J.-R. Carrier, L.-S. Verret, M. Charlebois, J. Genest, and C. Nì. Allen, « Whispering gallery mode sensing with a dual frequency comb probe, » Opt. Express 20, 3066-3075 (2012)
NUT12 Nutaq, « MI250 : High-speed, multichannel A/D FMC, » (2012)
POI12 A. Poisson, T. Ideguchi, G. Guelachvili, N. Picqué, T. W. Hänsch, « Adaptive Dual-comb Spectroscopy with Free-running Lasers and Resolved Comb Lines, » CLEO: Science and Innovations, OSA Technical Digest paper CW1J.1 (2012)
ROY12 J. Roy, J.-D. Deschênes, S. Potvin, and J. Genest, « Continuous real-time correction and averaging for frequency comb interferometry, » Opt. Express 20, 21932-21939 (2012)
SWA00 W. Swann and S. Gilbert, « Pressure-induced shift and broadening of 1510–1540-nm acetylene wavelength calibration lines, » J. Opt. Soc. Am. B 17(7), 1263–1270 (2000).
SWA05 W. Swann and S. Gilbert, « Line centers, pressure shift, and pressure broadening of 1530-1560 nm hydrogen cyanide wavelength calibration lines, » J. Opt. Soc. Am. B 22(8), 1749–1756 (2005).
TAU10 G. Taurand, « Mesures de réflectométrie prises avec un interféromètre à peignes de fréquence, » Université Laval, Mémoire (2010)
XIL11 Xilinx, « LogiCORE IP CORDIC v4.0, » (2011)
XIL12 Xilinx, « ML605 Product Brief, » (2012)
YE99 J. Ye, J. L. Hall, « Optical phase locking in the microradian domain: potential applications to NASA spaceborne optical measurements, » Opt. Lett. 24, 1838-1840 (1999)
105
A. Guide d’utilisation Ce guide d’utilisation explique le fonctionnement de l’interface graphique
du système de correction et de moyennage temps-réel. L’interface sert à
rendre transparente la communication série entre l’ordinateur et la
plateforme FPGA. L’utilisateur n’a pas à se soucier des registres de
configuration présents dans le FPGA ainsi que tous les mécanismes qui les
entourent, ce qui rend l’opération du système conviviale.
Figure 39 : Interface graphique
La figure 39 montre l’interface présentée à l’utilisateur lors du démarrage
de l’application MATLAB. L’utilisateur doit presser le bouton Start en haut
de la fenêtre pour activer la communication avec la plateforme FPGA. Si
des erreurs surviennent, elles seront affichées dans l’encadré gris en bas
de la fenêtre. Les différentes zones de l’interface sont décrites dans les
sous-sections suivantes.
106
A.1 Schéma fonctionnel L’interface graphique présente l’algorithme de correction sous forme de
schéma fonctionnel. Chaque bloc présent est sélectionnable et permet
d’afficher graphiquement les données à sa sortie. Cela permet à
l’utilisateur de pouvoir suivre en temps-réel chacune des étapes de
l’algorithme.
Le bouton Single en haut à gauche du schéma fonctionnel permet de
demander une acquisition de chacun des blocs sélectionnés tandis que le
bouton Continuous fait la demande en continu et le taux de
rafraîchissement est limité par la bande passante de la communication
série.
Les paramètres d’acquisition de chacun des blocs est configurable en
utilisant la section Probe en haut à droite de la fenêtre. La longueur de
l’acquisition, la source du déclenchement ainsi que la valeur du
déclenchement sont les paramètres modifiables.
Dans le schéma fonctionnel, le bloc sélectionnable x2 permet de doubler
l’angle extrait de la première référence. Ce mode est disponible pour
corriger un interférogramme en deuxième harmonique comportant des
références dans la fréquence fondamentale des peignes.
De plus, le bloc qui suit le bloc AXE, est sélectionnable et permet
d’appliquer une opération de conjugué complexe sur les données à la sortie
de AXE. Cela permet de changer le signe de la pente de la rampe
d’échantillonnage puisque les blocs RESAMPLE s’attendent à recevoir une
rampe positive.
A.2 Paramètres de correction Certains blocs du schéma fonctionnel possèdent des listes déroulantes
imbriquées. Dans le cas des ADC, cela permet d’associer un numéro de
107
canal d’ADC comme source d’une section de l’algorithme. Dans les autres
cas, la liste déroulante sert à choisir le gain appliqué à la sortie d’un bloc
afin de maximiser l’utilisation de la plage dynamique.
La section Gains permet de passer du mode manuel au mode automatique.
Dans ce cas les listes déroulantes contrôlant les gains deviennent inactives
et c’est le FPGA qui optimise lui-même l’utilisation de la plage dynamique.
Il est préférable de retourner au mode manuel avant de démarrer une
mesure pour empêcher que les gains varient pendant la mesure.
La section Reference Filters permet de choisir la fréquence centrale de
chacun des filtres passe-bandes appliqués sur les battements de référence.
A.3 Informations sur le système La section Information à droite de la fenêtre affiche une multitude
d’informations sur le statut actuel de l’algorithme de correction. La
fréquence de chacun des battements de référencement y est présente. De
plus, on y retrouve la fréquence des références et celle de la rampe de
phase.
Chacune de ces fréquences est calculée à l’intérieur du FPGA. Chaque
signal est multiplié avec son conjugué complexe décalé d’un échantillon
afin d’obtenir son incrément de phase. Ensuite, le résultat est moyenné
sur plusieurs millions d’échantillons afin d’éliminer le maximum de bruit
possible tout en gardant un bon taux de rafraîchissement, de l’ordre de
quelques Hz.
Une fois que les données moyennées sont transférées vers l’ordinateur,
celui-ci calcule l’arc tangente et peut ainsi retrouver la fréquence de
chaque signal. Afin que les résultats obtenus soient fiables, les signaux
examinés doivent posséder un bon SNR
108
Un estimé de rf∆ et du nombre de points total d’un IGM sont aussi
affichés. Le système est conçu pour fonctionner proche du point
d’opération de 100 Hz pour la valeur de rf∆ . Entre 50 Hz et 150 Hz le
système fonctionne bien mais rien ne garantit un fonctionnement adéquat
une fois ces valeurs dépassées.
Aussi, le statut de l’alignement des IGMs corrigés est affiché. Il indique
Locked lorsque l’erreur de décalage entre les nouveaux IGMs et ceux en
mémoire est inférieure à un point d’échantillonnage.
Finalement, le statut de l’asservissement des peignes de fréquence et des
lasers CW est affiché. Il indique Locked quand tous les asservissements de
la section Servo loops sont en marche et que chacun a atteint sa consigne.
A.4 Boucles d’asservissement Quatre boucles d’asservissement sont présentes dans l’application et sont
accessibles dans la section Servo loops. Les quatre zones de texte en haut
de la section permettent de directement changer la commande appliquée
sur les actuateurs. Les deux zones de texte dans le bas de la section
permettent de changer la consigne sur la fréquence de rf∆ et sur la
fréquence de la première référence.
Le signe des gains des boucles d’asservissement change en fonction des
alias des battements de référence. Quatre cases à cocher sont donc
présentes pour changer la polarité des boucles d’asservissement. Il faut
donc s’assurer au démarrage d’une boucle d’asservissement que la sortie
tend vers la consigne sinon la polarité du gain doit être changée.
La première boucle d’asservissement sert à modifier le courant de pompe
du CW 1 afin d’aligner la fréquence du battement CW 1 – Peigne 1 sur la
fréquence centrale de son filtre passe-bande.
109
La deuxième boucle remplit la même fonction que la première mais utilise
le CW 2 pour contrôler le battement CW 2 – Peigne 1.
La troisième boucle varie la tension aux bornes du piézoélectrique du
peigne 2 afin de maintenir la valeur de rf∆ constante.
Finalement, la quatrième boucle varie le courant pompe du peigne 2 pour
asservir la fréquence de la première référence. Cette quatrième boucle peut
seulement être fermée lorsque la troisième boucle l’est aussi puisque le
gain de cette boucle à été caractérisé avec l’asservissement sur rf∆ en
boucle fermée.
Les asservissements servent à maintenir les paramètres du système
constants durant la durée d’une acquisition. Pour changer le point
d’opération du système, il vaut mieux désactiver toutes les boucles
d’asservissement et changer la commande des actuateurs à partir des
zones de texte. Par la suite les boucles peuvent être refermées avec comme
consignes les paramètres du nouveau point d’opération.
Si la consigne est trop éloignée de la valeur actuelle lors de la fermeture
d’une boucle, les battements de référence peuvent se déplacer grandement
et sortir de la zone passe-bande de leur filtre. Si cela arrive, les valeurs de
la section Information ne seront plus valides et le comportement de
l’asservissement deviendra imprévisible. Il est donc important d’utiliser les
boucles d’asservissement seulement pour maintenir le système autour de
son point d’opération.
A.5 Alignement et moyennage Avant de démarrer le système d’acquisition, il faut s’assurer que le système
est asservi autour du point d’opération désiré et que la rampe
d’échantillonnage est positive. Les gains doivent aussi être en mode
110
manuel pour ne pas qu’il y ait un saut discret dans l’amplitude des
signaux.
Dans la sous-section Channel selection de Averaging, il est possible de
choisir de seulement moyenner le premier canal contenant un IGM ou bien
de moyenner les deux canaux contenant les IGMs. Lorsqu’un seul canal
est choisi, il n’y a pas de limite pratique sur le nombre d’IGMs moyennés
pour une seule acquisition tandis qu’en utilisant deux canaux, ce nombre
est limité à 262 144. Cela représente environ une mesure de 43 minutes
pour un rf∆ de 100 Hz.
Dans la section Resampling & Alignment, on peut indiquer quelle taille est
souhaitée pour l’IGM une fois que celui-ci est ré-échantillonné sur la grille
équidistante. La valeur indiquée ne doit pas dépasser le nombre indiqué
dans la section Information. De plus, il faut s’assurer que la valeur soit
assez élevée pour ne pas qu’il y ait de repliement spectral. Une valeur
comprise entre la moitié et le nombre de points total avant ré-
échantillonnage est conseillée.
De plus, l’utilisateur peut choisir la position de son ZPD par rapport à la
fenêtre d’acquisition. Une valeur de 0 place le ZPD complètement au début
de l’acquisition tandis qu’une valeur de 1 le place à la fin. Toutefois, il est
recommandé de ne pas placer le ZPD trop proche des extrémités de la
fenêtre puisqu’on désire que la discontinuité se produise à un endroit où il
n’y a pas, ou presque pas, de signal utile.
L’alignement peut maintenant être démarré. Une fois mis en marche, le
bloc ALIGN IGM, dans le schéma fonctionnel, devient valide. Le décalage et
la phase entre les IGMs courants et l’IGM enregistré en mémoire peuvent
maintenant être observés en sélectionnant ce bloc. Si l’alignement a réussi,
son statut dans la section Information passera à Locked.
111
Les IGMs peuvent maintenant être additionnés de manière cohérente.
Dans la sous-section Start de Averaging, on doit entrer le nombre d’IGMs à
moyenner et le moyennage peut être lancé en appuyant sur le
bouton Start Averaging.
Le nombre d’IGMs moyennés se met à jour en temps-réel et lorsque le
nombre à moyenner est atteint, le bouton Read averaged IGM de la section
en dessous devient valide.
Une fois que l’IGM moyenné est lu, sa représentation temporelle et celle
spectrale sont affichées à l’écran. L’IGM peut ensuite être enregistré. Une
fois le nom du fichier de sauvegarde entré, le bouton Save enregistre l’IGM
temporel ainsi que le nombre moyenné, la fréquence d’échantillonnage
optique et le rf∆ de la mesure dans un fichier « .mat ».
Une nouvelle mesure peut alors être démarrée en appuyant sur le bouton
Start alignment et ensuite sur le bouton Start averaging.