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 \(T\):

\[T_{RJ}(\nu, T) = \frac{h\nu / k_B}{\exp\!\left(\frac{h\nu}{k_B T}\right) - 1}\]

At radio frequencies (\(h\nu \ll k_B T\)) this reduces to \(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 \(h\nu / k_B T < 10^{-10}\)):

\[T_{RJ} \approx T - \frac{h\nu}{2 k_B}\]

Implementation: cal-core/src/math/rayleigh_jeans.rsantenna_temperature_rj()

Physics Constants#

Two modes are supported for backward compatibility:

Mode

\(h/k_B\)

Precision

Exact (SI 2019)

\(4.799\,243\,073\,366 \times 10^{-11}\) K/Hz

f64 throughout

KalibrateCompat

\(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.rsPhysicsConstants enum

Sideband-Weighted (Primed) Temperatures#

Heterodyne receivers are sensitive to both sidebands. The effective (“primed”) load temperatures weight each sideband by its gain:

\[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}\]
\[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 \(g_s x_s\) and \(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.rsresolve_calibration_load()