• 沒有找到結果。

第四章 實驗數據與效能比較

4.1 開發平台與實驗環境

本 論 文 提 出 的 棘 波 分 類 硬 體 架 構 實 現 於 Altera Cyclone IV GX

EP4CGX150DF31 FPGA 開發板中,如圖 4.1 所示。Cyclone 系列為 Altera 公司針 對低階市場所推出 FPGA 晶片,其特點為低功率消耗以及低開發成本,非常符合 棘波分類晶片的需求。同時,拜製程進步所賜 Cyclone IV FPGA 採用 65 奈米製程,

使得功率消耗較以往 FPGA 降低約 30%。

圖 4.1 FPGA 開發板

而利用 FPGA 可重複修改電路設計與快速驗證的特性,使得棘波分類晶片可 以快速且容易的更新演算法則,同時低開發成本也使 FPGA 變得更具優勢。表 4.1

第四章 實驗數據與效能比較

本論文使用 Altera Quartus II 10.1 版本搭配 Verilog 硬體描述語言進行設計與 開發。並且透過 Altera SOPC Builder 建立客製化 SOPC 系統,於 SOPC 中加入軟 核 CPU,DMA Controller,on-chip memory 以及自行開發撰寫的棘波分類系統。

棘波分類系統於 SOPC 系統中被視為客製化邏輯電路,透過 Altera 所提供的匯流 排 (Avalon bus) 與其它周邊元件溝通。同時,使用 Altera NIOS II IDE 撰寫 C 語 言程式碼,並利用其所提供的函式庫、驅動程式與 FPGA 開發板溝通,加速 SOPC 系統的開發,SOPC 系統開發流程圖可見圖 4.2。

軟體部分本論文使用 C 語言實現 GHA 與 FCM 演算法,並運作於 CPU Intel

i5-2467M 當中。 i5-2467M 為 Intel 所開發低電壓版本的處理器,採用雙核心架構,

主打低功率消耗,這部分與棘波分類系統的基本需求雷同。因此,本論文將其效 能與本論文架構納入比較。詳細 Intel i5-2467M 規格內容可見表 4.1。

圖 4.2 SOPC 系統開發流程

Design Custom Logic

Create a new SOPC project

Add the Custom Logic to the SOPC project

Compile the SOPC system

Program the FPGA in the development board

Use NIOS II IDE to setup a software project

Write the C program

Compile the C program

Download the compiled code to the SOPC system

Observe the execution results from NIOS II IDE

Hardware Design Software Design

第四章 實驗數據與效能比較

4.2 實驗數據呈現與討論

為了量測本論文針對棘波分類所提出的架構之實際效能,本論文採用由[17]

所開發用來產生神經元訊號的模擬器。此模擬器提供了大量的參數模擬棘波活動 情形,也因為其可針對許多環境變數進行設定與調整,使得實驗結果能更進一步 的 進 行 各 種 分 析 與 比 較 。 本 實 驗 數 據 利 用 該 模 擬 器 產 生 出 於 不 同 信 噪 比

(signal-to-noise ,SNR)下之棘波序列,並將取樣率設定為 13500 取樣點/秒,每個棘 波訊號長度為 2.67 毫秒,所以每個棘波訊號有 36 個取樣點。根據上述設定,本 論文於電路設計當中定 GHA 訓練向量維度 m = 36 ,主成分個數 𝑝 = 2 。

電路中 GHA 與 FCM 的運算資料皆採用定點數格式。在有限精度的情況下不 同精度的定點數對於分類結果影響的比較可見表 4.2。表 4.2 中採用的棘波序列為

3 個神經元所產生的訊號總和,偵測到的棘波數目為 800,並分別比較於信噪比 為 SNR=10,SNR=20,SNR=100 時 本 電 路 的 分 類 正 確 率 (classification correct

rate ,CCR),分類正確率定義為所有棘波訊號中被正確分類的棘波訊號筆數。從表 4.2 中可清楚看出 GHA 於 16-bits 的定點數格式與雙倍精確度浮點數格式有著相似 的分類正確率;相比之下,8-bits 定點數格式對於 FCM 則有著足夠的精準度來進 行分類運算。根據實驗比較結果,本論文對於 GHA 與 FCM 兩塊電路分別採用

16-bits 與 8-bits 定點數運算。

表 4.2 不同精度之定點數影響分類結果正確率

Cluster Precision Interference

GHA FCM SNR=10 SNR=20 SNR=100

c=2

Floating Floating 99.5% 99.5% 99.5%

16 bits Floating 99.5% 99.5% 99.5%

16 bits 8 bits 99.5% 99.5% 99.5%

c=3

Floating Floating 96.2% 96.3% 96.3%

16 bits Floating 96.2% 96.3% 96.3%

16 bits 8 bits 96.2% 96.2% 96.3%

c=4

Floating Floating 92.3% 94.1% 94.1%

16 bits Floating 92.3% 94% 94.1%

16 bits 8 bits 92.3% 94% 94%

為了更進一步說明本論文架構於不同條件下 CCR 的表現。圖 4.3 說明了於不 同 SNR 情況下對於來源棘波訊號的影響。根據圖 4.3 可以清楚的看到當 SNR 小 於 10 後,因為大量雜訊的干擾使得分類變得更加困難。圖 4.4 說明了 GHA 特徵 向量散佈情形以及 SNR=10 時有限精度 16 bits GHA 與 8 bits FCM 的分類結果。

根據表 4.2 與圖 4.4、圖 4.5 與圖 4.6 可以看出本論文所提出的 GHA 與 FCM 對於 大量雜訊干擾時仍可以正確地將棘波訊號給分類出來。

第四章 實驗數據與效能比較

圖 4.3 於不同信噪比下三個不同神經元之棘波訊號比較

(a)

(b)

圖 4.4 棘波主成分值𝑦1, 𝑦2投影至特徵平面之散佈圖( 𝑐 = 2 )

(a) 棘波正確分類結果 (b) FCM 分類結果

第四章 實驗數據與效能比較

(a)

(b)

圖 4.5 棘波主成分值𝑦1, 𝑦2投影至特徵平面之散佈圖( 𝑐 = 3 )

(a) 棘波正確分類結果 (b) FCM 分類結果

(a)

(b)

圖 4.6 棘波主成分值𝑦1, 𝑦2投影至特徵平面之散佈圖( 𝑐 = 4 )

(a) 棘波正確分類結果 (b) FCM 分類結果

第四章 實驗數據與效能比較

此外,本棘波分類電路不僅擁有高分類正確率,同時亦保有低面積複雜度,

表 4.3 說明了本電路的面積複雜度。因為加法器、乘法器與暫存器為 GHA 與 FCM 架構中的基本區塊,因此表 4.3 分成了三個類別:加法器數量、乘法器數量、暫 存器數量來進行比較。從表 4.3 中可以看出加法器與乘法器數量將與主成分個數 𝑝 以及向量維度 𝑚呈線性成長關係,與叢集個數 𝑐 以及訓練向量個數 𝑡 無關。

表 4.3 棘波分類電路之面積複雜度

GHA FCM Total

Adders 𝛰(𝑝𝑚) 𝛰(𝑝) 𝛰(𝑝(𝑚 + 1))

Multipliers 𝛰(𝑝𝑚) 𝛰(𝑝) 𝛰(𝑝(𝑚 + 1))

Registers 𝛰(𝑝𝑚 + 𝑝𝑡) 𝛰(𝑝𝑐) 𝛰(𝑝(𝑚 + 𝑡 + 𝑐))

因為棘波分類電路必須存放來源棘波訊號、突觸權重向量以及特徵向量。因 此,暫存器數量將與 𝑝, 𝑚, 𝑐, 𝑡 呈線性成長。表 4.4 說明了針對棘波分類應用 𝑝 = 2, 𝑚 = 36, 𝑐 = 3 與 𝑡 = 800 時的硬體資源消耗。本實驗設計於 Altera Quartus

II with SOPC Builder[19]與 NIOS II IDE 平台中。所使用的 FPGA 開發板為 Altera Cyclone IV EP4CGX150DF31C7。表 4.4 顯示了三種不同的資源比較:Logic El-ements (LEs),embedded memory bits 以及 embedded multipliers。

表 4.4 棘波分類系統硬體資源消耗

embedded multiplier 與 memory bits 被用來實現 SOPC 系統中的 NIOS CPU。另外,

GHA 與 FCM 電路中的乘法器使用 embedded multiplier 來實現。從表 4.4 中可以

比較,有著明顯較低的 Computation Time,並有著相近的 Power Consumption。而

第四章 實驗數據與效能比較

本論文所提出的 GHA 電路架構與軟體演算法實現於 Intel i5 CPU 中比較後,也有 著低 Computation Time 與低 Power Consumption 的優勢。

表 4.5 GHA 電路與 Software-Based 之特徵擷取法則比較 與功率消耗(Power Consumption)與 ASIC-based 以及 FPGA-based 的硬體設計作比 較。ASIC-based 架構[5]基於 PCA 演算法設計。該表中 Throughput 定義為每分 鐘可以訓練的 channel 數目。由於本論文運作於較高的時脈底下,於表 4.5 中可 以 看 出 本 論 文 所 提 出 的 架 構 與 ASIC-based Implement 比 較 後 有 著 較 高 的

Throughput。為了於同一基準下比較,另外定義 Normalized Throughput 為每 MHz 下每分鐘可訓練的 channel 數目。針對 Normalized Throughput 比較後可以發現本 論文所提出的架構依舊有著較高的 Normalized Throughput。此外,ASIC-based

Implement 使用 PCA 演算法必須先計算訓練資料的共變異數矩陣 (Covariance Matrix),然而其計算時間並未被包含進比較數據當中。相較之下對 GHA 而言並

第四章 實驗數據與效能比較

而 FCM 的部分如同 GHA 一般,本論文亦針對執行時間(Computation Time)與功 率消耗(Power Consumption)進行了比較,詳細內容請見表 4.7。

表 4.7 FCM 電路與 Software-Based 之分群法則比較 本論文架構與其相比有著較低的 Computation Time 以及相似的 Power

Consump-tion。同時,本論文採用 FCM 亦避免了傳統 K-Means 容易落入局部最佳化的缺點。

而與實現於 Intel i5 中的 FCM 軟體演算法作比較,本論文所提出的架構不論在計 算時間或是功率消耗上都有著明顯地優勢。

表 4.8 棘波分類系統功率消耗與功率密度

Platform Chip

Area Power Consumption Power

Density

Spike Sorting System (GHA+FCM+NIOS CPU)

第五章 結論

第五章 結論

近年來生物學家、醫學家對於研究人腦的運作以及分析不遺餘力,目前各領 域學家也提出了許多針對腦波訊號分析以及處理的相關研究。本論文以 FPGA 為 基礎實現了一套棘波分類系統,透過管線化的方式將運算速度大幅縮短,因此就 算於低時脈運作下本系統仍然能擁有著卓越的輸出產能。同時,本系統在合理的 資源消耗下,對於運算時間、準確率與功率消耗取得了一個較佳的平衡點。因此 本論文兼具著低資源消耗與即時運算的優點。

根據前一章比較的結果,可以知道本論文所提出的架構不論在分類正確率或 計算速度上與現有提出的設計[4,5,6]相較都有著不錯的表現,雖然採用 FPGA 來 實現本系統可能會使功率消耗比 ASIC 來得大,但整個系統的功率密度仍舊在安 全範圍內,因此雖然功率消耗不如 ASIC 低,但對於植入體內的需求與安全考量 亦能滿足。

總結來說,本論文所提出的電路架構在棘波分類的應用上確是有其助益,而 且也具有充分的延伸性與可調整性,同時與現有的架構相比更有著不少的優勢。

因此,本論文所設計的棘波分類系統確是有其需求和效率的電路架構。

參考文獻

[1] M.S. Lewicki,“A review of methods for spike sorting: the detection and classifi-cation of neural action potentials,” Network Computer Neural System, Vol. 9, pp.

R53R78, 1998.

[2] S. Haykin, Neural Networks and Learning Machines, 3rd ed.; Pearson: Upper Saddle River, NJ, USA, 2009.

[3] T.D. Sanger, “Optimal unsupervised learning in a single-layer linear feedforward neural network,” Neural Network, Vol. 12, pp.459-473, 1989.

[4] Y. Sun, S. Huang, J. J. Oresko, and A. C. Cheng, “Programmable Neural Pro-cessing on a SmartDust for Brain-Computer Interfaces,” IEEE Trans. Biomedical Circuits and Systems, Vol. 4, pp.265-273, 2010.

[5] T.-C. Chen, W. Liu and L.-G. Chen,“VLSI Architecture of Leading Eigenvector Generation for On-chip Principal Component Analysis Spike Sorting System,”

Proc. 30th Annual International IEEE EMBS Conference Vancouver, British Co-lumbia, Canada, pp.3192-3195, 2008.

[6] B. Yu, T. Mak, X. Li, F. Xia, A. Yakovlev, Y. Sun, C.-S. Poon,“A Reconfigurable Hebbian Eigenfilter for Neurophysiological Spike Train Analysis,” Proc. Interna-tional Conference on Field Programmable Logic and Applications, pp.556-561, 2010.

參考文獻

[7] M. Aghagolzadeh, F. Zhang, and K. Oweiss,“An Implantable VLSI Architecture for Real Time Spike Sorting In Cortically Controlled Brain Machine Interfaces,”

Proc. 32nd Annual International Conference of the IEEE EMBS Conference, Buenos Aires, Argentina, pp.1569-1572, 2010.

[8] A. M. Kamboth, M. Raetz, K. G. Oweiss, and A. Mason, “Area-power efficient VLSI implementation of multichannel DWT for data compression in implantable neuroprosthetics,” IEEE Trans. Biomedical Circuits and Systems, Vol. 1,

pp.128-135, 2007.

[9] A. M. Kamboh, and A. J. Mason, “On-Chip Feature Extraction for Spike Sorting in High Density Implantable Neural Recording Systems,” Proc. IEEE Biomedical Circuits and Systems Conference, pp.13-16, 2010.

[10] Y. Yang, and A. J. Mason,“On-Chip Spike Clustering & Classification using Self Organizing Map for Neural Recording Implants,” Proc. IEEE Biomedical Circuits and Systems Conference, pp.145-148, 2011.

[11] S.-J. Lin, Y.-T. Hung, and W.-J. Hwang, “Efficient hardware architecture based on generalized Hebbian algorithm for texture classification,” Neurocomputing, pp.3248-3256, 2011.

[12] N. Sudha, A.R. Mohan, P.K. Meher, “A self-configurable systolic architecture for face recognition system based on principal component neural network,” IEEE Trans. Circuits Syst. Video Technol, Vol. 21, pp.1071-1084, 2011.

[13] S. -J. Lin, W. -J. Hwang, andW. -H. Lee, “FPGA Implementation of Generalized Hebbian Algorithm for Texture Classification,” Vol. 12, pp.6244-6268, Sensors, 2012.

modified fuzzy c-means clustering algorithm for realtime applications,” Micro-processor and Microsystems, Vol. 29, pp.375-380, 2005.

[15] H. -Y. Li, W. -J. Hwang, and C. -Y. Chang, “Efficient Fuzzy C-Means Architec-ture for Image Segmentation, Sensors, Vol. 11, pp.6697-6718, 2011.

[16] Y.-J. Yeh, H.-Y. Li, C.-Y. Yang, and W.-J. Hwang, ”Fast Fuzzy C-Means Cluster-ing Based on Low-Cost High-Performance VLSI Architecture in Reconfigurable Hardware,” pp.112-118, IEEE International Conference on Computational Sci-ence and Engineering, 2010.

[17] L. S. Smith and N. Mtetwa, “A tool for synthesizing spike trains with realistic in-terference,” Vol. 159, pp.170-180, Journal of Neuroscience Methods, 2007.

[18] Altera Corporation. NIOS II Processor Reference Handbook ver 10.0. 2010.

Available online: http://www.altera.com/literature/lit-nio2.jsp (accessed on 3 May 2012).

[19] Altera Corporation. SOPC Builder User Guide. 2011. Available

online:http://www.altera.com/literature/lit-sop.jsp (accessed on 3 May 2012).

[20] W. Reichert, “Indwelling neural implants: Stategies for contending with the in vivo environment,” in BMI-Related Thermal Studies. Boca Raton, FL: CRC, 2007.

相關文件