Bonjour à tous.

Vous pouvez désormais, si l'envie vous en dit, soutenir SoundPixelLab - Vous retrouverez les informations sur ce lien en dessous
Soutenir SoundPixelLab

Merci à vous !

Les sondes de calibration

Répondre
Emmanuel Piat
49 dB
Messages : 115
Enregistré le : 11 janv. 2026, 11:26

Re: Les sondes de calibration

Message par Emmanuel Piat »

Par rapport à quelle variable est-ce qu'on calcule cet écart-type ?
Tel que je l'ai écrit, c'est par rapport à $\lambda$. D'un point de vue théorique, ce n'est pas rigoureux car ce bruit doit être modélisé par un ensemble de variables aléatoires : une par pixel (car chaque pixel CCD a sa "vie" temporelle propre et la correction $C(\lambda)$ est également différente pour chaque pixel, c-à-d. pour chaque $\lambda$). Donc le bruit ne sera pas stationnaire sur l'ensemble des longueurs d'onde. Exemple vu dans un post précédent :

Image

Du coup, $\sigma$ est en fait une fonction de $\lambda$ : c'est $\sigma(\lambda)$. Mais je n'ai pas voulu compliquer ... Au passage, si on calcule 3 écart-types différents (sur $\lambda$ ) pour chacun des trois domaines spectraux "rouge", "vert" et "bleu" des 3 lasers, ça sera déjà une meilleure estimation de la variabilité du bruit sur chaque domaine : on aura $\sigma(\text{domaine rouge})$, $\sigma(\text{domaine vert})$ et $\sigma(\text{domaine bleu})$.
Faut-il répéter la même mesure n fois afin d'estimer les variations entre une mesure et la suivante ?
Oui. Il faudrait le faire si on voulait avoir une vraie estimation de l'écart-type $\sigma(\lambda)$ du bruit qui est propre à chaque $\lambda$ (qui est une variable discrète). Par exemple, on mesure et mémorise $n$ spectres du pattern gris. On calcule les $n$ spectres du bruit $S_{1,bruit}(\lambda), S_{2,bruit}(\lambda),\ldots , S_{n,bruit}(\lambda)$.

Puis ensuite, pour chaque $\lambda$ du domaine spectral ($\lambda_1, \ldots, \lambda_{1024}$ si le CCD a 1024 pixels), on calcule un écart-type avec $n$ valeurs extraites des $n$ spectres.

Par exemple, pour $\sigma(\lambda_1)$ on va calculer l'écart-type de $S_{1,bruit}(\lambda_1), S_{2,bruit}(\lambda_1),\ldots , S_{n,bruit}(\lambda_1)$.

Pour $\sigma(\lambda_2)$ on va calculer l'écart-type de $S_{1,bruit}(\lambda_2), S_{2,bruit}(\lambda_2),\ldots , S_{n,bruit}(\lambda_2)$.

etc.

Pour estimer si on commence est être limite pour calculer $Y_n$, ça me semble un poil compliqué ... Donc, je me suis contenté de calculer un $\sigma$ unique sur l'ensemble des $\lambda_i$ d'un seul spectre ...
 

POSTREACT(ions) SUMMARY

Modifié en dernier par Emmanuel Piat le 24 févr. 2026, 22:30, modifié 1 fois.
Emmanuel Piat
49 dB
Messages : 115
Enregistré le : 11 janv. 2026, 11:26

Re: Les sondes de calibration

Message par Emmanuel Piat »

Une autre possibilité (qui n'est pas parfaite théoriquement parlant mais qui est déjà plus aboutie) consiste à considérer d'abord le spectre non corrigé :
$$\bar S_{n,grey}(\lambda)=\frac{S_{grey,brut}(\lambda)-S'_{noir}(\lambda)}{S_{grey,brut}(560)-S'_{noir}(560)}
$$
et à calculer l'écart-type $\sigma$ sur $\lambda$ du bruit du spectre non corrigé :
$$ \bar S_{bruit}(\lambda) = \bar S_{n,grey}(\lambda) - \bar S_{n,grey,filtré}(\lambda)
$$
Ce bruit devrait être plutôt proche d'un bruit uniforme. Ensuite, pour tenir compte de la correction $C(\lambda)$, on calcule les écarts-type (un pour chaque $\lambda$) :
$$ \sigma(\lambda) = C(\lambda) \times \sigma.
$$
Au lieu d'avoir une ligne horizontale, une aura une "courbe" qui tient compte de l'effet de la correction sur le bruit.
 

POSTREACT(ions) SUMMARY

Emmanuel Piat
49 dB
Messages : 115
Enregistré le : 11 janv. 2026, 11:26

Re: Les sondes de calibration

Message par Emmanuel Piat »

Si le spectro a une résolution numérique $\Delta \lambda = 2 \cdot \delta \lambda$, un pixel CCD du spectromètre correspond à l'intervalle de longueur d'onde $[\lambda - \delta \lambda, \lambda + \delta \lambda]$)
Les données brutes fournies par un spectro correspondent à une table où chaque ligne est par exemple de la forme xxxx yyyy zzzz :
  • xxxx est un n° de pixel (par exemple entre 0 et 1023 pour une barrette CCD de 1024 pixels).
  • yyyy est une longueur d'onde.
  • zzzz est une valeur qui est proportionnelle à l'intensité spectrale détectée par le pixel (sa réso dépend du nombre du bits de l'ADC).
Il est essentiel que la correspondance entre xxxx et yyyy soit la plus juste possible, sinon les intensités spectrales seront décalées par rapport à la réalité, ce qui conduira à un calcul erroné des composantes colorimétriques X Y et Z.

L'ajustement de cette correspondance s'appelle la calibration des longueurs d'ondes (wavelength calibration). Tous les spectros vendus sont livrés précalibrés en longueur d'onde. Il est recommandé de la refaire tous les deux ans car elle est très sensible aux contraintes thermiques que subit le spectro. Ces contraintes ont un impact sur la structure du réseau de diffraction (diffraction grating) qui décompose la lumière ainsi que sur les positionnements et les orientations des différents éléments optiques (split, filtres, miroirs, ...) situés sur le chemin optique. Ces déformations structurelles induisent un décalage de la lumière décomposée sur la barette CCD et ce décalage n'est pas forcément uniforme.

Image
https://wavelength-oe.com/fr/what-is-a-spectrometer/

Pour la mesure colorimétrique des projos lasers, la justesse de cette correspondance est encore plus critique car les primaires sont très étroites. Un glissement de 2 ou 3 pixels du spectre (généralement un pixel correspond à un $\Delta \lambda$ inférieur à 0.5 nm) conduit à des erreurs discernables sur (x,y). C'est pourquoi les spectros utilisés pour la métrologie radiométrique des lasers sont stabilisés thermiquement. Il est important que leur température d'utilisation corresponde à celle de leur wavelength calibration.
 

POSTREACT(ions) SUMMARY

Modifié en dernier par Emmanuel Piat le 24 févr. 2026, 15:03, modifié 2 fois.
Emmanuel Piat
49 dB
Messages : 115
Enregistré le : 11 janv. 2026, 11:26

Re: Les sondes de calibration

Message par Emmanuel Piat »

La correspondance entre pixel et longueur d'onde se fait en utilisant un polynôme de degré 3 qui compense la projection d'un réseau plat sur un détecteur plat sans créer des oscillations artificielles :
$$
\lambda(p) = a_0 + a_1 \cdot p + a_2 \cdot p^2 + a_3 \cdot p^3$$
avec $p$ le numéro de pixel à partir de zéro et :
  • $a_0$ : l'ordonnée à l'origine (longueur d'onde de départ).
  • $a_1$ : la résolution spectrale par pixel moyenne ($\Delta \lambda$" moyenné sur la barrette).
  • $a_2, a_3$ : des termes de correction de la non-linéarité induite par le réseau de diffraction.
Si on veut faire la wavelength calibration soi-même, il faut pouvoir calculer ces coefficients. La bonne nouvelle, c'est que pour une fois on peut le faire facilement pour un coût modique.
 

POSTREACT(ions) SUMMARY

Emmanuel Piat
49 dB
Messages : 115
Enregistré le : 11 janv. 2026, 11:26

Re: Les sondes de calibration

Message par Emmanuel Piat »

On utilise une lampe Mercure-Argon (Hg-Ar) qui émet un spectre de raies à des longueurs d'ondes très précises et parfaitement connues. Le prix min en Chine pour ce type de lampe est d'env. 170€ avec les fdp :
https://fr.aliexpress.com/item/1005008518064287.html
https://fr.aliexpress.com/item/1005008530945638.html

Il faut bien prendre le modèle avec connecteur SMA905 (pour le relier à une fibre optique standard).

Voici la liste des principales raies de référence pour ce type de lampe :

Elément - (nm) - Intensité Relative - Intérêt pour la wavelength calibration

Hg 365,015 - Forte - Ancre UV : Pour caler le début du spectre.
Hg 404,656 - Moyenne - Utile pour la linéarité du bleu.
Hg 435,833 - Très Forte -Pivot Bleu : La plus proche du laser bleu (450 nm).
Hg 546,074 - Très Forte - Référence centrale : La raie la plus stable du mercure.
Hg 576,960 - Moyenne - Doublet jaune (souvent avec 579,06 nm).
Ar 696,543 - Forte - Début de la zone Argon pour le rouge.
Ar 706,722 - Moyenne - Calibration zone rouge.
Ar 738,393 - Moyenne - Calibration zone rouge.
Ar 763,511 - Forte - Excellente raie de calage NIR.
Ar 811,531 - Très Forte - Ancre Rouge : Pour caler la fin du spectre.
 

POSTREACT(ions) SUMMARY

Emmanuel Piat
49 dB
Messages : 115
Enregistré le : 11 janv. 2026, 11:26

Re: Les sondes de calibration

Message par Emmanuel Piat »

Image

Comme l'illustre le snapshot au-dessus, la plupart des logiciels d'exploitation des spectro sont capables de calculer avec précision la longueur d'onde du pic de chaque raie en nm par une méthode d'interpolation. Néanmoins, pour calculer précisement les coeff du polynome, il est important de savoir à quelle fraction de pixel correspond ce pic. Soit le logiciel donne cette info, soit il faut la calculer. il y a plusieurs manière pour le faire. En voici une très simple qui part des pixels (valeur entière) et utilise un calcul de barycentre (méthode du centroïde) à partir du spectre normalisé $S_{n,Hg-Ar}(\lambda)$ (préférablement lissé pour enlever le bruit) pour trouver la fraction de pixel $p_{centroide}$ correspondant au pic :

$$p_{centroide} = \frac{\sum (I_i \cdot p_i)}{\sum I_i}$$
$I_i$ est l'intensité du pixel $p_i$ (valeur entière) situé autour du pixel du pic.

Exemple pour la raie verte du mercure à 546.074 nm :

1. On cherche le pixel entier le plus haut pour cette raie (ex: p = 1210).
2. On calcule la formule au-dessus en prenant $\pm$4 pixels autour du pic. On obtient alors par exemple la valeur 1210.34.
3. On a la correspondance : 546.074 <-> 1210.34
4. On recherche la correspondance pour tous les pics connus (ne pas hésiter à changer le temps d'intégration pour bien voir chaque pic. Ne pas oublier de refaire le dark à chaque fois)

Le code ci-dessous en Scilab effectue la partie 2.

Code : Tout sélectionner

function p_fine = find_centroid(spectre_norm, p_approx, largeur)
    // spectre_norm : le vecteur des intensités normalisées et lissées
    // p_approx    : l'indice entier du sommet du pic
    // largeur     : nombre de pixels à prendre autour du sommet (ex: 5)
    
    // Isolation de la fenêtre autour du pic
    indices = (p_approx - largeur) : (p_approx + largeur);
    intensites = spectre_norm(indices);
        
    // Calcul du centroïde (Centre de gravité)
    p_fine = sum(indices .* intensites) / sum(intensites);
endfunction
A la fin, on a une table de correspondance et il faut donc que le polynôme fit le plus possible à cette correspondance. Par exemple, pour la 1ère correspondance, il faut que :
$$
\lambda(1210.34) = 546.074 \approx a_0 + a_1 \cdot 1210.34 + a_2 \cdot 1210.34^2 + a_3 \cdot 1210.34^3
$$
Pour obtenir le fit, on procède par moindres carrés.
 

POSTREACT(ions) SUMMARY

Emmanuel Piat
49 dB
Messages : 115
Enregistré le : 11 janv. 2026, 11:26

Re: Les sondes de calibration

Message par Emmanuel Piat »

Une fois qu'on a déterminé le polynôme, il faut vérifier son efficacité en utilisant la méthode des résidus. Pour chaque vraie longueur d'onde de référence $\lambda_{vrai, i}$, on calcule la différence :
$$
R_i = \lambda_{vrai, i} - \lambda_{calculée, i}.
$$
Ensuite, on trace la courbe $R_i$ versus $\lambda_{vrai, i}$.

- Si les points sont éparpillés de manière aléatoire autour de zéro (bruit blanc), alors le polynôme de degré 3 capture parfaitement le fit sans aucune tendance marquée. L'erreur restante n'est que du bruit lié à la méthode utilisée pour identifier la valeur en pixel des pics (incertitude sur le fit centroïde).

- Si on voit apparaître une forme (typ. en "S" ou en "U"), cela signifie que le degré 3 est insuffisant pour représenter correctement le fit ou que l'une des raies a été mal identifiée (erreur de pixel) et fausse le fit.

- Si on voit un point aberrant (outlier) qui sort du bruit, il y a un problème de calcul de la valeurs en pixel d'un des pics.

On peut aussi calculer l'erreur RMS du fit en nm :
$$
RMSE = \sqrt{\frac{1}{N}\sum_{i=1}^N R_i^2}
$$
Il faut qu'elle soit bien inférieure à $\Delta \lambda$.
 

POSTREACT(ions) SUMMARY

Emmanuel Piat
49 dB
Messages : 115
Enregistré le : 11 janv. 2026, 11:26

Re: Les sondes de calibration

Message par Emmanuel Piat »

C'est pourquoi les spectros utilisés pour la métrologie radiométrique des lasers sont stabilisés thermiquement. Il est important que leur température d'utilisation corresponde à celle de leur wavelength calibration.
Évidement, les spectros de labo "pas chers" sont des modèles compacts qui ne sont pas stabilisés thermiquement. Par ailleurs, comme ils sont compacts, ils embarquent peu de masse (surtout les modèle dit "micro" qui sont vraiment hyper compacts) donc ils évoluent facilement en température. Pour les stabiliser thermiquement, je ne vois pas d'autre solution que de les poser sur un support thermostaté. Ca existe évidemment en matos de labo mais le prix va de cher à très cher ... J'ai un peu investigué la question et pour le moment le seul truc que j'ai trouvé à petit prix qui pourrait peut-être convenir c'est les tapis chauffants pour les semis ou les vivariums pour par exemple maintenir une température de 25°C :

Modèle pour semis avec une sonde de température :
https://www.amazon.fr/dp/B08GLPSLLS

Modèle pour vivarium (petit taille) :
https://www.amazon.fr/dp/B0B74PV5MB

En posant le spectro sur ce type de tapis, on devrait pouvoir le stabiliser en température (qui devra être celle qui correspond à toutes les calibrations).
 

POSTREACT(ions) SUMMARY

Modifié en dernier par Emmanuel Piat le 24 févr. 2026, 22:34, modifié 2 fois.
Emmanuel Piat
49 dB
Messages : 115
Enregistré le : 11 janv. 2026, 11:26

Re: Les sondes de calibration

Message par Emmanuel Piat »

On trouve des petits spectro portables avec affichage intégré. Ceux qui ont une réso de $\approx$11 nm sont dans la tranche 1500-2000€. Exemple :
https://www.la-bs.com/fr/art/se-c800_se ... -c-800.htm

Vu la taille du bestiau, il utilise forcément un chip optique tout intégré qui fait la fonction spectro. En cherchant un peu, on trouve vite chez les revendeurs d'électronique ;
https://fr.farnell.com/hamamatsu/c12666 ... dp/4228555

486€ HT

Les spécif du datasheet collent : réso typ. de 10-12 (max 15) nm (voir courbe). Barette CMOS de 256 pixels. Il y a un schéma sommaire d'interfaçage.

Il faut lui ajouter un conditionnement du signal analogique renvoyé par le chip, un micro-contrôleur avec ADC intégré et un périph. USB pour le piloter depuis un PC et récupérer la data ... C'est à la portée d'un électronicien amateur motivé qui aime jouer avec les µcontrôleurs ... Donc pour moins de 600 €, on a un spectro avec 10-15 nm de réso (convient pour un moniteur ou un projo à lampe ou pour mesurer la CCT d'une lampe QTH). Reste le pb de la calib radiométrique de ce type de chip. Comment fait Sekonic ?
 

POSTREACT(ions) SUMMARY

Modifié en dernier par Emmanuel Piat le 24 févr. 2026, 17:44, modifié 1 fois.
Emmanuel Piat
49 dB
Messages : 115
Enregistré le : 11 janv. 2026, 11:26

Re: Les sondes de calibration

Message par Emmanuel Piat »

Ce chip est livré avec un certificat de wavelength calibration via un polynôme d'ordre 5 qu'il faut intégrer ds le soft qui l'exploite. Pas de calib radiométrique en intensité.

L'évaluation board coute $950 (avec chip déporté non inclus).

EDIT : version avec chip inclus à 554 dollars :
https://shop.hamamatsu.com/collections/ ... ule-c13985

Un repo Github pour faire fonctionner la version un peu plus sensible qui descend sous 10 nm (C12880MA) avec un Raspery Pi :
https://github.com/icfaust/c12880maPi

Avec Arduino Uno : https://github.com/groupgets/c12666ma
 

POSTREACT(ions) SUMMARY

Modifié en dernier par Emmanuel Piat le 24 févr. 2026, 19:30, modifié 1 fois.
Emmanuel Piat
49 dB
Messages : 115
Enregistré le : 11 janv. 2026, 11:26

Re: Les sondes de calibration

Message par Emmanuel Piat »

Un doc technique intéressant qui donne bcp d'infos :
https://www.hamamatsu.com/content/dam/h ... c9003e.pdf

Hamamatsu dit que ses mini spectros sont très stables thermiquement au niveau de la correspondance pixel <-> longueur d'onde car il utilise des matériaux avec de faibles coeff. de dilatation thermique. On parle-là de spectros entre 3000 et 8000 dollars.

Les modèles qui ont en plus un contrôle en température maintiennent le détecteur à -20°C. Malgré cela le dark reste dépendant de la température ambiante.
 

POSTREACT(ions) SUMMARY

Modifié en dernier par Emmanuel Piat le 24 févr. 2026, 22:22, modifié 1 fois.
Emmanuel Piat
49 dB
Messages : 115
Enregistré le : 11 janv. 2026, 11:26

Re: Les sondes de calibration

Message par Emmanuel Piat »

La stabilité thermique est surtout pour les modèles dont le grating est en quartz, car ce matériau à un coeff de dilatation thermique extrêmement faible qui le rend quasi insensible à la température. Les gratings en résine (moins chers) qui travaillent en réflexion et pas en transmission sont moins performants sur ce point (voir tableau 2-2 p5).
 

POSTREACT(ions) SUMMARY

Répondre