torchsig.transforms.functional.time_varying_noise

torchsig.transforms.functional.time_varying_noise(data: ~numpy.ndarray, noise_power_low: float, noise_power_high: float, inflections: int, random_regions: bool, rng: ~numpy.random._generator.Generator = Generator(PCG64) at 0x7694D3FA57E0) ndarray[source]

Adds time-varying complex additive white Gaussian noise with power levels in range (noise_power_low, noise_power_high) dB and with inflections number of inflection points spread over the input iq data randomly if random_regions is True or evenly spread if False.

Parameters:
  • data (np.ndarray) – IQ data.

  • noise_power_low (float) – Minimum noise power in dB.

  • noise_power_high (float) – Maximum noise power in dB.

  • inflections (int) – Number of inflection points over IQ data.

  • random_regions (bool) – Inflections points spread randomly (True) or not (False).

  • rng (np.random.Generator, optional) – Random number generator. Defaults to np.random.default_rng(seed=None).

Returns:

IQ data with time-varying noise.

Return type:

np.ndarray