mais qu'est-ce qui nous prouve que la sensibilité de notre capteur est la même à différentes longueurs d'ondes ?
Elle ne l'est pas et c'est que qu'on cherche à compenser pour chaque longueur d'onde lorsqu'on calibre un spectro.
Le spectre théorique du corps noir te donne une intensité absolue pour chaque longueur d'onde. Imaginons qu'on la normalise entre 0 et 80% sur l'intervalle de longueur d'onde du VIS : le max de la courbe vaudra 0.8.
Pourquoi 80% ? Parce qu'au delà la réponse des cellules CCD d'un spectro n'est plus linéaire sur sa plage 0-100%.
Ensuite tu mesures le spectre d'une lampe qui émet un rayonnement très proche du corps noir sur le domaine VIS. Tu ajustes le temps d'intégration pour avoir le max du spectre obtenu à 80% de la plage de mesure [0, 2^n] (cet ajustement agit comme un gain sur le spectre mesuré) ou n correspond à la réso de l'ADC du spectro (16 bits ou 14 bits typ.). Sur une échelle 0-1, le max du spectre mesuré sera à 0.8 et sera situé tout à droite si la lampe à une TC de 2800K.
Puis tu calcules un coeff de correction C(lambda) DIFFERENT POUR CHAQUE LONGUEUR D'ONDE lambda afin de faire matcher les 2 courbes. Cette courbe C de correction n'est valable que pour ce temps d'intégration. Si le temps d'intégration change, il faut ajouter une autre correction linéaire en temps car comme tu l'as très justement fait remarquer :
Pour chaque pixel, un temps d'exposition deux fois plus long donne une intensité deux fois plus élevée.
La vérification de la linéarité d'un spectro par rapport au temps d'intégration est très facile à faire. Elle correspond au tracé d'une courbe sensée être une droite passant par 0. Cette linéarité peut se dégrader pour les temps trop courts ou trop longs à cause de la réponse temporelle d'une cellule CDD. En général, le logiciel du spectro n'autorise que la plage où le gain induit par le temps d'intégration est bien linéaire. J'ai prévu de le vérifier.
Il faut également tenir compte de la mesure du "dark" qui correspond au bruit blanc large bande de la réponse du spectro lorsqu'il ne mesure rien. Ce bruit amène une puissance spectrale supplémentaire sur chaque pixel et ajoute de ce fait un offset sur le spectre qui dépend également du temps d'intégration (car ce qu'on mesure au final est une énergie, donc une quantité qui dépend du temps). Chaque fois qu'on change le temps d'intégration, il faut refaire la mesure du "dark" pour retirer l'offset.
Au final, on obtient une formule de correction S_corr(lambda) = f(S_brut(lambda)) du spectre brut S_brut(lambda) qui va dépendre de lambda, du temps d'intégration et du niveau de dark. S_coor(lambda) correspond au spectre calibré. Je détaillerai cette formule dès que je l'aurais implémentée et testée avec une lampe halogène-tungstène.