kaira.utils.snr.add_noise_for_snr

kaira.utils.snr.add_noise_for_snr(signal: Tensor, target_snr_db: float | Tensor, dim: int | Tuple[int, ...] | None = None) Tuple[Tensor, Tensor][source]

Add Gaussian noise to achieve a target Signal-to-Noise Ratio.

Parameters:
  • signal (torch.Tensor) – The original clean signal.

  • target_snr_db (Union[float, torch.Tensor]) – Target Signal-to-Noise Ratio in decibels (dB).

  • dim (Optional[Union[int, Tuple[int, ...]]]) – Dimensions to reduce when calculating power. If None, uses all dimensions.

Returns:

A tuple containing:
  • Noisy signal (original signal with added noise)

  • The generated noise component

Return type:

Tuple[torch.Tensor, torch.Tensor]