torchsig.transforms.impairments.Impairments¶
- class torchsig.transforms.impairments.Impairments(all_levels_signal_transforms: List[SignalTransform], all_levels_dataset_transforms: List[DatasetTransform], level: int, **kwargs)[source]¶
Bases:
TransformApplies signal and dataset transformations at specific impairment levels.
This class applies a set of signal and dataset transforms based on a given impairment level. The impairment level must be between 0 and 2, where each level corresponds to different sets of transformations for signals and datasets. * Level 0: Perfect * Level 1: Cabled enviornment * Level 2: Wireless environment
- Parameters:
all_levels_signal_transforms (List[SignalTransform]) – A list of signal transformations for all impairment levels.
all_levels_dataset_transforms (List[DatasetTransform]) – A list of dataset transformations for all impairment levels.
level (int) – The impairment level (must be between 0 and 2).
**kwargs – Additional keyword arguments passed to the parent class Transform.
- Raises:
ValueError – If the provided impairment level is outside the valid range (0, 1, 2).
- signal_transforms¶
The composed signal transformations corresponding to the given impairment level.
- Type:
- dataset_transforms¶
The composed dataset transformations corresponding to the given impairment level.
- Type:
Methods
Add parent Seedable object and set up RNGs accordingly
get_distributionGets second seed, usually used to seed both torch and numpy generators with slightly different seeds
Seed number generators with given seed.
Initialize torch and numpy number generators, and update its children.
Update bookeeping for signals
Update numpy and torch number generators with parent seed
- __init__(all_levels_signal_transforms: List[SignalTransform], all_levels_dataset_transforms: List[DatasetTransform], level: int, **kwargs)[source]¶
Transform initialization as Seedable.
- __call__(signal: Signal | DatasetSignal) Signal | DatasetSignal¶
Performs transforms
- Parameters:
signal (Any) – Signal to be transformed.
- Raises:
NotImplementedError – Inherited classes must override this method.
- Returns:
Transformed Signal.
- Return type:
Any
- __repr__() str¶
Transform string representation. Should be able to recreate class from this string.
- Returns:
Transform representation.
- Return type:
- get_second_seed(seed: int) int¶
Gets second seed, usually used to seed both torch and numpy generators with slightly different seeds
- update(signal: Signal | DatasetSignal) None¶
Update bookeeping for signals
- Parameters:
signal (Signal | DatasetSignal) – signal to update metadata.
- Raises:
NotImplementedError – Inherited classes must override this method.