跳到主要內容
脈
学习资源 · · HH · 8 分钟阅读 · 繁體
16px
目录 13 节

FFT 是什么:脉诊量化为什么从这里开始,又为什么卡在这里

学习资源 | 频域分析入门


为什么脉诊研究绕不开 FFT

过去三十年,几乎所有试图量化脉诊的研究团队,都选了同一个数学工具:快速傅立叶转换(FFT)。王唯工用它、郭育诚用它、大多数脉诊仪的讯号处理管线里都有它。这不是偶然——FFT 是目前已知最高效的方式,把一段复杂的波形压缩成一组数字,让统计比较成为可能。

但工具的选择不是中性的。每个工具都有它的假设,假设之外的东西,它结构性地看不见。理解 FFT 在做什么、不做什么,是判断所有频域谐波分析研究的起点。


棱镜:从混合到分解

白光穿过棱镜,分解成彩虹——许多频率的光混在一起,棱镜把它们拆开,让你看到每种频率各有多强。

FFT 对脉搏波做的事一模一样。从这里开始,你需要先熟悉一个词:频率

频率,就是「每秒重复几次」。心跳每秒约 1.2 次,这个 1.2 Hz 就是脉搏的基本频率。声音也是如此:钢琴中央 A 每秒振动 440 次,即 440 Hz。

FFT 的两个端点:

  • 输入:一段在时间上起伏的讯号(感测器记录到的脉搏波)
  • 输出:一张频谱图——这段讯号里,每个频率各占多少比重

棱镜分解光的颜色,FFT 分解波形里的周期性振动成分


正弦波:频率的基本单位

这里有一个问题值得停下来想:分解成什么形状?

答案是正弦波。不是三角波,不是方波,不是其他形状。这不是数学的任意选择,而是因为正弦波有一个独特性质:它是唯一只含有单一频率的波形。

其他所有形状,本身就已经是多个频率的混合。方波看起来简单,但 FFT 分析后,它其实是 1 Hz + 3 Hz + 5 Hz + 7 Hz + ……无穷多个奇数倍频的叠加。锯齿波也一样。只有正弦波,FFT 只看到一根柱。

这就是为什么用正弦波来做分解:它是频率的「原子」,最小的纯粹单位。把复杂波形拆成正弦波的组合,等于找出它「由哪些频率建造」。

一个具体的例子:

用长笛和小提琴同时演奏 A4(440 Hz)。时域波形看起来完全不同——长笛接近平滑的正弦波,小提琴锯齿状粗糙。但两者的 FFT 都会在 440 Hz 出现一根高柱。差别在于:长笛几乎只有 440 Hz,小提琴还有 880 Hz、1320 Hz、1760 Hz……一排泛音(harmonics)。相同的音高,不同的音色,正是来自泛音比例的不同。

心跳波形和小提琴一样,不是纯正弦波,所以 FFT 分解后会出现基频的整数倍——这些就是王唯工所说的 C1、C2、C3……谐波。


谐波:心跳波形的频率组成

心率 72 bpm 时,基频约 1.2 Hz。FFT 把脉搏波分解成基频的整数倍:

谐波 频率(72 bpm) 王唯工理论的脏腑对应
C0 0 Hz(直流分量)
C1 1.2 Hz(基频)
C2 2.4 Hz
C3 3.6 Hz
C10 12 Hz

这张「各频率的强度清单」就是谐波频谱。王唯工理论的核心假设,是这些频率分量可以对应中医脏腑的共振能量。这个对应是否成立,是另一个问题——但不管对应成不成立,FFT 本身的数学性质已经决定了它能告诉你什么、不能告诉你什么。

注意:如果心率从 72 bpm 加快到 80 bpm,C1 的位置从 1.2 Hz 移到 1.33 Hz,所有谐波都跟着平移。同一个人,心率不同,谐波的频率位置就不同。这让跨时间点的比较变得复杂。


互动示范:波形是叠加,频谱是拆解

下面的合成器做的事,是 FFT 的反方向——把分解后的谐波「加回去」,看它们如何叠成一条脉搏波形。这让你亲眼看到「频率分解」的意思。

在你操作之前,先记住你要从这个示范理解的两件事:

○ 复杂波形 = 多个正弦波的叠加 每条彩色细线是一个谐波(一个正弦波),白色粗线是它们全部加起来的总和。真实的脉搏波形就是这条白线。

○ 振幅决定频谱,相位决定形状——FFT 只看振幅 改变振幅(高度):白线形状改变,频谱柱也跟着高低变。 改变相位(左右平移):白线形状大幅改变,但频谱柱完全不动。 这是 FFT 的核心盲点:两条看起来完全不同的脉搏波形,可能有完全相同的 FFT 频谱。

试这三步:

  1. 点「纯正弦波」:只有 C1 一条彩色线,白色总和与它完全重叠——最纯粹的单频率讯号
  2. 点「典型脉波」:C1–C8 同时出现,中段八条彩线各自振动,白线是它们的叠加总和——这就是多个谐波合成脉搏形状的过程
  3. 把 C2 的「相位」滑杆向右拉:看白线形状大幅改变——但下方频谱的 C2 柱高度完全不动

图中各色细线是 C1–C8 各自的正弦波,白色粗线是它们的总和——也就是脉搏波形。FFT 做的事正好相反:从已知的白色波形,反推每条细线的高度(振幅)和左右位移(相位)。振幅对应频谱柱的高度;相位决定波形细节形状,却不出现在 FFT 的输出里。


频率解析度:截多长的讯号,决定你能分辨多细

FFT 有一个基本的数学限制:频率解析度 = 1 ÷ 讯号长度(秒)

这意味着什么?

截取长度 频率解析度 能分辨 C1 和 C2 吗?
1 秒 1 Hz × 无法(C1 和 C2 相差 1.2 Hz,在 1 Hz 解析度下几乎糊在一起)
5 秒 0.2 Hz △ 勉强
10 秒 0.1 Hz ○ 清晰

看起来应该截愈长愈好。但这里有一个脉诊特有的困境:

10 秒的录音里,心率可能已经从静息的 1.2 Hz 缓慢升到 1.3 Hz。C1 的位置在这 10 秒里持续漂移,FFT 会把这个漂移叠加成一个展宽的模糊峰,而不是一根清晰的柱。讯号截愈长,频率解析度理论上提高,但如果讯号本身不稳定,实际看到的频谱反而更模糊。

这个矛盾——解析度需要长讯号,但长讯号让非稳态问题恶化——是频域脉诊的核心工程困境之一,换更好的感测器解决不了它。


FFT 结构性地看不见什么

FFT 有一个不可回避的数学前提:它假设你分析的那段讯号,在整个观测区间里是稳定的、重复的。 它计算的是「这段时间里,平均而言,各频率成分各有多强」——本质上是一台时间平均机器

这个前提带来三个盲点,每一个都直接影响脉诊的量化能力:

瞬时事件被平均掉

30 秒录音里有一次漏搏(心跳偶尔停了一拍),FFT 把这个瞬时异常均摊到整段时间,在频谱上几乎看不见。但中医脉学的「结、代、促」脉——定义恰恰是瞬时的节律突变。FFT 对这类讯号结构性地失明。

波形的几何形状消失

每次心搏的波形有独特的形状:上升多快、主峰多宽、有没有重搏切迹、下降多缓。如你在示范中看到的,改变相位不改变频谱——这意味着 FFT 输出相同频谱的两段波形,可能有截然不同的形状细节。传统脉象的弦、滑、细、涩,描述的恰恰是触觉经验中的「形状」与「质地」。

分析的是整段,不是每一拍

FFT 输出「这段录音」的频谱,不是「第 7 拍」或「深呼吸后那几拍」的频谱。如果你想知道某个特定瞬间的脉象变化,FFT 只能告诉你整段的平均。


错位:脉搏不是 FFT 最适合的讯号

问题不是 FFT 本身坏——对稳定周期讯号,它是最好的工具之一。问题是脉搏不是稳定周期讯号。每一搏都受神经、体液、情绪的即时调节,是非线性的、动态的、逐拍变化的。FFT 假设它是稳定的、均质的。

这个错位不是工程问题。换更好的感测器、收更大的样本、提高采样率——都不会让 FFT 开始看见它数学上看不见的东西。

更准确地说,选择用 FFT 来分析脉搏,本身就是一个理论决定——你假设脉搏的本质可以用「频率成分的强弱」来描述。这不是中性的观察,而是一种理论投射:把一个多维的生理现象(形状、节律、深浅、质地),压缩到频率空间里的一组数字。投射过程中丢失的资讯,不是分析精度能补回来的——那些资讯从数学上就不存在于 FFT 的输出中。


小结

FFT 的假设 脉搏的实际性质
稳定性 讯号在观测区间内平稳 逐拍变化,受即时调节
周期性 严格的周期重复 有节律但非严格周期
输出维度 频率能量分布(一维) 形状、质地、深浅、节律(多维)
时间解析度 整段平均 临床关注瞬时事件
相位资讯 存在但通常不报告 决定波形形状细节

FFT 是脉诊量化的起点——它让「把脉搏变成数字」第一次成为可能。但它也是一个有明确边界的工具。带着这张表,再去阅读频域谐波分析的研究文献,你会更容易看出每篇研究的假设藏在哪里,以及它的结论能走多远。

频域谐波能描述多少传统脉象?这两套语言的座标轴是否平行?这是下一个值得追问的问题。


延伸阅读


本文为 TCMpulse 学习资源系列。如有勘误或补充,欢迎透过 contact@tcmpulse.com 联络。

常见问题

FFT 是什么?
FFT(Fast Fourier Transform,快速傅立叶转换)是一种数学工具,能把一段随时间变化的讯号分解成不同频率的正弦波组合,并计算各频率成分的能量大小。对脉搏讯号来说,FFT 能把每次心跳的波形压缩成 C1、C2……C10 等谐波的能量数值,方便统计比较。
FFT 的频率解析度是什么意思?
频率解析度 = 1 ÷ 讯号长度(秒)。截取 1 秒的脉搏,频率解析度是 1 Hz——相差 1 Hz 以内的两个频率根本无法分辨。截取 10 秒,解析度提升到 0.1 Hz,才能清楚分辨 C1(1.2 Hz)与 C2(2.4 Hz)。但问题是:10 秒内心率往往已经变了,FFT 得到的只是这段时间的模糊平均。
把 FFT 用在脉搏讯号上,有什么根本的限制?
FFT 可以用在脉搏讯号上,但有一个结构性的前提:它假设输入讯号是平稳的(均值和统计特性不随时间改变)。脉搏受呼吸、情绪、血管张力即时调控,每个心跳周期的波形都略有不同,是典型的非平稳讯号。对非平稳讯号做 FFT,得到的是时间平均的频谱估计——不是脉搏在任一瞬间的频率组成,而是整段测量期间的平均概况。这不是说 FFT 在这里没有用,而是说它能回答的问题比表面看起来窄一些。

本文为 TCMpulse 学习资源系列。如有勘误,欢迎通过 contact@tcmpulse.com 联系。

訂閱 TCMpulse

新文章發布時收到通知,不漏接脈診科學的最新進展。

無垃圾郵件,隨時取消。

TCMpulse.com 沒有廣告,沒有付費牆。如果這些文章對你有幫助,就請我喝杯好茶吧!

Buy me a coffee