Skip to content

Transforms Package

The ria_toolkit_oss.transforms module provides functions for manipulating radio frequency data. All operations expect input in complex 1 × N format. The module contains two submodules: IQ Impairments and IQ Augmentations.


Signal degradation functions that simulate real-world transmission effects.

Adds additive white Gaussian noise relative to the signal-to-noise ratio.

ParameterTypeDefaultDescription
signalcomplex C×N array or RecordingInput signal
snrfloat1SNR in dB

Returns a NumPy array or Recording with noise added. Raises ValueError if signal format is invalid.


Applies temporal displacement, filling empty regions with zeros.

ParameterTypeDefaultDescription
signalcomplex C×N array or RecordingInput signal
shiftint1Index displacement

Raises UserWarning if shift exceeds signal length.


Applies frequency displacement relative to sample rate, constrained to [-0.5, 0.5].

ParameterTypeDefaultDescription
signalcomplex C×N array or RecordingInput signal
shiftfloat0.5Frequency offset as fraction of sample rate

Rotates IQ samples by a specified phase angle in radians, bounded to [-π, π].

ParameterTypeDefaultDescription
signalcomplex C×N array or RecordingInput signal
phasefloatπRotation angle in radians

iq_imbalance(signal, amplitude_imbalance=1.5, phase_imbalance=π, dc_offset=1.5)

Section titled “iq_imbalance(signal, amplitude_imbalance=1.5, phase_imbalance=π, dc_offset=1.5)”

Simulates in-phase/quadrature imbalances found in real receivers.

ParameterTypeDefaultDescription
signalcomplex C×N array or RecordingInput signal
amplitude_imbalancefloat1.5Imbalance in dB
phase_imbalancefloatπPhase offset in radians, bounded to [-π, π]
dc_offsetfloat1.5DC offset in dB

Resamples signal via polyphase filtering with upsampling and downsampling stages.

ParameterTypeDefaultDescription
signalcomplex C×N array or RecordingInput signal
upint4Upsampling factor
downint2Downsampling factor

Synthetic training variant functions that create modified versions of signals for dataset augmentation.

Produces pure noise matching a specified SNR (does not add to the signal).

ParameterTypeDefaultDescription
signalcomplex C×N array or RecordingReference signal
snrfloat1SNR in dB

Reverses temporal sample order along the time axis.


Negates the imaginary (quadrature) components of samples.


Exchanges in-phase and quadrature components for each sample.


Negates amplitudes of both in-phase and quadrature components.


drop_samples(signal, max_section_size=2, fill_type='zeros')

Section titled “drop_samples(signal, max_section_size=2, fill_type='zeros')”

Randomly removes sample sections, replacing them with alternative values.

ParameterTypeDefaultDescription
signalcomplex C×N array or RecordingInput signal
max_section_sizeint2Maximum drop size
fill_typestr"zeros"Replacement strategy: "back-fill", "front-fill", "mean", or "zeros"

quantize_tape(signal, bin_number=4, rounding_type='floor')

Section titled “quantize_tape(signal, bin_number=4, rounding_type='floor')”

Emulates analog-to-digital converter quantization across the entire signal.

ParameterTypeDefaultDescription
signalcomplex C×N array or RecordingInput signal
bin_numberint4Discretization bins
rounding_typestr"floor""floor" or "ceiling"

quantize_parts(signal, max_section_size=2, bin_number=4, rounding_type='floor')

Section titled “quantize_parts(signal, max_section_size=2, bin_number=4, rounding_type='floor')”

Applies ADC quantization to random signal sections only.

ParameterTypeDefaultDescription
signalcomplex C×N array or RecordingInput signal
max_section_sizeint2Maximum quantized section size
bin_numberint4Discretization bins
rounding_typestr"floor""floor" or "ceiling"

magnitude_rescale(signal, starting_bounds=None, max_magnitude=1)

Section titled “magnitude_rescale(signal, starting_bounds=None, max_magnitude=1)”

Multiplies signal magnitude by a random constant from a random starting point.

ParameterTypeDefaultDescription
signalcomplex C×N array or RecordingInput signal
starting_boundstuplerandom to endIndex range tuple for rescale initiation
max_magnitudefloat1Maximum scaling factor

cut_out(signal, max_section_size=3, fill_type='ones')

Section titled “cut_out(signal, max_section_size=3, fill_type='ones')”

Excises random sections, replacing them with zeros, ones, or noise at varying SNR levels.

ParameterTypeDefaultDescription
signalcomplex C×N array or RecordingInput signal
max_section_sizeint3Maximum cutout size
fill_typestr"ones""zeros", "ones", "low-snr", "avg-snr", or "high-snr"

Randomly reorders samples within selected contiguous signal regions.

ParameterTypeDefaultDescription
signalcomplex C×N array or RecordingInput signal
max_patch_sizeint3Maximum shuffled region size