Source code for pyphysim.channels.noise

#!/usr/bin/env python

# pylint: disable=E1103
from typing import cast

import scipy.constants

from ..util.conversion import linear2dBm


[docs]def calc_thermal_noise_power_dBm(T: float, delta_f: float) -> float: """ Calculate the thermal noise power (in dBm) for the given room temperature `T` (in CÂș) and bandwidth `delta_f` (in Hz). Parameters ---------- T : float Room temperature in Cesium degrees. delta_f : float Bandwidth in Hz. Returns ------- noise_var : float The noise power. """ # Boltzmann constant B = cast(float, scipy.constants.Boltzmann) K = T + 273.0 noise_power = B * K * delta_f noise_power_dBm = linear2dBm(noise_power) return noise_power_dBm