ska_oso_pdm.sb_definition.csp
The csp package models SB entities concerned with CSP (Central Signal Processing) beam former and correlator configuration. Package contents are presented in the diagram below.
Class diagram for the modules within csp
An example serialisation of SKA-Mid CSP to JSON is shown below.
"csp_configurations": [
{
"config_id": "csp-configuration-12345",
"name": "csp config 123",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"subarray_id": 1,
"band_5_tuning": [
5.85,
7.25
]
},
"cbf": {
"fsps": [
{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[
0,
0
],
[
200,
1
]
]
},
{
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000
}
]
},
"midcbf": {
"frequency_band": "1",
"subbands": [
{
"band_5_tuning": 12.3e9,
"frequency_slice_offset": {
"value": 0,
"unit": "MHz"
},
"correlation_spws": [
{
"spw_id": 1,
"logical_fsp_ids": [
1,
2
],
"receptors":["SKA063", "SKA001", "SKA100"],
"zoom_factor": 1,
"centre_frequency": 800e6,
"number_of_channels": 20000,
"channel_averaging_factor": 1,
"time_integration_factor": 1
}
],
"pst_spws": [
{
"spw_id": 2,
"logical_fsp_ids": [
3
],
"centre_frequency": 396291840,
"number_of_channels": 3700
}
]
}
]
}
}
],
An example serialisation of SKA-Low CSP to JSON is shown below.
"csp_configurations": [
{
"config_id": "csp-configuration-12345",
"name": "csp config 123",
"lowcbf": {
"do_pst": true,
"correlation_spws": [
{
"spw_id": 1,
"logical_fsp_ids": [
0,
1
],
"zoom_factor": 0,
"centre_frequency": 199.609375e6,
"number_of_channels": 96,
"integration_time_ms": 849
}
]
}
}
],
"scan_definitions": [
{
"scan_definition_id": "scan 1",
"target_ref": "target-12345",
"mccs_allocation_ref": "mccs-allocation-74519",
"csp_configuration_ref": "csp-configuration-12345",
"scan_duration_ms": 64000,
"scan_intent": "Science",
"pointing_correction": "MAINTAIN"
}
],
"scan_sequence": [
"scan 1"
]
}
The ska_oso_pdm.sb_definition.csp.csp_configuration module defines a simple Python representation of CSP configurations.
- class CSPConfiguration(*, config_id: str | None = None, name: str = '', subarray: SubarrayConfiguration | None = None, common: CommonConfiguration | None = None, cbf: CBFConfiguration | None = None, midcbf: MidCBFConfiguration | None = None, lowcbf: LowCBFConfiguration | None = None, pst: PSTConfiguration | None = None, pss: PSSConfiguration | None = None)[source]
Class to hold all CSP configuration.
- Parameters:
config_id – an ID for CSP configuration
name – a user-friendly name to identify the CSP configuration
subarray_config – Sub-array configuration to set
common_config – the common CSP elements to set
cbf_config – the CBF configurations to set
midcbf_config – the MidCBF configurations to set
lowcbf_config – the LowCBF configurations to set
pst_config – the PST configurations to set
pss_config – the PSS configurations to set
- The ska_oso_pdm.sb_definition.csp.common module defines a Python representation of the
CSP Common configuration specification
- class CommonConfiguration(*, subarray_id: int | None = None, band_5_tuning: list[float] = <factory>)[source]
Class to hold the CSP sub-elements.
- Parameters:
subarray_id – an ID of sub-array device (optional)
band_5_tuning – list of integer (optional)
The ska_oso_pdm.sb_definition.csp.cbf module defines a Python representation of CSP and FSP configurations.
- class CBFConfiguration(*, fsps: ~typing.List[~ska_oso_pdm.sb_definition.csp.cbf.FSPConfiguration] = <factory>, vlbi: ~ska_oso_pdm.sb_definition.csp.cbf.VLBIConfiguration | None = None)[source]
Class to hold all FSP and VLBI configurations.
- Parameters:
fsps – List of the FSP configurations to set
vlbi – the VLBI configuration to set (optional)
- class FSPConfiguration(*, fsp_id: int, function_mode: ~ska_oso_pdm.sb_definition.csp.cbf.FSPFunctionMode, frequency_slice_id: int, integration_factor: int, zoom_factor: int, channel_averaging_map: list[tuple[int, int]] = <factory>, output_link_map: list[tuple] = <factory>, channel_offset: int | None = None, zoom_window_tuning: int | None = None)[source]
FSPConfiguration defines the configuration for a CSP Frequency Slice Processor.
Channel averaging map is an optional list of 20 x (int,int) tuples.
- Parameters:
fsp_id – FSP configuration ID [1..27]
function_mode – FSP function mode
frequency_slice_id – frequency slicer ID [1..26]
zoom_factor – zoom factor [0..6]
integration_factor – integer multiple of correlation integration time (140ms) [1..10]
channel_averaging_map – Optional channel averaging map
output_link_map – Optional output_link_map
channel_offset – Optional channel offset value in integer
zoom_window_tuning – Optional zoom window tuning value in integer
The ska_oso_pdm.sb_definition.csp.midcbf module defines a Python representation of CSP and FSP configurations.
- class CorrelationSPWConfiguration(*, spw_id: int, logical_fsp_ids: list[int], receptors: list[str] = <factory>, zoom_factor: int, centre_frequency: float, number_of_channels: int, channel_averaging_factor: ~ska_oso_pdm.sb_definition.csp.midcbf.ChannelAveragingFactor = ChannelAveragingFactor.ONE, time_integration_factor: int)[source]
CorrelationSPWConfiguration defines the configuration for a CSP Frequency Slice Processor.
- Parameters:
swp_id – SWP configuration ID [1..27]
logical_fsp_ids – Logical FPS Ids
receptors – list of receptors
zoom_factor – zoom factor [0..6]
centre_frequency – Centre Frequency
number_of_channels – Number of Channels
channel_averaging_factor – Channel Average Factor
time_integration_factor – integer multiple of correlation integration time (140ms) [1..10]
- class MidCBFConfiguration(*, frequency_band: ~ska_oso_pdm.sb_definition.csp.midcbf.ReceiverBand, subbands: ~typing.List[~ska_oso_pdm.sb_definition.csp.midcbf.Subband] = <factory>)[source]
Class to hold all Correlation SPW configurations.
- Parameters:
frequency_band – Frequency Band
subbands – list of subbands configurations
- class PstSPWConfiguration(*, spw_id: int, logical_fsp_ids: list[int], receptors: list[str] = <factory>, centre_frequency: float, number_of_channels: int)[source]
PstSPWConfiguration defines the configuration for a Mid Correlator Processing Region producing pulsar timing data.
- Parameters:
swp_id – SPW configuration ID [1..27]
logical_fsp_ids – Logical FSP IDs
receptors – list of receptors
centre_frequency – Centre Frequency
number_of_channels – Number of Channels
- class Subband(*, band_5_tuning: float | None = None, frequency_slice_offset: ~astropy.units.quantity.Quantity = <Quantity 0. MHz>, correlation_spws: ~typing.List[~ska_oso_pdm.sb_definition.csp.midcbf.CorrelationSPWConfiguration] = <factory>, pst_spws: ~typing.List[~ska_oso_pdm.sb_definition.csp.midcbf.PstSPWConfiguration] = <factory>)[source]
Class to hold sub-band
- Parameters:
band_5_tuning – Band 5 Tuning
frequency_slice_offset – Optional Frequency Slice Offset in AstropyQuantity
correlation_spws – List of Correlation Spws
pst_spws – List of PST Spws
The ska_oso_pdm.sb_definition.csp.lowcbf module defines a Python representation of the LOW CBF configuration
- class Correlation(*, spw_id: int, logical_fsp_ids: List[int], zoom_factor: int, centre_frequency: float, number_of_channels: int, integration_time_ms: timedelta)[source]
Class to hold the spectral windows that will be produced by the correlator”.
- Parameters:
spw_id – Integer identifying the spectral window within this CSP setup
logical_fsp_ids – Frequency slice processors that will be used to produce this spectral window.
zoom_factor – Integer (0-7) defining the zoom window to use. ‘0’ means non-zoom i.e. standard continuum.
centre_frequency – Centre frequency of the spectral window
number_of_channels – Number of channels that the correlator will produce
integration_time_ms – Averaging time after which the correlator will output a visibility
- class LowCBFConfiguration(*, do_pst: bool = False, correlation_spws: List[Correlation])[source]
Class to hold the LOW CBF configuration specification.
- Parameters:
do_pst – Boolean indicating that pulsar-timing observations are to be performed.
correlation_spws – List of Correlation objects
The ska_oso_pdm.sb_definition.csp.subarray module defines a Python representation of the Subarray configuration
- class SubarrayConfiguration(*, subarray_name: str)[source]
Class to hold the parameters relevant only for the current sub-array device.
- Parameters:
sub-array_name – Name of the sub-array
The ska_oso_pdm.sb_definition.csp.pst module defines a Python representation of a PST Configuration.
The ska_oso_pdm.sb_definition.csp.pss module defines a Python representation of a PSS configurations.