• 沒有找到結果。

為了評估我們新提出來的演算法,我們實驗用的輸入資料是使用由[21]所產 生的棘波序列,這模擬器不只可以產生出類似真實情況的棘波,也提供了完整的 棘波序列資訊,例如:棘波個數、棘波種類、棘波出現的時間。所以我們可以很 有效的利用這個模擬器來評估系統的效能。在實驗的過程中,我們模擬了各種不 同的 SNR(signal-to-noise)值情況下的棘波序列,而採樣頻率(Sampling rate)是維持 在一秒 24,000 個採樣點,因為每個棘波訊號的長度是 2.67 毫秒,所以我們每個 棘波訊號的長度為 64 個採樣點(N=64)。

所謂的 SNR(signal-to-noise),又稱為訊噪比(Signal/ Noise),它是指訊號強 度與同時發出雜訊強度之間的比率,單位為分貝(dB)。SNR 值越高,代表這訊號 的品質越好,換句話說 SNR 值越低,代表這個訊號受雜訊的干擾非常嚴重。

在我們的實驗中,SNR=100 為沒有雜訊干擾的棘波序列。透過以下我們擷取的

SNR=-2 (圖 4-1)還有 SNR=8 (圖 4-1)時候的兩個棘波序列,可以更清楚的了解到 訊噪比的高低對於訊號的影響。下圖中標記的部分代表該區段有棘波產生。

觀察(圖 4-1)跟(圖 4-2),可以發現隨著 SNR 的下降,我們越來越不容易判別 棘波序列中的雜訊跟棘波,這也代表著我們棘波偵測的難度也隨之提高了。

33

34

4-1 加速運算效能實驗

首先,我們為了確認前面提到的加速系統的效能,而用 C code 測量了不同 template matching 的棘波偵測方法的計算時間。此實驗輸入的棘波序列長度為 100 秒,共 2,400,000 個採樣點,棘波序列內含有兩種不同類型的棘波,其結果 如下:

SNR(dB) -2 0 2 4 6 8

Matched

Filter 0.67 sec 0.67 sec 0.67 sec 0.67 sec 0.67 sec 0.67 sec Basic Normalized

Correlator 1.58 sec 1.58 sec 1.58 sec 1.58 sec 1.58 sec 1.58 sec Fast Normalized

Correlator (Pre-Screening)

0.44 sec 0.40 sec 0.37 sec 0.28 sec 0.27 sec 0.26 sec

表格 4-1 不同 SNR 下各種 Matched filter 的運算速度

我們觀察表 4-1. 可以發現,Basic Normalized Correalator 所花時間明顯比其 他兩種方式高,因為此方法是我們對 matched filter 又多做了正規化的動作,所以 其時間花費理所當然比 matched filter 高。

35

而 Fast Normalized Coeerlator 是從 Basic Normalized Correalator 添加了幾種 減少運算的技術而得來,其中用到的技術有: 為了減少計算能量複雜度的 fast energy computation(式 13)跟 post-correlation normalization(式 14),還有為了降低 Normalized Correalator 運算次數而使用的 pre-screening,這裡的 pre-screening 預 設為λ=0.5。

以上方法所減少的計算量可以由(表 2- 1)看出。然而,就算 SNR 降至 0 或是

0 以下的時候,我們的加速法則還是可以降低運算時間,這結果顯示出了,就算 我們新提出的演算法多做了一個 Normalized Correalator 的運算,其運算時間也不 會比其他法則慢。

36

4-2 回饋式演算法則的效能評測

在評測我們的系統效能前,先來討論 true positive (TP) rate 和 false alarm (FA)

rate,這是用來評量棘波偵測演算法的標準之一,TP rate 的定義是偵測正確的 棘波個數除以實際上的棘波總數,棘波總數是用模擬器[21]產生棘波序列時就會 提供的資訊。FA rate 的定義是誤判的訊號總數除以偵測到的訊號總數(包括誤 判的棘波個數跟正確的棘波個數)。數學式如下:

TP rate:偵測正確的棘波個數 棘波總數

FA rate: 誤判的棘波個數 偵測到的訊號個數

在我們規劃的實驗中,我們會測詴在不同 SNR 情況下棘波序列的 TP rate 和

FA rate。此外,在系統的第一階段跟第二階段的 TP rate 跟 FA rate 是各自獨立 的。在第一階段偵測的時候是使用 GLRT detection ,偵測時間是T=2 秒;第二 階段是使用 Matched filter detection,偵測時間是T2=20 秒。

37

第一階段 GLRT detection 的執行時間T訂為 2 秒,是經過仔細評估的。雖

然對整個系統的效能而言,系統第一階段的時間越短越好,因為系統越快產生模 板就越能增加棘波偵測的效能。但是當T小於某個時間的話,後續的 Osort 法則

很容易因為偵測到的雜訊比棘波還多,而誤把雜訊當成模板回饋給系統使用,造 成棘波偵測效能不佳的情況。其不同T 秒數的實驗情況如下表:

T(s) 0.5 1 1.5 2 2.5 3

Second

stage

TP Rate 48.85 82.12 88.71 92.92 91.24 93.46 FA Rate 67.47 15.35 6.49 0.55 0.72 0.67

表格 4-2 當𝐓𝟏使用不同的秒數時,對第二階段偵測的影響

從上表可以看出當T = 2以上時,其偵測效果並不沒有明顯提升,而在 T = 2以下時卻會產生 FA rate 大幅提升的問題,其主要原因應該是歸因於當T 太短的時候,Osort 演算法則會產生不符合棘波的模板。Osort 演算法產生的模 板效果,如(圖 4-3)、(圖 4-4)所示。從圖中可以看出,雖然經過 Osort 分群後的 棘波形狀跟原始的棘波形狀有些出入,但是該模板還是可以提供給系統做有效的 棘波偵測。

38

(a-1) (a-2) (a-3)

圖 4-3 SNR = 8 時本系統的棘波圖形:

(a-1) 實際棘波的平均值。

(a-2) Osort 分類的結果。

(a-3) Osort 提供給系統的模板。

(b-1) (b-2) (b-3)

圖 4-4 SNR = -2 時本系統的棘波圖形:

(b-1) 實際棘波的平均值。

(b-2) Osort 分類的結果。

(b-3) Osort 提供給系統的模板。

而關於第一階段的閥值的選擇,我們是根據(6)和(7)這兩個公式訂定了系統

39

40

41

當我們選擇了較大閥值的時候可以降低 FA rate,因為這代表了要當輸入訊 號跟模板有更高的關聯度才能判斷為命中,這同時也降低了雜訊被判斷成棘波的 機率。反之,當選擇較低閥值的話,雖然在雜訊高的時候 TP rate 會提高,但是 也提高了雜訊被判斷成棘波的機率。所以我們選擇了η=0.7,這是為了在各個 SNR 下都能有高 TP rate 跟低 FA rate 的表現。

理想中的閥值會使得大部分的雜訊被濾掉而僅讓棘波通過。為了說明我們選 擇η=0.7 的原因,首先,我們先回顧一下 FA rate 的定義。FA rate 的定義是誤 判的訊號總數除以偵測到的訊號總數。 分母其實就等校於誤判的棘波個數跟正 確判斷的棘波個數的總和(如式 3-1),所以 FA rate 的值會被誤判的棘波個數或 是正確判斷的棘波個數所影響。

FA rate: 誤判的棘波個數

誤判的棘波個數+ 正確判斷的棘波個數 (式 3 − 1)

下面我們假設 g(𝑥 ) 是正規化後的棘波序列區段跟模板內積的最大值,如 下式所示:

g(𝐱 ) = max

≤i≤c𝐱̅𝑇𝐭̅𝐢 (式 3 − 2)

42

令 𝑓 是在 SNR=-2 下,雜訊跟模板的 g(𝑥 ) 分布(如圖 3-4),𝑓2是在 SNR=-2 下 棘波跟模板的 g(𝑥 ) 分布(如圖 3-5)。 我們詴著從(圖 3-4)跟(圖 3-5)說明 FA rate 跟閥值η的關係,所以我們令𝐹 (𝜂)是𝑓在𝜂以上的面積,0<η<1。這時𝐹 (𝜂)是代 表當閥值= 𝜂時,所有被誤判為棘波的區段個數,表示如下式:

𝐹(𝜂) = ∫ 𝑓(𝑎)𝑑𝑎

𝜂

(式 3 − 3)

同理,令𝐹2(𝜂)是𝑓2在 𝜂以上的面積,0<η<1,𝐹2(𝜂)代表當閥值= 𝜂時,所有被正 確判斷為棘波的區段個數。所以 FA rate 的公式可以換成以下的表示法:

FA rate: 𝐹 (𝜂)

𝐹 (𝜂) + 𝐹2(𝜂) (式 3 − 4)

以η=0.7 時為例,這時𝐹 (𝜂) = 10、 𝐹2(𝜂) = 1400、 FA rate = 0.41%。當 η=0.65 時,𝐹(𝜂) = 430、𝐹2(𝜂) = 1450、 FA rate = 22%。 所以這也解釋了 為何在(表 3- 4)中當 η=0.65、η=0.7 時,FA rate 會有巨大的變化的原因。

43

圖 4-5 模板跟雜訊的摺積值

圖 4-6 模板跟棘波的摺積值

44

(圖 4-5)、(圖 4-6)會有這樣的趨勢的原因,其實主要還是都依賴模板的選擇。

若我們選用了一個較不好的模板的話,會導致模板跟棘波的摺積值變低,使得整 個值都往 0 的方向靠近,這樣的話就無法有效地分辨棘波跟雜訊了。

45

46

在這邊要注意的是,因為我們提出來的演算法在第一個階段是為了產生模板,

主要的偵測效能是要觀察第二階段的表現,所以在(表 4-5)中是顯示第二階段的 結果。而 matched filter[11] 則是假設我們已經事先準備好需要的模板了。

從(表 4-5)中可以看出,我們的回饋式演算法透過自適應的模板產生跟簡化 的閥值選擇,在各個 SNR 情況下的表現都比其他演算法來的好。就算是跟已經 假設有準確模板的 Matched filter 演算法相比,仍然略勝一籌。這是因為 Matched

filter 的閥值需要隨著 SNR 跟棘波峰值的變化而做更動,所以要選擇到一個理想 的閥值更為困難,而單一的閥值更不可能適用於各種雜訊下的棘波序列。

雖然以能量偵測為基礎的 NEO[4]和 SWT[8]在高 SNR 的時候有良好的表現,

但是隨著 SNR 的降低,雜訊的提高使得這兩個演算法的效能急速惡化。在 SNR-3 下 NEO 和 SWT 的 FA rate 高達 50%。而與此相對的,我們提出的演算法在 SNR=-3 的時候 FA rate 只有 1%而已。這結果證明了我們提出來的演算法,在高雜訊的情 況下依然能有不錯的表現。

47

SNR(dB) Total number of spikes

Number of spikes detected&

48

SNR(dB) Total number of spikes

Number of spikes Not detected

Number of spikes detected&

mis-classified

Number of spikes detected&

correctly-classified -2 2014 354 (17.57 %) 206 (10.23 %) 1454 (72.19 %)

0 1990 327 (16.43 %) 194 (9.75 %) 1469 (73.81 %) 2 1983 217 (10.94 %) 153 (7.71 %) 1613 (81.34 %) 4 1988 227 (11.42 %) 81 (4.07 %) 1680 (84.51 %) 6 2008 219 (10.91 %) 166 (8.27 %) 1623 (80.83 %) 8 1987 179 (9.00 %) 123 (6.34 %) 1682 (84.65 %)

表格 4-7 三種棘波形狀的棘波序列偵測和分群的效果

49

4-6 硬體電路所耗資源

本論文提出的棘波偵測法則之所以能夠在不同的 SNR 環境下,有高準確率、

低誤判率的優點,主要都是透過計算 Nomalized 及 Correlation ion 來達到此效果。

而完成這兩種運算需要大量的加法器及乘法器,這會消耗大量的硬體資源。為了 降低硬體資源的消耗,所以我們使用了在前些章節所提到的加速技術,希望可以 降低硬體的資源。 透過(表 4-8)可以得知電路簡化前後的硬體消耗,可以發現使 用了加速技巧簡化後的電路,在硬體資源的消耗上有明顯的減少。

Logic Elements Logic Registers

Embedded

EP4CES115F29C7。 因為是在開發版上做實現,我們需要用到開發板上面的 Nios

50

CPU 來驅動我們所設計的電路,所以不可避免的會多些額外的硬體資源消耗。

再加上我們的回饋式棘波偵測系統,除了透過上述兩個計算單元之外,還需要提 供一個 buffer 給後續的 Osort 去做產生模板的動作。 基於以上兩個理由,我們 可再透過下表,得到較完整的棘波偵測電路的硬體消耗。

Logic Elements Logic Registers

Embedded

51

Clock Rate 50Mhz 100Mhz 500Mhz 1G 3G Proposed

Algorithm

Implemented On FPGA

52 ms 26 ms 5.2 ms 2.6 ms 0.87 ms

表格 4-10 硬體跟軟體執行時間比較

接著我們可以把硬體執行時間(表4-10)跟軟體執行時間(表4-1)做個比較。從 比較兩個表格後可以看出,當輸入的棘波序列SNR=8的時候,就算再用上了 Pre-Screening的加速技巧,軟體的計算時間還是只能達到0.26 sec,還是遠不及 硬體的處理速度(無使用Pre-Screening)。

52

相關文件