PST Static Configuration
As part of the work for AT3-821 and AT3-816 the PST schema was rationalised static configuration codified within the PST code base.
This page documents the YAML file and the fields within it.
Future work will further improve on this and get these values from the SKA Telescope Model.
This will be needed to deal with the change in CBF/PST configuration values, such as the
Mid CBF channelisation will change in the future. This structure can also be extended to
all for dynamically determining which polyphase filter bank (PFB) coefficients have been
used based on the cbf_firmware_release in the PST scan configuration.
Top level structure
The YAML file, telescope_config.yaml, has the following structure:
A list of telescopes
For each telescope a dictionary of
frequency_bands. For SKALow there is only 1 band but for SKAMid bands 1, 2, 3, 4, 5a, and 5b are defined.For each frequency band, there is static configuration for the receiver (
receiver_config) and CBF/PST configuration (cbf_pst_config).
An example of the high level structure of the YAML file is as follows:
- name: SKALow
frequency_bands:
low:
receiver_config:
...
cbf_pst_config:
...
- name: SKAMid
frequency_bands:
"1":
receiver_config:
...
cbf_pst_config:
...
CBF/PST Configuration (cbf_pst_config)
This section of the YAML file provides configuration that defines how the correlator beam former (CBF) channelises the data and the UDP packet structure that is sent to PST.
| Name | Notes |
|---|---|
tsamp |
The sampling interval, in microseconds. |
udp_nchan |
The number of PST fine channels in a UDP packet. |
udp_nsamp |
The number of time samples in a UDP packet. |
wt_nsamp |
The number of samples per weight in a UDP packet. This value should be same as udp_nsamp |
nbit |
The number of bits used to represent a dimension of a sample value (total bits is number of dimensions * nbit) |
wt_nbit |
The number of bits per weight. |
oversampling_ratio |
The oversampling ratio for the frequency band. |
max_nchan |
The maximum number of channels for the frequency band. |
chan_separation_khz |
The frequency separation between the start and end of a channel, in kHz. |
rf_freq_minimum_mhz |
The bottom end of the frequency band, in MHz. |
rf_freq_maximum_mhz |
The top end of the frequency band, in MHz. |
rf_bw_mhz |
The bandwidth of the band, in MHz. |
channel_0_start_freq_mhz |
The effective start frequency of channel 0, in MHz. |
ring_buffer_config/num_buffers |
The number of buffers withing a ring buffer. This is internal to PST |
ring_buffer_config/packets_per_buffer |
The number of UDP packets per buffer that a channel needs be recorded for. |
channelisation_stages/num_frequency_channels |
The number of channels used in the channelisation stage. |
channelisation_stages/oversampling_ratio |
The oversampling ratio for the channelisation stage. |
Receiver Feed Configuration (receiver_config)
While the receiver feed configuration is not used with in the PST code the following values are added as metadata to the output files of the PST processing.
| Name | Notes |
|---|---|
receiver_id |
The name/id of the receiver. This relates to the telescope and frequency band |
feed_polarization |
The native polarisation of the feed for the receiver. |
feed_handedness |
The handedness of the feed of the receiver. |
feed_angle |
The feed angle of the receiver. |
feed_tracking_mode |
The tracking mode for the feed of the receiver. |
feed_position_angle |
The requested angle of feed reference. |
Example
- name: SKALow
frequency_bands:
low:
receiver_config:
receiver_id: LOW
feed_polarization: LIN
feed_handedness: 1
feed_angle: 45.0
feed_tracking_mode: FA
feed_position_angle: 0.0
cbf_pst_config:
udp_format: LowPST
tsamp: 207.36
udp_nchan: 24
udp_nsamp: 32
wt_nsamp: 32
nbit: 16
wt_nbit: 16
oversampling_ratio: [4, 3]
max_nchan: 82944
chan_separation_khz: 3.616898148
rf_freq_minimum_mhz: 49.6093750
rf_freq_maximum_mhz: 349.609375
rf_bw_mhz: 300.0
channel_0_start_freq_mhz: 49.609375
ring_buffer_config:
num_buffers: 64
packets_per_buffer: 16
channelisation_stages:
- num_frequency_channels: 1024
oversampling_ratio: [32, 27]
- num_frequency_channels: 256
oversampling_ratio: [4, 3]
...