量子比特校准与噪声表征:从 Rabi 振荡到 T1/T2

系统讲解超导量子比特的校准与噪声表征:从微波控制链路与 IQ 调制讲起,逐项拆解 Rabi 振荡测 π 脉冲时长、Ramsey 干涉测频率失谐与 T2 星、自旋回波测 T2、T1 能量弛豫测量、读出保真度与读出误差缓解、随机基准测试与门保真度、串扰与 ZZ 耦合,最后落到自动校准流水线、漂移重校准与用 Qiskit 读取后端校准数据的工程实践。

引言

一台超导量子计算机上跑的每一个 x 门、每一次测量,背后都依赖一组当天早上刚测出来、可能下午就漂了的校准参数:π 脉冲的时长与振幅、比特频率、读出腔的鉴别阈值、门与门之间的相位修正。校准不是一次性的初始化,而是与噪声赛跑的持续运维。理解校准,本质上是理解量子比特的噪声谱如何被一组精心设计的实验「翻译」成可用的控制参数。

本文从工程视角走完整条链路:先看超导比特的物理实现与控制信号生成,再逐项拆解 Rabi、Ramsey、回波、T1 这几类基础实验,然后讨论读出保真度、随机基准测试、串扰与 ZZ 耦合,最后落到自动校准流水线与漂移重校准的落地方法。目标是让你既能读懂 backend.properties() 里那些数字的含义,也能自己写出一次校准实验。

前置:量子比特与门基础 、Qiskit 编程入门 、误差缓解 。


目录


1. 超导量子比特的物理实现与控制链路

主流超导比特是 transmons(传输子):一个超导量子干涉环(SQUID)并联大电容,构成非线性 LC 振荡器。线性谐振子能级等距,无法单独寻址 |0⟩↔|1⟩;非简谐度 α/2π ≈ -200 ~ -330 MHz 把 |0⟩↔|1⟩ 与 |1⟩↔|2⟩ 的频率分开,才使选择性驱动成为可能。

参数典型值说明
比特频率 ω01/2π4.5 ~ 5.5 GHz由 SQUID 磁通偏置调节
非简谐度 α/2π-200 ~ -330 MHz决定泄漏到 |2⟩ 的难度
T1100 ~ 500 μs能量弛豫时间
T2(回波)100 ~ 400 μs相位相干时间
单门时长20 ~ 40 ns微波脉冲
双门时长100 ~ 500 ns交叉共振 / 可调耦合器
单门保真度99.9% 量级随机基准测试给出
双门保真度99.0 ~ 99.9%CZ / iSWAP / CX

控制链路自顶向下分四层:

软件层:Qiskit / Cirq 电路 → 编译(transpile)
脉冲层:Schedule(OpenPulse)—— 复数包络 + 频率 + 相位
仪器层:AWG → 混频 → 室温衰减 → 低温衰减
芯片层:微波线 → 比特 / 读出腔 → 反射 → 参量放大器(TWPA)
采集层:ADC 采样 → 解调 → 积分 → 单发判读

心智:transmon 的非线性是「可寻址性」的物理来源。整条链路的每一层都会引入误差:AWG 量化、混频器边带泄漏、低温线热噪声、ADC 积分窗口。校准的任务就是把这条链路「调成一台准酉变换器」。


2. 微波脉冲与 IQ 调制

一个驱动脉冲在旋转坐标系下是绕轴旋转:

H_drive(t) = (Ω(t)/2)·[cos(φ)·σ_x + sin(φ)·σ_y]
  Ω(t):拉比频率,正比于脉冲包络振幅 A(t)
  φ:脉冲相位,决定绕 x 轴还是 y 轴旋转

实验室坐标系输出:
  s(t) = Re{ A(t)·e^(i(ω_d t + φ)) }
       = I(t)·cos(ω_d t) - Q(t)·sin(ω_d t)
  I(t) = A(t)·cos(φ),Q(t) = A(t)·sin(φ)

为什么必需 IQ 调制:单通道混频(只用 I)会产生双边带,在 ω_d ± Ω 都有分量,其中一个镜像边带会误驱动邻近比特。IQ 调制让 I、Q 同时上混频,镜像边带相消、只剩单边带——这是频分复用(FDMA)多比特寻址的前提。

DRAG 校正压制泄漏到 |2⟩:短的高斯脉冲频谱很宽,会把布居打到 |2⟩。DRAG(Derivative Removal by Adiabatic Gate)用 I 的导数生成 Q:

Q(t) = -λ · (1/α) · dI(t)/dt
  α:比特非简谐度;λ:可调缩放因子(常取 0.5,再实验微调)
→ 用 I 的导数抵消 |1⟩↔|2⟩ 的跃迁
from qiskit import pulse
from qiskit.pulse.library import Drag
# beta 即 DRAG 参数,正比于 1/alpha
with pulse.build(backend, name="x_drag") as sched:
    pulse.play(Drag(duration=160, amp=0.15, sigma=40, beta=0.35),
               pulse.DriveChannel(0))

心智:I/Q 两个实通道承载一个复包络——振幅给旋转角度,相位给旋转轴。DRAG 用「包络的导数」换「更少的泄漏」,本质是给脉冲加一个补偿边带,让 |1⟩↔|2⟩ 的跃迁路径相消。


3. Rabi 振荡:测量 π 脉冲时长

实验原理:序列为 |0⟩ --[驱动脉冲, 时长 t, 振幅 A]--[测量]。若驱动频率与比特频率共振,则

P(|1⟩) = sin^2(Ω_R · t / 2)
  Ω_R = 拉比频率,正比于驱动振幅 A
  → P(|1⟩) 随 t 振荡,周期 T_Rabi = 2π/Ω_R

读出关键参数:π 脉冲时长 = T_Rabi / 2(第一个 P=1 的位置);π/2 脉冲时长 = T_Rabi / 4。这是后续所有校准实验的「基本时间单位」。

import numpy as np
from qiskit import pulse
from qiskit.pulse.library import Gaussian

durations = np.arange(0, 400, 8)   # 单位 dt
for dur in durations[1:]:
    with pulse.build(backend) as sched:
        pulse.play(Gaussian(dur, amp=0.15, sigma=dur / 4), pulse.DriveChannel(0))
        pulse.measure(0)
    # 提交 sched → 收集计数 → 换算 P(1)

# 拟合模型:A * exp(-t/T2r) * cos(2*pi*f*t + phi) + offset
# 由 f 得拉比频率,取 1/(2f) 得 pi 脉冲时长

为什么包络会衰减:驱动振幅噪声、比特频率漂移导致逐渐失谐、测量本身约 1% 的 |1⟩ 误判,故拟合时务必带衰减包络 exp(-t/T2_rabi)。

心智:Rabi 实验是校准的「定标尺」——它给出 π 脉冲时长,所有后续实验的脉冲都以此为单位。包络衰减率还顺便暴露了驱动噪声的量级。


4. Ramsey 干涉:频率失谐与 T2 星

实验原理:序列为 |0⟩ --[π/2]--[自由演化 τ]--[π/2]--[测量],把布居放到赤道面让相位自由累积:

P(|1⟩) = 0.5 · [1 + cos(Δω·τ)·exp(-τ/T2*)]
  Δω = ω_驱动 - ω_比特(频率失谐)
  T2* = 相位相干时间(含低频噪声)

从曲线读出两件事:振荡频率给出失谐 Δω(微调驱动频率使 Δω → 0,即频率校准);振荡包络的衰减给出 T2*,它通常远小于 T2(回波),因为低频 1/f 噪声主导。

delays = np.arange(0, 3000, 40)   # 单位 dt,dt 常取 0.222 ns
for delay in delays:
    with pulse.build(backend) as sched:
        d0 = pulse.DriveChannel(0)
        pulse.play(Gaussian(160, 0.15, 40), d0)   # 第一个 pi/2
        pulse.delay(delay, d0)                    # 自由演化
        pulse.play(Gaussian(160, 0.15, 40), d0)   # 第二个 pi/2
        pulse.measure(0)

# 拟合 0.5*(1 + A*exp(-tau/T2star)*cos(2*pi*df*tau + phi))
# df 的符号告诉你驱动频率偏高还是偏低

T2 星与 T2 的关系:

1/T2* = 1/(2·T1) + Γ_低频谱(1/f 磁通噪声、电荷噪声)
1/T2  = 1/(2·T1) + Γ_高频(回波能消掉低频部分)
→ T2(回波)≥ T2*;若 T2 ≈ 2·T1,说明比特已接近 T1 极限

心智:Ramsey 是「相位噪声的显微镜」——振荡频率给失谐(校准用),包络衰减给 T2 星(噪声用)。T2 星远小于 T2 说明主导噪声是低频的、可被回波压制,这类噪声通常来自磁通偏置线上的 1/f 涨落。


5. 自旋回波与 T2 测量

为什么需要回波:低频噪声在 Ramsey 的 τ 内「准静态」,不同实验轮的失谐不同、相位随机累积,导致快速退相干。Hahn 回波让前半段累积 +θ、插入 π 脉冲翻转、后半段累积 -θ,静态失谐的贡献相互抵消。

|0⟩ --[π/2]--[τ/2]--[π]--[τ/2]--[π/2]--[测量]
对静态失谐:净相位 = Δω·(τ/2) - Δω·(τ/2) = 0
→ 只剩快速涨落的噪声贡献,衰减时间即 T2

多脉冲回波与噪声谱:CPMG 序列插入 n 个 π 脉冲,能进一步压制低频噪声,T2 随 n 增加而增长。增长曲线等价于「噪声谱的滤波器」,在频率 f_n = n/(2τ) 附近采样噪声功率谱,可用不同 n 的 T2 反推 1/f 噪声强度与谱指数。

from qiskit_experiments.library import T2Ramsey
import numpy as np

exp = T2Ramsey(physical_qubits=(0,), delays=np.arange(0, 200e-6, 2e-6))
data = exp.run(backend).block_for_results()
print(data.analysis_results("T2").value)    # 回波测得的 T2
print(data.analysis_results("freq").value)  # 残余失谐

心智:回波实验的关键是「翻转消相位」——π 脉冲把累积相位镜像翻转,使静态失谐抵消、只留动态噪声。因此 T2(回波)总是 ≥ T2 星,两者的差距正是低频噪声的「指纹」。


6. T1 能量弛豫测量

实验原理:序列为 |0⟩ --[π]--[等待时间 t]--[测量]。理想情况下 |1⟩ 以 e^(-t/T1) 概率衰减回 |0⟩,故

P(|1⟩) = exp(-t / T1)
→ 拟合指数衰减,时间常数即 T1

T1 的物理来源:

1. 介电损耗:衬底 / 界面两能级缺陷(TLS)吸收能量(主导)
2. 准粒子隧穿:超导能隙中的非平衡准粒子
3. 辐射损耗:封装槽线模式、红外泄漏 → 靠红外滤波与铜屏蔽压制
4. Purcell 效应:比特通过耦合腔向 50Ω 环境衰减 → 用带阻滤波器压制

T1 与温度:平衡态布居比 P(|1⟩)/P(|0⟩) = exp(-ℏω01/k_B T),在 10 mK、ω01/2π = 5 GHz 时热布居约 1e-10,可忽略——这是超导比特的先天优势。

心智:T1 是「能量去向」的时间常数,T2 是「相位记忆」的时间常数——T1 给出相干时间的硬上界(T2 ≤ 2·T1)。测 T1 只需一条指数曲线,但它对材料与屏蔽最敏感,因此是评估工艺水平的首选指标。


7. 读出保真度与读出误差缓解

色散读出原理:比特耦合到读出谐振腔,腔频率随比特态移动 2χ。打入探测微波后,|0⟩ 与 |1⟩ 给出不同反射相位,据此做单发判读。

P(1|0):制备 |0⟩ 却判读为 1(假阳性)
P(0|1):制备 |1⟩ 却判读为 0(假阴性)
现代平台典型:P(1|0) ~ 0.5%,P(0|1) ~ 1.5%
→ 读出误差常是「最大的单一误差源」

为什么不对称:|1⟩ 会在约 1 μs 的读出等待期内部分弛豫回 |0⟩,故 P(0|1) 通常大于 P(1|0),这就是「T1 限制的读出」。改善手段包括参量放大器(JPA / TWPA)提升信噪比以缩短读出时间、优化 QND 以减少测量反作用、读出脉冲整形以减少泄漏。

读出误差缓解:标定响应矩阵(assignment matrix)A[i][j] = P(判读为 i | 制备为 j),缓解时做

p_ideal = A^(-1) · p_measured
对 n 比特用张量积近似 A ≈ A_1 ⊗ ... ⊗ A_n
→ 只需标定 2n 个 2×2 矩阵,代价 O(n)
注意:矩阵求逆会放大统计噪声 → 需加非负、归一约束
from qiskit.utils.mitigation import complete_meas_cal
meas_calibs, state_labels = complete_meas_cal(qr=[0, 1], circlabel="mcal")
# 在含读出噪声的后端运行标定电路 → 构造 A → 求逆 → 应用到结果

心智:读出误差缓解是「用经典后处理换回被测量环节丢掉的保真度」——它不改硬件,只标定响应矩阵再反演。代价是统计噪声被放大,因此对「接近边界」的概率估计要谨慎。


8. 随机基准测试与门保真度

为什么需要 RB:直接对比理想态与实际态需态层析,其误差随比特数指数增长且被 SPAM 误差污染。RB 用随机 Clifford 序列绕开这两点。

标准 RB 序列:
  1. 从 Clifford 群随机抽 m 个门
  2. 追加「使整体回到 |0⟩」的补偿门
  3. 测量 P(|0⟩),对多组随机序列求平均

结果:P(|0⟩) = A · p^m + B
  p = 每次 Clifford 的去极化参数
  平均门误差 r = (1 - p)·(d - 1)/d,d = 2^n
关键:A、B 吸收了 SPAM 误差 → RB 结果不受读出误差影响
方法测量对象特点
Standard RBClifford 群单比特门保真度基准
Interleaved RB特定门夹在 Clifford 中分离单个门的误差
Cross-Entropy Benchmarking随机电路全芯片规模,Google 采用
Cycle Benchmarking门层(cycle)直接测双门层,无需拆分
Purity RB单位性区分相干与非相干误差
Unitarity单位性衰减分离退相干与系统误差
from qiskit_experiments.library import StandardRB
import numpy as np

exp = StandardRB(physical_qubits=(0,), lengths=np.arange(1, 800, 100), num_samples=30)
data = exp.run(backend).block_for_results()
print(data.analysis_results("EPC").value)   # 每 Clifford 误差

相干误差与非相干误差的区别:非相干误差(退相干)可用去极化参数统一刻画,RB 直接给;相干误差(过旋转、失谐)会系统性累积,表现为 RB 曲线在长序列处偏离纯指数,需用 Purity RB / Unitarity 分离。区分二者至关重要:相干误差可以靠更好的校准消掉,非相干误差只能靠更好的硬件。

心智:RB 是「门保真度的工业标准」——它把 SPAM 误差吸收进拟合参数,只留门本身的误差。区分相干与非相干误差,才能判断误差是「可修的」还是「工艺极限」。


9. 串扰与 ZZ 耦合

串扰分两类:

1. 经典串扰:控制线信号泄漏到邻近比特
   来源:AWG 通道间串扰、封装内电磁耦合
2. 量子串扰:比特间残余 ZZ 耦合
   H_ZZ = ζ · σ_z^(1) ⊗ σ_z^(2) / 4,ζ/2π 典型 10 ~ 200 kHz

ZZ 耦合为什么是「隐形杀手」:两比特都被激发时相位累积速率不同,相邻比特频率会条件性移动,导致空闲比特累积相位(idle 相位误差)、双门层中未参与的比特被邻居「踢」一下,以及频率碰撞(三体共振 ω1 + ω2 ≈ ω3 + ω4)造成能量泄漏与态混叠。

压制手段:
  - tunable coupler:空闲时关断耦合
  - 频率规划:避免 |0⟩↔|1⟩ 与 |1⟩↔|2⟩ 的碰撞
  - 动态解耦:空闲时插入回波脉冲

测量串扰的实验:同时 RB(simultaneous RB)对全部比特同时跑 RB,与单独跑 RB 对比,保真度下降的量即串扰大小;ZZ 测量则分别制备邻居为 |0⟩ 与 |1⟩,测目标比特的 Ramsey 频率,频率差即 ζ/2π。

心智:串扰是「规模化的敌人」——单比特、双比特都调得漂亮,一旦铺到几十上百比特,ZZ 耦合与频率碰撞就会成为保真度下降的主因。可调耦合器与频率规划是当前主流的两条压制路线。


10. 自动校准流水线与漂移重校准

为什么必须自动化:磁通偏置线漂移使比特频率缓慢漂移,温度波动改变 T1,双门参数随环境变化,时间尺度从分钟到小时,靠人工每天重调不可行。

1. 粗校准(每天 / 每次开机)
   - 谐振腔频率、比特频率谱、读出功率优化
2. 细校准(每小时 / 每次批量实验前)
   - Rabi → π 脉冲时长与振幅
   - Ramsey → 频率微调、T2 星
   - DRAG 参数扫描(λ)
   - 读出鉴别器标定
3. 双门校准
   - 交叉共振 / CZ 振幅与时长扫描
   - 用 RB 或 XEB 评估门保真度
4. 验证与回滚
   - 与上次参数对比,超阈值则告警
   - 失败实验自动重试,参数回滚

漂移重校准的策略:触发方式分定时(如每 30 分钟)与检测式(RB 保真度跌破阈值才重校准)。关键监控指标:π 脉冲振幅漂移超过 1% 重测 Rabi;Ramsey 失谐超过 10 kHz 重测频率;T1 下降超过 20% 检查屏蔽与环境。好的自动化能把「人工每天 30 分钟」降到「无人值守」。

心智:校准的工程本质是「一个带反馈的控制回路」——测量参数、比对阈值、决定是否重校准。把它做成流水线后,量子计算才算从「实验室演示」走向「可运维服务」。


11. 用 Qiskit 读取校准数据

后端属性对象:

from qiskit_ibm_runtime import QiskitRuntimeService

service = QiskitRuntimeService()
backend = service.backend("ibm_brisbane")
props = backend.properties()

for q in range(backend.num_qubits):
    t1 = props.t1(q)                 # 秒
    t2 = props.t2(q)                 # 秒
    freq = props.frequency(q)        # Hz
    ro_err = props.readout_error(q)  # 0~0.5
    print(f"q{q}: T1={t1*1e6:.1f}us T2={t2*1e6:.1f}us "
          f"f={freq/1e9:.4f}GHz ro_err={ro_err:.4f}")

从 calibration 到电路编译:backend.properties() 的值会被 transpile 使用——门误差决定 layout 与路由选择,时长(duration)用于估算总线路时间,读出误差供误差缓解使用。Qiskit 1.x 之后 BackendV2 用 target 对象承载这些信息:target.qubit_properties(q) 给 T1/T2/frequency,target["cx"][(0, 1)] 给门的指令属性(误差、时长)。

自己写一次校准实验的骨架:

import numpy as np
from qiskit import pulse
from qiskit.pulse.library import Gaussian

def rabi_schedules(qubit, amp=0.15, max_dur=400, step=8):
    """扫描脉冲时长,生成一组 Rabi 实验 schedule"""
    d = pulse.DriveChannel(qubit)
    for dur in np.arange(step, max_dur, step):
        with pulse.build() as sched:
            pulse.play(Gaussian(dur, amp, dur / 4), d)
            pulse.measure(qubit)
        yield dur, sched
    # 提交后拟合 P(1) = A*exp(-t/T)*cos(2*pi*f*t+phi)+c

心智:backend.properties() 是「校准数据的只读视图」——它把硬件当天的状态暴露给编译器与误差缓解模块。学会读它,就能判断一台机器「今天适不适合跑深线路」;学会写校准实验,才能真正理解那些数字从哪来。


速查表

实验测什么拟合模型用途
Rabiπ 脉冲时长A·e^(-t/T)·cos(2πft)+c定标所有脉冲
Ramsey失谐、T2 星0.5(1+A·e^(-τ/T2*)·cos(Δωτ))频率校准、噪声谱
回波T2e^(-τ/T2)分离低频噪声
T1能量弛豫e^(-t/T1)评估工艺与屏蔽
读出标定响应矩阵 AA[i][j]=P(i|j)读出误差缓解
RB门保真度A·p^m+B门误差基准
XEB全芯片保真度交叉熵大规模验证
ZZ 测量ζ/2πRamsey 频率差串扰量化
漂移监控π 振幅 / 失谐 / T1—>1% / >10 kHz / -20% 触发重校准

一句话记忆:量子比特校准是一条「测量参数、比对阈值、决定重校准」的闭环控制回路——Rabi 定 π 脉冲时长(标尺),Ramsey 定失谐与 T2 星(相位噪声),回波分离低频噪声得到 T2,T1 给出相干硬上界;读出误差往往是最大的单一误差源,靠标定响应矩阵后处理缓解;随机基准测试以 SPAM 无关的方式给出门保真度,并能区分可修正的相干误差与工艺极限的非相干误差;串扰与 ZZ 耦合是规模化的主要敌人,靠可调耦合器与频率规划压制;最终一切都要落到自动化流水线与漂移重校准上,量子计算才从实验室演示变成可运维服务。(延伸见 量子比特与门基础 、误差缓解 。)


延伸阅读

继续阅读

探索更多技术文章

浏览归档,发现更多关于系统设计、工具链和工程实践的内容。

全部文章 返回首页

「quantum」更多文章

  1. 开放量子系统与退相干建模:密度矩阵、Kraus 与 Lindblad 方程
  2. 量子基准测试与性能指标:保真度、量子体积与 CLOPS
  3. 量子编译器与电路转译:从逻辑线路到硬件脉冲