sdr¶
Filtering¶
- class sdr.FIR
Implements a finite impulse response (FIR) filter.
- class sdr.IIR
Implements an infinite impulse response (IIR) filter.
Pulse shaping¶
- sdr.raised_cosine(alpha: float, span: int, sps: int) ndarray
Returns a raised cosine (RC) pulse shape.
- sdr.root_raised_cosine(alpha: float, span: int, sps: int) ndarray
Returns a square root raised cosine (SRRC) pulse shape.
Resampling¶
- class sdr.FarrowResampler
Implements a cubic Farrow arbitrary resampler.
Phase/time-locked loops¶
- class sdr.ClosedLoopPLL
A class that defines the performance of a closed-loop PLL.
- class sdr.DDS
Implements a direct digital synthesizer (DDS).
- class sdr.LoopFilter
Implements a 2nd order, proportional-plus-integrator (PPI) loop filter.
- class sdr.NCO
Implements a numerically-controlled oscillator (NCO).
Measurement¶
- sdr.crest_factor(x: ArrayLike) float
Measures the crest factor of a signal.
Data manipulation¶
- sdr.pack(x: ArrayLike, bpe: int, ...) ndarray
Packs a binary array into an array with multiple bits per element.
- sdr.unpack(x: ArrayLike, bpe: int, ...) ndarray
Unpacks an array with multiple bits per element into a binary array.
Plotting¶
Configuration¶
- sdr.plot.use_style()
Applies
sdr
’s defaultmatplotlib
rcParams.
Time-domain¶
-
sdr.plot.time_domain(x: ArrayLike, sample_rate: float =
1.0
, **) Plots a time-domain signal \(x[n]\).
Frequency-domain¶
-
sdr.plot.periodogram(x: ArrayLike, sample_rate: float =
1.0
, ...) Plots the estimated power spectral density \(P_{xx}\) of a time-domain signal \(x[n]\) using Welch’s method.
-
sdr.plot.spectrogram(x: ArrayLike, sample_rate: float =
1.0
, ...) Plots the spectrogram of a time-domain signal \(x[n]\) using Welch’s method.
Filter analysis¶
-
sdr.plot.filter(b: ArrayLike, a: ArrayLike =
1
, ...) Plots the frequency response \(H(e^{j\omega})\), impulse response \(h[n]\), step response \(s[n]\), and zeros and poles of the filter.
-
sdr.plot.frequency_response(b: ArrayLike, a: ArrayLike =
1
, ...) Plots the frequency response \(H(e^{j\omega})\) of the filter.
-
sdr.plot.group_delay(b: ArrayLike, a: ArrayLike =
1
, ...) Plots the group delay \(\tau_g(\omega)\) of the IIR filter.
-
sdr.plot.impulse_response(b: ArrayLike, a: ArrayLike =
1
, ...) Plots the impulse response \(h[n]\) of a filter.
-
sdr.plot.step_response(b: ArrayLike, a: ArrayLike =
1
, ...) Plots the step response \(s[n]\) of a filter.
-
sdr.plot.zeros_poles(b: ArrayLike, a: ArrayLike =
1
, **kwargs) Plots the zeros and poles of the filter.