pespace.detector.noise

Module for modeling noise behavior of detectors.

Classes

AnalyticPowerSpectralDensity(...)

Analytic model for ideal Gaussian stationary noise.

FrequencyDomainNoiseModel()

Abstract base class for noise models in frequency-domain.

TianQinAnalyticPowerSpectralDensity(...)

Analytic noise model for TianQin.

class pespace.detector.noise.FrequencyDomainNoiseModel[source]

Bases: ABC

Abstract base class for noise models in frequency-domain.

abstractmethod power_spectral_density_array(frequencies, tdi_channels, tdi_generation)[source]

Compute power spectral density arrays.

Parameters:
  • frequencies (NDArray) – Array of frequency values at which to compute the PSD.

  • tdi_channels (tuple[str, ...]) – Tuple of TDI channel names (e.g., ‘X’, ‘Y’, ‘Z’, ‘A’, ‘E’, ‘T’).

  • tdi_generation (str) – TDI generation version (e.g., ‘1.5’ or ‘2.0’).

Returns:

Dictionary mapping TDI channel names to their corresponding PSD arrays.

Return type:

dict[str, NDArray]

_abc_impl = <_abc._abc_data object>
class pespace.detector.noise.AnalyticPowerSpectralDensity(OMS_noise_level, acc_noise_level, arm_length_sec)[source]

Bases: FrequencyDomainNoiseModel

Analytic model for ideal Gaussian stationary noise.

Parameters:
  • OMS_noise_level (float)

  • acc_noise_level (float)

  • arm_length_sec (float)

OMS_noise_level

Noise level for Optical Metrology System, in m^2 Hz^-1.

Type:

float

acc_noise_level

Noise level for acceleration, in m^2 s^-4 Hz^-1.

Type:

float

arm_length_sec

Arm length of the detector, in seconds.

Type:

float

Notes

The formulae are based on the model described in https://arxiv.org/abs/2108.01167.

OMS_noise_level: float
acc_noise_level: float
arm_length_sec: float
_S_oms(frequencies)[source]

Compute Optical Metrology System noise.

Parameters:

frequencies (NDArray) – Array of frequency values in Hz.

Returns:

OMS noise array.

Return type:

NDArray

_S_acc(frequencies)[source]

Compute acceleration noise.

Parameters:

frequencies (NDArray) – Array of frequency values in Hz.

Returns:

Acceleration noise array.

Return type:

NDArray

power_spectral_density_array(frequencies, tdi_channels, scaling, tdi_generation)[source]

Generate power spectral density arrays.

Parameters:
  • frequencies (NDArray) – Array of frequency values in Hz at which to compute the PSD.

  • tdi_channels (tuple[str, ...]) – Tuple of TDI channel names. Supported channels are ‘X’, ‘Y’, ‘Z’, ‘A’, ‘E’, and ‘T’.

  • scaling (bool) – If True, apply geometric scaling factor (PC_SI / (MRSUN_SI * MTSUN_SI))^2. Using scaling=True when default_fp=ti.f32.

  • tdi_generation (str) – Supported values are ‘1.5’ and ‘2.0’.

Returns:

Dictionary mapping each TDI channel name to its corresponding PSD array.

Return type:

dict[str, NDArray]

Raises:
  • ValueError – If an unknown TDI channel is specified.

  • Exception – If an unknown TDI generation is specified.

_abc_impl = <_abc._abc_data object>
class pespace.detector.noise.TianQinAnalyticPowerSpectralDensity(OMS_noise_level, acc_noise_level, arm_length_sec)[source]

Bases: AnalyticPowerSpectralDensity

Analytic noise model for TianQin.

This class extends the base analytic PSD model with TianQin-specific frequency dependencies for OMS and acceleration noise.

Parameters:
  • OMS_noise_level (float)

  • acc_noise_level (float)

  • arm_length_sec (float)

OMS_noise_level

Noise level for Optical Metrology System, in m^2 Hz^-1.

Type:

float

acc_noise_level

Noise level for acceleration, in m^2 s^-4 Hz^-1.

Type:

float

arm_length_sec

Arm length of the detector, in seconds.

Type:

float

Notes

The model is described in https://arxiv.org/abs/2309.15020.

_S_oms(frequencies)[source]

Compute Optical Metrology System noise for TianQin.

Parameters:

frequencies (NDArray) – Array of frequency values in Hz.

Returns:

OMS noise array.

Return type:

NDArray

_S_acc(frequencies)[source]

Compute acceleration noise for TianQin.

Parameters:

frequencies (NDArray) – Array of frequency values in Hz.

Returns:

Acceleration noise array.

Return type:

NDArray

_abc_impl = <_abc._abc_data object>