• 沒有找到結果。

第四章 實驗結果與數據討論

4.2 實驗數據的呈現與討論

為了量測本研究所提出的棘波偵測架構之實際效能,本論文採用由 [9]

所開發用來產生神經元訊號的 Matlab 模擬系統作為測試資料來源,該系統提供 了大量的參數用來模擬不同棘波活動情形,因為此套系統可針對許多環境變數 進行設定,使得實驗結果能更進一步的進行分析與比較。本論文之實驗利用該 系統產生出不同的信噪比 (Signal-to-Noise Ratio ,SNR) 之棘波序列進行不同環 境下的模擬,而取樣率 (Sampling Rate) 定為 24000 取樣點/秒,每個棘波訊號 長度為 2.67 毫秒,這也代表著每個棘波訊號擁有 64 個取樣點。

我們的演算法則會預先使用特定的棘波來產生一組模板(template),再透過 此模板與棘波序列(spike trains)中的 segment 做正規化關聯值的計算,根據此正 規化關聯值來進行偵測的動作。為了要了解如果棘波序列中的棘波與用來產生 模板的棘波形狀、大小並不完全相同時,本論文提出之演算法則的偵測效能,

我們用 Matlab 模擬系統分別產生了五組(A、B、C、D、E)不同形狀、大小且 在不同 SNR(100、10、1、0、-2、-3)下的棘波,而每組分為兩類,圖 4.1 – 圖 4.5 分別顯示五組棘波在 SNR 為 100、1、-3 下的波形形狀。屆時將用這五組棘 波產生棘波序列做為 Normalized Correlator 的輸入來進行效能的測試。

第四章 實驗結果與數據討論

21

(a)在 SNR 為 100 下之 A 組棘波訊號

(b)在 SNR 為 1 下之 A 組棘波訊號

(c)在 SNR 為 -3 下之 A 組棘波訊號 圖 4.1 於不同 SNR 之 A 組棘波訊號

A 組棘波訊號分為兩類,一類為訊號大小先下降再上升,即圖 4.1 左半邊 的部分,另一類為訊號大小先上升再下降,為圖 4.1 的右半邊,我們也可以看 出不同 SNR 對棘波的干擾情形。

第四章 實驗結果與數據討論

22

(a)在 SNR 為 100 下之 B 組棘波訊號

(b)在 SNR 為 1 下之 B 組棘波訊號

(c)在 SNR 為 -3 下之 B 組棘波訊號 圖 4.2 於不同 SNR 下之 B 組棘波訊號

B 組棘波的特性與 A 組相同,也是分為訊號大小先下降再上升與先上升再 下降兩類,但是由圖 4.1 與 4.2 可以觀察出,B 組棘波訊號後半部的下降與上升 速度與 A 組棘波不同,所以 B 組棘波訊號的形狀較 A 組的肥胖。

第四章 實驗結果與數據討論

23

(a)在 SNR 為 100 下之 C 組棘波訊號

(b)在 SNR 為 1 下之 C 組棘波訊號

(c)在 SNR 為 -3 下之 C 組棘波訊號 圖 4.3 於不同 SNR 之 C 組棘波訊號

C 組與 A、B 組亦有相同的特性,但是比較圖 4.3 與圖 4.2 及圖 4.1 可以看 出左半部棘波的振幅較 A、B 組的小,右半部棘波的形狀明顯與另外兩組不 同。

第四章 實驗結果與數據討論

24

(a)在 SNR 為 100 下之 D 組棘波訊號

(b)在 SNR 為 1 下之 D 組棘波訊號

(c)在 SNR 為 -3 下之 D 組棘波訊號 圖 4.4 於不同 SNR 之 D 組棘波訊號

D 組左邊的棘波與 B 組類似,但前端的起始值較低。右半邊的棘波與 A、

B 兩組又半邊的級波形狀類似,而振福較高。

第四章 實驗結果與數據討論

25

(a)在 SNR 為 100 下之 E 組棘波訊號

(b)在 SNR 為 1 下之 E 組棘波訊號

(c)在 SNR 為 -3 下之 E 組棘波訊號 圖 4.5 於不同 SNR 之 E 組棘波訊號

由上述 5 組棘波圖也可以清楚的看出棘波的原形與受到 SNR 干擾後的形狀,當 在信噪比 SNR = -3 的環境下,幾乎很難用肉眼觀察出棘波原本的樣子,藉此我 們也可以了解到在雜訊干擾很大的環境下要準確的偵測出棘波發生的位置是不

第四章 實驗結果與數據討論

26 容易的。

接下來我們將說明模板(template)的產生過程。首先透過 Matlab 模擬系統 將 A 組棘波訊號產生在不同 SNR 下之棘波序列,由於此模擬系統在產生的過 程中會將所有棘波發生的位置記錄下來,我們從這些位置對應到的所有棘波中 取出 24 個,再將這 24 個棘波加以平均並做正規化的動作,以計算出相對應的 模板。圖 4.6 為 A 組棘波於 SNR = 100 下取出的 24 個棘波,與根據此 24 個棘 波計算出的模板關係圖。

(a)A 組棘波序列中取出的 24 個棘波訊號

(b)根據上圖 24 個棘波所產生之模板 圖 4.6 棘波與模板關係圖

由於 Nomalized Correlator 法則是根據模板與棘波序列中的 segment 做完正規化 關聯值計算後的結果來進行偵測,故模板對法則的偵測效能可能有影響,為了

第四章 實驗結果與數據討論

27

探討模板對法則的影響,我們用上述提到的模板產生過程,產生出用 A 組棘波 在 SNR 分別為 100、10、1、0、-2、-3 下的 6 組模板(以模板 1、模板 2、模板 3、模板 4、模板 5、模板 6 表示之),可見於圖 4.7,當中 (a)、(b)、(c)、(d)、

(e)、(f) 為分別對應於在 SNR 等於 100、10、1、0、-2、-3 下產生之模板。值 得注意的是每一模板 i 事實上含有兩個模板,為了後續之方便討論,我們用模 板 i-1 以及模板 i-2 來表示此二模板,例如模板 4 之兩個模板分別為模板 4-1 及模板 4-2。

接著為了要了解模板、棘波序列與 Nomalized Correlator 計算後的關係,我 們用 A 組棘波分在 SNR=100 與 SNR= -3 下產生的棘波序列與 圖 4.7(d)模板 4 的兩組模板分別做 Nomalized Correlation 運算,再用 Matlab 畫出輸入棘波序列 與分別和模板 4-1 與模板 4-2 做完 Nomalized Correlation 運算的關係圖,見於圖

4.8 與圖 4.9。當中 (a) 為輸入棘波序列, (b) 為 (a) 與模板 4-1 做完 correlation 運算的結果,而(c) 則是 (a) 與模板 4-2 做完 correlation 運算的結果。從圖 4.8

(a) 、(b) 橫軸做標為 160 到 224 區段(標記為 Spike1)中可以看出,當 (a) 該區段 的棘波與相同特性的模板 4-1 做完 correlation 運算後的值會上升到接近於 1,而

(c) 該區段中的結果卻比 (b) 來的低,是因為模板 4-2 的特性與 (a) 該區段的特 性相反。相反的,在 704 到 768 區段(標記為 Spike3)中,由於模板 4-2 與 (a) 該 區段的特性相同,所以可以在圖 4.5 (c) 中看到此區段的值最高上升到 1。

第四章 實驗結果與數據討論

28

(a)模板 1 (b) 模板 2

(c)模板 3 (d)模板 4

(e)模板 5 (f)模板 6 圖 4.7 A 組棘波分別於不同 SNR 下產生之模板

第四章 實驗結果與數據討論

29

Spike1 Spike2 Spike3

(a)SNR=100 之輸入棘波序列

(b)棘波序列與模板 4-1 做 correlation 運算後之結果

(c)棘波序列與模板 4-2 做 correlation 運算後之結果

圖 4.8 SNR=100 的棘波序列與模板做 correlation 運算後之關係圖

從圖 4.9 我們可以看出當 SNR = -3 時,棘波序列原本平滑的形狀遭到嚴重的破 壞,幾乎很難用肉眼觀察出棘波序列中棘波的位置,但透過 Nomalized Correlation 運算我們可以有效的偵測出棘波發生的位置。圖 4.9 可以由 (b) 384 與 (c) 704 的位置看出我們分別偵測出棘波序列 (a) 中的 Spike1 與 Spike3 兩種不同特性的 棘波。由此可見,無論在雜訊很低或很高的環境下,我們皆可以有效的偵測出棘 波發生的位置

第四章 實驗結果與數據討論

30

Spike1 Spike2 Spike3

(a)SNR= -3 之輸入棘波序列

(b)棘波序列與模板 4-1 做 correlation 運算後之結果

(c)棘波序列與模板 4-2 做 correlation 運算後之結果

圖 4.9 SNR= -3 的棘波序列與模板做 correlation 運算後之關係圖

接下來將討論我們將 Nomalized Correlator 實現在 FPGA 上的硬體效能。為 了驗證電路的正確性,我們首先用 Matlab 產生 A 組棘波在不同 SNR 下的棘波 序列,分別將這些棘波序列同時給予軟體及硬體做為輸入訊號,進而比較他們 的輸出結果,此偵測過程皆用圖 4.7 的模板 4 來進行 correlation 的運算。表 4.10

(a) 與 (b) 分別在不同 SNR 下產生的棘波序列,同時給軟體及硬體當作輸入執 行單次的偵測結果,其中 Truth 代表的是棘波序列中棘波的數量(i.e. 實際的棘 波數量),Detected 為軟體或硬體偵測出的棘波數量(i.e. Normalizes Correlator 法

第四章 實驗結果與數據討論

31 Matlab

SNR Truth Detected True Spikes Misses False Alarm

10 1781 1641 1641 140 0

SNR Truth Detected True Spikes Misses False Alarm

10 1781 1647 1641 140 6

則偵測出的棘波數量),True Spikes 為 Detected 中實際屬於 Truth 的數量,False

Alarm 則為 Detected 數減去 True Spikes 數。由於軟硬體在不同 SNR 下的輸入棘

第四章 實驗結果與數據討論

32

察 軟 體 及 硬 體 在 其 表 現 上 的 差 異 , 其 中 False Alarm Rate = (False Alarm / Detected)*100%、而 Hit Rate = (True Spikes / Truth )*100%,可見於表 4.11。

Hit Rate False Alarm Rate

SNR Matlab ModelSim Matlab ModelSim

10 92.13 92.13 0 0.33

第四章 實驗結果與數據討論

第四章 實驗結果與數據討論

第四章 實驗結果與數據討論 其結果與本論文提出的 Nomalized Correlator 與 Block Energy Based 法則進行效 能上的比較。表 4.18 到表 4.22 分別顯示出五種法則用 B 組棘波產生之棘波序

第四章 實驗結果與數據討論

Matched filter 為 Normalized Correlator 去除 correlation 運算的簡化版 本。其偵測方法為,將棘波序列中的 segment 直接的與一組事先產生好的模板 進行摺積的運算,並利用算來的摺積結果與我們預設好的閥值進行比較,以判 斷是否偵測到棘波,不同於 Normalized Correlator 須先將 segment 與模板做正 規化的動作。Matched filter 優點在於計算複雜度較 Normalized Correlator 低,

計算度度相對的比較快,但是很難給予此法則一個有效的閥值來對不同 SNR 的 棘波序列進行有效的偵測,故在 Hit Rate 與 False Alarm Rate 上的表現不如

Normalized Correlator。

第四章 實驗結果與數據討論

第四章 實驗結果與數據討論

第四章 實驗結果與數據討論

39

穩定小波轉換(Stationary Wavelet Transform, SWT)是小波分析(Wavelet

Analysis)的一種轉換,我們將訊後透過穩定小波轉換後,針對一個閥值做比較以

偵測出棘波發生的位置。SWT 在 SNR 為 100 與 10 的時候有極高的 Hit Rate,

為所有法則之冠,在 False Alarm Rate 上也有不錯的表現,一旦 SNR 降至 1 時,效能就開始降低。該法則的高偵測能力非常誘人,但是抵抗雜訊的表現確 不如我們預期。

上述的五個法則中,除了 Nomalized Correlator 外,其餘的皆有難以制定 單一個閥值有效的對不同 SNR 下的棘波訊號進行偵測。不同於 Nomalized

Correlator 只須給一個固定的閥值(本研究定為 0.7)就可以有效的對不同 SNR 下 的棘波序列來偵測棘波訊號,這也大大提升我們系統的效率。

針對幾個 SNR 我們整理出五種法則於偵測效能表現之總比較表,可見於表 4.23。結果可看出本論文提出之 Nomalized Correlator 法則不但在雜訊低(SNR

=100、10、5)時與其他演算法的 Hit Rate 差異並不大,且 False Alarm Rate 皆低 於另外三者,最重要的是當雜訊很高(SNR = 0、-1、-2、-3)時,無論在 Hit Rate 或是 False Alarm Rate 的表現都大大優於其他法則,另外也可以觀察出本論文提 出的架構亦有效的改善 Matched Filter 之效能。

第四章 實驗結果與數據討論 線腦波偵測應用上。特別針對 Block Energy Based 與 Normalized Correlator 法 則做出了表 4.24 及表 4.25 進行硬體複雜度與之比較。當中 N 為棘波長度,本 電路架構中一個棘波長度為 64。

第四章 實驗結果與數據討論

41

Unit Comparator Adders Multipliers Divider Sqrt Registers

Filter 0 O(1) O(1) 0 0 O(1)

Block Energy 0 O(1) 0 O(1) O(1) O(N)

Correlator 0 O(N) O(N) 0 0 0

Thresholding O(1) 0 0 0 0 O(1)

Total O(1) O(N) O(N) O(1) O(1) O(N)

表 4.24 Normalized Correlator 硬體複雜度

Unit Comparator Adders Multipliers Divider Sqrt Registers

Block Energy 0 O(1) O(1) 0 0 O(N)

Block Energy 0 O(1) O(1) 0 0 O(N)

相關文件