A toolbox for modelling quantum key distribution between satellites and ground stations.
Qrackling is a flexible object-oriented toolbox for simulating qkd between satellites and ground stations. It is easlily extended allowing users to replicate satellite qkd scenarios presented in the literature and explore the features present within them.
- Multiple qkd protocols:
- BB84
- Decoy state BB84
- Coherent One-Way
- Differential phase shift
- BBM92
- Data for a range of detectors (APD, SNSPD)
- Collected or extrapolated for various of the shelf devices
- Loss models:
- Geometric
- Optical
- Point and Track
- Atmospheric
- Turbulence
- Simulations
- Sifted and Secure key rates with QBER
- Beacon performance
Installation of the toolbox is as simple as ensuring it's on the MATLAB path. First ensure that the requirements are met. Then follow either the simple (recommended) or advanced installation sections.
- MATLAB R2022b (or later)
- Satellite Communications Toolbox
- Navigation Toolbox
- Mapping Toolbox
Optional
For best stability we recommend using a tagged release, the following steps show how to install using that.
- Open the location of your MATLAB user path. This can be found by running the following in the MATLAB command window:
By default this should be something like
userpath
C:\Documents\MATLAB
on Windows and~/Documents/MATLAB/
for Linux. - Head over to releases and get the latest version.
- Extract the contents of the downloaded .zip archive into your user path. Qrackling will now be available for use in MATLAB to make use of the included examples follow the next step otherwise have fun!
- (Optional) To use the included examples you will need to add the folder you just placed into folder at your user path manually. To do this you will need to open the path tool by either going to the
HOME
tab and clickingSet Path
or by runningpathtool
in the MATLAB command window. From there clickAdd with Subfolders
and navigate to where you extracted the model to. Click save when you are done.
For those wanting to develop new features (or just use the most up to date version) you can install the toolbox by cloning the repository. It is up to you where you wish to install it, the most convenient is as follows:
-
Change directory to the MATLAB user path
- Windows:
cd C:\Documents\MATLAB
- Linux:
cd ~/Documents/MATLAB
- Windows:
-
Clone the repository
git clone https://github.com/RDonaldson5/QKD_Sat_Link
-
(Optional) Add the examples to the MATLAB path with the pathtool (see step 4 of Easy Installation)
Qrackling and its tutorials/examples are MIT licensed