################################# MCCS Prototype Beam Weight Design ################################# .. note:: This is a prototype design. Implementation details may differ. WeightingStore ============== The **WeightingStore** is a central service used by multiple systems across the array. Its primary responsibilities include: - Providing weights for beamforming - Calculating station phase centres for pointing and delay calibration MCCS uses the WeightingStore to compute the phase centre of a station during beam configuration. These values feed into the beam pointing system. It is also used to determine weight to apply to each antenna on a per channel basis. According to `THORN-198`, the WeightingStore is also expected to be used by **OSO** (Observatory Science Operations), which requires an interface to add weights. In addition, **TMC** (Telescope Monitoring and Control) is likely to use the store to calculate substation phase centres as part of generating geometric delays for the **CBF** (Correlator Beam Former). After an ApplyCalibration attributes will be updated with the applied substation phase centeres, this can be bought up to an interface with TMC if needed. There will be one instance of the WeightingStore for the entire array. This central database will be fronted by a TANGO device, named ``MccsWeightingStore``. .. uml:: weighting_store.uml Command Flow ============ The main interaction with the WeightingStore occurs during the ``Configure`` command. TMC sends configuration parameters, including a ``weighting_key_ref``. This reference is used to query the WeightingStore for the appropriate weights. These weights are combined with the ``beamformerTable``, which is set up during the ``Allocate`` and ``Configure`` commands, to compute a weight per channel, per antenna. These calculated weights are then applied to the **SPS** subsystem via the calibration-coefficients. In parallel, the ``calculatePhaseCentre`` command is used to compute the phase centre of a station. This value is consumed by the MCCS pointing algorithms to steer the beams correctly. A command flow diagram is provided below for reference: .. uml:: weight_application.uml System Roles and Interfaces =========================== +---------+--------------------------------------------------------------+ | System | Interaction with WeightingStore | +=========+==============================================================+ | MCCS | Fetches weights and calculates station phase centres | +---------+--------------------------------------------------------------+ | MCCS | Fetches weight to apply to the beams on a | | | per antenna per channel basis | +---------+--------------------------------------------------------------+ | OSO | Adds weights to the store via API or device interface | +---------+--------------------------------------------------------------+ | TMC | Calculates substation phase centres to derive geometric | | | delays for CBF | +---------+--------------------------------------------------------------+