Introduction

Feedback is essential for stabilizing quantum devices and improving their performance. Real-time monitoring and control of quantum systems allows for precise manipulation of their quantum states1,2. In this way, it can help mitigate the effects of quantum decoherence and extend the lifetime of quantum systems for quantum computing and quantum sensing applications3, for example in superconducting qubits4,5,6,7,8, spins in diamond9,10,11,12,13,14, trapped atoms15,16, and other platforms17,18,19,20,21,22.

Among the various quantum-information processing platforms, semiconductor spin qubits23,24 are promising for quantum computing because of their long coherence times25 and foundry compatibility26. Focusing on spin qubits hosted in gate-controlled quantum dots (QDs), two-qubit gate fidelities of 99.5% and single-qubit gate fidelities of 99.8% have recently been achieved in silicon27. In germanium, a four-qubit quantum processor based on hole spins enabled all-electric qubit logic and the generation of a four-qubit Greenberger-Horne-Zeilinger state28. In gallium arsenide, simultaneous coherent exchange rotations and four-qubit measurements in a 2 × 2 array of singlet-triplets were demonstrated without feedback, revealing site-specific fluctuations of nuclear spin polarizations29. In silicon, a six-qubit processor was operated with high fidelities enabling universal operation, reliable state preparation and measurement30.

Achieving precise control of gated qubits can be challenging due to their sensitivity to environmental fluctuations, making feedback necessary to stabilize and optimize their performance. Because feedback-based corrections must be performed within the correlation time of the relevant fluctuations, real-time control is essential. Continuous feedback then allows to calibrate the qubit environment and to tune the qubit in real time to maintain high-fidelity gates and improved coherence, for instance by suppressing low-frequency noise and improving π-flip gate fidelity31. An active reset of a silicon spin qubit using feedback control was demonstrated based on quantum non-demolition readout32. Real-time operation of a charge sensor in a feedback loop33 maintained the sensor sensitivity for fast charge sensing in a Si/SiGe double quantum dot, compensating for disturbances due to gate-voltage variation and 1/f charge fluctuations. A quantum state with higher confidence than what is achievable through traditional thermal methods was initialized by real-time monitoring and negative-result measurements34.

This study implements real-time two-axis control of a qubit with two fluctuating Hamiltonian parameters that couple to the qubit along different directions on its Bloch sphere. The protocol involves two key steps: first, rapid estimation of the instantaneous magnitude of one of the fluctuating fields (nuclear field gradient) effectively creates one qubit control axis. This control axis is then exploited to probe in real time the qubit frequency (Heisenberg exchange coupling) across different operating points (detuning voltages). Our procedure allows for counteracting fluctuations along both axes, resulting in an improved quality factor of coherent qubit rotations.

Our protocol integrates a singlet-triplet (ST0) spin qubit implemented in a gallium arsenide double quantum dot (DQD)29 with Bayesian Hamiltonian estimation35,36,37,38,39. Specifically, an FPGA-powered quantum orchestration platform (OPX40) repeatedly separates singlet-correlated electron pairs using voltage pulses and performs single-shot readout classifications to estimate on-the-fly the fluctuating nuclear field gradient within the double dot41. Knowledge of the field gradient in turn enables the OPX to coherently rotate the qubit between S and T0 by arbitrary, user-defined target angles. Differently from previous works, we let the gradient freely fluctuate, without pumping the nuclear field42, and instead program the OPX to adjust the baseband control pulses accordingly.

An adaptive second-axis estimation is performed to also probe the exchange interaction between the two electrons. This exchange interaction estimation scheme is not simply an independent repetition of the single-axis estimation protocol35,36,37,38,39: the design of the exchange-based free induction decay (FID) pulse sequence depends on the outcome of the first-axis estimation and needs to be computed on the fly. Finally, fluctuations along both axes are measured and corrected, enabling the stable coherent rotation of the qubit around a symmetric axis, essential for performing the Hadamard gate.

Our work introduces a versatile method for enhancing coherent control and stability of spin qubits by harnessing low-frequency environmental fluctuations coupling to the system. As such, it is not limited to the operation of ST0 qubits in GaAs. Our implementation of real-time reaction to fluctuating Hamiltonian parameters can find application in other materials and qubit encodings, as it is not necessarily limited to nuclear noise.

Results

Device and Bayesian estimation

We use a top-gated GaAs DQD array29 and tune up one of its ST0 qubits using the gate electrodes shown in Fig. 1c, at 200 mT in-plane magnetic field in a dilution refrigerator with a mixing-chamber plate below 30 mK. Radio-frequency reflectometry off the sensor dot’s ohmic contact distinguishes the relevant charge configurations of the DQD43.

Fig. 1: A singlet-triplet (ST0) qubit with two fluctuating control axes.
figure 1

a The dots' electrical detuning ε tunes from a regime of low qubit frequency, ΩL, to a regime of high frequency, ΩH. States outside the computational space are not plotted. b In the first (second) regime, the Overhauser gradient ΔBz (the exchange coupling J) dominates the qubit frequency ΩLH) and the polar angle φ of the qubit rotation axis. c SEM image of the GaAs device29, implementing a two-electron double quantum dot (black circles) next to its sensor dot (SD) for qubit readout. J and ΔBz drive rotations of the qubit around two orthogonal axes, providing universal qubit control, as depicted in the Bloch sphere. e Uncontrolled fluctuations of the Larmor frequencies ΩL and ΩH, estimated in real time on the OPX and plotted with a 30 ms moving average.

The qubit operates in the (1,1) and (0,2) charge configuration of the DQD. (Integers indicate the number of electrons in the left and right dot.) The electrical detuning ε quantifies the difference in the electrochemical potentials of the two dots, which in turn sets the qubit’s spectrum as shown in Fig. 1a. We do not plot the fully spin-polarized triplet states, which are independent of ε and detuned in energy by the applied magnetic field. We define ε = 0 at the measurement point close to the interdot (1,1)-(0,2) transition, with negative ε in the (1,1) region. In the ST0 basis, we model the time-dependent Hamiltonian by

$${{{{{{{\mathcal{H}}}}}}}}(t)=J(\varepsilon (t))\,\frac{{\sigma }_{z}}{2}+{g}^{*}{\upmu }_{{{{{{{{\rm{B}}}}}}}}}{{\Delta }}{B}_{z}(t)\,\frac{{\sigma }_{x}}{2},$$
(1)

which depends on the detuning ε that controls the exchange interaction between the two electrons, J(ε(t)), and the component of the Overhauser gradient parallel to the applied magnetic field between the two dots, ΔBz(t). σi are the Pauli operators, g* is the effective g-factor, and μB is the Bohr magneton. In the following, we drop the time dependence of the Hamiltonian parameters for ease of notation. On the Bloch sphere of the qubit (Fig. 1d), eigenstates of the exchange interaction, \(\left\vert {{{{{{{\rm{S}}}}}}}}\right\rangle\) and \(\left\vert {{{{{{{{\rm{T}}}}}}}}}_{0}\right\rangle\), are oriented along Z, while ΔBz enables rotations along X.

The qubit is manipulated by voltage pulses applied to the plunger gates of the DQD, and measured near the interdot (1,1)-(0,2) transition by projecting the unknown spin state of (1,1) onto either the (1,1) charge state (\(\left\vert {{{{{{{{\rm{T}}}}}}}}}_{0}\right\rangle\)) or the (0,2) charge state (\(\left\vert {{{{{{{\rm{S}}}}}}}}\right\rangle\)). Each single-shot readout of the DQD charge configuration involves generation, demodulation, and thresholding of a few-microsecond-long radio-frequency burst on the OPX (see Supplementary Fig. 1).

The OPX allows for real-time calculation of the qubit Larmor frequency \({{\Omega }}(\varepsilon )=\scriptstyle\sqrt{{{\Delta }}{B}_{z}^{2}+J{(\varepsilon )}^{2}}\) at different detunings, based on real-time estimates of ΔBz and J(ε).

Inspecting the exchange coupling in a simplified Fermi-Hubbard hopping model23 and inserting J(ε) into Eq. (1) suggests two physically distinct regimes [Fig. 1b]: At low detuning, in the (1,1) charge state configuration, the Overhauser gradient dominates the qubit dynamics. In this regime, the qubit frequency reads \({{{\Omega }}}_{{{{{{{{\rm{L}}}}}}}}}\equiv \scriptstyle\sqrt{{{\Delta }}{B}_{z}^{2}+{J}_{{{{{{{{\rm{res}}}}}}}}}^{2}}\), where we have added a small phenomenological term \({J}_{{{{{{{{\rm{res}}}}}}}}}\) to account for a constant residual exchange between the two electrons at low detuning. Such a term may become relevant when precise knowledge of ΔBz is required, for example for the Hadamard protocol at the end of this study. At high detuning, close to the (1,1)–(0,2) interdot charge transition, exchange interaction between the two electrons dominates, and the qubit frequency becomes \({{{\Omega }}}_{{{{{{{{\rm{H}}}}}}}}}(\varepsilon )\equiv \scriptstyle\sqrt{{{\Delta }}{B}_{z}^{2}+J{(\varepsilon )}^{2}}\). As shown in Fig. 1b, the detuning affects both the Larmor frequency Ω and the polar angle φ of the qubit rotation axis \(\hat{{{{{{{{\boldsymbol{\omega }}}}}}}}}\), with φ approaching 0 in the limit J(ε)  ΔBz and π/2 if J(ε)  ΔBz.

Without the possibility of turning off either J or ΔBz, the rotation axes of the singlet-triplet qubit are tilted, meaning that pure X- and Z-rotations are unavailable. In their absence, the estimation of the qubit frequency at different operating points is crucial for navigating the whole Bloch sphere of the qubit. Figure 1e tracks Larmor frequencies ΩH and ΩL, both fluctuating over tens of MHz over a period of several seconds, using a real-time protocol as explained later. The presence of low-frequency variations in time traces of ΩH and ΩL suggests that qubit coherence can be extended by monitoring these uncontrolled fluctuations in real time and appropriately compensating qubit manipulation pulses on-the-fly.

To estimate the frequency of the fluctuating Hamiltonian parameters on the OPX, we employ a Bayesian estimation approach based on a series of free-induction-decay experiments35. Using mi to represent the outcome (\(| {{{{{{{\rm{S}}}}}}}}\rangle\) or \(| {{{{{{{{\rm{T}}}}}}}}}_{0}\rangle\)) of the i-th measurement after an evolution time ti, the conditional probability P(miΩ) is defined as the probability of obtaining mi given a value of Ω:

$$P\left({m}_{i}| {{\Omega }}\right)=\frac{1}{2}\left[1+{r}_{i}\left(\alpha+\beta \cos \left(2\pi {{\Omega }}{t}_{i}\right)\right)\right],$$
(2)

where ri takes a value of 1 ( − 1) if \({m}_{i}=\vert {{{{{{{\rm{S}}}}}}}}\rangle\) (\(\left\vert {{{{{{{{\rm{T}}}}}}}}}_{0}\right\rangle\)), and α and β are determined based on the measurement error and axis of rotation on the Bloch sphere.

Applying Bayes’ rule to estimate Ω based on the observed measurements mN, …m1, which are assumed to be independent of each other, yields the posterior probability distribution \(P\left({{\Omega }}\,| {m}_{N},\ldots {m}_{1}\right)\) in terms of a prior uniform distribution \({P}_{0}\left({{\Omega }}\right)\) and a normalization constant \({{{{{{{\mathcal{N}}}}}}}}\):

$$P\left({{\Omega }}\,| {m}_{N},\ldots {m}_{1}\right)= {P}_{0}\left({{\Omega }}\right){{{{{{{\mathcal{N}}}}}}}}\\ \times \mathop{\prod }\limits_{i=1}^{N}\left[1+{r}_{i}\left(\alpha+\beta \cos \left(2\pi {{\Omega }}{t}_{i}\right)\right)\right].$$
(3)

Based on previous works35,38,39, we fix α = 0.25 and β = ±0.5, with the latter value positive when estimating ΩL and negative when estimating ΩH. The expectation value 〈Ω〉, calculated over the posterior distribution after all N measurements, is then taken as the final estimate of Ω.

Controlled Overhauser gradient driven rotations

We first implement qubit control using one randomly fluctuating Hamiltonian parameter, through rapid Bayesian estimation of ΩL and demonstration of controlled rotations of a ST0 qubit driven by the prevailing Overhauser gradient. Notably, this allows coherent control without a micromagnet44,45 or nuclear spin pumping42.

ΩL is estimated from the pulse sequence shown in Fig. 2a: for each repetition a singlet pair is initialized in (0,2) and subsequently detuned deep in the (1, 1) region (εL ≈ − 40 mV) for N = 101 linearly spaced separation times ti up to 100 ns. After each separation, the qubit state, \(\left\vert {{{{{{{\rm{S}}}}}}}}\right\rangle\) or \(\left\vert {{{{{{{{\rm{T}}}}}}}}}_{0}\right\rangle\), is assigned by thresholding the demodulated reflectometry signal Vrf near the (1,1)-(0,2) interdot transition and updating the Bayesian probability distribution of ΩL according to the outcome of the measurement. After measurement mN, the initially uniform distribution has narrowed [inset of Fig. 2b, with white and black indicating low and high probability], allowing the extraction of 〈ΩL〉 as the estimate for ΩL. For illustrative purposes, we plot in Fig. 2a the N single-shot measurements mi for 10,000 repetitions of this protocol, which span a period of about 20 s, and in Fig. 2b the associated probability distribution PL) of each repetition. The quality of the estimation seems to be lower around a laboratory time of 6 seconds, coinciding with a reduced visibility of the oscillations in panel 2a. We attribute this to an enhanced relaxation of the triplet state during readout due to the relatively high ΔBz gradient during those repetitions46. The visibility could be improved by a latched or shelved read-out47,48 or energy-selective tunneling-based readout38.

Fig. 2: Controlled Overhauser gradient driven rotations of a ST0 qubit by real-time Bayesian estimation.
figure 2

One loop (solid arrows) represents one repetition of the protocol. a For each repetition, the OPX estimates ΩL by separating a singlet pair for N linearly spaced probe times ti and updating the Bayesian estimate (BE) distribution after each measurement, as shown in the inset of b for one representative repetition. For illustrative purposes, each single-shot measurements mi is plotted as a white/black pixel, here for N = 101 ΩL probe cycles, and the fraction of singlet outcomes in each column is shown as a red dot. b Probability distribution PL) after completion of each repetition in a. Extraction of the expected value 〈ΩL〉 from each row completes ΩL estimation. c For each repetition, unless 〈ΩL〉 falls below a user-defined minimum (here 50 MHz), the OPX adjusts the separation times \({\tilde{t}}_{j}\), using its real-time knowledge of 〈ΩL〉, to rotate the qubit by user-defined target angles \({\theta }_{j}={\tilde{t}}_{j}\,\langle {{{\Omega }}}_{{{{{{{{\rm{L}}}}}}}}}\rangle\). d To illustrate the increased coherence of Overhauser gradient driven rotations, we task the OPX to perform M = 80 evenly spaced θj rotations. Single-shot measurements mj are plotted as white/black pixels, and the fraction of singlet outcomes in each column is shown as a red dot.

Even though the rotation speed around \({\hat{{{{{{{{\boldsymbol{\omega }}}}}}}}}}_{{{{{{{{\rm{L}}}}}}}}}\) at low detuning is randomly fluctuating in time, knowledge of 〈ΩL〉 allows controlled rotations by user-defined target angles. To show this, we task the OPX in Fig. 2d to adjust the separation times \({\tilde{t}}_{j}\) in the pulse sequence to rotate the qubit by M = 80 different angles \({\theta }_{j}={\tilde{t}}_{j}\,\langle {{{\Omega }}}_{{{{{{{{\rm{L}}}}}}}}}\rangle\) between 0 and 8π. In our notation, the tilde in a symbol \(\tilde{x}\) indicates that the waveform parameter x is computed dynamically on the OPX. To reduce the FPGA memory required for preparing waveforms with nanosecond resolution, we perform controlled rotations only if the expected ΩL is larger than an arbitrarily chosen minimum of 50 MHz. (The associated IF statement and waveform compilation then takes about 40 μs on the FPGA.) This reduces the number of precomputed waveforms needed for the execution of pulses with nanosecond-scale granularity, for which we use the OPX baked waveforms capability. Accordingly, the number of rows in Fig. 2d (1450) is smaller than in panel a, and we only label a few selected rows with their repetition number.

To show the increased rotation-angle coherence of controlled ΔBz-driven rotations, we plot the average of all 1450 repetitions of Fig. 2d and compare the associated quality factor, Q 7, with that of uncontrolled oscillations, Q ~ 1 (we define the quality factor as the number of oscillations until the amplitude is 1/e of its original value). The average of the uncontrolled S-T0 oscillations in Fig. 2a can be fit by a decay with Gaussian envelope (solid line), yielding an inhomogeneous dephasing time \({T}_{2}^{*}\,\approx\, 30\,{{{{{{{\rm{ns}}}}}}}}\) typical for ST0 qubits in GaAs49. We associate the relatively smaller amplitude of stabilized qubit oscillations with the low-visibility region around 6 seconds in Fig. 2d, discussed earlier. Excluding such regions by post selection increases the visibility and quality factor of oscillations (see Supplementary Fig. 4). Overall, the results presented in this section exemplify how adaptive baseband control pulses can operate a qubit reliably, out of slowly fluctuating environments.

Real-time two-axis estimation

In addition to nuclear spin noise, ST0 qubits are exposed to electrical noise in their environment, which affects the qubit splitting in particular at higher detunings. It is therefore important to examine and mitigate low-frequency noise at different operating points of the qubit. In the previous section, the qubit frequency ΩL was estimated entirely at low detuning where the Overhauser field gradient dominates over the exchange interaction. In order to probe and stabilize also the second control axis, namely J-driven rotations corresponding to small φ in Fig. 1d, we probe the qubit frequency ΩH at higher detunings, using a similar protocol with a modified qubit initialization.

Free evolution of the initial state \(\left\vert {{{{{{{\rm{S}}}}}}}}\right\rangle\) around \({\hat{{{{{{{{\boldsymbol{\omega }}}}}}}}}}_{{{{{{{{\rm{L}}}}}}}}}\) would result in low-visibility exchange-driven oscillations because of the low value of φ. To circumvent this problem, we precede the ΩH estimation by one repetition of ΩL estimation, as shown in Fig. 3a. This way, real-time knowledge of 〈ΩL〉 allows the initial state \(\left\vert {{{{{{{\rm{S}}}}}}}}\right\rangle\) to be rotated to a state near the equator of the Bloch sphere, before it evolves freely for probing ΩH. This rotation is implemented by a diabatic detuning pulse from (0,2) to εL (diabatic compared to the interdot tunnel coupling) for time \({\tilde{t}}_{\pi /2}\), corresponding to a rotation of the qubit around \({\hat{{{{{{{{\boldsymbol{\omega }}}}}}}}}}_{{{{{{{{\rm{L}}}}}}}}}\) by an angle \({{{\Omega }}}_{{{{{{{{\rm{L}}}}}}}}}{\tilde{t}}_{\pi /2}=\pi /2\). After evolution for time tj under finite exchange, another π/2 rotation around \({\hat{{{{{{{{\boldsymbol{\omega }}}}}}}}}}_{{{{{{{{\rm{L}}}}}}}}}\) rotates the qubit to achieve a high readout contrast in the ST0 basis, as illustrated on the Bloch sphere in Fig. 3b.

Fig. 3: Real-time Bayesian estimation of two control axes.
figure 3

a One repetition of the two-axis estimation protocol. After estimating ΩL from N = 101 ti probe cycles (Fig. 2a), the OPX computes on-the-fly the pulse duration \({\tilde{t}}_{\pi /2}\) required to initialize the qubit near the equator of the Bloch sphere by a diabatic ΩL(π/2) pulse. After the ΩL(π/2) pulse, the qubit evolves for time tj under exchange interaction before another ΩL(π/2) pulse initiates readout. After each single-shot measurement mj, the OPX updates the BE distribution of ΩH. Similar to ti in the ΩL estimation, tj is spaced evenly between 0 and 100 ns across M = 101 exchange probe cycles. b Qubit evolution on the Bloch sphere during one exchange probe cycle. c Each column plots PL) after completion of the ΩL estimation in each protocol repetition. d Each column plots PH) after completion of the ΩH estimation in each protocol repetition.

As a side note, we mention that in the absence of knowledge of the Overhauser field gradient, the qubit would traditionally be initialized near the equator by adiabatically reducing detuning from (0,2) to the (1,1) charge configuration, and a reverse ramp for readout. Such adiabatic ramps usually last several microseconds each, while our \({\tilde{t}}_{\pi /2}\) pulses typically take less than 10 ns, thereby significantly shortening each probe cycle.

For the estimate of ΩH, the Bayesian probability distribution of ΩH is updated after each of the M = 101 single-shot measurement mj, each corresponding to a separation time tj that is evenly stepped from 0 to 100 ns. The Bayesian probability distributions of both ΩL and ΩH are shown in Fig. 3c and d, respectively, with the latter being conditioned on 20 MHz < 〈ΩL〉 < 40 MHz to reduce the required FPGA memory.

This section demonstrated a real-time baseband control protocol that enables manipulation of a spin qubit on the entire Bloch sphere.

Controlled exchange-driven rotations

Using Bayesian inference to estimate control axes in real-time offers new possibilities for studying and mitigating qubit noise at all detunings. Figure 4a describes the real-time controlled exchange-driven rotations protocol aimed at stabilizing frequency fluctuations of the qubit at higher detunings. Following the approach of Fig. 3, we first estimate ΩL and ΩH using real-time Bayesian estimation. We then use our knowledge of ΩH to increase the rotation angle coherence of the qubit where the exchange coupling is comparable with the Overhauser field gradient.

Fig. 4: Real-time-controlled exchange-driven qubit rotations.
figure 4

a One repetition of the exchange rotation protocol. After estimation of ΩL and ΩH as in Fig. 3, the OPX adjusts exchange duration times \({\tilde{t}}_{l}\), using real-time knowledge of 〈ΩH〉, to rotate the qubit by user-defined target angles \({\theta }_{l}={\tilde{t}}_{l}\,\langle {{{\Omega }}}_{{{{{{{{\rm{H}}}}}}}}}\rangle\). Pulse durations \({\tilde{t}}_{\pi /2}\) for qubit initialization and readout use real-time knowledge of 〈ΩL〉. b Each row plots measurements mj from one protocol repetition, here M = 101 exchange probe outcomes. c Each row plots measurement ml from one protocol repetition, here K = 101 controlled-exchange-rotation outcomes. To illustrate the increased coherence of controlled exchange rotations, we also plot in b and c the fraction of singlet outcomes of each column.

As illustrated in Fig. 4a, the qubit control pulses now respond in real time to both qubit frequencies ΩL and ΩH. Similar to the previous section, after determining 〈ΩL〉 and confirming that 30 MHz < 〈ΩL〉 < 50 MHz is fulfilled, the qubit is initialized near the equator of the Bloch sphere by fast diabatic ΩL(π/2) pulses, followed by an exchange-based FID that probes ΩH. Based on the resulting 〈ΩH〉, the OPX adjusts the separation times \({\tilde{t}}_{l}\) to rotate the qubit by user-defined target angles \({\theta }_{l}={\tilde{t}}_{l}\,\langle {{{\Omega }}}_{{{{{{{{\rm{H}}}}}}}}}\rangle\).

To show the resulting improvement of coherent exchange oscillations, we plot in Fig. 4c the interleaved K = 101 measurements ml and compare them in Fig. 4b to the M = 101 measurements mj. Fitting the average of the uncontrolled rotations by an oscillatory fit with Gaussian envelope decay yields \({T}_{{{{{{{{\rm{el}}}}}}}}}^{*}\,\approx\, 60\,{{{{{{{\rm{ns}}}}}}}}\) and Q ≈ 3, presumably limited by electrical noise49, while the quality factor of the controlled rotations is enhanced by a factor of two, Q ≈ 6.

The online control of exchange-driven rotations using Bayesian inference stabilizes fluctuations of the qubit frequency at higher detunings, where fluctuations are more sensitive to detuning noise. Indeed, we attribute the slightly smaller quality factor, relative to Overhauser-driven rotations in Fig. 2d, to an increased sensitivity to charge noise at larger detuning, which, owing to its high-frequency component, is more likely to fluctuate on the estimation timescales36.

This section established for the first time stabilization of two rotation axes of a spin qubit. This advancement should allow for stabilized control over the entire Bloch sphere, which we demonstrate in the next section.

Hadamard rotations

In this experiment, we demonstrate universal ST0 control that corrects for fluctuations in all Hamiltonian parameters. We execute controlled Hadamard rotations around \({\hat{{{{{{{{\boldsymbol{\omega }}}}}}}}}}_{{{{{{{{\rm{Had}}}}}}}}}\), as depicted by the trajectory on the Bloch sphere of Fig. 5d, by selecting the detuning εHad in real time such that J(εHad) = ΔBz. To achieve this, we do not assume that ΔBz = ΩL (i.e. we allow contributions of \({J}_{{{{{{{{\rm{res}}}}}}}}}\) to ΩL) or that J = ΩL (i.e. we allow contributions of ΔBz to ΩH). The full protocol is detailed in Supplementary Discussion.

Fig. 5: Real-time universal ST0 control demonstrated by Hadamard rotations.
figure 5

a Hadamard rotation protocol. After estimating ΩL, ε is chosen in real-time such that J(ε) = ΔBz, based on a linearized offline model from panel c. If \(40\,{{{{{{{\rm{MHz}}}}}}}}\, < \,\left\langle | {{\Delta }}{B}_{z}| \right\rangle \, < \, 60\,{{{{{{{\rm{MHz}}}}}}}}\), the detuning is adjusted to account for deviations of the prevailing J from the offline model. Real-time knowledge of \({{{\Omega }}}_{{{{{{{{\rm{Had}}}}}}}}}=\sqrt{2}\,| {{\Delta }}{B}_{z}|\) then dictates \({\tilde{t}}_{i}\) to achieve a user-defined Hadamard rotation angle. b Averaged exchange driven FID as a function of detuning and evolution time. Here, a diabatic ΩL(π/2) pulse initializes the qubit near the equator of the Bloch sphere, prior to free exchange evolution, and subsequently prepares it for readout. c J as a function of ε extracted offline from b, as well as a linearized model (dashed line) used in the two feedback steps of panel a. d Hadamard rotation depicted on the Bloch sphere. e Measurement of Hadamard rotations with ΔBz and J estimation (purple, top panel), only ΔBz estimation (light gray, middle panel), and without the feedback shown in a (dark gray, bottom panel).

Real-time knowledge of both ΔBz and J would potentially benefit two-qubit gate fidelities50 and the resonant-driving approach of previous works35,38,39. In the resonant implementation, constrained to the operating regime ΔBzJ, low-frequency fluctuations of J result in transverse noise that causes dephasing and phase shifts of the Rabi rotations51,52.

In previous sections, we have shown how to probe the qubit Larmor frequencies ΩH and ΩL at different detunings in real time and correct for their fluctuations. Now, we simultaneously counteract fluctuations in J and ΔBz on the OPX in order to perform the Hadamard gate. As we do not measure the sign of ΔBz, we identify the polar angle of \({\hat{{{{{{{{\boldsymbol{\omega }}}}}}}}}}_{{{{{{{{\rm{Had}}}}}}}}}\) as either φ = π/4 or − π/4. In other words, starting from the singlet state, the qubit rotates towards + X on the Bloch sphere for one sign of ΔBz, and towards − X for the other sign. The sign of the gradient may change over long time scales due to nuclear spin diffusion (on the order of many seconds41), but the measurement outcomes of our protocol are expected to be independent of the sign.

The relative sign of Overhauser gradients becomes relevant for multi-qubit experiments53, and could be determined54 by comparing the relaxation time of the ground state (e.g. \(| \uparrow \downarrow\, \rangle\)) of ΔBz with its excited state (\(| \downarrow \uparrow \,\rangle\)). Such diagnostic sign-probing cycles on the FPGA should not require more than a few milliseconds, negligible compared to the expected time between sign reversals.

In preparation for our protocol, we first extract the time-averaged exchange profile by performing exchange oscillations as a function of evolution time [Fig. 5b]. Removing contributions of ΔBz to ΩH then yields J(ε) in Fig. 5c. A linear approximation in the target range 40 MHz < 〈 J〉 < 60 MHz (dashed blue line) is needed later on the OPX to allow initial detuning guesses when tuning up J(ε) = ΔBz. We also provide the OPX with a value for the residual exchange at low detuning, \({J}_{{{{{{{{\rm{res}}}}}}}}}\,\approx \,20\,{{{{{{{\rm{MHz}}}}}}}}\), determined offline as described in Supplementary Fig. 5.

As illustrated in Fig. 5a, the Hadamard rotation protocol starts by estimating ΔBz from ΩL, taking into account a constant residual exchange by solving \({{\Delta }}{B}_{z}^{2}={{{\Omega }}}_{{{{{{{{\rm{L}}}}}}}}}^{2}-{J}_{{{{{{{{\rm{res}}}}}}}}}^{2}\).

Next, an initial value of εHad is chosen based on the linear offline model to fulfill J(εHad) = ΔBz [feedback in panel (a,c)]. To detect any deviations of the prevailing J from the offline model, an exchange-driven FID is performed at εHad to estimate J from ΩH, using \({J}^{2}={{{\Omega }}}_{{{{{{{{\rm{H}}}}}}}}}^{2}-{{\Delta }}{B}_{z}^{2}\).

Any deviation of 〈J〉 from the target value ΔBz is subsequently corrected for by updating εHad based on the linearized J(ε) model [feedback in panels (a,c)]. Matching J to ΔBz in the two detuning feedback steps each takes about 400 ns on the OPX. Finally, real-time knowledge of \({{{\Omega }}}_{{{{{{{{\rm{Had}}}}}}}}}\equiv \sqrt{2}| {{\Delta }}{B}_{z}|\) is used to generate the free evolution times \({\tilde{t}}_{i}\), spent at the updated value \({\tilde{\varepsilon }}_{{{{{{{{\rm{Had}}}}}}}}}\), in order to perform Hadamard rotations by K user defined target angles.

The resulting Hadamard oscillations are shown in Fig. 5e (top panel) and fitted with an exponentially decaying sinusoid, indicating a quality factor Q > 5. (According to this naive fit, the amplitude drops to 1/e over approximately 40 rotations, although we have not experimentally explored rotation angles beyond 9π.) In comparison to exchange-controlled rotations from Fig. 4c, the Hadamard rotations are more stable, which we attribute to the additional feedback on detuning that fixes the oscillation axis and decreases sensitivity to charge noise.

To illustrate the crucial role of real-time estimation for this experiment, we also performed rotation experiments that do not involve any real-time estimation and feedback cycles (dark gray data, bottom panel), as follows. Within minutes after performing the controlled Hadamard rotations (purple data), we executed Hadamard rotations assuming a fixed value of \(| {{\Delta }}{B}_{z}|=\overline{| {{\Delta }}{B}_{z}| }\), i.e. by pulsing to a fixed detuning value corresponding to \(J({\varepsilon }_{{{{{{{{\rm{H}}}}}}}}})=\overline{| {{\Delta }}{B}_{z}| }\) according to the offline model. Here, \(\overline{| {{\Delta }}{B}_{z}| }\approx 40\) MHz is the average Overhauser gradient that we observed just before executing the Hadamard protocol. Not surprisingly, the quality factor of the resulting Hadamard-like oscillations is low and the rotation angle deviates from the intended target angle, likely due to the Overhauser gradient having drifted in time. As a side note, we mention that the purple data in Fig. 5e constitutes an average over 5000 repetitions, corresponding to a total acquisition time of 2 minutes including Overhauser and exchange estimation cycles. In contrast, the dark gray data also constitutes an average over 5000 repetitions, but only required 15 seconds because of the omission of all estimation and feedback cycles.

To verify that the enhancement in Q is not solely due to the more accurate knowledge of ΔBz, we also performed Hadamard rotations only using the estimation of ΔBz. The FPGA was programmed to perform a measurement where the initialized singlet is pulsed to a fixed detuning J(εH) ≈ 20 MHz to perform a Hadamard rotation, only if the estimated ΔBz on the FPGA satisfies \(17\,{{{{{{{\rm{MHz}}}}}}}}\, < \,\left\langle | {{\Delta }}{B}_{z}| \right\rangle \, < \,23\,{{{{{{{\rm{MHz}}}}}}}}\). We then post select the repetitions where \(19.5\,{{{{{{{\rm{MHz}}}}}}}}\, < \,\left\langle | {{\Delta }}{B}_{z}| \right\rangle \, < \, 20.5\,{{{{{{{\rm{MHz}}}}}}}}\). Fitting this by an oscillatory fit with Gaussian envelope decay yields \({T}_{{{{{{{{\rm{el}}}}}}}}}^{*}\,\approx\, 70\,{{{{{{{\rm{ns}}}}}}}}\), Q ≈ 2.0 and frequency ≈ 29 MHz.

In Fig. 5e we compare these data (light gray, middle panel) with the cases where the FPGA estimated both ΔBz and J (purple, top panel) and where the microprocessor does not perform any estimation but simply pulses to J(εH) to perform the rotations (dark gray, bottom panel). (In the middle panel the horizontal axis was rescaled to the Hadamard evolution time using the fitted frequency ≈ 29 MHz.) We see that (i) a reduction of the uncertainty in ΔBz from ≈ 30 MHz (r.m.s.) to ≈ 2 MHz (dark gray to light gray) does not yield a proportional gain in Q and (ii) the improvement in Q when including estimation of J (light gray to purple) is much larger than can be justified solely by the slight further reduction of the uncertainty in ΔBz (roughly from ≈ 2 MHz to ≈ 1 MHz). This demonstrates the crucial contribution of the estimations along both axes in the improvement of our Hadamard gate quality factor.

Further evidence for the fluctuating nature of non-stabilized Hadamard rotations is discussed in Supplementary Fig. 6.

The stabilized Hadamard rotations demonstrate real-time feedback control based on Bayesian estimation of J and ΔBz, and suggest a significant improvement in coherence for ST0 qubit rotations around a tilted control axis. Despite the presence of fluctuations in all Hamiltonian parameters, we report effectively constant amplitude of Hadamard oscillations, with a reduced visibility that we tentatively attribute to estimation and readout errors.

Discussion

Our experiments demonstrate the effectiveness of feedback control in stabilizing and improving the performance of a singlet-triplet spin qubit. The protocols presented showcase two-axis control of a qubit with two fluctuating Hamiltonian parameters, made possible by implementing online Bayesian estimation and feedback on a low-latency FPGA-powered qubit control system. Real-time estimation allows control pulses to counteract fluctuations in the Overhauser gradient, enabling controlled Overhauser-driven rotations without the need for micromagnets or nuclear polarization protocols. Notably, even in the absence of a deterministic component of the Hamiltonian purely noise-driven coherent rotations of a two-level quantum system were demonstrated.

The approach is extended to the real-time estimation of the second rotation axis, dominated by exchange interaction, which we then combine with an adaptive feedback loop to generate and stabilize Hadamard rotations. In particular, executing the Hadamard gate involves (i) sequentially executing two distinct estimation cycles, where the design of the second cycle relies on the outcomes of the first, (ii) correlating the detected frequencies to distinguish independent fluctuations of the two control axes, and (iii) utilizing this correlated information to dynamically construct and execute a Hadamard gate. These steps demand real-time adaptive estimations and signal generations throughout the protocol, which has not been demonstrated before. A constant Overhauser field gradient, whether stemming from nuclear spin pumping or a micromagnet, is expected to further improve the feedback control. From this perspective, our work represents a worst-case scenario, demonstrating the effectiveness of our experimental technique.

Our protocols assume that ΔBz does not depend on the precise dot detuning in the (1,1) configuration and remains constant on the time scale of one estimation. Similarly, stabilization of exchange rotations is only effective for electrical fluctuations that are slow compared to one estimation. Therefore, we expect potential for further improvements by more efficient estimation methods, for example through adaptive schemes55 for Bayesian estimation from fewer samples, or by taking into account the statistical properties of a time-varying signal described by a Wiener process56 or a nuclear spin bath57. Machine learning could be used to predict the qubit dynamics58,59,60, possibly via long short-term memory artificial neural networks as reported for superconducting qubits61. While our current qubit cycle time (approximately 30 μs) is dominated by readout and qubit initialization, it can potentially be reduced to a few microseconds through faster qubit state classification, such as enhanced latched readout48, and faster reset, such as fast exchange of one electron with the reservoir62. Our protocol could be modified for real-time non-local noise correlations63 or in-situ qubit tomography using fast Bayesian tomography64 to study the underlying physics of the noisy environment, thereby providing qualitatively new insights into processes affecting qubit coherence and multi-qubit error correction.

Beyond ST0 qubits, our protocols uncover new perspectives on coherent control of quantum systems manipulated by baseband pulses. This work represents a significant advancement in quantum control by implementing an FPGA-powered technique to stabilize in real time the qubit frequency at different manipulation points.

Methods

Experimental setup

We use an Oxford Instruments Triton 200 cryofree dilution refrigerator with base temperature below 30 mK. The experimental setup employs a Quantum Machines OPX+ for radio-frequency (RF) reflectometry and gate control pulses. The RF carrier frequency is ≈158 MHz and the gate control pulses sent to the left and right plunger gates of the DQD are filtered with low-pass filters (≈220 MHz) at room temperature, before being attenuated at different stages of the refrigerator. Low-frequency tuning voltages (high-frequency baseband waveforms) are applied by a QDAC65 (OPX) via a QBoard high-bandwidth sample holder66.

Measurement details

Before qubit manipulation, an additional reflectometry measurement is taken as a reference to counteract slow drifts in the sensor dot signal. At the end of each qubit cycle, a ≈ 1 μs long pulse is applied to discharge the bias tee. As the qubit cycle period (tens of μs) is much shorter than the bias tee cutoff (≈300 Hz), we do not correct the pulses for the transfer function of the bias tee.