sinc_hamming

baseband.tasks.sinc_hamming(n_tap, n_sample, sinc_scale=1.0)[source] [edit on github]

Construct a sinc-hamming polyphase filter.

The sinc-hamming filter is defined by

\[\begin{split}F(n_{\rm tap}, n_{\rm samle}, s) &= \left(\frac{\sin(\pi x)}{\pi x}\right) \left(0.54 - 0.46\cos\left(\frac{2\pi k}{N-1}\right)\right),\\ {\rm with~~} x &= n_{\rm tap} s \left(\frac{k}{N} - 0.5\right),\\ N &= n_{\rm tap} n_{\rm sample}, \quad 0 \leq k \leq N-1.\end{split}\]
Parameters
n_tapint

Number of taps of the polyphase filter.

n_sampleint

Number of samples to pass on to the FFT stage.

sinc_scalefloat

Possible scaling for the sinc factor, to widen or narrow the channels.

Examples

Construct the CHIME and GUPPI baseband polyphase filter responses:

>>> from baseband_tasks.pfb import sinc_hamming
>>> chime_ppf = sinc_hamming(4, 2048)
>>> guppi_ppf = sinc_hamming(12, 64, sinc_scale=0.95)