基于多核平台的盲源分离算法的并行优化
发布时间:2021-11-13 02:04
当前,随着脑电波信号采集设备的不断发展,脑机接口研究变得更加具有实用性,一些基于脑机接口的受人脑控制的轮椅等设备已经投入市场。然而,脑电信号的收集过程中不可避免地会掺杂有杂音信号,这些信号来自于机械设备固有杂音或者是周围环境的干扰信号。盲源分离算法可以实现在不清楚原始信号的前提下,从混杂信号中提取原始信号的功能。虽然这些算法的分离效果均被证实非常理想,但是其算法运行速度难以满足今天脑机接口系统中对实时性的要求。本文主要的研究是基于多核硬件平台对当前主流的盲源分离算法进行并行优化,在保证算法原有分离原理与分离效果不变的前提下,提升算法各自的运行效率,为算法在实时系统中的进一步使用奠定基础。本文中选择了在脑电信号处理领域三种主流的盲源分离算法进行并行优化,分别是SOBI算法、InfoMax算法、FastICA算法。针对每种不同的算法分析各自的数学计算原理,结合高性能计算编程技术,从算法原理到算法实现上对多核处理器进行适配。主要采取了任务并行、线程级别并行、数据与指令级别并行等并行优化措施来加速算法的计算过程。另外,本文还针对多核硬件平台的NUMA架构特点,进行了算法运行时的内存访问优化控制...
【文章来源】:山东大学山东省 211工程院校 985工程院校 教育部直属院校
【文章页数】:80 页
【学位级别】:硕士
【部分图文】:
图2-1盲源分离算法实现信号分离的示意图??上过立终s,??
?山东大学硕士学位论文???数量一致,并且任意混淆信号之间彼此线性无关。??(3)假设输入数据是中心化的,当然,很多时候可以将观测数据进行中心化??处理后再输入给独立成分分析模型。??根据其信息学及数学原理的不同,常见的盲源分离算法又分为:??(1)基于信息论的信息极大化的Infomax[25]算法。??(2)非高斯性最大化的FastICA[26]算法。??(3)基于统计学的二阶累积量分析的SOBl[27]算法。??三种算法的区别主要是表现在如何求解分离矩阵F上,如图2-2所示,三??种算法的大致流程是一样的,都分为数据中心化、数据白化[28]、构建正交系统??求解分离矩阵、根据分离矩阵求解源矩阵这四个过程。它们被广泛用在??£EGLAB[29]、FieldTrip[30]等数据处理工具箱中,后续章节中将对这三种方法的??原理与优化措施做具体介绍^??瓦涵涵P丽?!???I???!?|读入数据?I??翁?????I??I?I??!?数据中心化?丨??I?I??翁?|?????j??I??;?|数据白化处理??[ii?研祕¥?"r?;??I?????I?构建正交系统、计算??;?分离矩阵?I??!????」??计算源矩阵??结束?)??图2-2盲源分离算法分离过程流程图??2.1.1二阶盲源分离算法??最早的二阶盲源分离算法(SOBI)由Belouchrani于1997年提出,自从该算??11??
?山东大学硕士学位论文???成这项工作。其中,性能分析报告最好的工具是IntelVTuneAmplifier,以下简称??其为VTune。VTune可以对C语言、C++语言、Fortran语言等多种编程语言的程??序进行性能分析,最新版本的VTune支持的分析类型非常广泛,在VTime2019??版本中性能分析类型包括高级热点分析、线程分析、高性能表现分析、并发性分??析、内存消耗分析、内存访问分析、CPU与GPU并发性分析、FPGA分析以及??磁盘10分析等。??图3-1是S0BI原始算法在Intel多核平台上的VTune性能热点分析图中Top-??down?Tree的分析结果。如图3-1所示,SOBI算法中的联合对角化(对应图3-1??中的computeRjd函数)所消耗的时间占算法整体运行时间的89.9%,热点非常??集中。??^?Hotspots?Hotspots?by?CPU?Utilization?▼????Analysis?Configuration?Collection?Log?Summary?Bottom-up?Caller/Callee?Top-down?Tree??Grouping:?Call?Stack?▼?|?P?11°*°|?? ̄ ̄Function?Stack? ̄CPU?Time:?Total?▼? ̄^?CPU?Time:?Self?| ̄ ̄McxIl?|?? ̄t?malh?y/.b%?us?n^ODi??▼?mainWrapper<double>?97.6%?0.111s?hSobi??▼?computeSobi<double>?89.9%?hSobi??
【参考文献】:
期刊论文
[1]基于不同频率声音刺激的脑电信号分析方法研究[J]. 孙宇舸,李丽,叶柠,徐心和. 生命科学仪器. 2007(07)
本文编号:3492090
【文章来源】:山东大学山东省 211工程院校 985工程院校 教育部直属院校
【文章页数】:80 页
【学位级别】:硕士
【部分图文】:
图2-1盲源分离算法实现信号分离的示意图??上过立终s,??
?山东大学硕士学位论文???数量一致,并且任意混淆信号之间彼此线性无关。??(3)假设输入数据是中心化的,当然,很多时候可以将观测数据进行中心化??处理后再输入给独立成分分析模型。??根据其信息学及数学原理的不同,常见的盲源分离算法又分为:??(1)基于信息论的信息极大化的Infomax[25]算法。??(2)非高斯性最大化的FastICA[26]算法。??(3)基于统计学的二阶累积量分析的SOBl[27]算法。??三种算法的区别主要是表现在如何求解分离矩阵F上,如图2-2所示,三??种算法的大致流程是一样的,都分为数据中心化、数据白化[28]、构建正交系统??求解分离矩阵、根据分离矩阵求解源矩阵这四个过程。它们被广泛用在??£EGLAB[29]、FieldTrip[30]等数据处理工具箱中,后续章节中将对这三种方法的??原理与优化措施做具体介绍^??瓦涵涵P丽?!???I???!?|读入数据?I??翁?????I??I?I??!?数据中心化?丨??I?I??翁?|?????j??I??;?|数据白化处理??[ii?研祕¥?"r?;??I?????I?构建正交系统、计算??;?分离矩阵?I??!????」??计算源矩阵??结束?)??图2-2盲源分离算法分离过程流程图??2.1.1二阶盲源分离算法??最早的二阶盲源分离算法(SOBI)由Belouchrani于1997年提出,自从该算??11??
?山东大学硕士学位论文???成这项工作。其中,性能分析报告最好的工具是IntelVTuneAmplifier,以下简称??其为VTune。VTune可以对C语言、C++语言、Fortran语言等多种编程语言的程??序进行性能分析,最新版本的VTune支持的分析类型非常广泛,在VTime2019??版本中性能分析类型包括高级热点分析、线程分析、高性能表现分析、并发性分??析、内存消耗分析、内存访问分析、CPU与GPU并发性分析、FPGA分析以及??磁盘10分析等。??图3-1是S0BI原始算法在Intel多核平台上的VTune性能热点分析图中Top-??down?Tree的分析结果。如图3-1所示,SOBI算法中的联合对角化(对应图3-1??中的computeRjd函数)所消耗的时间占算法整体运行时间的89.9%,热点非常??集中。??^?Hotspots?Hotspots?by?CPU?Utilization?▼????Analysis?Configuration?Collection?Log?Summary?Bottom-up?Caller/Callee?Top-down?Tree??Grouping:?Call?Stack?▼?|?P?11°*°|?? ̄ ̄Function?Stack? ̄CPU?Time:?Total?▼? ̄^?CPU?Time:?Self?| ̄ ̄McxIl?|?? ̄t?malh?y/.b%?us?n^ODi??▼?mainWrapper<double>?97.6%?0.111s?hSobi??▼?computeSobi<double>?89.9%?hSobi??
【参考文献】:
期刊论文
[1]基于不同频率声音刺激的脑电信号分析方法研究[J]. 孙宇舸,李丽,叶柠,徐心和. 生命科学仪器. 2007(07)
本文编号:3492090
本文链接:https://www.wllwen.com/shoufeilunwen/benkebiyelunwen/3492090.html