4. 脉冲整形基础

在超导量子计算中,门操作最终都落实为对量子比特施加的一段微波或基带控制信号。最直观的做法是给出一段“开—关”的方波:在门持续时间内幅度恒定,时间一到立即截断。方波在理想模型里很好用,因为它对应一个矩形包络,数学上简单,门时间也最短。但真实器件并不理想,方波的陡峭边沿会把大量高频能量注入系统,激发泄漏到 |2⟩ 等高能级,也会在相邻比特间造成串扰。本节从方波的局限出发,引入高斯脉冲整形,分析包络形状如何决定频谱与泄漏,并给出可复现的数值仿真思路。

方波脉冲的局限

设门时长为 T,方波包络为 Ω(t)=Ω₀(0≤t≤T),其余时刻为零。其傅里叶变换是 sinc 型:|Ω(f)| ∝ |sin(πfT)/(πfT)|。sinc 的旁瓣衰减很慢,第一个零点在 f=1/T,之后旁瓣按 1/f 缓慢下降。这意味着即使驱动频率对准 |0⟩→|1⟩ 跃迁,仍有可观能量落在 ω₂₁ 附近,直接驱动 |1⟩→|2⟩ 跃迁,形成泄漏;同时高频分量还会通过控制线耦合到邻近比特。

更严重的是边沿。方波在 t=0 和 t=T 处不连续,导数趋于无穷,频谱高频尾巴按 1/f 衰减,理论上延伸到很远。实际波形受任意波形发生器带宽和线缆低通限制,边沿被“抹圆”,但抹圆过程本身不可控,会引入与具体布线相关的失真。因此方波的问题不是“不够快”,而是频谱泄漏不可控:你无法精确知道有多少能量落在泄漏通道上。

高斯脉冲整形的基本原理

高斯包络的思路是让幅度在时间上平滑地升起和落下,用可控的平滑度换取频谱的快速衰减。标准形式为:

Ω(t) = Ω₀ · exp( -(t - T/2)² / (2σ²) ),  0 ≤ t ≤ T

其中 σ 是包络宽度参数,T 是截断时长。高斯函数的傅里叶变换仍是高斯:|Ω(f)| ∝ exp(-2π²σ²f²),没有旁瓣,高频衰减极快。σ 越大,时域越平缓,频域越窄,泄漏越小;但 σ 过大会让脉冲在 T 内被截断得“太早”,截断处仍有非零幅度,反而重新引入高频分量。工程上常用截断高斯,要求截断点幅度已降到峰值的很小比例(例如 exp(-T²/(8σ²)) 足够小),通常取 T ≈ 4σ~6σ。

需要强调:高斯脉冲抑制泄漏的代价是门时间变长、有效驱动幅度积分变化。设计时要同时满足两个约束——频谱约束(在 ω₂₁ 处的能量足够低)和旋转角约束(脉冲面积对应目标旋转角)。这通常通过调节 Ω₀ 和 σ 联合完成,而不是只改形状。

时域包络 Ω(t) t 幅度 方波 高斯 截断高斯 陡边沿 → 高频分量强 平滑边沿 → 高频分量弱 频域幅度谱 |Ω(f)| f 幅度 方波:sinc 旁瓣慢衰减 高斯:无旁瓣 ω₂₁ 泄漏通道 设计要点:σ 增大 → 频谱变窄、泄漏降低,但脉冲面积与门时间随之变化; 截断点幅度需足够小(T ≈ 4σ~6σ),否则截断处重新引入高频分量。 判据:在 ω₂₁ 处谱能量低于阈值,同时脉冲面积满足目标旋转角。

包络形状如何影响频谱与泄漏

把上面两张图对照看,可以得到一条清晰的因果链:边沿陡峭度 → 高频分量 → 泄漏与串扰。方波的 sinc 旁瓣在 f=1/T 之后缓慢衰减,若 ω₂₁-ω₁₀ 恰好落在某个旁瓣上,泄漏会显著;高斯谱没有旁瓣,只要 σ 选得合适,ω₂₁ 处的能量可以压到很低。但要注意,泄漏不只由包络决定,还取决于驱动频率与能级间隔的相对位置。若失谐较大,即使方波也可能泄漏较小;若失谐很小,高斯也需要更宽的 σ 才能压住。因此整形参数必须结合具体比特的 ω₁₀、ω₂₁ 和门时长来定。

另一个常被忽略的点是脉冲面积。旋转角由 ∫Ω(t)dt 决定。高斯脉冲的积分是 Ω₀·σ·√(2π)(在截断足够宽时近似成立),所以改变 σ 会改变面积,必须同步调整 Ω₀ 才能保持目标旋转角。工程上通常先固定目标旋转角,再在满足泄漏阈值的前提下选 σ,最后反解 Ω₀。

数值仿真:看时域与频域

下面给出一段可直接运行的 Python 示例,用 FFT 对比方波与高斯的频谱。参数为教学示例,非实测数据:取 T=20 ns,采样率 1 GHz,高斯 σ=4 ns,并人为把泄漏通道设在 f_leak=120 MHz 处观察谱值。

import numpy as np

fs = 1e9            # 采样率 1 GHz
T  = 20e-9          # 门时长 20 ns
t  = np.arange(0, T, 1/fs)
N  = len(t)

# 方波
square = np.ones(N)

# 截断高斯
sigma = 4e-9
gauss = np.exp(-(t - T/2)**2 / (2*sigma**2))

def spectrum(x):
    X = np.fft.fftshift(np.fft.fft(x))
    f = np.fft.fftshift(np.fft.fftfreq(len(x), 1/fs))
    return f, np.abs(X)

f, S_sq = spectrum(square)
_, S_ga = spectrum(gauss)

f_leak = 120e6
i = np.argmin(np.abs(f - f_leak))
print("方波在泄漏通道谱值:", S_sq[i])
print("高斯在泄漏通道谱值:", S_ga[i])
print("抑制比(dB):", 20*np.log10(S_sq[i]/S_ga[i]))

运行后应观察到:方波在 120 MHz 附近的谱值明显高于高斯,抑制比通常可达十几到几十分贝(具体数值随参数变化,此处仅作示例)。判断是否达标,不能只看一个点,而应检查泄漏通道附近一段频带内的最大谱值,并与门时间、保真度预算一起权衡。若抑制不足,优先增大 σ 或延长 T;若门时间受限,则需在泄漏与速度之间折中。

实操建议:先用方波跑一遍作为基线,记录泄漏通道谱值;再扫 σ(如 2、3、4、5 ns),画出“σ—泄漏谱值—脉冲面积”三条曲线,选同时满足泄漏阈值和面积约束的 σ,再反解 Ω₀。这样比盲目调参更可控。

总结来说,从方波到高斯不是简单的“换个形状”,而是把不可控的高频泄漏转化为可设计的频谱约束。理解包络与频谱的对应关系,掌握 σ、T、Ω₀ 三者的联动,才能在实际门操作中既压住泄漏,又保住门速度与旋转角精度。