该算法输入为:
result = tq_detect(
shot=shot_id,
base_dir=base_dir,
ece_path=r"data/\ece_ch01_raw",
sxr_path=r"data/\sxr_cc_048",
mag_path=r"data/\MA_TOR1_P01",
ece_time_shift=-0.2,
)
主要算法框架:

def filter(signal, len):#滑动平均滤波
if len <= 1:
return signal.copy()
kernel = np.ones(len, dtype=float) / len
return np.convolve(signal, kernel, mode="same")
下图为ece滤波效果:

mag_ac = mag_signal - mag_baseline得到交流分量,从而计算RMS来表征磁探针信号波动情况。ece_diff[1:] = ece_filtered[:-1] - ece_filtered[1:]
sxr_diff[1:] = sxr_filtered[:-1] - sxr_filtered[1:]
mag_rms = rms(mag_ac, mag_rms_len)
最终输出结果:
炮号: 1051501
是否检测到 TQ: True
tq发生时间: 0.383204
图中红线为检测到tq时刻。

本文章使用limfx的vscode插件快速发布