標題: | 在 FPGA 上實現線上遞迴式獨立成分分析算法 Implementation of Online Recursive Independent Component Analysis on FPGA |
作者: | 阮迪恩 鍾崇斌 Nguyen Phan Quynh Diem Chung, Chung-Ping 電機資訊國際學程 |
關鍵字: | FPGA;線上遞迴式獨立成分分析算法;EEG;FPGA;Online Recursive Independent Component Analysis;EEG |
公開日期: | 2017 |
摘要: | 線上遞迴式獨立成分分析算法(ORICA)是一種用於實時動態盲源分離的算法,已經在 MATLAB 語言中實作[1]。在本文中,我們針對 ORICA 演算法進行了優化FPGA 實作; 並指出 ORICA 的 FPGA 實作所使用的 Hyperbolic Tangent函數和奇異值分解 Singular Value Decomposition (SVD)會導致硬體源利用和時序的問題。我們還提出解決方案來克服這些問題和硬體資源和計算時間 間的權衡,以最小化每個樣本的平均計算時間。此外,我們評估 ORICA 在 16 道腦波模擬數據與在 Flanker 測試 61 通道腦波數據中分離混和訊號與及時處 能力。結果表明,ORICA 硬體在分離具有與軟體相近的效能表現,在 61-chanel 達到每秒可以即時處理 340 個樣本。 但是,在更多 channel 數量的情況下 (128-channel),SVD 函數卻限制了 ORICA 的效能 Online Recursive Independent Component (ORICA) is an algorithm was proposed for online adaptive blind source separation; ORICA has been studied and successfully implemented in MATLAB in prior work [1]. In this thesis, we carried out an optimized FPGA implementation of ORICA algorithm; pointed out the hardware resource utilization issue with Hyperbolic Tangent function, timing issues with singular value decomposition (SVD) for ORICA FPGA implementation. We also suggest the solutions to overcome these indicated issues and trading-off between hardware resource and computation time to minimize the average computation time per sample. Further, we evaluated the ability to separate the mixed data and online processing of ORICA on 16-channel simulated EEG data and 61-channel real EEG data from flanker task. The results indicate that ORICA hardware yielded a comparable decomposition components performance with software implementation, achieved online processing with 61-channel at 340 samples per second. However, SVD function is an issue limiting ORICA’s performance on a higher number of channels (128-channel). |
URI: | http://etd.lib.nctu.edu.tw/cdrfb3/record/nctu/#GT070360836 http://hdl.handle.net/11536/142782 |
顯示於類別: | 畢業論文 |