torchsig.transforms.signal_transforms.AdditiveNoiseSignalTransform

class torchsig.transforms.signal_transforms.AdditiveNoiseSignalTransform(power_range: Tuple = (0.01, 10.0), color: str = 'white', continuous: bool = True, measure: bool = False, **kwargs)[source]

Bases: SignalTransform

Adds noise with specified properties to Signal data.

power_range

Range bounds for interference power level (W). Defaults to (0.01, 10.0).

Type:

Tuple[float, float]

power_distribution

Random draw of interference power.

Type:

Callable[[], float]

color

Noise color, supports ‘white’, ‘pink’, or ‘red’ noise frequency spectrum types. Defaults to ‘white’.

Type:

str

continuous

Sets noise to continuous (True) or impulsive (False). Defaults to True.

Type:

bool

measure

Measure and update SNR metadata. Default to False.

Type:

bool

Methods

add_parent

Add parent Seedable object and set up RNGs accordingly

get_distribution

get_second_seed

Gets second seed, usually used to seed both torch and numpy generators with slightly different seeds

seed

Seed number generators with given seed.

setup_rngs

Initialize torch and numpy number generators, and update its children.

update

Updates bookkeeping to transforms in Signal's SignalMetadata and checks signal valididty.

update_from_parent

Update numpy and torch number generators with parent seed

__init__(power_range: Tuple = (0.01, 10.0), color: str = 'white', continuous: bool = True, measure: bool = False, **kwargs)[source]

Transform initialization as Seedable.

__call__(signal: Signal) Signal[source]

Performs transforms.

Parameters:

signal (Signal) – Signal to be transformed.

Raises:

NotImplementedError – Inherited classes must override this method.

Returns:

Transformed Signal.

Return type:

Signal

__repr__() str

Transform string representation. Should be able to recreate class from this string.

Returns:

Transform representation.

Return type:

str

__str__() str

Return str(self).

add_parent(parent) None

Add parent Seedable object and set up RNGs accordingly

get_second_seed(seed: int) int

Gets second seed, usually used to seed both torch and numpy generators with slightly different seeds

Parameters:

seed (int) – Seed to use.

Returns:

New seed.

Return type:

int

seed(seed: int) None

Seed number generators with given seed.

Parameters:

seed (int) – Seed to use.

setup_rngs() None

Initialize torch and numpy number generators, and update its children.

update(signal: Signal) None

Updates bookkeeping to transforms in Signal’s SignalMetadata and checks signal valididty. Inherited classes should always call self.update() after performing transform operation (inside __call__).

Parameters:

signal (Signal) – Transformed signal.

update_from_parent() None

Update numpy and torch number generators with parent seed