[发明专利]P300脑机接口Chekerboard刺激序列生成方法有效
| 申请号: | 202010829056.3 | 申请日: | 2020-08-18 |
| 公开(公告)号: | CN111913582B | 公开(公告)日: | 2022-06-14 |
| 发明(设计)人: | 黄志华 | 申请(专利权)人: | 福州大学 |
| 主分类号: | G06F3/01 | 分类号: | G06F3/01;G06F40/126 |
| 代理公司: | 福州元创专利商标代理有限公司 35100 | 代理人: | 陈明鑫;蔡学俊 |
| 地址: | 362251 福建省泉州市*** | 国省代码: | 福建;35 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | p300 接口 chekerboard 刺激 序列 生成 方法 | ||
1.一种P300脑机接口Chekerboard刺激序列生成方法,其特征在于,把P300脑机接口Chekerboard刺激范式生成内部字符矩阵的问题转化为一个优化问题,设计一个启发式算法来求解,从而得到内部字符矩阵;
算法定义的结构数组如下:
Struct element
{
int i;
int j;
Bool avail[6][6];
}
element stack[36];
算法描述如下:
步1:m=0,setAvail(stack, m), setIJ(stack, m);
步2:若m==35,getResult(stack),结束;
步3:m=m+1;
步4:setAvail(stack, m);
步5:若setIJ(stack, m),转步2;
步6;m=m-1;
步7:若m0,本次执行未找到解,重新启动本算法;
步8:updateAvail(stack, m);
步9:若setIJ(stack, m),转步3;否则,转步6;
算法输出的stack[36]对应内部字符矩阵从左到右从上到下的36个字符,其中的i和j代表它在展现矩阵中相应位置;
所述算法中的setAvail(stack, m)包含以下步骤:
步2-1:rowC=[],colC=[],stack[m].avail=true;row=m/6;col=m%6;
步2-2:若col0,rowC=rowC∪stack[m-col].i,colC=colC∪stack[m-col].j,转下一步;否则,转步2-4;
步2-3:col=col-1,转步2-2;
步2-4:若row0,rowC=rowC∪stack[m-row*6].i,colC=colC∪stack[m-row*6].j,转下一步;否则,转步2-6;
步2-5:row=row-1, 转步2-4;
步2-6:stack[m].avail[rowC][]=false,stack[m].avail[][colC]=false;
步2-7:k=0;
步2-8:若km,则stack[m].avail[stack[k].i][ stack[k].j]=false,转下一步;否则转步2-10;
步2-9:k=k+1,转步2-8;
步2-10:返回,结束;
所述算法中的setIJ(stack, m)包含以下步骤:
步3-1:若stack[m].avail中所有元素全为false,返回false,结束;
步3-2:随机选取一个值为true的avail元素,用它的行号赋值给stack[m].i,列号赋值给stack[m].j,返回true,结束;
所述算法中的updateAvail(stack, m)包含以下步骤:
步4-1:stack[m].avail[stack[m].i][ stack[m].j]=false;
步4-2:返回;
所述算法中的getResult(stack)包含以下操作:从左到右从上到下把stack的每一项输出到6×6的内部字符矩阵中,stack每一项的i和j代表这个字符在展现矩阵的行和列位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福州大学,未经福州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010829056.3/1.html,转载请声明来源钻瓜专利网。





