torchsig.transforms.signal_transforms.AdjacentChannelInterference

class torchsig.transforms.signal_transforms.AdjacentChannelInterference(sample_rate: float = 1.0, power_range: Tuple = (0.01, 10.0), center_frequency_range: Tuple = (0.2, 0.3), phase_sigma_range: Tuple = (0.0, 1.0), time_sigma_range: Tuple = (0.0, 10.0), filter_weights: ndarray = array([-1.89348653e-05, -4.86615480e-05, 1.01582798e-19, 2.36540921e-04, 6.05941363e-04, 7.20581559e-04, -7.94094877e-19, -1.74529665e-03, -3.62675697e-03, -3.65889309e-03, 2.64646473e-18, 6.94698185e-03, 1.31768916e-02, 1.23340713e-02, -5.60356097e-18, -2.11191183e-02, -3.90359615e-02, -3.64209796e-02, 8.51475554e-18, 6.95575824e-02, 1.53901207e-01, 2.23197399e-01, 2.49994811e-01, 2.23197399e-01, 1.53901207e-01, 6.95575824e-02, 8.51475554e-18, -3.64209796e-02, -3.90359615e-02, -2.11191183e-02, -5.60356097e-18, 1.23340713e-02, 1.31768916e-02, 6.94698185e-03, 2.64646473e-18, -3.65889309e-03, -3.62675697e-03, -1.74529665e-03, -7.94094877e-19, 7.20581559e-04, 6.05941363e-04, 2.36540921e-04, 1.01582798e-19, -4.86615480e-05, -1.89348653e-05]), **kwargs)[source]

Bases: SignalTransform

Applies adjacent channel interference to Signal.

sample_rate

Sample rate (normalized). Defaults to 1.0.

Type:

float

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]

center_frequency_range

Range bounds for interference center frequency (normalized). Defaults to (0.2, 0.3).

Type:

Tuple[float, float]

center_frequency_distribution

Random draw of interference power.

Type:

Callable[[], float]

phase_sigma_range

Range bounds for interference phase sigma. Defaults to (0.0, 1.0).

Type:

Tuple[float, float]

phase_sigma_distribution

Random draw of phase sigma.

Type:

Callable[[], float]

time_sigma_range

Range bounds for interference time sigma. Defaults to (0.0, 10.0).

Type:

Tuple[float, float]

time_sigma_distribution

Random draw of time sigma.

Type:

Callable[[], float]

filter_weights

Predefined baseband lowpass filter, fixed for all calls. Defaults to low_pass(0.125, 0.125, 1.0).

Type:

np.ndarray

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__(sample_rate: float = 1.0, power_range: Tuple = (0.01, 10.0), center_frequency_range: Tuple = (0.2, 0.3), phase_sigma_range: Tuple = (0.0, 1.0), time_sigma_range: Tuple = (0.0, 10.0), filter_weights: ndarray = array([-1.89348653e-05, -4.86615480e-05, 1.01582798e-19, 2.36540921e-04, 6.05941363e-04, 7.20581559e-04, -7.94094877e-19, -1.74529665e-03, -3.62675697e-03, -3.65889309e-03, 2.64646473e-18, 6.94698185e-03, 1.31768916e-02, 1.23340713e-02, -5.60356097e-18, -2.11191183e-02, -3.90359615e-02, -3.64209796e-02, 8.51475554e-18, 6.95575824e-02, 1.53901207e-01, 2.23197399e-01, 2.49994811e-01, 2.23197399e-01, 1.53901207e-01, 6.95575824e-02, 8.51475554e-18, -3.64209796e-02, -3.90359615e-02, -2.11191183e-02, -5.60356097e-18, 1.23340713e-02, 1.31768916e-02, 6.94698185e-03, 2.64646473e-18, -3.65889309e-03, -3.62675697e-03, -1.74529665e-03, -7.94094877e-19, 7.20581559e-04, 6.05941363e-04, 2.36540921e-04, 1.01582798e-19, -4.86615480e-05, -1.89348653e-05]), **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