Correction et moyennage temps-réel pour mesures ... · Direct Current. DDR . Dual Data Rate . DSP...

123
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

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.