Brevet FR2869412A1 — publié le 20051028

DÉTERMTNATION D'UNE FONCTION D'AUTOCORRÉLATION La présente invention concerne un corrélateur permet-tant de déterminer la fonction d'autocorrélation d'un signal lumineux dans le cadre de mesures par exemple en spectroscopie par fluorescence, en spectroscopie Raman, ou par diffusion de lumière quasi-élastique (simple ou multiple). Dans ce cadre, on cherche à déterminer la fonction d'autocorrélation d'un signal réémis ou diffusé par un milieu contenant des particules ou des molécules éclairé par une source lumineuse. Cette fonction permet notamment de caractériser la mobilité des particules ou molécules dans le milieu éclairé. La figure 1 est un schéma sous forme de blocs d'un montage de spectroscopie de corrélation de fluorescence. Dans un récipient 1 est placée une solution contenant des particules que l'on souhaite caractériser. Un faisceau laser 2 stimule les particules situées dans un petit volume 3 de la solution. Les particules éclairées réémettent sensiblement dans toutes les directions. Un photorécepteur (photomultiplicateur) 4 capte une partie de la lumière réémise et fournit un signal électrique i(t) dont un exemple est illustré par la courbe Cl. Ce signal électrique est reçu par un corrélateur 7 qui calcule la fonction d' autocorrélation: g(T) = de l'intensité i(t) du signal lumineux pour diverses valeurs d'écarts temporels i, représentant une moyenne sur le temps. La forme générale usuelle de la fonction d'autocorrélation est représentée en figure 1. Plus la fonction d'autocor- rélation conserve une valeur élevée pour des écarts temporels i importants, plus la zone éclairée est stable, et inversement. Les corrélateurs les plus couramment utilisés mettent en oeuvre un algorithme nommé "multi-tau" développé par Klaus Schtzel en 1975. Ce type de corrélateur permet de calculer directement la fonction d'autocorrélation d'un signal en effectuant les calculs au fur et à mesure de l'acquisition du siylial représentatif de l'intensité du signal lumineux reçu. Ces corrélateurs se révèlent néanmoins peu satisfaisants lorsque le signal lumineux analysé présente une faible intensité, le rapport signal sur bruit devenant critique. De plus, le principe même de cet algorithme entraîne que l'on obtient seulement une approximation de la fonction d'autocorrélation recherchée. Un autre mode de calcul de la fonction d'autocorrélation est décrit dans l'article "Multichannel scaler for general statistical analysis of dynamic light scattering" de R. Sprik et E. Baaij, publié dans "REVIEW OF SCIENTIFIC INSTRUMENTS" de juin 2002. Le calcul de la fonction d'autocorrélation g(i) est effectué selon une méthode de "double transformée de Fourier". Dans un premier temps, on calcule le spectre en puissance S(w) du signal i(t), S(w) étant égal au module au carré de la transformée de Fourier s(w) du signal i(t). Dans un deuxième temps, on calcule la transformée de Fourier du spectre en puissance S(w), qui est la fonction g (i) . Ce procédé fournit une valeur exacte de la fonction d'autocorrélation mais présente également l'inconvénient d'être inefficace lorsque le signal lumineux analysé présente une faible intensité. De plus, il nécessite la réalisation d'un nombre important de calculs. Un objet de la présente invention est de prévoir un corrélateur capable de calculer avec précision une fonction d'autocorrélation en un temps réduit, ce corrélateur étant particulièrement adapté à un signal lumineux de faible intensité. Un autre objet de la présente invention est de prévoir un tel corrélateur nécessitant un espace restreint de mémorisa- tion du signal représentatif du signal lumineux étudié. Pour atteindre ces objets, la présente invention pré-voit un procédé de détermination de la fonction d'autocorrélation g('r) d'un signal optique, comprenant les étapes suivantes: - déterminer les instants (ti) d'apparition de pho- tons; - calculer, pour un ensemble prédéterminé de pulsations (w), la fonction s(w) e-;"" où e-7wti = coswti + sinwti, la sommation étant effectuée sur 15 toutes les impulsions reçues, déterminer le carré S(w) du module de la fonction s(w), et - calculer la transformée de Fourier g(i) du spectre en puissance S(w) pour un ensemble prédéterminé de valeurs 20 d'écarts temporels. Selon un mode de réalisation de la présente invention, les instants (ti) d'apparition des impulsions sont déterminés depuis un instant de référence ou depuis l'instant d'apparition de l'impulsion précédant l'impulsion considérée, sous la forme d'un nombre (ni) de cycles d'une horloge de référence. Selon un mode de réalisation de la présente invention, lesdites impulsions correspondent au signal de sortie d'un photorécepteur recevant une séquence de photons. Selon un mode de réalisation de la présente invention, le calcul de la fonction s(w) est effectué pour un ensemble de valeurs d'écarts temporels réparties logarithmiquement. Selon un mode de réalisation de la présente invention, le calcul de la transformée de Fourier g(ti) est effectué pour un ensemble de pulsations réparties logarithmiquement. La présente invention prévoit aussi un corrélateur mettant en oeuvre le procédé ci-dessus. Ces objets, caractéristiques et avantages, ainsi que d'autres de la présente invention seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non-limitatif en relation avec les figures jointes parmi lesquelles: la figure 1 est un schéma précédemment décrit d'un système de spectroscopie de corrélation de fluorescence; la figure 2 est un diagramme illustrant un signal représentatif de l'intensité d'un signal lumineux en fonction du temps; la figure 3 est un schéma d'un corrélateur selon la présente invention; et la figure 4 est un chronogramme illustrant les valeurs prises par divers signaux du circuit de la figure 3. La présente invention se base sur une analyse du mode classique de calcul de transformée de Fourier dans le procédé susmentionné de "double transformée de Fourier". On va évaluer dans la partie I ci-après le nombre d'étapes de calcul nécessaire au calcul de la transformée de Fourier du signal i(t). On va ensuite montrer dans la partie II que, dans le cadre d'expériences telles que de spectroscopie de corrélation de fluorescence, de spectroscopie Raman, ou de diffusion de lumière quasi-élastique (simple ou multiple), contrairement à un préjugé établi, il s'avère plus économique en temps de calcul de procéder à un calcul de transformée de Fourier pour tous les photons reçus. On montrera que cela conduit en outre à des résultats plus précis, notamment au voisinage des faibles valeurs de temps de corrélation. Ainsi, la présente invention utilise le procédé de "double transformée de Fourier" et prévoit de modifier ce procédé pour réduire la quantité de mémoire nécessaire et le nombre d'étapes de calcul, d'où il résulte que ce procédé peut être mis en oeuvre par un corrélateur simplifié. 1. Analyse d'un procédé classique de calcul de transformée de Fourier La détermination de la fonction d'autocorrélation par le procédé susmentionné de "double transformée de Fourier" consiste à calculer d'abord le spectre en puissance S(w) du signal i(t) sur une plage de valeurs de pulsations (w) prédéterminée. Le spectre en puissance S(w) est égal au module au carré de la transformée de Fourier s(w) du signal i(t). Pour une pulsation w donnée, s(w) est donné par: s(w) = i(t)e-iwtdt où j est la variable complexe. En pratique, pour chaque valeur de w, on calcule une 15 somme sur un certain nombre d'instants ti: s(w) = i(ti)e-Jwti (1) Les instants ti correspondent à des intervalles de temps régulièrement répartis au cours du temps sur une période de mesure et les valeurs i(ti) correspondent à des moyennes effectuées sur ces intervalles de temps à partir d'échantillons relevés à haute fréquence du signal i(t). Par exemple, on échan- tillonne le signal i(t) sur une durée T de 10 s, à chaque cycle d'une horloge CLK de fréquence élevée, par exemple 100 MHz, ce qui fournit 109 échantillons sur la durée T. Un tel échantillon- nage est nécessaire pour avoir une bonne image du signal i(t). Toutefois la sommation (1) ne peut raisonnablement être effectuée sur un nombre d'échantillons aussi élevé et devra être limitée à une souattation sur par exemple 106 valeurs de prélève- ment. Chacune des valeurs de prélèvement correspond, dans cet exemple, à la moyenne ou la somme des valeurs de 1000 échantil- lons successifs. Ainsi, pour chaque valeur wj de w, il faut effectuer une somme de 106 multiplications de i(ti) par wj et, si on veut obtenir 106 valeurs de w, il faudra effectuer 106 fois ces opérations. Le calcul de s(w) implique donc le calcul de 1012 sommes de multiplications. On notera de plus que le choix d'un nombre limité de valeurs de prélèvement conduit à une perte de précision Pour réduire le temps de calcul, on peut utiliser des algorithmes de calcul "rapides" tels que celui bien connu de transformée de Fourier rapide. Etant donné que la fréquence correspondant aux intervalles de temps de prélèvement est dans le cadre de l'exemple ci-dessus égale 105 Hz, s(w) sera défini pour des valeurs de w (en radians/s) variant entre 27/T=7r (si la durée T de l'expérience est de 2s) et 2-x105/2. En conséquence, g(T) sera défini entre 2.10-5 s et 1 s par incréments de 2.10-5 s. Cet exemple numérique est destiné à souligner que la plus petite valeur de g(T) et l'intervalle entre les premiers points de g(i) sont directement fonction de la fréquence de prélèvement qui est généralement très inférieure à la fréquence d'échantillonnage. II. Calcul de transformée de Fourier selon l'invention La présente invention propose d'effectuer le calcul de transformée de Fourier, non pas pour des intervalles temporels régulièrement répartis mais pour tous les photons incidents. On va montrer que, contrairement à un préjugé établi, dans le cadre de l'application envisagée, cela réduit le nombre d'étapes de calcul et fournit un résultat rigoureusement exact. Plusieurs auteurs ont observé que, dans le domaine de la spectroscopie de fluorescence par corrélation et analogue, l'un des problèmes réside dans le très petit nombre de photons disponibles. Ceci a par exemple été souligné dans l'article de John S. Eid et al paru dans Review of Scientific Instruments, volume 71, N 2, février 2000. Ceci est également souligné dans l'article susmentionné de Sprik et al paru dans la même revue en 2002. Plus particulièrement, dans l'article de Eid, il est indiqué que le nombre de photons qui apparaissent dans un intervalle de mesure, par exemple 10 s, est très inférieur au nombre d'impulsions d'échantillonnage, par exemple 109 dans le cas d'un échantillonnage à 100 MHz, ce nombre de photons étant par exemple de l'ordre de 100000. Ce chiffre est confirmé dans l'article de Sprike et al susmentionné. En raison de ce nombre de photons, Eid propose, plutôt que de procéder à un échantil- lonnage et de mesurer pour chaque créneau d'échantillonnage si un photon est présent ou non, de conserver en mémoire seulement les instants auxquels les photons apparaissent. On notera d'ailleurs que l'on peut soit mémoriser les instants auxquels les photons apparaissent à partir d'un instant d'origine soit les intervalles de temps entre apparitions de photons. Ainsi, dans le cas où seulement 100000 photons apparaissent, on mémorisera seulement 105 points au lieu de 109 dans le cas d'un échantillonnage à 100 MHz pendant une durée de 10 secondes. Ceci économise de la place en mémoire. Toutefois, aucun des auteurs ayant noté ce faible nombre de photons n'en a déduit des conséquences sur la façon de calculer la transformée de Fourier et les calculs de double transformée de Fourier ont continué à être effectués de la façon classique susmentionnée. Selon la présente invention, on note que, le signal 20 i(t) étant constitué d'une suite d'impulsions dont l'amplitude et la largeur sont sans signification, s(w) = f i(t) e-" dt est strictement identique à : s(w) e-'" (2) où e-Jwti = coswti + j sinwti, la salutation étant effectuée sur tous les photons reçus. La formule (2) permet un calcul beaucoup plus simple et plus rapide qu'un calcul normal de transformée de Fourier du signal i(t) selon la formule (1). Ainsi, pour le calcul de la transformée de Fourier, pour chaque valeur wj de w, on calcule, ou plus couramment on recherche dans une table, les valeurs de sinwt et de coswt et ces valeurs sont utilisées directement étant donné qu'elles sont affectées d'un coefficient multiplicatif constant, égal à 1. Ainsi, selon l'invention, on réduit le nombre de calculs effectués, qui est limité au nombre de photons reçus, et de plus chaque calcul est plus simple puisqu'il comprend seulement une valeur de coswit ou de sinwit sans coefficient multiplicatif. Ainsi, non seulement le nombre d'opérations est plus faible mais en plus chaque opération élémentaire est plus simple. Par exemple, si on échantillonne le signal i(t) sur une durée T de 10 s, à 100 MHz, et que l'on reçoit 105 photons/s, il faut, pour chaque valeur wj de w, effectuer une somme de 106 valeurs et, si on veut obtenir 106 valeurs de w, il faudra effectuer 106 fois cette opération. Le calcul de s(w) implique donc seulement le calcul de 106 sommes au lieu de 106 sommes de multiplications par le procédé classique. Le procédé selon la présente invention nécessite un nombre d'opérations encore plus faible quand le nombre de photons/s décroît en conservant un caractère rigoureux, le calcul effectué n'impliquant aucune étape d'approximation. Par ailleurs, les inventeurs ont noté qu'il est possible d'obtenir une représentation de S très correcte à partir d'un ensemble de valeurs S(w1) à S(wk) calculées pour un ensemble de pulsations w1 à wk. L'utilisation d'une suite de pulsations w1 à wk réparties logarithmiquement permet d'obtenir une représentation de s tout à fait satisfaisante. Le choix d'une suite logarithmique de pulsations permet de diminuer de façon importante le nombre de calculs de valeurs du spectre s. On détermine alors la fonction s'(w) obtenue en prenant les valeurs s(w1) à s(wk) et en faisant une extrapolation linéaire entre chacune de ces valeurs. On calcule ensuite la transformée de Fourier g(T) de S'(w). Cette transformée de Fourier est de préférence calculée pour une suite de valeurs réparties logarithmiquement de i en notant, que dans la fonction recherchée, les points correspondant aux valeurs élevées de ti pour lesquels la valeur de g(T) est faible présentent moins d'intérêt. On calculera de préfé- rence les valeurs réelles et imaginaires de g(i) par les expressions suivantes: gréel(ti) Ew S(w).coswi gim(t) = Ew S(w).sinwt Un avantage supplémentaire de la présente invention est que la plus petite valeur de g(T) est maintenant définie en fonction de la fréquence d'échantillonnage réelle, de l'ordre de 100 MHz, c'est-à-dire que cette valeur sera de l'ordre de 10-8 seconde au lieu de 10-5 seconde comme cela a été expliqué précédemment pour le cas classique avec une même fréquence d'échantillonnage de base. On obtient ainsi une beaucoup plus grande précision de la fonction g(i) au voisinage des petites valeurs de 'r, ce qui est la zone dans laquelle on souhaite que cette précision soit importante. La figure 2 représente l'allure réelle du signal i(t), présent sous la forme d'une suite d'arrivée de photons espacés les uns des autres. La figure 3 est un schéma sous forme de blocs illustrant un mode de réalisation du procédé de mémorisation susmen- tionné. La figure 4 illustre des signaux apparaissant en divers points du circuit de la figure 4. En figure 3, un compteur CNT 10 reçoit un signal d'horloge (par exemple 100 MHz) et, sur son entrée de remise à zéro, le signal i(t) inversé par un inverseur 11. Le signal i(t) est également appliqué à l'entrée d'horloge d'un ensemble de registres 13. La sortie S du compteur 10 est reliée à l'entrée D de l'ensemble de registres 13. Ainsi, à chaque front montant du signal i(t), la valeur du compteur est mémorisée temporairement dans les registres 13. Peu après chaque mémorisation dans les registres 13, la valeur stockée est inscrite dans une mémoire 15. Un calculateur spécifique, DSP, 17 calcule à partir des valeurs mémorisées la fonction g('r) de la façon exposée précédemment. Le fonctionnement de ce circuit se comprend mieux en se référant à la figure 4 dans laquelle sont indiqués des exemples de chronogramme des signaux CK, i (t) , S et Q pour des intervalles successifs entre photons de 15 impulsions d'horloge, 10 impulsions d'horloge, 4 impulsions d'horloge et 5 impulsions d'horloge. Bien entendu, diverses optimisations classiques du procédé de détermination de la fonction d'autocorrélation décrit précédemment pourront être utilisées en restant dans le cadre de la présente invention. REVENDICATIONS 1. Procédé de détermination de la fonction d'autocorrélation g(T) d'un signal optique, comprenant les étapes suivantes: - déterminer les instants (ti) d'apparition d'iinpul-5 sions correspondant à des photons; calculer, pour un ensemble prédéterminé de pulsations (w), la fonction s(w) e où e-JWti = coswti + sinwti, la sommation étant effectuée sur 10 toutes les impulsions reçues, - déterminer le carré S(w) du module de la fonction s(w), et - calculer la transformée de Fourier g(T) du spectre en puissance S(w) pour un ensemble prédéterminé de valeurs 15 d'écarts temporels. 2. Procédé selon la revendication 1, dans lequel les instants (ti) d'apparition des impulsions sont déterminés depuis un instant de référence ou depuis l'instant d'apparition de l'impulsion précédant l'impulsion considérée, sous la forme d'un nombre (ni) de cycles d'une horloge de référence (CLK) ; 3. Procédé selon la revendication 1, dans lequel lesdites impulsions correspondent au signal de sortie d'un photorécepteur recevant une séquence de photons. 4. Procédé selon la revendication 2, dans lequel le calcul de la fonction s(w) est effectué pour un ensemble de valeurs d'écarts temporels réparties logarithmiquement. 5. Procédé selon la revendication 2, dans lequel le calcul de la transformée de Fourier g(T) est effectué pour un ensemble de pulsations réparties logarithmiquement. 6. Corrélateur mettant en oeuvre le procédé selon l'une quelconque des revendications 1 à 5 réalisé sous forme d'un circuit intégré.