# 脑电分析之滤波

首先请大家注意，滤波的处理在这篇文章中并不能完全的阐述完整，因为滤波器的涉及面真的是很广很大。在这篇文章中，主要阐述滤波的功能、IIR滤波器以及FIR滤波器的功能及在Analyzer和eeglab中的使用。

在脑电图（EEG）和脑磁图（MEG）甚至于在所有的神经生理信号中，在数据预处理过程中，滤波是必不可少的一步，滤波在这里面最大的功能有两点：1.去噪声；2.选择特定频段观察信号。

不同类型的滤波器可用于多种应用，从在线到离线，从模拟到数字，以及从硬件到软件。在脑电中除了我们后期数据使用软件进行数字滤波外，在硬件设备中也存在模拟滤波，在我们采集M/EEG等神经生理信号时，放大器会对硬件上设置的模拟滤波器的高通和低通信号内的信号进行信号的放大，在硬件放大器上会有一个频带宽度，简称为“带宽”，有时称必要带宽，是传送模拟信号时的信号最高频率与最低频率之差，单位为赫兹。即为保证某种发射信息的速率和质量所需占用的频带宽度容许值。信号频带宽度的大小与允许误差的大小有关。通俗点讲带宽是指最低是多少，最高是多少，就取中间的值。关于脑电硬件参数的部分，可参考很早之前推送的文章，传送门[**《脑电设备的一些参数》**](http://mp.weixin.qq.com/s?__biz=MzIyNTYyNzk0Mg==\&mid=2247483762\&idx=1\&sn=75c00c978ddd85be6ab9a607e813ee15\&chksm=e87d9b3bdf0a122d015a178ab01ff8a97defff0d23aee8e96470ef6e6b1661b8da95709f6869\&scene=21#wechat_redirect)

**数字滤波器的概述**

所谓数字滤波器，是指输入输出均为数字信号，通过一定的运算关系，改变输入信号中所含频率成分的相对比例或者滤除某些频率成分。数字滤波器具有稳定性高、精度高、灵活性大等的突出优点。对于数字滤波器而言，这些滤波器应用在不同时间和频域尺度的神经生理信号等诸如感觉刺激或运动活动的补充信号，主要作用是衰减原始信号中的某些频率或频带。数学表达中，若系统函数为H(z),其脉冲响应为h(n),输入时间序列为x(n),则它们在时域内的关系式如下：                                           &#x20;

![](/files/-M8dSlbdjR450zs0a5pp)

在Z域内，输入和输出存在如下关系：

![](/files/-M8dSs_TXBvURF6SLUrE)

式中，X(z)、Y(z)分别为x(n)和y(n)的Z变换。<br>

在频域内，输入和输出则存在如下关系：

![](/files/-M8dSwnjNCuk0ox-F2PU)

**在神经生理信号中，从时域特性上看**

数字滤波器还可以分为有限脉冲响应（FIR，Finite Impulse Response）数字滤波器和无限脉冲响应（IIR, Infinite Impulse Response）数字滤波器。

FIR（Finite Impulse Response）有限脉冲响应滤波器，其输出y(n)只取决于有限个过去和现在的输入，x(n),x(n-1),…,x(n-m),滤波器的输入输出关系可表示为

![](/files/-M8dT-tw1MyIk-A2XvKd)

FIR滤波器的优劣势：

优点：

稳定

线性相位变化(linear phase shift)

劣势：

需要高阶数来满足滤波条件

计算效率低

IIR（Infinite Impulse Response）无限脉冲响应滤波器，其输出不仅取决于过去和现在的输入，而且还取决于过去的输出，其差分方程为

![](/files/-M8dT4OsqgFkBjE26TZ1)

IIR滤波器的优劣势：

优点：

仅需要较低的阶段来满足滤波条件

计算效率较高

劣势：

不稳定

非线性的相位变化(non-linear phase shift)

滤波器的一些参数：

低通（low pass）：简单点的说就是低于设定的截止频率其信号进来，超过这个设定的信号则会被阻挡或者被衰减，通常也被称之为高切（high-cutoff）。这在脑电信号中是为了阻止高频信号（肌电或者其它噪声信号）的干扰，保证EEG信号中的快波不受影响。在脑电信号中通常设置的低通频率为30/40Hz来提取EEG信号的频段。

高通（high pass）：跟低通相对，高于设定的频率其信号进来，低于设定频率的信号会被阻挡，通常也被称之为低切（low-cutoff）。这里引用Luck的书中的一段话：“**高通滤波器通常用时间常数而不是半振幅截止频率来描述**。如果一个高通滤波器的输入是一个恒定电压，那么其输出电压的起始值是该输入电压，之后逐渐降低，而时间常数表示的就是输出电压的变化速率。输出电压以指数形式下降，其值不会真正下降到零。因此，时间常数表示的是输出电压下降到其起始值的l/e(37%)的时间。随着半振幅截止频率的提高，时间常数会变短。如果已知高通滤波器的半振幅截止频率为f(该频率下滤波器的输出减少了3dB), 那么时间常数 为1/(2πf）。”高通滤波的设置是保证EEG信号中慢波不受影响。在通常的设置在0.016Hz，如果想观察到更低频的信号，除了后期的滤波设置中，也需要考虑采集信号时的放大器的频带宽度。

带通（band pass）：这里设置的带宽主要是指我们想要观察的信号的带宽，最高频率与最低频率之差。选择合适的带通，是至关重要的。因为数字滤波是会使信号失真，设置不同的截止频率会对后期想要观察到的信号有极大的影响。这点可以参考已有的一些文献里的研究。

衰减程度：滤波器衰减由低到高为：12dB/oct；24dB/oct；48dB/oct；96dB/oct；在赵仑的书中有这样一段话来阐述这个概念：“数字滤波器在某一频段对信号的衰减很小，而其他频段衰减很大。 衰减小的频段称为通带，衰减大的频段称为阻带，通带和阻带之间的过渡区称为过渡带。 理想状况下，通带的衰减为0，阻带的衰减为无穷大，没有过渡带，但实际上这种陡峭的滤波特性是无法实现的。”所以，在这里会出现一个衰减程度的斜率来衰减信号。在众多的文献中经常选用的是24dB/oct，当然在赵仑老师的书中也是推荐使用24dB/oct。

在Brain products设备的分析软件Analyzer中通常使用的是IIR-Zero Phase Shift Butterworth 滤波器，在analyzer软件界面中transformation下来菜单中选择IIR filter会弹出如下界面：

![](/files/-M8dT9WjDlB0_1B-hRPS)

设置好以上的高切、低切参数即可，这里主要说明一下order里面的2/4/8的含义。在经典的Butterworth滤波器中是会产生相位的偏移，为了达到零相位的偏移就采用了两级的正反向滤波（ two cascading filter ）来使其达到零相位偏移。在经典的Butterworth滤波器的阶段是1/2/4，其衰减的程度是3dB/oct，为了使其不发生零相位偏移，所以在这里就设置的2/4/8，对应的就是文献中经常看到的12/24/48 dB/oct。

在eeglab中为了不发生相位新的偏移，更常使用的FIR滤波器，在eeglab界面的tool里选择filter。如下界面：

![](/files/-M8dTEeNFpcCQW4j9U4o)

同样的设置其对应的参数即可达到滤波的效果。

最后，写到这里还是重点的说一下，这篇文章并不能完全的解释滤波的全部知识。我想要完全的理解好滤波对信号数据的影响，这是需要一个经验的过程。一个滤波功能的参数设置是会影响到数据的结果，这在luck的文献中是有研究的。长路漫漫，数据处理总是让人很头疼的一件事，但快乐的喜悦总在雨后彩虹的出现中，明天就是国庆节了，提前祝大家国庆不受数据处理的困扰，放开心好好玩，外面的世界很美好，还有很多美妙的事情等着你的光临。

本文参考：

1、赵仑《ERPs实验教程 赵仑》

2、Luck《事件相关电位基础》

本文推荐一篇文献：**《Digital filter design for electrophysiological data – a practical approach》**

#### **谢谢大家观看，如有帮助，来个喜欢或者关注吧！** <a href="#xie-xie-da-jia-guan-kan-ru-you-bang-zhu-lai-ge-xi-huan-huo-zhe-guan-zhu-ba" id="xie-xie-da-jia-guan-kan-ru-you-bang-zhu-lai-ge-xi-huan-huo-zhe-guan-zhu-ba"></a>

本文作者：Chen Rui

星球地址 ：[知识星球](https://t.zsxq.com/W5M3F)[Blog ](https://t.zsxq.com/W5M3F)

知乎地址 : [知乎专栏](https://www.zhihu.com/people/braintechnology)&#x20;

B站地址 : [B站主页](<https://space.bilibili.com/328549846 >)&#x20;

公众号：大脑技术\
&#x20;CSDN地址 : [csdn主页](https://blog.csdn.net/craig_cc)‌


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://book.7988888.xyz/eeg/3.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
