脑电图 (EEG) 在很长一段时间内,会在数十个通道上产生大量的连续数据。这些数据量使便携式耳机的有限内存承受压力,限制了远程医疗网络,并减慢了实时脑机接口 (BCI) 的速度。因此,原始 EEG 数据需要进行削减以进行高效处理。
离散余弦变换 (DCT) 作为 JPEG 压缩的数学基础,解决了这一挑战。正如它在保持可识别性的同时压缩图像一样,DCT 在保留其整体形状的同时减小了 EEG 信号的大小。认识到它的机制和局限性有助于确定 DCT 何时适用,或者何时首选其他变换。
什么是离散余弦变换?
离散余弦变换是一种数学运算,它将有限的采样值序列转换为与余弦函数相关的系数。它不是直接将信号描述为随时间或位置变化的值,而是描述不同的余弦模式对该信号的贡献强度。其结果仍然是有限且离散的,但其结构是在类似频域的域中表达的。
余弦基函数从常数模式开始,并通过越来越快速的振荡逐步递进。因此,第一个系数通常反映输入的平均或整体水平,而后面的系数则捕获渐进更细微的变化。这种安排可以使大体趋势更容易与快速波动分离开来。
当保留全套系数和相应的归一化时,该变换是可逆的。然而,在实际工作中,分析人员可能仅保留选定的系数或将其用作数值特征。这种选择可以降低维度,但也会丢弃信息,因此必须对简化表示的意义进行评估,而不是直接假设。
离散余弦变换算法逐步指南
实际的 DCT 工作流从有限序列开始,以可以重建或分析的系数结束。该序列可以是短信号窗口、图像行或其他有序的测量集合。在计算之前,分析人员会定义变换类型、系数缩放、窗口长度以及对缺失或受损样本的处理方法。
每个 DCT 基函数都是一个采样的余弦模式。该算法将输入与每个基模式进行比较,每个模式产生一个系数。计算可以直接使用求和公式进行,也可以使用旨在减少计算量同时保留所选变换约定的快速实现来进行。
在实现该操作时,紧凑的工作流非常有用,因为每个步骤都会影响解释:
准备一个有限的、一致采样的序列。
当分析需要时,移除或模拟不需要的偏移和趋势。
选择 DCT 类型和归一化约定。
计算系数向量并验证其维度。
根据研究问题保留、重建或统计分析系数。
变换后,除了数值精度和归一化约定之外,使用所有系数进行重建应该能够重现输入。仅使用部分系数向量进行的重建是一种近似。检查重建误差可以表明系数简化是否移除了有意义的结构,而不仅仅是减少了噪声。
离散余弦变换跨行业应用
离散余弦变换在任何可以从基于余弦的表示中受益的有限采样数据中都有应用。在图像和视频系统中,它支持对空间或时间块的紧凑描述。在音频和通信中,相关的变换方法可以帮助组织信号信息以进行编码和传输。
科学和工程应用将 DCT 用于滤波、去噪、特征构建和数值分析。当相位不是主要关注的量,或者当具有偶对称延拓行为的有限序列是合适的模型时,其实值基函数可能会很方便。合适的使用取决于信号、边界条件和期望的输出。
在生物医学研究中,变换系数可以作为统计模型或分类系统的特征。此类特征是变换后信号的测量值,而不是直接的生物学变量。因此,必须通过验证、可重复性以及与原始数据和相关生理测量的比较来确立它们的价值。
离散余弦变换 vs 离散傅里叶变换
DCT 和 DFT 都通过振荡基函数来表达采样数据,但它们做出了不同的数学假设。DFT 使用复指数,并在其系数中同时表示幅度和相位。DCT 使用实余弦函数,通常与有限输入的偶对称延拓相关联。
边界行为是一个核心区别。当有限片段的末尾和开头的值不匹配时,DFT 中的周期性延拓可能会在两者之间造成人工跳跃。与许多 DCT 形式相关联的偶对称延拓结构可以减少这种特定的不连续性,尽管它并不能消除每个边缘效应,也不能保证对每个信号都有更好的效果。
因此,这种选择是分析性的,而不是意识形态的。当复相位和周期结构很重要时,DFT 是自然的选择,而 DCT 对于紧凑的实值表示和有限窗口数据非常有吸引力。
何时使用 DCT | 何时使用 FFT/小波 |
|---|---|
需要低功耗、嵌入式压缩时 | 分析特定频段时 |
用于机器学习的实值特征向量 | 测量相位同步性时 |
数据约简,而非频率分析 | 时间定位的瞬态检测 |
什么是 EEG 信号中的 DCT 能量集中特性
DCT 的工作原理是将短块的信号样本分解为频率递增的余弦波之和,每个余弦波都乘以一个系数,该系数描述了该特定余弦波对原始块的贡献强度。
与产生包含幅度轴和相位信息的复数的傅里叶变换不同,DCT 仅产生实数。这使得输出在计算上更易于存储和处理。
对 EEG 最重要的特性称为能量集中。EEG 信号在时间上高度相关,这意味着现在记录的样本在统计上与刚才记录的样本相似。
Birvinskas 等人的一项研究直接描述了这一点,指出 DCT “提取相关的输入数据并将其能量集中在仅前几个变换系数中”。在实际应用中,这意味着一个块中的前少数几个系数就能捕获信号的大体形状,而后面的系数则捕获越来越精细的细节,其中大部分与噪声重叠。
由于这种集中效应,可以丢弃大量的系数,而对重建波形的损害微乎其微。一项同样由 Birvinskas 领导的嵌入式系统研究直接证明了这一点,他们将 DCT 应用于 8 个样本的短块,并明确指出“在传输前去除了最不显著的变换系数”,并在重建前用零填充。重新得到的信号与原始信号不完全相同,但它保留了主导结构,因为被丢弃的信息集中在变换中一开始携带能量最少的部分。
这种去相关行为在概念上与主成分分析背后的目标相关,PCA 也寻求相关数据的紧凑、去相关表示,尽管 PCA 从数据本身统计地导出其基函数,而 DCT 使用一组固定的、预定义的余弦函数。
为什么 DCT 不是像 FFT 或小波那样的振荡分解
将 DCT 视为傅里叶分析的简单变体是很诱人的,但这两者是为不同的目标而构建的。
快速傅里叶变换 (FFT) 将信号分解为正弦和余弦对,生成包含频率幅度和相位的复值输出。该复数输出自然地对应于经典的 EEG 频段:delta、theta、alpha、beta 和 gamma,并且它可以支持基于相位的测量,例如电极部位之间的同步。小波变换进一步延伸了这一概念,允许在时间上定位频率内容,这对于捕获诸如尖峰或瞬态伪迹之类的短暂事件非常有用。
DCT 的目的则更为狭窄。它排他性地使用余弦函数,并且仅产生实数。它的系数技术上对应于某种形式的“频率”,但由于该变换使用特定的边界条件在短块上操作,因此在没有额外处理的情况下,该频率信息无法与标准的 EEG 频段整齐地对应。
这并不是一个缺陷,它反映了设计意图的差异。FFT 和小波系列经过优化,旨在描述像 EEG 这样的节律驱动信号的振荡内容。而 DCT 经过优化,旨在将波形压缩为尽可能少的数字,同时保留其形状。
这种区别是评估 DCT 应处于何种地位的核心。它首先是一个压缩和降维工具,其次才是一个间接或辅助的频率内容窗口。
DCT 如何压缩 EEG 数据用于存储和传输
使用 DCT 进行的基本压缩方案遵循一致的模式:将一个信号块转换为 DCT 系数,丢弃或粗略地四舍五入最小的系数,然后应用逆变换来重建原始信号的近似值。
因为被丢弃的系数是携带能量最少的系数,所以即使重建的信号不是完美的副本,它也通常能保留大体的波形形状。这就是为什么该技术被描述为有损压缩,而不是无损压缩。
在 Birvinskas 等人的研究中,他们专门针对嵌入式和便携式系统构建,将快速 DCT 算法一次应用于仅 8 个样本的块,这一设计选择旨在最小化低功耗硬件上的计算负担。他们得出结论,该方法非常适合“需要低计算复杂度和高速度的实时嵌入式系统。”
Maazouz 等人的另一项研究将这一概念扩展到多通道记录,在基于 DCT 的量化之上,加入了熵编码——这是一种无损步骤,可在 DCT 步骤后进一步缩小文件大小。该论文将这一过程描述为“保守运算”,借用了 JPEG 压缩中使用的相同核心数学方法,并使用称为百分比均方根失真 (PRD) 的指标来衡量重建质量,该指标量化了重建信号与原始信号的偏离程度。
综合来看,这两项研究确立了基于 DCT 的压缩在技术上是可行的,并且在计算上是高效的。
将 DCT 用作机器学习的特征提取工具
机器学习分类器(用于自动检测癫痫发作或解释预期的 BCI 指令的算法)在输入少数几个有信息量的数字,而不是数千个原始时域样本时,往往表现更好且运行更快。
这就是 DCT 的能量集中特性成为一种特征提取策略而非存储策略的地方。与其丢弃小系数以节省空间,不如将保留的小系数集直接作为分类器的输入。
Birvinskas 等人的一项研究将这一逻辑应用于 BCI 系统,在利用人工神经网络进行分类之前,明确将 DCT 用作特征提取和数据集约简的步骤。作者得出结论,“该方法可以成功用于特征提取和数据集约简”。
癫痫检测研究提供了研究人员使用 DCT 的另一个领域。一种方法将高频 DCT 系数与从称为经验模式分解 (EMD) 的独立技术中提取的带宽特征相结合,然后将组合的特征集输入支持向量机,以区分发作期(活动性癫痫发作)和发作间期(癫痫发作之间的较平静间隔)。
作者报告称,这种组合方法在分类任务上的表现可以优于现有的前沿方法。
此外,一项更具定量细节的研究应用了名为 DCT-II 的特定变体来提取 16 个频率子带的能量特征,并与 K-最近邻 (KNN) 分类器配对,该分类器根据新数据点与已标记示例的相似性来标记新数据点。
在使用 CHB-MIT 长期 EEG 数据集对 21 名患者进行的测试中,该方法实现了 93.12 的平均 F1 分数(该指标将分类器的精确率和召回率平衡为一个单一数字),以及 0.07 的假阳性率。
适合目标的好工具
DCT 在 EEG 处理中的地位得益于其特定的数学优势:它能够将相关信号的能量集中到少数实值、去相关的系数中。
这一特性使其在两项截然不同的任务中真正发挥作用:缩小 EEG 文件以进行存储或传输,以及为机器学习分类器生成紧凑的特征向量。这两项任务都不需要该变换像傅里叶或小波分析那样去描述大脑节律,它也并不试图这样做。
对于处理神经科学数据的学生和处于职业生涯早期的研究人员来说,只要首要任务是数据约简而不是精确的振荡测量,DCT 就提供了一个轻量级、广为人知且易于实现的切入点。此处回顾的信号处理文献支持了其在压缩和分类任务中的可行性,包括在癫痫发作检测中取得的一个强有力的定量结果。
明智的做法是将工具与目标相匹配:将 DCT 用于压缩和特征紧凑化,将傅里叶或小波方法用于生理学解释,并在项目的成功取决于了解哪种方法在匹配条件下实际表现更好时,进行受控的、面对面的测试。
应用离散余弦变换时的常见错误
许多 DCT 错误在公式评估之前就已经出现。即使变换计算正确,也可能由于分段长度、采样率或预处理方法不合适,而导致回答了一个定义模糊的问题。因此,可重复的分析需要同时记录数学约定和数据准备步骤。
第二个问题是将系数幅度视为不言自明的。幅度取决于归一化、信号缩放、窗口持续时间以及是否移除了偏移。比较来自不兼容流程的值可能会产生明显的差异,而这些差异反映的是处理选择而不是信号属性。
其他错误包括保留太少的系数、忽略边缘效应或仅评估变换后的特征而不检查原始波形。重建测试和敏感性分析可以暴露这些问题。特别是在 EEG 中,伪迹可能会产生看起来在数值上有意义的强系数,而这些系数并没有预期的神经生理学解释。
用于计算离散余弦变换的工具和软件
大多数数值计算环境直接或通过信号处理库提供 DCT 实现。重要的问题不仅在于可用性,还在于对变换类型、归一化、轴顺序和实值输入处理的一致性。文档和小型测试向量对于确认两个实现使用等效的约定非常有用。
透明的工作流通常保留原始或最低限度处理的片段,记录预处理参数,计算变换,并将系数设置与结果一起存储。使用直接求和的参考计算可以帮助验证短序列上的快速实现。
对于 EEG 工作,可重复性还取决于诸如采样频率、通道选择、窗口重叠、剔除片段和缩放单位等元数据。软件程序包可以可靠地计算 DCT,但它无法决定所产生的表示在科学上是否合适。该判断仍然属于研究设计和验证的一部分。
为什么离散余弦变换使 EEG 数据对现实世界的设备更具实用性
离散余弦变换提供了一种直接缩小 EEG 信号的途径,因为它将信号的大部分形状打包到仅仅几个早期系数中。这种能量集中意味着可穿戴式耳机可以传输少得多的数据,同时仍保留主导的波形结构,这在内存和带宽匮乏时是一个至关重要的优势。底层的数学运算足够轻量,可以在低功耗硬件上运行,使得实验室外的实时压缩成为可能。
除了存储之外,这同样的几个系数还可以作为机器学习分类器的紧凑输入,用于检测癫痫发作或解释脑机接口指令。该方法在特定的癫痫发作检测测试中已经展示了强大的结果。
目前,当首要任务是在不丢失整体形状的情况下进行数据约简,而不是需要精确的脑电波频率分析时,DCT 是一个实用的选择。它提供了一个有用的经验法则:将变换与你的实际目标相匹配,而不是采用一刀切的 EEG 处理假设。
参考文献
Birvinskas, D., Jusas, V., Martisius, I., & Damasevicius, R. (2012, November). EEG dataset reduction and feature extraction using discrete cosine transform. In 2012 Sixth UKSim/AMSS European Symposium on Computer Modeling and Simulation (pp. 199-204). IEEE. https://doi.org/10.1109/EMS.2012.88
Birvinskas, D., Jusas, V., Martisius, I., & Damasevicius, R. (2015). Fast DCT algorithms for EEG data compression in embedded systems. Computer Science and Information Systems, 12(1), 49-62. https://doi.org/10.2298/CSIS140101083B
Maazouz, M., Kebir, S. T., Bengherbia, B., Toubal, A., Batel, N., & Bahri, N. (2015, December). A DCT-based algorithm for multi-channel near-lossless EEG compression. In 2015 4th International Conference on Electrical Engineering (ICEE) (pp. 1-5). IEEE. https://doi.org/10.1109/INTEE.2015.7416805
Parvez, M. Z., & Paul, M. (2012, December). Features extraction and classification for Ictal and Interictal EEG signals using EMD and DCT. In 2012 15th International Conference on Computer and Information Technology (ICCIT) (pp. 132-137). IEEE. https://doi.org/10.1109/ICCITechn.2012.6509719
Jumaah, M. A., Shihab, A. I., & Farhan, A. A. (2020). Epileptic seizures detection using DCT-II and KNN classifier in long-term EEG signals. Iraqi Journal of Science, 2687-2694. https://doi.org/10.24996/ijs.2020.61.10.26
常见问题解答
什么是离散余弦变换 (DCT)?为什么将其用于 EEG?
DCT 将短块的 EEG 样本分解为频率递增的余弦波之和,仅产生实数系数。使用它是因为 EEG 信号在时间上高度相关,而 DCT 将信号能量集中到仅前几个早期系数中,从而使压缩和特征减少变得高效。
DCT 如何压缩 EEG 信号?
该变换应用于短样本块,然后将最小的系数(携带能量最少的系数)丢弃或进行粗略四舍五入。逆变换重建原始波形的近似值,在保留大体信号形状的同时实现有损压缩。
为什么将 DCT 与 JPEG 压缩进行比较?
JPEG 使用 DCT 来缩小图像,因为大多数视觉信息都被少数低频系数捕获,而同样的能量集中特性也适用于 EEG 信号。两者都丢弃了不易察觉或不那么有意义的高频细节,这使得 DCT 非常适合神经数据约简。
用于 EEG 分析时,DCT 与傅里叶变换 (FFT) 有何不同?
FFT 将信号分解为正弦和余弦对,产生直接对应于脑电波频段和相位的复数。DCT 仅使用余弦函数并产生实数系数,这些系数无法与标准的 EEG 频段整齐地对应,使其成为一种压缩工具而不是振荡分析方法。
DCT 可以用于提取特征以进行 EEG 的机器学习分类吗?
可以,来自 DCT 的紧凑、去相关系数可以作为分类器的微小特征向量,在降低数据维度的同时保留信号的主导结构。该方法已成功应用于癫痫发作检测和脑机接口系统。
在我的 EEG 项目中,何时应该选择 DCT 而不是 FFT?
当首要任务是实时压缩、减少数据存储或为机器学习提取紧凑特征时(尤其是在低功耗设备上),选择 DCT。当您的研究需要分析特定频段或相位关系时,选择 FFT 或小波,因为 DCT 不直接提供那种生理学解释。
DCT 能减少 EEG 信号中的噪声吗?
丢弃小的、高指数的 DCT 系数通常会去除噪声般的波动以及精细细节,从而产生 DCT 是“轻伪迹”的说法。然而,所回顾的研究并未直接测量伪迹的减少,因此这仍然是一个合理的假设,而不是确证的发现。
为什么在进行 DCT 之前要使用 EEG 窗口?
DCT 是针对有限序列定义的,因此 EEG 记录通常被划分为多个窗口。分窗还允许分别检查记录不同部分之间的变化,尽管这引入了关于持续时间和重叠的选择。
DCT 结果能证实神经系统状况吗?
不能。变换后的信号是一种数学表示,而不是独立的临床证据。任何诊断性解释都需要适当的临床评估、经过验证的方法和相关的支持信息。
Emotiv 是一家神经技术领域的领导者,致力于通过易于获取的 EEG 和脑数据工具推动神经科学研究发展。
克里斯蒂安·布尔戈斯




