There is a newer version of the record available.

Published October 15, 2025 | Version v1

Optimisation Algorithms for Electronic Polarisation Control in Quantum Key Distribution

Description

Optimisation Algorithms for Electronic Polarisation Control - Simulation and Experimental Implementation


Electronic Polarisation Controllers (EPCs) are used with a polarisation reference signal to align the measurement apparatus for Quantum Key Distribution (QKD) implementations that use polarisation encoding. EPCs typically have 3 or 4 voltage inputs, with each voltage input applying some operation that changes the polarisation, however these operations are complex and difficult to characterise (see Fig.20 from [Vega. G. el al. "Polarisation Synchronisation for
Space Quantum Key Distribution", 2024]). As such, these devices and their inputs are treated as black boxes, and optimisation algorithms are used. The project compares different optimisation algorithms for this purpose, and then proposes a scheme to continuously control the state of polarisation over an extended timeframe.

The associated paper for this work can be found here: \*Paper DOI Here\*

Dependencies



Optinally for 'not_used_exp_pol_drift_plot.py' in the 'results_processing_exp' folder you will need:


Project Structure


Each of the algorithms has a folder with the prefix 'algo_' containing the experimental implementation, and a simulated animation on the Poincare Sphere.
All of the algorithms with the exception of Adaptive Gradient Descent have headless simulated implementations.

The 'continuous_control' folder contains both the dataset generation code, and the code to generate the plots of the data.

The 'control_code_simulation' folder contains the code that implements the simulated EPC, polarimeter, channel, etc. .

The 'polarisation_drift' folder contains the code that collects experimental data, and performs a simulated animation to illustrate the simulated noise.

The 'results_processing_sim' and 'results_processing_exp' folders contain the code to produce plots for results obtained through simulation and experiment respectively.

The 'simulation_comparison' folder contains the code that performs the comparison of the simulated implementations of the optimisation algorithms.

'res_comp_bar_plots.py' is used to produce the bar plots for the paper.

Important note:


Whilst there is the 'control_code_simulation' folder, there is no 'control_code_experiment' folder given as a part of this project as this code is private to the research group.
Instead there is a 'Device Control Function Documentation.txt' file which outlines the function signatures and provides documentation for the EPC and Polarimeter control code.

Files

EPC_optimisation_for_polarisation_control_in_QKD.zip

Files (38.4 MB)

Name Size
md5:3882eb96d6c88ded59a88d0ce4511123
38.4 MB Preview Download

Additional details

Software

Programming language
Python
Development Status
Inactive