Digital signal processing¶
Filtering¶
- class sdr.FIR
- Implements a finite impulse response (FIR) filter. 
- class sdr.IIR
- Implements an infinite impulse response (IIR) filter. 
Multirate filtering¶
- class sdr.Interpolator(sdr.FIR)
- Implements a polyphase finite impulse response (FIR) interpolating filter. 
- class sdr.Decimator(sdr.FIR)
- Implements a polyphase finite impulse response (FIR) decimating filter. 
- 
sdr.multirate_taps(P: int, Q: int = 1, ...) ndarray
- Computes the multirate FIR filter that achieves rational resampling by \(P/Q\). 
- sdr.polyphase_matrix(P: int, Q: int, taps: ArrayLike) ndarray
- Converts the multirate FIR filter taps \(h_i\) into the polyphase matrix \(H_{i, j}\) that achieves rational resampling by \(P/Q\). 
Resampling¶
- class sdr.FarrowResampler
- Implements a cubic Farrow arbitrary resampler. 
Correlation¶
Signal manipulation¶
- 
sdr.mix(x: ArrayLike, freq: float = 0, ...) ndarray
- Mixes the time-domain signal \(x[n]\) with a complex exponential. 
- sdr.to_complex_bb(x_r: ArrayLike) ndarray
- Converts the real passband signal \(x_r[n]\) centered at \(f_{s,r}/4\) with sample rate \(f_{s,r}\) to a complex baseband signal \(x_c[n]\) centered at \(0\) with sample rate \(f_{s,c} = f_{s,r}/2\). 
- sdr.to_real_pb(x_c: ArrayLike) ndarray
- Converts the complex baseband signal \(x_c[n]\) centered at \(0\) with sample rate \(f_{s,c}\) to a real passband signal \(x_r[n]\) centered at \(f_{s,r}/4\) with sample rate \(f_{s,r} = 2f_{s,c}\).