I need a reasonably accurate (at least qualitatively) way of simulating a sensor response to imaging stars from the Tycho2 Catalogue. The simulated sensor has specific quantum efficiency curves (as it is used in a larger spectral renderer), so I'd like to be able to treat stars in the same way. My thought process was that I could use VT and BT magnitudes to compute the B-V color index as well as the Visual magnitude from the Johnson-Morgan system, and use these to scale a black-body spectrum. This feels like it would be reasonable for my purposes, however I am a bit confused as to how to find the appropriate scaling.
My thought process was to perform 2 steps:
- Compute the photon flux density for the V magnitude by using the Photon flux reference table found here. This is relatively straightforward.
- Integrate the black body spectrum (evaluated using the estimated Temperature from the B-V color index) over the wavelengths of the V-band to determine the number of photon's. Then simply divide the number of photons predicted in the first step by the number predicted by this step, to determine a scaling factor. I can then generate a (approximate) spectral irradiance curve over any subset of wavelengths.
My thought process as to why this would be reasonable is because the shape of the spectral irradiance distribution should be the same as the shape of the spectral radiance, differing only by a scale factor (essentially with units of steradians).
So I would start with:
$$ \begin{align} V &= V_T - 0.090 \cdot (B_T - V_T)\\ B\text{-}V &= 0.85 \cdot (B_T - V_T) \end{align} $$
Then I would approximate the temperature using the color index
$$ T=4600\,\mathrm {K} \left({\frac {1}{0.92\;(B{\text{-}}\!V)+1.7}}+{\frac {1}{0.92\;(B{\text{-}}\!V)+0.62}}\right) $$
From the Photon Flux table:
Band | lambda_c | dlambda/lambda | Flux at m=0 |
---|---|---|---|
V | 0.55 | 0.16 | 3640 |
For the V-band I can compute: $$ 1 Jy = 1.51\times10^7 \frac{photons}{sec \cdot m^2} $$
Thus giving the photon flux as: $$ \Phi_p = 10^{\left(V/-2.5\right)} \cdot 3640 \cdot 1.51\times10^7 \cdot 0.16 $$
Now I would take the temperature to generate a black body spectrum, divide it by the corresponding photon energy for each wavelength, and integrate to obtain an estimate of the photon flux:
$$ \hat{\Phi}_p = \int_{\lambda_1}^{\lambda_2} {\frac {2hc^{2}}{\lambda ^{5}}}{\frac {1}{\exp\left({\frac{hc}{\lambda kT}}\right) - 1}} \cdot \frac{\lambda}{hc} d\lambda $$
I would use ${\lambda_1} = 463nm$ and ${\lambda_2} = 639nm$ (based on the $550nm$ centered wavelength, and FWHM of $88nm$, as specified in the Photometric letters section)
With this new estimated value, I can obtain a scaling factor simply as $s = \Phi_p / \hat{\Phi}_p$
With this new scale factor, I can generate a spectral irradiance distribution that produces the expected number of photons within the V-band, but can be used to extrapolate that photon flux to other wavelengths.
I'm wondering if this is at all a reasonable thing to do? Again it does not have to be exact, but I believe so long as my assumptions are reasonable (that B-V color index can approximate temperature, and that stars can be approximated as black bodies), that this isn't an unreasonable approximation to make. Still, the integrating and computing a scale factor feels a bit wonky. Is there a better way of going about this?
Edit:
I attempted this using the Sun as a reference since the solar irradiance is readily available. I used: $$ \begin{align} V &= -26.832\\ B\text{-}V &= 0.656 \end{align} $$
Calculating this out, I got an estimated temperature of $5756.6K$ and a photon flux of $4.7533\times10^{20}\frac{photons}{m^2 s}$. That seems reasonable. Integrating the black body spectrum between ${\lambda_1} = 463nm$ and ${\lambda_2} = 639nm$ to obtain a photon flux from that (numerically done simply using a Riemann sum with 1 million steps:
mid = 551e-9;
fwhm = 88e-9;
lam = linspace(mid-fwhm, mid+fwhm, 1e6);
dlam = lam(2) - lam(1); % Units of m
rad = planck(Tnew, lam, c, h, k); % Units of W/(sr m^3)
E = h*c./lam; % Units of J
photonCounts = radi./E; % Units of photons/(sr m^3 s)
flux = sum(photonCounts)*dlam; % Units of photons/(sr m^2 s)
I obtain $1.2160\times10^{25} \frac{photons}{sr \cdot m^2 s}$. Thus giving a scale factor of $3.9089\times^{-5} sr$.
Going back and integrating the whole black body spectrum from $1nm$ to $2500nm$ and multiplying by this scale factor, yields a total irradiance of $747.98W/m^2$. This is encouraging because it is the right order of magnitude, but seemingly off by a factor of ~2. So something isn't quite right.
Edit 2:
I looked at this chart of the various filter bands, and approximated the V-filter with a skewed gaussian distribution yielding a reasonable approximation:
This obviously isn't exact, but when I multiply this (elementwise) to the black body spectrum when computed $\hat{\Phi}_p$, I get a new estimated flux of $6.2061\times10^{24} \frac{photons}{sr \cdot m^2 s}$, which is ~half the previous flux. Following this through, I obtain a solar irradiance of $1465.6 \frac{W}{m^2}$. This differs by ~10% which seems like what I would expect.
So it seems the missing piece was accounting for the shape of the filter distribution, which completely makes sense now that I think about it. I only roughly approximated the filter distribution, so perhaps using a true function would yield even better results.
Edit 3:
After working through this, I came to think... the "scale" factor I just assumed was meaningless is actually the solid angle subtended by the star. Which makes total sense for what I'm doing, and explains why it had units of steradians. Is what I've done here similar in principle to how the size of a star is estimated? (Assuming the distance is known to convert the angular size to a physical diameter)