从瞳孔的扩张收缩提取大脑EEG的delta,theta,alpha,beta,gamma等信号信息

本文通过瞳孔变化分析,利用Python进行信号处理,应用带通滤波器(BPF)和功率谱密度(PSD)方法,揭示了大脑EEG信号中的delta、theta、alpha、beta和gamma频段信息。
摘要由CSDN通过智能技术生成

展示得到的结果图
在这里插入图片描述
在这里插入图片描述

直接上代码

import pandas as pd
from scipy.signal import find_peaks
from scipy.fftpack import fft, fftshift, ifft
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
from scipy import signal
from scipy.signal import butter, lfilter

def Data():
    # data = pd.DataFrame(pd.read_csv(path + name[n] + '_'+str(num[j])+'.csv', encoding='CP949', engine='python'))
    data = pd.DataFrame(pd.read_csv(raw_path + str(num[j]) + '_all_gaze.csv', encoding='CP949', engine='python'))
    LPMM = np.array(data['LPMM'])
    # return LPMM
    for i in range(len(LPMM)):
        X= LPMM[i:i +59]
        return X
#delta
def butter_bandpass_delta(lowcut_delta, highcut_delta, fs, order=5):
    nyq = 0.5 * fs
    low = lowcut_delta / nyq
    high = highcut_delta / nyq
    b, a = butter(order, [low, high], btype='band')
    return b, a
def butter_bandpass_filter_delta(lowcut_delta, highcut_delta, fs, order=5):
    b, a = butter_bandpass_delta(lowcut_delta, highcut_delta, fs, order=order)
    data = Data()
    delta = signal.filtfilt(b, a, data)
    return delta
#theta
def butter_bandpass_theta(highcut_delta, highcut_theta, fs, order=5):
    nyq = 0.5 * fs
    low = highcut_delta / nyq
    high = highcut_theta / nyq
    b, a = butter(order, [low, high], btype='band')
    return b, a
def butter_bandpass_filter_theta(highcut_delta, highcut_theta, fs, order=5):
    b, a = butter_bandpass_theta(highcut_delta, highcut_theta, fs, order=order)
    data = Data()
    theta = signal.filtfilt(b, a, data)
    return theta
#alpha
def butter_bandpass_alpha(highcut_theta, highcut_alpha, fs, order=5):
    nyq = 0.5 * fs
    low = highcut_theta / nyq
    high = highcut_alpha / nyq
    b, a = butter(order,
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值