In this work, we present an open-source implementation of the enumerative sphere shaping (ESS) algorithm used for probabilistic constellation shaping (PCS). PCS aims at closing the shaping gap caused by using uniformly distributed modulation symbols in channels for which information theory shows non-uniformly distributed signaling to be optimal. ESS is one such PCS algorithm that sets itself apart as it operates on a trellis representation of a subset of the possible symbol sequences. ESS leads to an empirical distribution of the symbols that closely approximates the optimal distribution for the additive white Gaussian noise (AWGN) channel. We provide an open-source implementation of this algorithm in the compiled language Rust, as well as Python bindings with which our Rust code can be called in a regular Python script. We also compare simulation results on the AWGN channel using our implementation with previous works on this topic.
翻译:本文提出了一种用于概率星座整形(PCS)的枚举式球形整形(ESS)算法的开源实现。PCS旨在缩小因在信道中使用均匀分布调制符号而产生的整形差距——信息论表明非均匀分布信号在该信道中具有最优性。ESS作为一种PCS算法,其独特之处在于它基于可能符号序列子集的网格表示进行运算。该算法使符号的经验分布紧密逼近加性高斯白噪声(AWGN)信道的最优分布。我们提供了该算法在编译型语言Rust中的开源实现,以及相应的Python绑定,从而可在常规Python脚本中调用我们的Rust代码。此外,我们基于该实现与相关领域先前工作进行了AWGN信道仿真结果对比。