4. 自旋回波抑制低频噪声仿真
任务拆解:把“低频噪声”变成可比较的两条相干曲线
本案例要验证的核心事实是:自旋回波对静态或慢变噪声有效,对快变噪声无效。因此仿真设计的关键不是“跑一条回波序列”,而是构造一个可控的低频噪声模型,让同一段噪声同时作用于“无回波(自由感应衰减)”和“带回波(π 脉冲翻转)”两条路径,再比较相干幅值随总演化时间的衰减。
采用二能级纯退相干模型:噪声表现为随时间变化的失谐 δ(t),相干幅值取 W = |⟨exp(-i∫δ(t)dt)⟩|。无回波时相位累积为 φ = ∫₀^T δ(t)dt;回波序列在 T/2 处施加 π 脉冲,等效于把后半段失谐取负,相位累积变为 φ = ∫₀^{T/2}δdt − ∫_{T/2}^{T}δdt。若 δ 在 T 内近似恒定,回波相位几乎抵消;若 δ 变化很快,抵消失效。
噪声模型与仿真参数
用一阶自回归过程(Ornstein–Uhlenbeck 离散形式)生成低频噪声,相关时间 τ_c 可调,这是控制“低频程度”的关键旋钮:
δ[k+1] = δ[k]·exp(-dt/τ_c) + σ·sqrt(1 - exp(-2dt/τ_c))·ξ[k], ξ ~ N(0,1)
教学示例参数(示例值,非实测):失谐标准差 σ = 2π×5 kHz,总演化时间 T 取 0.2 ms 到 4 ms 扫描,时间步 dt = 1 μs,τ_c 分别取 0.05 ms(快变)、0.5 ms(中等)、5 ms(慢变)。每个 τ_c 下生成 200 条噪声实现做系综平均,得到 W_FID(T) 与 W_echo(T)。
关键实现:同一噪声、两条相位路径
import numpy as np
def ou_noise(T, dt, tau_c, sigma, rng):
n = int(T / dt)
a = np.exp(-dt / tau_c)
b = sigma * np.sqrt(1 - a**2)
d = np.zeros(n)
for k in range(1, n):
d[k] = a * d[k-1] + b * rng.standard_normal()
return d
def phase_fid(d, dt):
return np.sum(d) * dt
def phase_echo(d, dt):
half = len(d) // 2
return (np.sum(d[:half]) - np.sum(d[half:])) * dt
def coherence(T_list, dt, tau_c, sigma, n_real=200, seed=0):
rng = np.random.default_rng(seed)
w_fid, w_echo = [], []
for T in T_list:
pf, pe = [], []
for _ in range(n_real):
d = ou_noise(T, dt, tau_c, sigma, rng)
pf.append(phase_fid(d, dt))
pe.append(phase_echo(d, dt))
w_fid.append(abs(np.mean(np.exp(-1j*np.array(pf)))))
w_echo.append(abs(np.mean(np.exp(-1j*np.array(pe)))))
return np.array(w_fid), np.array(w_echo)
T_list = np.linspace(0.2e-3, 4e-3, 20)
for tau_c in [0.05e-3, 0.5e-3, 5e-3]:
wf, we = coherence(T_list, 1e-6, tau_c, 2*np.pi*5e3, seed=1)
print(f"tau_c={tau_c*1e3:.2f} ms W_FID(T=4ms)={wf[-1]:.3f} W_echo(T=4ms)={we[-1]:.3f}")
要点:phase_echo 用“前半段求和减后半段求和”实现 π 脉冲的符号翻转,等价于把后半段失谐取负;两条路径共用同一条 d,保证对比公平。
结果判读与验证
预期现象(由模型直接推出,非实测):τ_c = 5 ms 时,T = 4 ms 内噪声近似恒定,回波相位几乎抵消,W_echo 应显著高于 W_FID;τ_c = 0.05 ms 时噪声在 T/2 内已多次变号,回波抵消失效,两条曲线应接近重合。验证时检查三点:
- 同一 τ_c 下 W_echo(T) ≥ W_FID(T)(回波不应让相干更差,数值误差除外);
- 随 τ_c 增大,W_echo/W_FID 的比值应上升,体现“越慢越有效”;
- 增大系综数 n_real,曲线应更平滑,说明结果是统计平均而非单次噪声实现的偶然。