A C++ Signal Processing Test Bench & System Verification Suite for 5G Uplink Control Channels
Sequence-based short PUCCH carrying small UCI payloads (≤ 2 bits) using cyclic shift phase rotation.
Sequence-based long PUCCH with time-domain orthogonal cover code (OCC) for coverage enhancement.
Transform precoded/QPSK short PUCCH designed for higher UCI payloads (> 2 bits) with multiplexed DM-RS.
DFT-s-OFDM long PUCCH carrying high UCI payloads with discrete DM-RS symbols and intra-slot frequency hopping.
Live 3GPP execution: 3 PRBs (36 subcarriers), QPSK, C-RNTI 0x3B21, 8 symbols with intra-slot frequency hopping.
DFT-s-OFDM long PUCCH with block-wise frequency-domain spreading (FD-OCC) to allow UE multiplexing on 1 PRB.
Live 3GPP execution: 1 PRB (12 subcarriers), QPSK, N_SF=4 FD-OCC, C-RNTI 0x3B21, 8 symbols with intra-slot frequency hopping.
A production-grade, mathematically verified C++ implementation of 3GPP TS 38.211 and TS 38.213 uplink control channel processing. Built for high-throughput Open-RAN (O-RAN) baseband architectures and real-time DSP test benches.
Full PUCCH Suite (Formats 0–4) supporting low-PAPR computer-generated base sequences (Msc < 30) and π/2-BPSK / QPSK Gold sequences (Msc ≥ 30).
DFT-s-OFDM transform precoding paired with frequency-domain block spreading (NSF = 2, 4) for multi-UE resource multiplexing on 1 PRB.
Runtime mathematical verification of Parseval's energy conservation (Ppre = Ppost), unit modulus envelope, and zero-PAPR criteria.