End-to-end optimization of Constellation Shaping for Wiener Phase Noise Channels with a Differentiable Blind Phase Search
This repository accompanies methods and systems presented in [1] on the topic of end-to-end optimization of geometric and probabilistic constellation shaping for the Wiener phase noise channel. In this repository we publish application scripts and notebooks which perform the optimization. In order to successfully execute the applications we rely on functions and modules implemented in our own machine learning and optimization library mokka.
First install the mokka library to a Python virtualenvironment.
To train a geometrically shaped constellation execute the application ./apps/BPS_autoencoder.py
. Use the -h
flag to receive a list of available commandline options.
For performance evaluation execute the application ./apps/BPS_performance.py
. With the -h
flag a list of available commandline options is shown.