katgpucbf.fgpu.output module

Data structures capturing static configuration of a single output stream.

class katgpucbf.fgpu.output.NarrowbandOutput(name: str, channels: int, jones_per_batch: int, taps: int, w_cutoff: float, window_function: WindowFunction, dst: list[Endpoint], dither: DitherType, centre_frequency: float, decimation: int, ddc_taps: int, weight_pass: float)[source]

Bases: Output

Static configuration for a narrowband stream.

centre_frequency: float
ddc_taps: int
decimation: int
property spectra_samples: int

Number of incoming digitiser samples needed per spectrum.

Note that this is the spacing between spectra. Each spectrum uses an overlapping window with more samples than this.

weight_pass: float
property window: int

Number of digitiser samples that contribute to each output spectrum.

class katgpucbf.fgpu.output.NarrowbandOutputDiscard(name: str, channels: int, jones_per_batch: int, taps: int, w_cutoff: float, window_function: WindowFunction, dst: list[Endpoint], dither: DitherType, centre_frequency: float, decimation: int, ddc_taps: int, weight_pass: float)[source]

Bases: NarrowbandOutput

Static configuration for a narrowband stream that discards channels.

property internal_channels: int

Number of channels in the PFB.

property internal_decimation: int

Factor by which bandwidth is reduced by the DDC kernel.

property subsampling: int

Number of digitiser samples between PFB input samples.

class katgpucbf.fgpu.output.NarrowbandOutputNoDiscard(name: str, channels: int, jones_per_batch: int, taps: int, w_cutoff: float, window_function: WindowFunction, dst: list[Endpoint], dither: DitherType, centre_frequency: float, decimation: int, ddc_taps: int, weight_pass: float, pass_bandwidth: float)[source]

Bases: NarrowbandOutput

Static configuration for a narrowband stream that does not discard channels.

property internal_channels: int

Number of channels in the PFB.

property internal_decimation: int

Factor by which bandwidth is reduced by the DDC kernel.

pass_bandwidth: float
property subsampling: int

Number of digitiser samples between PFB input samples.

class katgpucbf.fgpu.output.Output(name: str, channels: int, jones_per_batch: int, taps: int, w_cutoff: float, window_function: WindowFunction, dst: list[Endpoint], dither: DitherType)[source]

Bases: ABC

Static configuration for an output stream.

channels: int
dither: DitherType
dst: list[Endpoint]
abstract property internal_channels: int

Number of channels in the PFB.

abstract property internal_decimation: int

Factor by which bandwidth is reduced by the DDC kernel.

jones_per_batch: int
name: str
property spectra_per_heap: int

Number of spectra in each output heap.

abstract property spectra_samples: int

Number of incoming digitiser samples needed per spectrum.

Note that this is the spacing between spectra. Each spectrum uses an overlapping window with more samples than this.

abstract property subsampling: int

Number of digitiser samples between PFB input samples.

taps: int
w_cutoff: float
abstract property window: int

Number of digitiser samples that contribute to each output spectrum.

window_function: WindowFunction
class katgpucbf.fgpu.output.WidebandOutput(name: str, channels: int, jones_per_batch: int, taps: int, w_cutoff: float, window_function: WindowFunction, dst: list[Endpoint], dither: DitherType)[source]

Bases: Output

Static configuration for a wideband output stream.

property decimation: int
property internal_channels: int

Number of channels in the PFB.

property internal_decimation: int

Factor by which bandwidth is reduced by the DDC kernel.

property spectra_samples: int

Number of incoming digitiser samples needed per spectrum.

Note that this is the spacing between spectra. Each spectrum uses an overlapping window with more samples than this.

property subsampling: int

Number of digitiser samples between PFB input samples.

property window: int

Number of digitiser samples that contribute to each output spectrum.

class katgpucbf.fgpu.output.WindowFunction(*values)[source]

Bases: Enum

Window function to use in generate_pfb_weights().

DEFAULT = 1
HANN = 1
RECT = 2