Noise Module

The noise module provides comprehensive noise analysis capabilities for RF system design, including thermal noise calculations, noise figure conversions, and SNR analysis.

Noise Power

The thermal noise power for a given bandwidth and temperature is:

\[P_n = k T B\]

where \(k\) is Boltzmann’s constant, \(T\) is the noise temperature in Kelvin, and \(B\) is the bandwidth in Hz.

Density, is just:

\[P_n = k T\]

Noise Figure / Factor Modeling

The noise figure is a measure of the degradation of the signal-to-noise ratio (SNR) due to the noise added by the amplifier, given an input noise temperature of T_0. If the input noise temperature is not equal to T_0, noise figure cannot be used to measure the degradation in SNR.

The relationships between noise temperature, noise figure, and noise factor are:

\[F = 1 + \frac{T}{T_0}\]
\[T = (F - 1) T_0\]
\[\text{NF}_{\text{dB}} = 10 \log_{10}(F)\]
\[F = 10^{\text{NF}_{\text{dB}}/10}\]

where \(T\) is the noise temperature, \(T_0\) is the reference temperature (290 K), \(F\) is the noise factor, and \(\text{NF}_{\text{dB}}\) is the noise figure in dB.

Noise temperature and SNR

It is important to remember what the noise temperature is. The noise temperature of an amplifier is the input referred noise temperature, meaning we model the amplifier as a noiseless amplifier with a noisy resistor at the input with temperature \(T\). The output noise temperature is therefore \(G T\) where \(G\) is the gain of the amplifier. To accurately model the SNR through the amplifier chain, best practice is to model the noise power separately from the signal power and then compute the SNR at the output.

spacelink.core.noise.noise_power(bandwidth, temperature=<Quantity 290. K>)[source]

Calculate the thermal noise power for a given bandwidth and temperature.

Parameters:
  • bandwidth (Frequency) – Bandwidth in Hz

  • temperature (Temperature, optional) – Noise temperature in Kelvin (default: 290 K)

Returns:

Noise power in Watts

Return type:

Power

spacelink.core.noise.noise_power_density(temperature)[source]

Calculate the noise power density for a given temperature.

Parameters:

temperature (Temperature) – Noise temperature in Kelvin

Returns:

Noise power density in Watts per Hertz

Return type:

PowerDensity

spacelink.core.noise.temperature_to_noise_factor(temperature)[source]

Convert noise temperature to noise factor (linear).

Parameters:

temperature (Temperature) – Noise temperature in Kelvin

Returns:

Noise factor (dimensionless, linear)

Return type:

Dimensionless

spacelink.core.noise.noise_factor_to_temperature(noise_factor)[source]

Convert noise factor (linear) to noise temperature.

Parameters:

noise_factor (Dimensionless) – Noise factor (dimensionless, linear)

Returns:

Noise temperature in Kelvin

Return type:

Temperature

spacelink.core.noise.noise_figure_to_temperature(noise_figure)[source]

Convert noise figure (in dB) to noise temperature (in Kelvin).

Parameters:

noise_figure (Decibels) – Noise figure in dB

Returns:

Noise temperature in Kelvin

Return type:

Temperature

spacelink.core.noise.temperature_to_noise_figure(temperature)[source]

Convert noise temperature in Kelvin to noise figure in dB.

Parameters:

temperature (Temperature) – Noise temperature in Kelvin

Returns:

Noise figure in dB

Return type:

Decibels

spacelink.core.noise.ebn0_to_cn0(ebn0, bitrate)[source]

Convert \(E_b/N_0\) to \(C/N_0\).

Parameters:
  • ebn0 (Decibels) – \(E_b/N_0\)

  • bitrate (Frequency) – Bitrate

Returns:

\(C/N_0\)

Return type:

DecibelHertz

spacelink.core.noise.cn0_to_ebn0(cn0, bitrate)[source]

Convert \(C/N_0\) to \(E_b/N_0\).

Parameters:
  • cn0 (DecibelHertz) – \(C/N_0\)

  • bitrate (Frequency) – Bitrate

Returns:

\(E_b/N_0\)

Return type:

Decibels