# DigitalDownConverter — Overview ## Package Metadata ```{include} ../generated/ddc_processor/metadata.md ``` ## Description The DigitalDownConverter (DDC) is an EDD pipeline that receives wideband time-domain data from the MPIFR EDD Packetizer and performs GPU-accelerated digital down-conversion to extract narrow subbands. Each LO frequency produces a lower and upper sideband channel. The pipeline supports one or two polarisations by using one GPU per polarisation on separate NUMA nodes. Processed subbands are published as SPEAD2 multicast streams in the `DigitalDownConverter:1` format for consumption by a downstream `VDIFPacker`, or written directly to disk. ## Responsibilities - Receive time-domain data via SPEAD2 (`MPIFR_EDD_Packetizer:2` format) - Perform polyphase filtering and digital down-conversion on GPU - Publish per-channel subband streams via SPEAD2 multicast or write to disk - Expose a KATCP control interface for remote configuration and lifecycle management - Report output data rate via the `output-rate` sensor ## Operational Context | Item | Value | |---|---| | Upstream | MPIFR Packetizer (4 Gsps ADC) | | Downstream | VDIFPacker pipeline, or disk | | Control interface | KATCP on `--host` / `--port` | | GPU required | Yes — one per polarisation | | NUMA sensitive | Yes — capture process pinned to input NIC NUMA node | | Container image | `edd_dbbc` | | Ansible role | `roles/ddc_processor/` |