torchsig.transforms.functional.adjacent_channel_interference

torchsig.transforms.functional.adjacent_channel_interference(data: ndarray, sample_rate: float = 4.0, power: float = 1.0, center_frequency: float = 0.2, filter_weights: ndarray | None = None, phase_sigma: float = 1.0, time_sigma: float = 0.0, rng: Generator | None = None) ndarray[source]

Adds adjacent channel interference to the baseband data at a specified center frequency and power level.

The adjacent channel signal is a filtered, frequency-offset, randomly block time-shifted, randomly phase-perturbed baseband copy that has similar bandwidth and modulation properties, but degrades phase and time coherence with the original baseband signal.

Parameters:
  • data – Complex valued IQ data samples.

  • sample_rate – Sampling rate (Fs). Default 4.0

  • power – Adjacent interference signal power (linear, positive). Default 1.0 W (0 dBW).

  • center_frequency – Adjacent interference signal center frequency (normalized relative to Fs). Default 0.2.

  • filter_weights – Lowpass filter weights applied to baseband signal data to band limit prior to creating adjacent signal. Default low_pass(0.25,0.25,4.0).

  • phase_sigma – Standard deviation of Gaussian phase noise. Default 1.0.

  • time_sigma – Standard deviation of Gaussian block time shift in samples. Default 0.0.

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

Returns:

Data with added adjacent interference.