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.