This example demonstrates how to simulate a circuit used for continuous-variable quantum key distribution (CV-QKD). INTERCONNECT is used to determine the transmittivity, signal-to-noise ratio (SNR) and noise parameters, from which the secret key rate can be calculated.
Overview
Understand the simulation workflow and key results
The CV-QKD circuit in this example uses quadrature phase shift keying (QPSK) to encode information in the transmitted signal, which is measured on the receiver side using a dual homodyne measurement. A pilot tone is used to compensate the phase drift of the signal [1]. To minimize crosstalk between the signal and the pilot, the pilot tone is rotated to an orthogonal polarization and shifted to a different frequency using suppressed-carrier single sideband modulation (SC-SSB).
Step 1: Shot noise unit calibration
In this step we measure the shot noise variance from our CV-QKD circuit so that the results in the next step can be normalized in terms of shot noise units.
Step 2: Signal variance and parameter extraction
In this step we measure the signal variance with the transmitter connected and values for key parameters such as transmittivity, excess noise, and the signal-to-noise ratio are determined. The excess noise does not include shot noise, and represents noise that could be attributed to a potential eavesdropper.
Step 3: Secret key rate
The secret key rate is determined using the parameters simulated in the previous step.
Run and results
Instructions for running the model and discussion of key results
Step 1: Shot noise unit calibration
- Open the file [[QKD_circuit.icp]] in INTERCONNECT.
- Open and run the script [[step1_calibration.lsf]].
First, a simulation is performed with only the local oscillator (LO) connected to the homodyne detectors to measure noise due to the LO and the detector. Then, a second simulation is performed with the LO disconnected to measure detector noise, which is subtracted from the first measurement to obtain the shot noise level. This is then repeated 8 times to obtain an averaged value for the shot noise calibration. The frequency spectra for the first measurements are shown in the following plot.
The clearance, defined as the ratio of the two noise levels, is found to be \(18.95\text{ dB}\) for a noise-equivalent power (NEP) of \(4.34 \text{ pW}/\sqrt{Hz}\), and the averaged shot noise variance is \(22.07\cdot 10^{-6}\, V^2\).
Step 2: Signal variance and parameter extraction
- Open and run the script [[step2_simulation.lsf]].
This time the simulation is performed with a modulation variance of \(12.5\text{ SNU}\), which is related to the pump power of the transmitter laser \(P\) by the following expression
$$V_{\text{mod}}=\frac{2P}{f_{\text{sym}}hf},$$
where \(f_{\text{sym}}\) is the symbol rate, \(h\) is Planck's constant and \(f\) is the frequency of the transmitter laser. As in the previous step, the results are averaged over 8 simulations. The output of the suppressed-carrier single sideband modulator, which shifts the pilot frequency by \(1 \text{ GHz}\), is shown below.
The phase drift between the pilot and the LO is determined by measuring the I/Q quadratures of the pilot signal.
The measured phase drift can then be used to correct the signal and pilot quadratures, as shown below.
The parameter extraction process is performed on the phase corrected data following the procedure in [2]. The transmittivity can then be calculated using the data from either quadrature. Using the Q quadrature data, the transmittivity is
$$T=\frac{2\langle \hat{q}_A \hat{q}_B \rangle}{V_{\text{mod}}^2}c^2,$$
where \(\hat{q}_A\) is the symbol data before transmission, \(\hat{q}_B\) is the symbol data measured at the receiver, and \(c\) is a factor equal to
$$c=\sqrt{\frac{2B}{f_{\text{sym}}}},$$
where B is the detector bandwidth and \(f_{\text{sym}}\) is the symbol rate, and accounts for the fact that the integration time of the detector used for the shot noise measurement can be different from the pulse duration of each symbol. Then, the conditional variance can be calculated as
$$V_{\text{B|A}}=V\Bigl(\frac{1}{c}\sqrt{\frac{T}{2}}\hat{q}_{A}-\hat{q}_{B}\Bigr),$$
from which the excess noise can be determined
$$\xi_{\text{tot}}=2(V_{\text{B|A}}-1).$$
If the receiver is inaccessible to an eavesdropper, the receiver noise can be treated as trusted noise. Under this relaxed security assumption the noise attributed to an eavesdropper is given by
$$\xi_{\text{tot}}-\xi_{\text{det}}.$$
The simulated parameters as well as those from Reference 1 are presented in the table below.
Simulation | Reference 1 | |
\(\text{Channel length [km]}\) | 13 | 13 |
\(V_{\text{mod}}\) | 3.7 | 3.7 |
\(T\) | 0.42 | 0.35 |
\(\text{SNR}\) | 0.78 | 0.64 |
\(\xi_{\text{tot}}\) | 0.033 | 0.022 |
\(\xi_{\text{tot}}-\xi_{\text{det}}\) | 0.0073 | 0.0010 |
The transmittivity depends not only on the transmission channel losses but also on detector losses and any coupling losses between the transmission channel and the detector, and as a result will depend on the details of any given experimental implementation. The simulated results give a larger value for the noise that can be attributed to the eavesdropper \(\xi_{\text{tot}}-\xi_{\text{det}}\), most of which is due to phase correction error, and can be improved by performing additional digital signal processing or by using a stronger pilot tone, at the cost of introducing additional cross-talk between the signal and pilot tone.
Step 3: Secret Key Rate
- Open and run the script [[step3_key_rate.lsf]].
This script calculates uses the parameters determined in the previous step to calculate the secret key rate, which is given by
$$K=f_{\text{sym}}(1-FER)(1-\nu)(\beta I_{AB}-\chi_{EB}),$$
where FER is the frame-error rate, \(\nu\) is the fraction of symbols disclosed for parameter extraction, \(\beta\) is the post-processing efficiency, \(I_{AB}\) is the mutual information between the sent and received symbols, and \(\chi_{EB}\) is the Holevo bound [2]. Following Reference 1 and assuming \(\beta=0.97\), \(FER=0.05\), \(\nu=0.25\) and using the parameter values determined in Step 2 the secret key rate is determined to be \(38.0\text{ Mbit/s}\) over \(13\text{ km}\).
Important model settings
Description of important objects and settings used in this model
Common settings
- num_measurements: The number of measurements taken to average the simulation results in steps 1 and 2. A minimum value of 8 is recommended.
Updating the model with your parameters
Instructions for updating the model based on your device parameters
Changing circuit parameters
The circuit parameters used in this example are taken from the reference paper. However, potential parameters that can be changed include:
- Symbol rate
- Transimpedance amplifier (TIA) bandwidth and noise
- Photodetector responsivity
- Transmission channel length
- Transmitter laser RIN
- Transmitter laser linewidth
- Transmitter laser power (determines modulation variance)
- LO RIN
- LO linewidth
- LO power
- SC-SSB modulation frequency
- Pulse carver modulation amplitude
- Relative attenuation between signal and pilot
- Electrical filters for post-processing
Taking the model further
Additional sources of noise can be modelled by adding custom noise source to the simulation. Furthermore, the digital signal processing routine can be enhanced to reduce the error due to phase correction.
Additional resources
Additional documentation, examples and training material
Related publications
- F. Laudenbach et al, "Pilot-assisted intradyne reception for high-speed continuous-variable quantum key distribution with true local oscillator", Quantum, Vol. 3, p. 193, (2019).
- F. Laudenbach et al , "Continuous-Variable Quantum Key Distribution with Gaussian Modulation — The Theory of Practical Implementations", Adv. Quantum Technol., Vol. 1, (2018).