在脑电信号的处理过程中去除伪迹是很关键的一个步骤,常用的有ICA和小波等方法。不过这些方法大多是针对多通道脑电数据进行处理的,单通道的脑电数据如何去除伪迹呢?推荐一篇文章《单通道脑电信号眼电伪迹去除算法研究》,在文章中提到了一种WT-EEMD-ICA方法,该方法是小波-集合经验模态分解-独立成分分析的结合。具体内容感兴趣的可以精读下这篇文章,在对应的下载附件中有这篇文章。
上面说的和本篇的内容关系不大,我就是在看了文章后对里面提到的HHT方法感兴趣,就研究了一下。下面主要说的是HHT的实现以及如何准确计算瞬时频率。
推荐几个参考的博客:
相关代码:
# %matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
from pyhht import EMD
from scipy.signal import hilbert
import tftb.processing
import mne
# 定义HHT的计算分析函数
def HHTAnalysis(eegRaw, fs):
# 进行EMD分解
decomposer = EMD(eegRaw)
# 获取EMD分解后的IMF成分
imfs = decomposer.decompose()
# 分解后的组分数
n_components = imfs.shape[0]
# 定义绘图,包括原始数据以及各组分数据
fig, axes = plt.subplots(n_components + 1, 2, figsize=(10,