我有一个代表多通道生物信号的 numpy 2dim 数组。该数组的维度为 20 x n_samples,其中列表示:样本数 - 16 通道数据 - 时间。
鉴于蓝牙连接,我有一些包裹丢失,所以我有信号间隙。该数组必须导入 MNE-Python 以进行进一步分析。这个库假设采样率是恒定的(假设我们必须每 4 毫秒有一个样本,它无法处理间隙)所以我尝试了 3 种不同的方法:
- 不要填补空白,让信号拼接在一起(MNE Python 创建一个数据等间距的结构)
- 用 np.nan 填补空白
- 用 0 填补空白
我的问题是关于我需要对数据应用的过滤。我使用 scipy.welch 来获取信号的 PSD。似乎以 nan 作为填充符的信号比原来的信号和用 0 填充的信号表现更好,但是一旦我尝试获取信号的低通和高通滤波版本的 psd,行为就很奇怪。
有谁知道最好的方法是什么?
以下是不同填充策略的 3 张图像。(上面是用 MNE 库获得的 psd,下面是用 scipy.welch 获得的 psd)。使用的滤波器是 FIR。