【技术实现步骤摘要】
一种基于遗传算法和快速独立成分分析的脑电波信号分离方法
[0001]本专利技术属于计算机应用
,具体是一种基于遗传算法和快速独立成分分析的脑电波信号分离方法,用于对脑电波信号的分离或信息降噪等。
技术介绍
[0002]目前在信号处理的领域当中,很重要的一个研究方向就是信号源的分离,它主要是为了从一个混合的数据系统中分离出想要得到的源信号。在现代越来越复杂的信号环境下,从复杂繁多的混合信号中提取出自己想要的信号越来越难。人们接收到的信号往往是许多未知、距离不同、随机混合的观察信号,然而传统的方式难以处理这样的问题,无法准确的得到真正所需要的信号。在这样的背景下,1986年,Jutten和Herault提出了一种自适应的算法,完成了两个混合源信号的分离,后来在1991年发表了盲源分离的重要文章,在盲源分离问题研究上去的了巨大的进展。1994年Comon系统的分析了脑电波信号的分离问题并且明确的提出了独立成分分析的概念(ICA),随后便有一大批的关于ICA的新的算法产生。盲源分离作为一个热点话题,在很多领域都取得了大力的研究和发展,如语音信号的处理、生物医学信号处理、图像处理、降噪处理、阵列信号处理等等。
[0003]在现实生活中许多脑部疾病以大脑神经细胞群反复超同步放电引起发作性、突然性、短暂性的脑功能紊乱为特征,为患者的生活带来极大的不便。脑电图检查是临床上检查各种脑部疾病的常用技术,通过脑电图可以分析出脑部的疾病种类。但是人体是一个复杂的网络系统,脑电图信号中不可以避免的会受到一些无关的电生理信号的干扰
【技术保护点】
【技术特征摘要】
1.一种基于遗传算法和快速独立成分分析的脑电波信号分离方法,其特征在于,包括步骤:步骤1:获取脑电波信号数据,提取出脑电波信号的数据并根据不同的编码格式将数据转换成可以进行计算的数值数据;步骤2:对获取到的源信号数据进行数据预处理,采用去均值、白化两个方法对数据初始化;步骤3:使用遗传算法找出初始化矩阵W,并对W矩阵做去相关处理;步骤4:设置新的更新机制,每次循环更新W
new
的值;步骤5:对W
new
进行去相关处理;步骤6:计算W
new
与W的范数,若该值收敛于0,则结束整个流程,否则返回步骤4进行循环。2.根据权利要求1所述的一种基于遗传算法和快速独立成分分析的脑电波信号分离方法,其特征在于,所述的步骤1包含下列步骤:步骤1.1:首先准备好脑电波信号数据,将所有的数据类型都转换成数值数据类型加以使用,本专利中使用4*20000的数值数据类型,为GitHub提供的小鼠大脑视觉皮层局部电位数据集;步骤1.2:将脑电波信号用Python中的pandas库从excel中读取出,转换成数值数据类型,脑电波信号由4*20000的数组组成,4表示4个信号源,20000表示每个信号源的20000个点,4组数据混合在一起的数据由Pyhton中的matplotlib库来绘制出混合信号的折线图。3.根据权利要求1所述的一种基于遗传算法和快速独立成分分析的脑电波信号分离方法,其特征在于,所述的步骤2包含下列步骤:步骤2.1:对获取到的脑电波信号数据进行数据预处理,首先要中心化,对脑电波信号数据所形成的矩阵X的n个行向量去均值,然后从对应的行中减去这个均值,即使用python中的mean函数求出平均值mean,然后矩阵X
‑
=mean;步骤2.2:对获取到的脑电波信号数据进行数据预处理,中心化后要进行白化步骤,白化的本质是去相关,首先利用numpy库中的cov函数找出中心化后的矩阵X的协方差矩阵COV_X,在使用numpy库中的linalg.elgh函数求出COV_X的单位特征向量P和特征值组成的对角阵D,最后计算出白化矩阵完成白化步骤。4.根据权利要求1所述的一种基于遗传算法和快速独立成分分析的脑电波信号分离方法,其特征在于,所述的步骤3包含下列步骤:步骤3.1:初始化遗传算法的参数,如变异参数t1,变异概率pc,交叉参数t2,交叉概率pm,函数的上下界;步骤3.2:适应度函数(目标函数)的选取,在所有的等方差的随机变量中,高斯变量的熵最大,因此利用熵来度量非高斯性,这里采用负熵作为适应度函数,负熵定义为:J(Y)=H(Y
gauss
)
‑
H(Y)其中Y表示某种信号,J(Y)是Y的负熵,H为变量的微分熵,Y
gauss
是n个高斯随机变量组成的随机矢量,与Y有相同的均值和协方差;根据互信息可以将负熵表示为:
其中I为互信息,最小化互信息就等于最大化负熵,因此基于负熵最大化的代价函数为:其中,为负熵最大化的代价函数,detW为W矩阵的行列式;步骤3.3:确定好目标函数和迭代次数N后,对初始种群进行选择、交叉、变异进行N次迭代,选择出最终的种群;其中,选择的方法使用轮盘赌选择,交叉的方法使用SBX(模拟二进制)交叉方法,变异使用基于PSO的非均匀变异算法;在轮盘赌选择算法中:首先计算每一个个体的适应度f(i=1,2,
…
,M),M为种群的大小,然后计算出给个个体遗传到下一代种群中的概率其中P(x
i
)为种群概率,f(x
i
)为适应度,再计算出每个个体的累计概率其中,q[i]被称之为染色体x[i],i=1,2
…
,n,的累计概率最后在[0,1]区间内产生以个均匀分布的伪随机数r,计数器a=0,当且仅当伪随机数r>q
i
[j]且r<q
i
[j+1]时,循环进行new_popu[i][a]=population[j][a...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。