阶段五 · 前沿专题 · 模块 8 · 第 24 课 / 共 28 课

CFC 跨频率耦合(上):原理与陷阱

低频打节拍、高频变音量——跨频耦合是近年论文的高频词汇,也是假阳性重灾区。 这一课先建立原理与直觉,再用一份"陷阱清单"帮你在动手前冷静下来。

🕐 45 分钟🎯 难度:高阶✅ 前置:模块 4

🎯 本节学习目标

  • 能用"节奏与音量"的类比解释 PAC 的含义,区分 PAC / PPC / AAC 三类跨频耦合
  • 说出跨频耦合的生理意义与经典发现(θ-γ 与工作记忆)
  • 理解相位分箱 + 调制深度的计算直觉,以及 MI 等指标各自在算什么
  • 识别 CFC 的五大陷阱:边缘效应、谐波伪耦合、1/f 与尖峰、窗口长度、多重比较
  • 会用判断清单决定自己的数据该不该上 CFC

一、跨频耦合是什么:节奏与音量

想象一支交响乐团:低音提琴打着缓慢而稳定的节拍(低频相位), 小提琴的旋律忽强忽弱(高频幅值)。如果小提琴的音量强弱总是跟着低音的节拍起伏, 我们就说这两层声音之间存在跨频率耦合。 脑电里最经典的版本:θ 波(4–8Hz)的相位像节拍器,γ 波(30Hz 以上)的幅值 跟着节拍器起伏——低频"指挥"高频。

📖 概念:PAC(相位-幅值耦合)

跨频耦合最常用的类型:低频振荡的相位系统性调制高频振荡的幅值——高频"多响"取决于低频"走到哪一刻"。

为什么这个现象重要?因为它把时间尺度的嵌套变成了可测量的东西: 慢振荡(大范围、长时程的调节)为快振荡(局部的精细计算)提供时间窗口。 这是"大脑如何组织多层次计算"这一问题的电生理线索。

二、CFC 家族:PAC、PPC、AAC

类型耦合什么与什么典型问题
PAC(phase-amplitude)低频相位 ↔ 高频幅值θ 相位是否调制 γ 幅值(最常用)
PPC(phase-phase)低频相位 ↔ 高频相位(n:m 锁相)γ 是否固定出现在 θ 的某个相位(如 1:4)
AAC(amplitude-amplitude)两个频段的幅值包络θ 包络与 γ 包络是否共涨落

本模块聚焦 PAC——文献里出现最多、工具链最成熟的一类。

三、为什么值得算:生理意义

  • θ-γ 与记忆:海马场电位研究里,γ 幅值随 θ 相位起伏是最著名的发现之一,人类颅内 EEG 也有对应观察。工作记忆的"嵌套假说"进一步提出:一个 θ 周期里塞进几个 γ 周期,就同时能保持几个记忆项目——PAC 强度与记忆容量相关的证据正来自这条思路;
  • α-γ 与注意:皮层 α 相位调制 γ 幅值,被视为大尺度网络给局部皮层"开门 / 关门"的门控机制;
  • 睡眠:慢波相位与纺锤波幅值的耦合,是睡眠记忆巩固研究里的常客。

四、计算直觉:相位箱 × 幅值分布 → 调制深度

PAC 的计算可以浓缩成五步,全程不需要超出模块 4 的知识:

  1. 滤出低频带,取瞬时相位 φ(t) ∈ (−π, π];
  2. 滤出高频带,取瞬时幅值 A(t)(包络);
  3. 把相位圆切成 n 个箱(常用 18 箱,每箱 20°);
  4. 对每个箱求平均高频幅值,得到"幅值-相位分布";
  5. 分布平坦 = 无耦合;在某相位附近隆起一座"小山" = 有耦合。山有多高 = 调制深度

闭上眼睛想象一张图:横轴是低频相位,从 −180° 一路拉直到 +180°; 纵轴是高频平均幅值。无耦合时这条线是平的;有耦合时它像一座单峰小山, 山峰所在的相位就是"高频最活跃的低频时刻"。

Matlab
% ---- PAC 的核心直觉:相位分箱 + 调制深度 ----
% 假设已经得到:ph = 低频瞬时相位;am = 高频瞬时幅值(包络)
nBins = 18;                                        % 把相位圆切成 18 箱(每箱 20 度)
bIdx = discretize(ph, linspace(-pi, pi, nBins+1)); % 每个时刻落在哪个相位箱
ampBin = accumarray(bIdx, am, [nBins 1], @mean);   % 每箱的平均高频幅值

% 直觉可视化:以相位为横轴画柱状图——
% 一排平头柱 = 幅值与相位无关;单峰"小山" = 存在耦合
figure; bar(-170:20:170, ampBin);
xlabel('低频相位 (deg)'); ylabel('高频平均幅值'); title('幅值-相位分布');

% 调制深度最常用的度量:MI = 该分布与均匀分布的 KL 散度
p  = ampBin / sum(ampBin);
MI = sum(p .* log(max(p, eps) * nBins));           % 0 = 完全平坦,越大越"山"

五、常用指标一览

指标思路优点注意
调制指数 MI(KL 散度)幅值-相位分布与均匀分布的距离直观、最常用对箱数与幅值分布形状敏感
PLV 类指标对包络再做希尔伯特变换取其相位,算包络相位与低频相位的锁相不受幅值绝对大小影响解释略绕
height / power ratio(Klimesch 学派常用)相位箱中最大与最小的幅值(或功率)之比计算简单、好解释只用两个极端箱,浪费数据
回归 / GLM 类把幅值对相位的各次谐波做回归灵活、可加协变量模型细节多,同样要防伪迹

六、陷阱清单(本课重点)

CFC 的名声问题在于:很多东西都能造出"看起来像耦合"的结果。动手前把这份清单过一遍:

  1. 边缘效应:滤波和希尔伯特变换在数据两端不可靠,边缘几秒的相位与包络都是"坏数据";分段数据尤其严重——每段 epoch 有两个边缘;
  2. 谐波伪耦合:低频信号若不是干净的正弦(尖峰、不对称的 α 波),它自带谐波——高频带里的"幅值"其实只是低频的谐波,天然与低频相位锁死;
  3. 1/f 频谱与瞬态事件:尖峰、K 复合波这类瞬态会把能量同时泼进多个频段,也会制造假耦合;
  4. 窗口长度:分析窗至少覆盖低频的若干个完整周期(6Hz 就是至少 1–2 秒),否则每个相位箱样本太少;
  5. 多重比较:相位频率 × 幅值频率 × 通道 × 时间点的组合动辄上万次检验,不校正必然遍地"显著"。
⚠️ 陷阱之首:非正弦波形的谐波

这是 PAC 假阳性最隐蔽的来源:一个幅值完全恒定、只是长得不平滑的信号,也能算出漂亮的 MI。看代码:

Matlab
% ---- 伪耦合演示:幅值恒定但非正弦的信号,PAC 也会"报警" ----
fs = 1000;  t = (0:1/fs:60)';
% 造一列每秒 10 个窄尖峰的脉冲串:频谱含丰富谐波,但幅值没有任何真实调制
train = zeros(size(t));
for p = 0:0.1:60
    train = train + exp(-((t - p).^2) / (2*0.005^2));   % 5ms 宽的高斯尖峰
end
[b1, a1] = butter(2, [8 12]  / (fs/2));   % 低频带:alpha 相位
[b2, a2] = butter(2, [30 50] / (fs/2));   % 高频带:gamma 幅值
ph = angle(hilbert(filtfilt(b1, a1, train)));
am = abs(hilbert(filtfilt(b2, a2, train)));
bIdx = discretize(ph, linspace(-pi, pi, 19));
ampBin = accumarray(bIdx, am, [18 1], @mean);
pf = ampBin / sum(ampBin);
MI = sum(pf .* log(max(pf, eps) * 18));
fprintf('MI = %.4f —— 显著大于 0,但这不是耦合,是谐波假象\n', MI);
% 结论:报告 PAC 前,先目检低频波形是否接近正弦,并检查谐波功率
⚠️ 边缘效应与窗口长度

正式分析前:连续数据掐掉两端各 1–2 秒;epoch 数据要让分析窗距边缘至少留出低频两个周期的余量;每个相位箱里至少要有几百个样本点。

⚠️ 多重比较的量级问题

comodulogram 一画就是几百上千个频对,再乘上通道与时间点,检验次数爆炸。对策:用先验假设限定频带与通道、报告 FDR / cluster 校正后的结果、并明确标出哪些是探索性分析。

七、该不该用 CFC:一张判断清单

  1. 有明确的先验假设吗(哪个低频、哪个高频、哪个脑区、为什么)?
  2. 检查过低频波形的正弦性了吗(看波形 + 查谐波功率)?
  3. 数据够长、窗够长吗(低频至少几个完整周期)?
  4. 管线在仿真数据上验证过吗(下一课专讲)?
  5. 统计与多重比较方案定了吗?

五问全过,再进入下一课的完整实现;任何一问含糊,先回头补功课——CFC 论文的审稿意见几乎全部来自这五条。

📌 本节小结

  • CFC = 一个频段的振荡调制另一个频段;PAC(低频相位调制高频幅值)最常用
  • 计算直觉五步:低频相位 → 高频包络 → 相位分箱 → 幅值分布 → 分布偏离均匀的程度即调制深度
  • MI(KL 散度)是最常用指标;PLV 类与 height ratio 各有取舍
  • 最大的坑是非正弦波形:幅值恒定的尖峰串也能算出显著 PAC
  • 上 CFC 前先过五问清单:先验假设、正弦性、窗口长度、仿真验证、多重比较

✏️ 课后练习

  1. 构造纯正弦 10Hz 与幅值恒定的独立 80Hz 信号之和,验证 MI 接近 0。
  2. 把课中的高斯尖峰串换成功率相当的 10Hz 正弦,分别计算 MI,体会非正弦性带来的假象幅度。
  3. 把谐波演示里的高频带换成 100–120Hz(更远离低频谐波),观察 MI 如何变化并解释原因。