============================ Rayleigh-Jeans Correction ============================ At submillimeter wavelengths the Rayleigh-Jeans approximation breaks down, and the full Planck function must be used to relate physical temperature to brightness temperature. Physical Motivation ------------------- The Rayleigh-Jeans temperature is the equivalent brightness temperature that would produce the same spectral radiance as a blackbody at physical temperature :math:`T`: .. math:: T_{RJ}(\nu, T) = \frac{h\nu / k_B}{\exp\!\left(\frac{h\nu}{k_B T}\right) - 1} At radio frequencies (:math:`h\nu \ll k_B T`) this reduces to :math:`T`, but at 4.7 THz (upGREAT) the correction is significant — a 300 K load has an effective RJ temperature of only ~290 K. Low-frequency limit (used when :math:`h\nu / k_B T < 10^{-10}`): .. math:: T_{RJ} \approx T - \frac{h\nu}{2 k_B} **Implementation:** ``cal-core/src/math/rayleigh_jeans.rs`` → ``antenna_temperature_rj()`` Physics Constants ----------------- Two modes are supported for backward compatibility: .. list-table:: :header-rows: 1 :widths: 25 35 40 * - Mode - :math:`h/k_B` - Precision * - ``Exact`` (SI 2019) - :math:`4.799\,243\,073\,366 \times 10^{-11}` K/Hz - f64 throughout * - ``KalibrateCompat`` - :math:`0.047995 \times 10^{-9}` K/Hz - f32 truncation to match legacy code The ``KalibrateCompat`` mode reproduces the exact numerical behaviour of the legacy kalibrate C++/Fortran code, enabling parity validation. **Implementation:** ``cal-core/src/config.rs`` → ``PhysicsConstants`` enum Sideband-Weighted (Primed) Temperatures ---------------------------------------- Heterodyne receivers are sensitive to both sidebands. The effective ("primed") load temperatures weight each sideband by its gain: .. math:: T'_{hot} = \frac{g_s x_s \cdot T_{RJ}(\nu_{sig}, T_{hot}) + g_i x_i \cdot T_{RJ}(\nu_{img}, T_{hot})} {g_s x_s + g_i x_i} .. math:: T'_{cold} = \frac{g_s x_s \cdot T_{RJ}(\nu_{sig}, T_{cold}) + g_i x_i \cdot T_{RJ}(\nu_{img}, T_{cold})} {g_s x_s + g_i x_i} where :math:`g_s x_s` and :math:`g_i x_i` are the signal and image sideband gain-suppression products (typically both 0.5 for DSB receivers). **Implementation:** ``cal-io/src/resolve.rs`` → ``resolve_calibration_load()``