Filters#
- class SRRCFilter(rho: float, oversampling: int, N_h: int = 10, norm: bool = True, scale: float = 1.0, method: Literal['lfilter', 'time', 'fft'] = 'lfilter', is_mimo: bool = True, axis: int = -1, name: str = 'SRRCFilter')#
Square-Root Raised Cosine (SRRC) FIR filter.
This filter implements a square-root raised cosine FIR filter with a roll-off factor \(\rho\). The filter is truncated to span
N_hsymbol periods, with each symbol period containingoversamplingsamples.The filter energy is normalized to 1 by default.
Attributes#
- rhofloat
Roll-off factor \(\rho \in [0, 1]\).
- oversamplingint
Oversampling factor (samples per symbol).
- N_hint, optional
Half-length of the filter in symbol periods. Default is 10.
- normbool, optional
If True, normalizes the filter energy to 1. Default is True.
- scalefloat, optional
Amplitude scaling factor for the filter output. Default is 1.0.
- methodLiteral[“lfilter”, “time”, “fft”], optional
Filtering method. Default is
"lfilter".- is_mimobool, optional
Whether the filter supports MIMO input. Default is True.
- axisint, optional
Axis along which to apply the filter. Default is -1.
- namestr, optional
Name of the filter instance. Default is
"SRRCFilter".
- H(NFFT)#
Frequency response for fft method
- class BWFilter(wn: float, is_mimo: bool = False)#
Implements a frequency domain low-pass brick wall filter.
This filter attenuates frequencies above a specified critical frequency. The critical frequency is normalized from 0 to 1.
Signal Model#
The filter operates in the frequency domain by applying a brick wall (ideal) low-pass filter to the input signal. The filter’s transfer function \(H\) is defined as:
\[\begin{split}H[k] = \begin{cases} 1 & \text{if } |w[k]| \leq w_n \\ 0 & \text{if } |w[k]| > w_n \end{cases}\end{split}\]where:
\(w[k]\) is the angular frequency of the k-th component.
\(w_n\) is the critical angular frequency.
The filtering process involves:
Computing the Fast Fourier Transform (FFT) of the input signal.
Applying the brick wall filter in the frequency domain.
Performing the inverse FFT to obtain the filtered time-domain signal.
Attributes#
- wnfloat
The critical frequency or frequencies. Values should be normalized from 0 to 1, where 1 is the Nyquist frequency. This determines the cutoff point for the filter.