CN111913582B - P300脑机接口Chekerboard刺激序列生成方法 - Google Patents
P300脑机接口Chekerboard刺激序列生成方法 Download PDFInfo
- Publication number
- CN111913582B CN111913582B CN202010829056.3A CN202010829056A CN111913582B CN 111913582 B CN111913582 B CN 111913582B CN 202010829056 A CN202010829056 A CN 202010829056A CN 111913582 B CN111913582 B CN 111913582B
- Authority
- CN
- China
- Prior art keywords
- stack
- row
- matrix
- avail
- algorithm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/015—Input arrangements based on nervous system activity detection, e.g. brain waves [EEG] detection, electromyograms [EMG] detection, electrodermal response detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Neurosurgery (AREA)
- Neurology (AREA)
- Dermatology (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
- Control Of Indicators Other Than Cathode Ray Tubes (AREA)
Abstract
本发明涉及一种P300脑机接口Chekerboard刺激序列生成方法。为了避免P300脑机接口中相邻行或相邻列刺激的不利影响,Chekerboard刺激方式生成一个内部字符矩阵,内部字符矩阵包含的字符集与展现矩阵相同,但字符在矩阵上的位置不同,在展现矩阵闪烁时被闪烁的字符取自内部字符矩阵的某一行或列。为了保证闪烁刺激的效果,内部字符矩阵的一行或一列字符在展现矩阵的位置应尽可能不同行同列。但是,一般的方法生成的内部字符矩阵效果不好。本发明把内部字符矩阵生成转化为了一个优化问题,设计了一个启发式算法来求解,算法得到的解即为内部字符矩阵。本发明的方法能够生成一个效果较好的内部字符矩阵。
Description
技术领域
本发明涉及一种P300脑机接口Chekerboard刺激序列生成方法。
背景技术
为了避免P300脑机接口中相邻行或相邻列刺激的不利影响,Chekerboard刺激范式生成一个内部字符矩阵,内部字符矩阵包含的字符集与展现矩阵相同,但字符在矩阵上的位置不同,在展现矩阵闪烁时被闪烁的字符取自内部字符矩阵的某一行或列。为了保证闪烁刺激的效果,内部字符矩阵的一行或一列字符在展现矩阵的位置应尽可能不同行同列。但是,一般的方法生成的内部字符矩阵效果不好。
发明内容
本发明的目的在于提供一种P300脑机接口Chekerboard刺激序列生成方法,该方法将内部字符矩阵生成转化为了一个优化问题,设计了一个启发式算法来求解,算法得到的解即为内部字符矩阵,本发明的方法能够生成一个效果较好的内部字符矩阵。
为实现上述目的,本发明的技术方案是:一种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:若m<0,本次执行未找到解,重新启动本算法;
步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:若col>0,rowC=rowC∪stack[m-col].i,colC=colC∪stack[m-col].j,转下一步;否则,转步2-4;
步2-3:col=col-1,转步2-2;
步2-4:若row>0,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:若k<m,则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代表这个字符在展现矩阵的行和列位置。
相较于现有技术,本发明具有以下有益效果:本发明方法将内部字符矩阵生成转化为了一个优化问题,设计了一个启发式算法来求解,算法得到的解即为内部字符矩阵,本发明的方法能够生成一个效果较好的内部字符矩阵。
附图说明
图1为Chekerboard刺激范式一组字符被闪烁的情况。
图2为常规P300刺激范式一行字符被闪烁的情况。
图3为常规P300刺激范式一列字符被闪烁的情况。
具体实施方式
下面结合附图,对本发明的技术方案进行具体说明。
本发明实例提供了一种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:若m<0,本次执行未找到解,重新启动本算法;
步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:若col>0,rowC=rowC∪stack[m-col].i,colC=colC∪stack[m-col].j,转下一步;否则,转步2-4;
步2-3:col=col-1,转步2-2;
步2-4:若row>0,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:若k<m,则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代表这个字符在展现矩阵的行和列位置。
本发明是以展现矩阵为6×6为背景来展开表述的,若展现矩阵规模被调整,该方法只需做出相应调整,这样的调整不会改变方法的实质,比如7×7、8×8、……等等不同规模的展现矩阵,均只需对算法中的参数进行相应调整即可,实现方法实质相同。
如图1所示,本发明上述方法,即P300脑机接口Chekerboard刺激序列生成方法,能够实现展现矩阵闪烁时被闪烁的字符尽可能处于不同行列,以达到较佳的闪烁刺激效果;而常规的P300刺激范式,如图2、3所示,展现矩阵闪烁时被闪烁的字符是某一行或列,其闪烁刺激的效果明显不如本发明方法。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
Claims (1)
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:若m<0,本次执行未找到解,重新启动本算法;
步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:若col>0,rowC=rowC∪stack[m-col].i,colC=colC∪stack[m-col].j,转下一步;否则,转步2-4;
步2-3:col=col-1,转步2-2;
步2-4:若row>0,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:若k<m,则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代表这个字符在展现矩阵的行和列位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010829056.3A CN111913582B (zh) | 2020-08-18 | 2020-08-18 | P300脑机接口Chekerboard刺激序列生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010829056.3A CN111913582B (zh) | 2020-08-18 | 2020-08-18 | P300脑机接口Chekerboard刺激序列生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111913582A CN111913582A (zh) | 2020-11-10 |
CN111913582B true CN111913582B (zh) | 2022-06-14 |
Family
ID=73278173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010829056.3A Active CN111913582B (zh) | 2020-08-18 | 2020-08-18 | P300脑机接口Chekerboard刺激序列生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111913582B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508545A (zh) * | 2011-10-24 | 2012-06-20 | 天津大学 | 一种视觉P300-Speller脑-机接口方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103472922A (zh) * | 2013-09-23 | 2013-12-25 | 北京理工大学 | 一种基于p300与ssvep混合式脑机接口的目的地选择系统 |
US10179407B2 (en) * | 2014-11-16 | 2019-01-15 | Robologics Ltd. | Dynamic multi-sensor and multi-robot interface system |
CN104461007B (zh) * | 2014-12-19 | 2017-11-03 | 北京理工大学 | 一种基于脑电信号的驾驶员辅助人车交互系统 |
CN104899573B (zh) * | 2015-06-18 | 2018-06-15 | 福州大学 | 基于小波变换与Fisher准则的P300特征提取方法 |
CN111506193A (zh) * | 2020-04-15 | 2020-08-07 | 西安交通大学 | 基于现场可编程门阵列局部噪声优化的视觉脑机接口方法 |
-
2020
- 2020-08-18 CN CN202010829056.3A patent/CN111913582B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508545A (zh) * | 2011-10-24 | 2012-06-20 | 天津大学 | 一种视觉P300-Speller脑-机接口方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111913582A (zh) | 2020-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10885876B2 (en) | Method and device for adjusting brightness, display device and storage medium | |
CN100576301C (zh) | 自发光型显示装置 | |
JPH04222066A (ja) | 図形要素表現装置及び方法 | |
CN113625893B (zh) | 触控显示装置的驱动方法、驱动电路和触控显示装置 | |
CN106205452B (zh) | 定时控制器和显示装置 | |
CN108803873B (zh) | 一种基于高刷新率呈现的运动视觉诱发电位脑机接口方法 | |
CN1038714A (zh) | 灰度的最优化字符显示技术 | |
CN106991959B (zh) | 用于led显示屏的图像处理方法及装置 | |
CN104657068A (zh) | 显示设备及其驱动方法 | |
CN102968966A (zh) | 驱动电路、显示器以及显示器的驱动方法 | |
US20240203314A1 (en) | Method and apparatus for driving display panel and display device | |
KR102623092B1 (ko) | 디스플레이 패널의 구동 장치, 구동 방법 및 디스플레이 장치 | |
KR20240021249A (ko) | Led 디스플레이 스크린 구동 방법, 시스템, 장치, 기기 및 매체 | |
CN101162571B (zh) | 液晶显示器及其驱动方法 | |
CN111913582B (zh) | P300脑机接口Chekerboard刺激序列生成方法 | |
CN103247283A (zh) | 一种屏幕刷新方法及装置 | |
CN111489713A (zh) | 一种像素矩阵驱动装置及显示器 | |
JPH09166966A (ja) | マルチキャラクタ多重化ディスプレイにおいてキャラクタをイネーブルにする方法および多重化ディスプレイデバイス | |
JPH02893A (ja) | 表示装置およびその作動方法 | |
CN218957373U (zh) | 一种提高电子纸灰度的灰阶补偿系统 | |
CN102662612B (zh) | 使用Qt库显示MRC格式的图片文件的方法和系统 | |
Laukkanen et al. | The cone and the lazy bubble: two efficient alternatives between the point cursor and the bubble cursor | |
JP5836701B2 (ja) | 表示装置及びその制御方法 | |
CN114780160B (zh) | 一种改善内嵌式触控显示效果的驱动方法 | |
CN112687228B (zh) | 伽马曲线的调节方法和调节装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |