基于多核平臺(tái)的盲源分離算法的并行優(yōu)化
發(fā)布時(shí)間:2021-11-13 02:04
當(dāng)前,隨著腦電波信號(hào)采集設(shè)備的不斷發(fā)展,腦機(jī)接口研究變得更加具有實(shí)用性,一些基于腦機(jī)接口的受人腦控制的輪椅等設(shè)備已經(jīng)投入市場(chǎng)。然而,腦電信號(hào)的收集過(guò)程中不可避免地會(huì)摻雜有雜音信號(hào),這些信號(hào)來(lái)自于機(jī)械設(shè)備固有雜音或者是周?chē)h(huán)境的干擾信號(hào)。盲源分離算法可以實(shí)現(xiàn)在不清楚原始信號(hào)的前提下,從混雜信號(hào)中提取原始信號(hào)的功能。雖然這些算法的分離效果均被證實(shí)非常理想,但是其算法運(yùn)行速度難以滿(mǎn)足今天腦機(jī)接口系統(tǒng)中對(duì)實(shí)時(shí)性的要求。本文主要的研究是基于多核硬件平臺(tái)對(duì)當(dāng)前主流的盲源分離算法進(jìn)行并行優(yōu)化,在保證算法原有分離原理與分離效果不變的前提下,提升算法各自的運(yùn)行效率,為算法在實(shí)時(shí)系統(tǒng)中的進(jìn)一步使用奠定基礎(chǔ)。本文中選擇了在腦電信號(hào)處理領(lǐng)域三種主流的盲源分離算法進(jìn)行并行優(yōu)化,分別是SOBI算法、InfoMax算法、FastICA算法。針對(duì)每種不同的算法分析各自的數(shù)學(xué)計(jì)算原理,結(jié)合高性能計(jì)算編程技術(shù),從算法原理到算法實(shí)現(xiàn)上對(duì)多核處理器進(jìn)行適配。主要采取了任務(wù)并行、線(xiàn)程級(jí)別并行、數(shù)據(jù)與指令級(jí)別并行等并行優(yōu)化措施來(lái)加速算法的計(jì)算過(guò)程。另外,本文還針對(duì)多核硬件平臺(tái)的NUMA架構(gòu)特點(diǎn),進(jìn)行了算法運(yùn)行時(shí)的內(nèi)存訪(fǎng)問(wèn)優(yōu)化控制...
【文章來(lái)源】:山東大學(xué)山東省 211工程院校 985工程院校 教育部直屬院校
【文章頁(yè)數(shù)】:80 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
圖2-1盲源分離算法實(shí)現(xiàn)信號(hào)分離的示意圖??上過(guò)立終s,??
?山東大學(xué)碩士學(xué)位論文???數(shù)量一致,并且任意混淆信號(hào)之間彼此線(xiàn)性無(wú)關(guān)。??(3)假設(shè)輸入數(shù)據(jù)是中心化的,當(dāng)然,很多時(shí)候可以將觀測(cè)數(shù)據(jù)進(jìn)行中心化??處理后再輸入給獨(dú)立成分分析模型。??根據(jù)其信息學(xué)及數(shù)學(xué)原理的不同,常見(jiàn)的盲源分離算法又分為:??(1)基于信息論的信息極大化的Infomax[25]算法。??(2)非高斯性最大化的FastICA[26]算法。??(3)基于統(tǒng)計(jì)學(xué)的二階累積量分析的SOBl[27]算法。??三種算法的區(qū)別主要是表現(xiàn)在如何求解分離矩陣F上,如圖2-2所示,三??種算法的大致流程是一樣的,都分為數(shù)據(jù)中心化、數(shù)據(jù)白化[28]、構(gòu)建正交系統(tǒng)??求解分離矩陣、根據(jù)分離矩陣求解源矩陣這四個(gè)過(guò)程。它們被廣泛用在??£EGLAB[29]、FieldTrip[30]等數(shù)據(jù)處理工具箱中,后續(xù)章節(jié)中將對(duì)這三種方法的??原理與優(yōu)化措施做具體介紹^??瓦涵涵P麗?!???I???!?|讀入數(shù)據(jù)?I??翁?????I??I?I??!?數(shù)據(jù)中心化?丨??I?I??翁?|?????j??I??;?|數(shù)據(jù)白化處理??[ii?研祕(mì)¥?"r?;??I?????I?構(gòu)建正交系統(tǒng)、計(jì)算??;?分離矩陣?I??!????」??計(jì)算源矩陣??結(jié)束?)??圖2-2盲源分離算法分離過(guò)程流程圖??2.1.1二階盲源分離算法??最早的二階盲源分離算法(SOBI)由Belouchrani于1997年提出,自從該算??11??
?山東大學(xué)碩士學(xué)位論文???成這項(xiàng)工作。其中,性能分析報(bào)告最好的工具是IntelVTuneAmplifier,以下簡(jiǎn)稱(chēng)??其為VTune。VTune可以對(duì)C語(yǔ)言、C++語(yǔ)言、Fortran語(yǔ)言等多種編程語(yǔ)言的程??序進(jìn)行性能分析,最新版本的VTune支持的分析類(lèi)型非常廣泛,在VTime2019??版本中性能分析類(lèi)型包括高級(jí)熱點(diǎn)分析、線(xiàn)程分析、高性能表現(xiàn)分析、并發(fā)性分??析、內(nèi)存消耗分析、內(nèi)存訪(fǎng)問(wèn)分析、CPU與GPU并發(fā)性分析、FPGA分析以及??磁盤(pán)10分析等。??圖3-1是S0BI原始算法在Intel多核平臺(tái)上的VTune性能熱點(diǎn)分析圖中Top-??down?Tree的分析結(jié)果。如圖3-1所示,SOBI算法中的聯(lián)合對(duì)角化(對(duì)應(yīng)圖3-1??中的computeRjd函數(shù))所消耗的時(shí)間占算法整體運(yùn)行時(shí)間的89.9%,熱點(diǎn)非常??集中。??^?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??
【參考文獻(xiàn)】:
期刊論文
[1]基于不同頻率聲音刺激的腦電信號(hào)分析方法研究[J]. 孫宇舸,李麗,葉檸,徐心和. 生命科學(xué)儀器. 2007(07)
本文編號(hào):3492090
【文章來(lái)源】:山東大學(xué)山東省 211工程院校 985工程院校 教育部直屬院校
【文章頁(yè)數(shù)】:80 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
圖2-1盲源分離算法實(shí)現(xiàn)信號(hào)分離的示意圖??上過(guò)立終s,??
?山東大學(xué)碩士學(xué)位論文???數(shù)量一致,并且任意混淆信號(hào)之間彼此線(xiàn)性無(wú)關(guān)。??(3)假設(shè)輸入數(shù)據(jù)是中心化的,當(dāng)然,很多時(shí)候可以將觀測(cè)數(shù)據(jù)進(jìn)行中心化??處理后再輸入給獨(dú)立成分分析模型。??根據(jù)其信息學(xué)及數(shù)學(xué)原理的不同,常見(jiàn)的盲源分離算法又分為:??(1)基于信息論的信息極大化的Infomax[25]算法。??(2)非高斯性最大化的FastICA[26]算法。??(3)基于統(tǒng)計(jì)學(xué)的二階累積量分析的SOBl[27]算法。??三種算法的區(qū)別主要是表現(xiàn)在如何求解分離矩陣F上,如圖2-2所示,三??種算法的大致流程是一樣的,都分為數(shù)據(jù)中心化、數(shù)據(jù)白化[28]、構(gòu)建正交系統(tǒng)??求解分離矩陣、根據(jù)分離矩陣求解源矩陣這四個(gè)過(guò)程。它們被廣泛用在??£EGLAB[29]、FieldTrip[30]等數(shù)據(jù)處理工具箱中,后續(xù)章節(jié)中將對(duì)這三種方法的??原理與優(yōu)化措施做具體介紹^??瓦涵涵P麗?!???I???!?|讀入數(shù)據(jù)?I??翁?????I??I?I??!?數(shù)據(jù)中心化?丨??I?I??翁?|?????j??I??;?|數(shù)據(jù)白化處理??[ii?研祕(mì)¥?"r?;??I?????I?構(gòu)建正交系統(tǒng)、計(jì)算??;?分離矩陣?I??!????」??計(jì)算源矩陣??結(jié)束?)??圖2-2盲源分離算法分離過(guò)程流程圖??2.1.1二階盲源分離算法??最早的二階盲源分離算法(SOBI)由Belouchrani于1997年提出,自從該算??11??
?山東大學(xué)碩士學(xué)位論文???成這項(xiàng)工作。其中,性能分析報(bào)告最好的工具是IntelVTuneAmplifier,以下簡(jiǎn)稱(chēng)??其為VTune。VTune可以對(duì)C語(yǔ)言、C++語(yǔ)言、Fortran語(yǔ)言等多種編程語(yǔ)言的程??序進(jìn)行性能分析,最新版本的VTune支持的分析類(lèi)型非常廣泛,在VTime2019??版本中性能分析類(lèi)型包括高級(jí)熱點(diǎn)分析、線(xiàn)程分析、高性能表現(xiàn)分析、并發(fā)性分??析、內(nèi)存消耗分析、內(nèi)存訪(fǎng)問(wèn)分析、CPU與GPU并發(fā)性分析、FPGA分析以及??磁盤(pán)10分析等。??圖3-1是S0BI原始算法在Intel多核平臺(tái)上的VTune性能熱點(diǎn)分析圖中Top-??down?Tree的分析結(jié)果。如圖3-1所示,SOBI算法中的聯(lián)合對(duì)角化(對(duì)應(yīng)圖3-1??中的computeRjd函數(shù))所消耗的時(shí)間占算法整體運(yùn)行時(shí)間的89.9%,熱點(diǎn)非常??集中。??^?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??
【參考文獻(xiàn)】:
期刊論文
[1]基于不同頻率聲音刺激的腦電信號(hào)分析方法研究[J]. 孫宇舸,李麗,葉檸,徐心和. 生命科學(xué)儀器. 2007(07)
本文編號(hào):3492090
本文鏈接:http://sikaile.net/shoufeilunwen/benkebiyelunwen/3492090.html
最近更新
教材專(zhuān)著