torchsig.utils.dsp.sampling_clock_impairments¶
- torchsig.utils.dsp.sampling_clock_impairments(h: ndarray, x: ndarray, uprate: int, drate: float, jitter_ppm: float, drift_ppm: float, rng: Generator | None = None) ndarray[source]¶
Implements sampling clock impairments (jitter and drift) using polyphase filtering.
This function applies clock jitter and drift to a signal by introducing random variations in the sampling rate during resampling. It uses a polyphase filter bank approach for efficient implementation.
- Parameters:
h – Filter coefficients (1D array of floats)
x – Input signal (1D array of complex numbers)
uprate – Upsampling factor (integer)
drate – Downsampling factor (float)
jitter_ppm – Jitter in parts per million (float)
drift_ppm – Drift in parts per million (float)
seed – Random seed (optional)
- Returns:
Output signal with clock impairments (1D array of complex numbers)