一款人脑电波(EEG)采集系统

整体设计思路

一个完整的脑电波采集系统通常由电极、前置放大器、滤波器、主放大器、模数转换器(ADC)、微控制器(MCU)或数据采集卡,以及上位机软件组成。电极负责从头皮上拾取脑电信号,前置放大器将微弱的脑电信号进行初步放大,滤波器去除噪声和干扰,主放大器进一步放大信号,ADC 将模拟信号转换为数字信号,MCU 或数据采集卡负责数据的采集和传输,上位机软件用于数据的显示、分析和存储。

硬件设计

1. 电极

选用合适的电极是采集高质量脑电信号的关键。常见的电极类型有湿电极、干电极和半干电极。湿电极需要使用导电膏,能够提供较好的信号质量,但使用不便;干电极无需导电膏,使用方便,但信号质量相对较差;半干电极结合了两者的优点。

2. 前置放大器

前置放大器应具有高输入阻抗、低噪声、高共模抑制比(CMRR)等特点,以减少信号的衰减和干扰。可以使用专用的仪表放大器,如 AD620。

3. 滤波器

脑电信号的频率范围通常在 0.5 - 100Hz 之间,需要设计低通、高通和带通滤波器来去除噪声和干扰。可以使用有源滤波器或无源滤波器。

4. 主放大器

主放大器进一步放大经过滤波后的信号,使其满足 ADC 的输入范围。

5. 模数转换器(ADC)

选择具有高分辨率和采样率的 ADC,以保证信号的准确性和完整性。例如,ADS1299 是一款专门用于生物电信号采集的 ADC 芯片。

6. 微控制器(MCU)或数据采集卡

MCU 负责控制 ADC 的采样和数据传输,可以选择如 Arduino、STM32 等开发板。如果对数据采集速度和处理能力要求较高,可以使用专业的数据采集卡。

软件设计

1. 下位机软件(MCU 端)

以下是一个使用 Arduino 和 ADS1299 进行脑电数据采集的示例代码:

cpp




#include 
#include 
 ADS1299 ads;

void setup() {  Serial.begin(115200);  ads.begin();  ads.reset();  ads.disableAllChannels();  ads.enableChannel(1);  ads.setDataRate(ADS1299_DR_250SPS);  ads.start();
}

void loop() {  if (ads.dataAvailable()) {    int32_t data = ads.readChannel(1);    Serial.println(data);  }
}

2. 上位机软件

上位机软件可以使用 Python 结合相关库进行开发,如pyserial用于串口通信,matplotlib用于数据可视化,numpy用于数据处理。以下是一个简单的 Python 示例代码:

python




import serial
import matplotlib.pyplot as plt
import numpy as np 
ser = serial.Serial('COM3', 115200)  # 根据实际情况修改串口号和波特率
plt.ion()
fig, ax = plt.subplots()
x = np.arange(0, 100)
y = np.zeros(100)
line, = ax.plot(x, y)

while True:    try:        data = ser.readline().decode().strip()        if data:            value = int(data)            y = np.roll(y, -1)            y[-1] = value            line.set_ydata(y)            ax.relim()            ax.autoscale_view()            fig.canvas.draw()            fig.canvas.flush_events()    except KeyboardInterrupt:        break
 ser.close()




信号处理

采集到的脑电信号通常包含噪声和干扰,需要进行信号处理来提取有用信息。常见的信号处理方法包括:

  • 滤波:使用数字滤波器进一步去除噪声和干扰,如巴特沃斯滤波器、切比雪夫滤波器等。
  • 特征提取:提取脑电信号的特征,如时域特征(均值、方差、峰值等)、频域特征(功率谱密度等)。
  • 分类识别:使用机器学习或深度学习算法对脑电信号进行分类识别,如支持向量机(SVM)、卷积神经网络(CNN)等。

注意事项

  • 电极的正确安装:电极的安装位置和质量直接影响信号的质量,需要按照国际 10 - 20 系统进行安装,并确保电极与头皮之间的良好接触。
  • 电磁干扰:脑电信号非常微弱,容易受到电磁干扰,需要采取屏蔽措施,如使用屏蔽线、金属屏蔽盒等。
  • 安全性:在设计和使用脑电波采集系统时,需要确保系统的安全性,避免对人体造成伤害。
鲁ICP备2022008433号-1