FR 3059117 A1 20180525 FR 1661363 A 20161122 1 PROCEDE DE SIMULATION RAPIDE D'UN SYSTEME OPTIQUE L'invention relève du domaine de la simulation optique, notamment pour assister la conception, l'optimisation, le tolérancement et la rétro-ingénierie de systèmes optiques. Cela permet notamment d'améliorer les observations, passées ou futures, de tels systèmes optiques en prévenant, en limitant ou en remédiant a posteriori à certaines de leurs imperfections. L'invention peut aussi contribuer au domaine de la synthèse d'images. Pour caractériser ou concevoir un système optique, il est courant d'avoir recours à une simulation numérique. L'approximation paraxiale représente l'approche la plus simple permettant de modéliser un système optique. Elle consiste à linéariser les lois de Snell-Descartes et s'applique en particulier lorsque le système peut être considéré comme « parfait ». Dans ces conditions, un composant - voire un système optique - peut être modélisé par une matrice. Sa simulation est donc simple et économique en ressources de calcul (une solution analytique est même possible). Cependant, l'approximation paraxiale n'est satisfaisante que si tous les rayons se propageant dans le système optique sont assez proches de l'axe optique et peu inclinés par rapport à ce dernier. Lorsqu'on sort du domaine de validité de l'approximation paraxiale, ce qui est très fréquent en pratique, des aberrations se manifestent de plus en plus. Pour caractériser ces dernières ou, plus généralement, pour construire une représentation plus fidèle du système optique et exploiter celle-ci à différentes finalités, il est possible d'utiliser une modélisation numérique. Un modèle optique numérique prend ordinairement la forme d'un programme informatique dédié ou d'un logiciel générique tel que Zemax (marque enregistrée), Code V (marque enregistrée) ou d'autres, qu'il faut alors configurer spécialement. Dans ces programmes, le système considéré est typiquement codé sous la forme d'une séquence de positionnement d'éléments optiques, eux-mêmes représentés par des 3059117 2 structures de données représentatives. Par exemple, pour un système catadioptrique, les positionnements renseignent sur l'alignement des miroirs et les structures de données fournissent, entre autre, leur rayon de courbure. La modélisation du système optique peut ensuite être combinée avec un 5 autre modèle qui décrit l'objet, c'est-à-dire la source des rayons. Ces deux modèles peuvent être ensuite utilisés, en association avec les lois de l'optique, pour produire des simulations susceptibles d'être confrontées aux observables du système réel (existant, virtuel ou futur) ou pour générer d'autres résultats, aptes par exemple à en mesurer les performances. 10 La technique de simulation numérique la plus couramment utilisée est celle du lancer de rayons (« ray tracing » en anglais). Dans cette méthode, les rayons sont modélisés par des objets numériques, et on suit leur propagation à travers le système optique étudié en leur appliquant une déviation, ou toute autre modification (e.g. changement de polarisation), 15 calculée en appliquant les lois de l'optique, à chaque interface (par exemple un dioptre ou catadioptre) qu'ils rencontrent. Alternativement, il est possible d'étudier la propagation du front d'onde. Cela donne alors accès aux effets de l'optique physique tels que par exemple la diffraction ou les phénomènes d'interférences. 20 Ces techniques connues de l'art antérieur, allant au-delà de l'approximation paraxiale, engendrent des temps de calcul importants, voire rédhibitoires lorsqu'on souhaite étudier de nombreuses configurations ou faire varier certains degrés de liberté d'un même système, dans une démarche de prototypage numérique rapide par exemple. 25 L'article de Thibault Simon et al., "Evolutionary algorithms applied to lens design: Case study and analysis", Optical Systems Design 2005. (pp. 596209-596209), International Society for Optics and Photonics, est une présentation d'une méthode d'optimisation globale de conception de lentille. Les algorithmes évolutionnaires permettent grâce à la manipulation 30 d'une population de solutions d'un problème d'optimisation donné, de trouver une solution correspondant à un critère défini au préalable. Pour 3059117 3 l'optimisation d'un système optique, une fonction de mérite (respectivement, de coût) est initialement définie. Elle augmente (respectivement, décroît) avec l'optimalité du fonctionnement du système optique et elle permet, en théorie, de déterminer toutes les configurations aboutissant à la meilleure 5 solution. Néanmoins les algorithmes évolutionnaires, à cause de leur nature stochastique, ont l'inconvénient de ne pas forcément converger vers une solution. Ils nécessitent de plus une considérable puissance de calcul. Le document US5995742 décrit un procédé rapide de prototypage pour des systèmes d'éclairage. Ce procédé utilise le lancer de 10 rayons et apporte une solution au problème connu de lenteur de cette méthode. Le procédé emploi une parallèlisation des opérations avec la présentation d'une architecture d'ordinateur particulièrement bien optimisée pour des opérations de lancer de rayon. Cependant, le recours à une architecture matérielle spécifique constitue une contrainte forte, limitant 15 l'applicabilité de cette méthode. L'invention vise à surmonter les inconvénients précités de l'art antérieur. Plus particulièrement elle vise à réduire très sensiblement le temps de calcul nécessaire à une simulation optique non limitée à l'approximation paraxiale. De nombreuses applications visées par l'invention 20 (conception, optimisation, tolérancement, rétro-ingénierie) nécessitent ordinairement trois éléments : un outil de simulation (par exemple par lancer de rayons), une exploration d'un ou plusieurs critères (e.g. performance, similarité) en fonction de la configuration multidimensionnelle du système, et un système informatique (son processeur, son architecture, etc.) exécutant 25 les deux premiers éléments. La relative lenteur des techniques conventionnelles de lancer de rayons conduit à compenser ladite lenteur par une accélération des deux autres éléments. Des algorithmes plus intelligents peuvent identifier plus rapidement la ou les configurations recherchées, en explorant l'espace des paramètres plus efficacement. Cela engendre 30 toutefois des inconvénients, tels que ceux mentionnés au sujet des algorithmes évolutionnaires. L'utilisation d'architectures informatiques 3059117 4 spécifiques peut accélérer l'exécution d'un lancer de rayon conventionnel, mais elle présente l'inconvénient d'une plus grande complexité et d'un coût plus élevé. Bien qu'elle en réduise ou en élimine le besoin, la présente invention est toutefois susceptible de bénéficier, le cas échéant, 5 d'architectures informatiques dédiées et/ou d'algorithmes intelligents pour l'exploration de l'espace des paramètres. L'invention permet d'atteindre cet objectif par un procédé qui d'un côté s'apparente au lancer de rayon - des rayons y sont spécifiés en entrée, par tirage aléatoire par exemple, et la simulation produit leurs 10 spécifications en sortie - mais s'en différencie car il traite globalement le système optique considéré en produisant des spécifications désirées en sortie, directement à partir des spécifications d'entrée du rayon et des paramètres du système. Ainsi, la progression des rayons ou faisceaux de rayons n'est pas calculée tout au long de la séquence de ses interactions 15 avec la matière, ce qui augmente grandement la vitesse de traitement. Une spécificité de cette approche globale est l'utilisation d'un ensemble de fonctions non linéaires, de préférence paramétriques, qui résument le comportement du système optique. Grâce à la rapidité de calcul procurée par cette 20 approche, l'invention rend praticables des activités de rétro-ingénierie, d'optimisation et de tolérancement qui étaient au préalable autrement hors d'atteinte. Un objet de l'invention est un procédé mis en oeuvre par ordinateur de simulation d'un système optique comprenant les étapes 25 consistant à: a) définir un ensemble de rayons ou faisceaux lumineux en entrée (e) du système optique, chaque dit rayon ou faisceau lumineux étant représenté par un premier vecteur de paramètres ; et b) pour chaque dit rayon ou faisceau lumineux en entrée du 30 système optique, calculer un rayon ou faisceau lumineux en sortie du système optique, représenté par un second vecteur de paramètres ; 3059117 5 caractérisé en ce que ladite étape b) est mise en oeuvre par application, à chaque dit rayon ou faisceau lumineux en entrée du système optique, d'une même fonction, non linéaire, dite fonction de transmission, représentative du système optique dans son ensemble. 5 Selon différents modes de réalisation : - Ladite fonction de transmission peut présenter une forme paramétrique. Cela signifie que la fonction de transmission dépend d'une part de ses variables indépendantes (définissant un rayon ou faisceau), mais aussi d'autres variables, dites paramètres de transmission, 10 qui modélisent le comportement du système optique. Dans ce cas, le procédé peut comprendre également une étape préalable d'étalonnage, comportant la détermination d'un ensemble de paramètres de ladite fonction de transmission par régression à partir d'une simulation dudit système optique par un algorithme de lancer de rayons ou à partir de mesures sur 15 ledit système optique. - Au moins certains des paramètres de ladite fonction de transmission peuvent être exprimés par une fonction, dite fonction de système ayant comme variables indépendantes des paramètres de configuration dudit système optique. Dans ce cas, on peut également 20 envisager l'utilisation d'une fonction de transmission linéaire ou affine (ou bien linéaire ou affine par morceaux). - Ladite fonction de système peut présenter une forme paramétrique. Cela signifie que la fonction de système dépend d'une part 25 de ses variables indépendantes (le vecteur des paramètres de configuration) et d'autre part d'autres variables, dites paramètres système. Ensemble, vecteur de configuration et paramètres systèmes définissent l'action du système optique sur les paramètres de transmission considérés. Dans ce cas, le procédé peut comprendre également une étape préalable 30 d'étalonnage, comportant : le choix d'une pluralité de configurations dudit système optique, associée chacune à une fonction de transmission 3059117 6 présentant une forme paramétrique; pour chaque dite configuration, la détermination d'un ensemble de paramètres de la fonction de transmission qui y est associée par régression à partir d'une simulation dudit système optique par un algorithme de lancer de rayon; et la détermination d'un 5 ensemble de paramètres de ladite fonction de système par régression (307) à partir des paramètres ainsi déterminés des fonctions de transmission associées auxdites configurations du système optique. - Dans ce dernier cas, le procédé peut comprendre également une étape de qualification par comparaison des seconds vecteurs 10 de paramètres obtenus par application de ladite fonction de transmission à un ensemble de premiers vecteurs de paramètres, avec des résultats de simulations dudit système optique par ledit algorithme de lancer de rayon ou à partir de mesures sur ledit système optique. - Ladite fonction de système peut être polynomiale, ou 15 polynomiale par morceaux. - Ladite fonction de transmission peut être polynomiale, ou polynomiale par morceaux. - Lesdits premier et second vecteurs de paramètres peuvent comprendre chacun des paramètres de position et de direction de 20 propagation desdits rayons lumineux. - Lesdits premier et second vecteurs de paramètres peuvent comprendre chacun des paramètres représentatifs de distributions statistiques de positions et directions de propagation de rayons formant lesdits faisceaux lumineux. 25 Un autre objet de l'invention est un programme d'ordinateur stocké sur un support non-transitoire lisible par ordinateur, comprenant des instructions exécutables par ordinateur pour la mise en oeuvre d'un tel procédé. 3059117 7 L'invention sera mieux comprise et d'autres caractéristiques et avantages apparaîtront mieux à la lecture de la description qui suit, donnée à titre non limitatif, et grâce aux figures annexées parmi lesquelles : 5 - la figure 1 illustre le schéma de principe de la simulation d'un système optique selon un premier mode de réalisation de l'invention; - la figure 2 illustre le schéma de principe de la simulation d'un système optique selon un deuxième mode de réalisation de l'invention; - la figure 3 illustre le principe d'une étape d'étalonnage 10 d'un procédé selon un mode de réalisation de l'invention ; - la figure 4 illustre le principe d'une étape de qualification d'un procédé selon un mode de réalisation de l'invention, permettant de calculer une différence entre les spécifications de sortie produites par ce procédé et celles produites par un modèle de référence. 15 La figure 1 représente le principe de la simulation du système optique 102 selon un mode de réalisation de l'invention. Une première étape de ce procédé consiste à définir un ensemble de rayons ou faisceaux lumineux en entrée e du système optique 20 où chaque rayon est représenté par un premier vecteur 101 de paramètres (« spécifications d'entrée »). Par exemple, un rayon peut être représenté par un vecteur de dimension 4 dont deux composantes correspondent aux coordonnées bidimensionnelles de l'intersection entre ce rayon et une surface d'entrée du système, par exemple un plan pupille et deux autres 25 composantes définissent sa direction de propagation (on parle alors de « coordonnées d'étendue », ou d' « étendue géométrique »). Dans d'autres variantes, des composantes additionnelles peuvent définir la longueur d'onde, la phase, l'intensité, et/ou la polarisation du rayon, si ces paramètres influencent les spécifications de sortie, par exemple le trajet des faisceaux 30 (cas, par exemple, d'un système comprenant des éléments dispersifs - tel un spectromètre - ou présentant une anisotropie optique). La présence de la 3059117 8 phase permet d'adresser la diffraction dans un nombre restreints de plans. Le vecteur d'entrée peut aussi ne pas représenter les spécifications d'un rayon individuel (e.g. ses coordonnées, sa longueur d'onde, etc.), mais représenter les paramètres (moyennes, écarts types, ou autres) de 5 distributions statistiques (Gaussienne, Lambertienne, de Harvey-Shack, ABg, polynomiale, ou autres) de ces spécifications, caractérisant ainsi un faisceau lumineux au lieu d'un simple rayon. Cela permet en particulier de modéliser les phénomènes de diffusion, situation pour laquelle l'invention s'avère particulièrement performante. En effet, la modélisation de phénomènes de 10 diffusion par une méthode de lancer de rayons conventionnelle nécessite la propagation des très nombreux rayons générés à chaque interface diffusante, ce qui est très couteux en termes de temps et de puissance de calcul. Conformément à l'invention, au contraire, il suffit de propager un faisceau unique. 15 Une seconde étape du procédé permet, pour chaque rayon (ou faisceau - dans la suite on considérera uniquement le cas d'un rayon individuel mais, sauf mention contraire, toutes les considérations seront également applicables aux faisceaux) en entrée du système optique, de calculer le rayon associé en sortie s du système optique représenté par un 20 second vecteur 103 de paramètres (« spécifications de sortie »). Le vecteur de sortie 103 peut présenter les mêmes composantes que le vecteur d'entrée 101, ou d'autres, correspondant typiquement mais non nécessairement à un sous-ensemble des spécifications d'entrée. Par exemple, s'il s'agit de modéliser un système d'imagerie dans lequel la sortie 25 du système est constituée par un capteur optique matriciel, le vecteur 103 peut se limiter aux deux coordonnées spatiales identifiant les points où les rayons en sortie rencontrent le plan du capteur. Au contraire, si l'on modélise un sous-système, il y a généralement lieu de calculer toutes les spécifications de sortie pour que celles-ci puissent servir en entrée du sous- 30 système suivant. 3059117 9 Cette seconde étape est mise en oeuvre en appliquant à chaque rayon en entrée du système optique une fonction non linéaire, dite fonction de transmission, représentant le système optique 102 dans son ensemble. L'équation 1 représentant la relation entre les spécifications du 5 premier vecteur et celles du second vecteur est la suivante : Xs = Fes(Xe) (1) dans laquelle xs représente le vecteur 103 des spécifications de sortie, Xe le vecteur 101 des spécifications d'entrée et F es représente une 10 fonction de transmission de l'entrée e vers la sortie s. Avantageusement, les fonctions de transmission auront une forme facilement utilisable dans un code informatique, telles que des fonctions algébriques - ou éventuellement transcendantes. Des fonctions définies par morceaux peuvent servir notamment pour modéliser des 15 systèmes discontinus tels que des mosaïques de miroirs. L'utilisation de fonctions polynomiales, ou polynomiales par morceaux (par exemple des « splines ») est particulièrement avantageuse. La théorie des aberrations géométriques suggère qu'il est opportun d'utiliser des polynômes d'ordres impairs, et souvent il suffira de s'arrêter à l'ordre trois. Il convient de noter 20 que lorsque la fonction de transmission est linéaire (« polynôme » d'ordre 1) - cas qui ne fait pas partie de l'invention - on retrouve l'approximation paraxiale. Le plus souvent, le système optique 102 n'est pas « figé ». Il peut se présenter dans différents états, ou configurations, représentés 25 chacun par un ensemble (vecteur) de paramètres, éventuellement variables ou inconnus. Ces paramètres peuvent représenter, par exemple, la position et/ou l'orientation de différents éléments optiques, le degré d'ouverture d'un diaphragme, etc. Ainsi, au lieu d'une fonction de transmission unique Fes, il convient d'utiliser une famille de fonctions de 30 transmission paramétriques F'(0, et l'équation (1) devient alors = F es(i)(Xe) (1 bis) 3059117 10 Dans le mode de réalisation de la figure 2, le système optique 102 de la figure 1 est modélisé par un jeu de double emboîtement de fonctions et de paramètres. 5 Premièrement (bloc 202), des fonctions, généralement non- linéaires, dites « fonctions de système » 206, expriment les paramètres des fonctions de transmission (par exemple, les coefficients des monômes d'une expression polynomiale de ces fonctions) en fonction du vecteur / de configuration du système optique. En d'autres termes, le vecteur de 10 configuration / est la variable indépendante des fonctions de système. Comme les fonctions de transmission, les fonctions de système sont de préférence des fonctions algébriques, et notamment des polynômes d'ordre impair et relativement faible (par exemple 3, 5 ou 7). Plus généralement, elles peuvent être des fonctions paramétriques (« fonctions de 15 système ») et dépendre de paramètres dits « paramètres système ». Dans le cas où les fonctions de système présentent une forme polynomiale, les paramètres système peuvent être les coefficients des monômes formant ces polynômes. Ensuite (bloc 202) les fonctions de transmission 206 sont 20 appliquées aux spécifications d'entrée Xe pour fournir les spécifications de sortie xs. A titre d'exemple on considère le cas où les fonctions de transmission sont représentés pas des polynômes multi-variés T et les fonctions de système sont, elles aussi, des polynômes multivariés dq. Ces 25 approximations polynômiales sont particulièrement valables lorsque les amplitudes des variations des spécifications d'entrée et/ou des paramètres de configuration restent limitées. X = X s Te[5(0 ( e di X ) E[d] avec es,e 3059117 11 (Eibiij)5d Ai1 EN er [d] == [d] es(),(tij)i REVENDICATIONS1. Procédé mis en oeuvre par ordinateur de simulation d'un système optique (102) comprenant les étapes consistant à: a) définir un ensemble de rayons ou faisceaux lumineux en entrée (e) du système optique, chaque dit rayon ou faisceau lumineux étant représenté par un premier vecteur de paramètres (101, xe); et b) pour chaque dit rayon ou faisceau lumineux en entrée du système optique, calculer un rayon ou faisceau lumineux en sortie (s) du système optique, représenté par un second vecteur de paramètres (103, xs); caractérisé en ce que ladite étape b) est mise en oeuvre par application, à chaque dit rayon ou faisceau lumineux en entrée du système 15 optique, d'une même fonction, non linéaire, dite fonction de transmission (Fes, T), représentative du système optique dans son ensemble. 2. Procédé selon la revendication 1 dans lequel ladite fonction de transmission présente une forme paramétrique. 20 3. Procédé selon la revendication 2 comprenant également une étape préalable d'étalonnage, comportant la détermination d'un ensemble de paramètres (306) de ladite fonction de transmission par régression (305) à partir d'une simulation dudit système optique par un 25 algorithme de lancer de rayons ou à partir de mesures sur ledit système optique. 4. Procédé selon l'une des revendications précédentes dans lequel au moins certains des paramètres de ladite fonction de 30 transmission sont exprimés par une fonction, dite fonction de système (c11), 3059117 19 ayant comme variables indépendantes des paramètres de configuration () dudit système optique. 5. Procédé selon la revendication 4 dans lequel ladite 5 fonction de système présente une forme paramétrique. 6. Procédé selon la revendication 5 comprenant également une étape préalable d'étalonnage (304), comportant : - le choix d'une pluralité de configurations dudit système 10 optique, associée chacune à une fonction de transmission présentant une forme paramétrique; - pour chaque dite configuration, la détermination d'un ensemble de paramètres (306) de la fonction de transmission qui y est associée par régression (305) à partir d'une simulation dudit système optique 15 par un algorithme de lancer de rayon; et - la détermination d'un ensemble de paramètres (308) de ladite fonction de système par régression (307) à partir des paramètres ainsi déterminés des fonctions de transmission associées auxdites configurations du système optique. 20 7. Procédé selon la revendication 6 comprenant également une étape (406) de qualification par comparaison des seconds vecteurs de paramètres (103) obtenus par application de ladite fonction de transmission à un ensemble de premiers vecteurs de paramètres, avec des résultats (404) 25 de simulations dudit système optique par ledit algorithme de lancer de rayon ou à partir de mesures sur ledit système optique. 8. Procédé selon l'une des revendications 4 à 6 dans lequel ladite fonction de système est polynomiale, ou polynomiale par 30 morceaux. 3059117 20 9. Procédé selon l'une des revendications précédentes dans lequel ladite fonction de transmission est polynomiale, ou polynomiale par morceaux. 5 10. Procédé selon l'une des revendications précédentes dans lequel lesdits premier et second vecteurs de paramètres comprennent chacun des paramètres de position et de direction de propagation desdits rayons lumineux. 10 11. Procédé selon l'une des revendications précédentes dans lequel lesdits premier et second vecteurs de paramètres comprennent chacun des paramètres représentatifs de distributions statistiques de positions et directions de propagation de rayons formant lesdits faisceaux lumineux. 12. Produit programme d'ordinateur stocké sur un support non-transitoire lisible par ordinateur, comprenant des instructions exécutables par ordinateur pour la mise en oeuvre d'un procédé selon l'une des revendications précédentes.20