• 沒有找到結果。

第四章 訊號與圖像的盲訊號分離模擬

4.1 獨立訊號分離

4.1.2. 不同長度的子高斯訊號

上一章節使用的數據長度為200筆的子高斯訊號源,在每個訊號的數據量就只 有200筆的情況下,有些演算法無法處理數據量較少的訊號,因此在這個章節使用 不同長度的子高斯訊號源做盲訊號分離的模擬,訊號源與上一章節中的四個子高 斯訊號相同,只是數據的長度不同。數據的長度由100筆開始進行分離模擬,每次 運算完後長度再增加100筆,一直增加到長度為10000筆之後停止運算,總共會有 100組分離數據。這邊比較Infomax、FastICA、BCA和RGBCA等四個演算法的PI,

還有各個演算法的執行時間。在實驗過程中,嘗試使用不同步長代入Infomax演算 法,結果發現步長只要有些微的改變,PI的數值就會很大,無法得到好的分離結 果。因此除了需要夠多的數據量之外,步長的選擇也決定了Infomax演算法分離效 能的好壞。假如找到好的步長,Infomax演算法的分離效能是非常穩定的。在這邊 Infomax演算法使用0.01做為步長。

實驗中先使用固定的混合矩陣在不同長度下做模擬,混合矩陣如式(4.3)所示:

41

42

圖 4.5 演算法在相同混合矩陣下的長度與 PI 比較

圖 4.6 演算法運算時間比較

表 4.2 和表 4.3 為混合矩陣固定時在不同長度下演算法的 PI 數值表,BCA 演 算法和 RGBCA 演算法都在數據長度為 200 筆時就有非常小的 PI 數值。RGBCA 演算法在數據長度為 2000 筆之後,PI 數值都一樣,由此可見 RGBCA 演算法的穩 定性。表 4.4 和表 4.5 為混合矩陣固定時在不同長度下演算法的運算時間表,由數 據可清楚看出 RGBCA 演算法的運算時間比 BCA 演算法的運算時間還要短。

43

表 4.2 數據長度 100 筆到 900 筆的子高斯訊號源的 PI 數值

數據長度 PI

FastICA Infomax BCA RGBCA 100 0.266450 8.924100 0.138230 0.107840 200 0.723180 8.730800 0.044149 0.018321 300 0.171790 8.218200 0.014403 0.028283 400 0.141800 7.933000 0.009490 0.017028 500 0.062624 7.416100 0.008497 0.021547 600 0.151650 7.037300 0.011043 0.023306 700 0.089071 6.601800 0.010258 0.023514 800 0.188250 6.107400 0.008447 0.026638 900 0.097905 5.842900 0.006792 0.019892

表 4.3 數據長度 1000 筆到 10000 筆的子高斯訊號源的 PI 數值

數據長度 PI

FastICA Infomax BCA RGBCA 1000 0.109030 5.553700 0.009565 0.025921 2000 0.020425 1.720200 0.011209 0.025315 3000 0.031388 0.436540 0.008426 0.025315 4000 0.027691 0.134530 0.008852 0.025315 5000 0.027880 0.066485 0.006829 0.025315 6000 0.022137 0.045277 0.010765 0.025315 7000 0.029739 0.043526 0.007819 0.025315 8000 0.028856 0.044579 0.012689 0.025315 9000 0.020034 0.055769 0.012643 0.025315 10000 0.024983 0.069645 0.007586 0.025315

表 4.4 數據長度 100 筆到 900 筆的子高斯訊號源的運算時間

數據長度 Time (s)

FastICA Infomax BCA RGBCA 100 0.015874 0.008145 0.060299 0.051022 200 0.004437 0.008253 0.057082 0.049716 300 0.003007 0.012855 0.063930 0.051739 400 0.003691 0.015189 0.061871 0.055098 500 0.003892 0.019842 0.063742 0.058400 600 0.003833 0.022264 0.068031 0.059658 700 0.004498 0.024433 0.067768 0.061082

44

800 0.004139 0.029366 0.070363 0.063583 900 0.004538 0.032428 0.072253 0.068514

表 4.5 數據長度 1000 筆到 10000 筆的子高斯訊號源的運算時間

數據長度 Time (s)

FastICA Infomax BCA RGBCA 1000 0.006611 0.037425 0.074393 0.069891 2000 0.010287 0.081312 0.098170 0.090746 3000 0.011846 0.131820 0.127370 0.121230 4000 0.017962 0.176530 0.149510 0.142320 5000 0.018377 0.258470 0.169890 0.162680 6000 0.022109 0.309490 0.194760 0.182790 7000 0.025201 0.370820 0.215830 0.204970 8000 0.037996 0.443790 0.262620 0.241540 9000 0.022660 0.545590 0.264650 0.253600 10000 0.032476 0.662790 0.298060 0.278480 接下來的模擬使用變動的混合矩陣,每次分離時的混合矩陣皆不同。圖4.7為 PI數值對照長度的比較圖。Infomax演算法在數據長度為3400筆之後都有好的分離 結果,FastICA演算法在各個長度下皆有好的分離結果。BCA演算法在不同的混合 矩陣中不是每次都有好的分離結果,相較之下RGBCA演算法在這100次的分離結 果中只有4次分離效能較為不好。所以RGBCA演算法較原本的BCA演算法具有更 好的穩定性,可以處理多種不同的混合情形。Infomax演算法和FastICA演算法也都 具有很好的穩定性,遇到不同的混合矩陣,也可以有好的分離效能,只是Infomax 演算法需要達到足夠的數據量之後才有好的分離結果。

圖 4.8 為四個演算法的執行時間對照數據長度的比較圖。運算時間跟混合矩陣 為固定時的時間相近,Infomax 演算法花的時間最多,FastICA 演算法花的時間最 少,BCA 演算法和 RGBCA 演算法介於中間,RGBCA 演算法比 BCA 演算法的運 算時間還要少。到數據長度為 10000 筆後,Infomax 演算法的時執行時間是 RGBCA 演算法的兩倍以上。隨著數據長度越長,執行時間的差距會越大。

45

圖 4.7 演算法在不同混合矩陣下的長度與 PI 比較

圖 4.8 演算法運算時間比較

表 4.6 和表 4.7 為混合矩陣固定時在不同長度下演算法的 PI 數值表, RGBCA 演算法都在數據長度為 200 筆時就有非常小的 PI 數值,BCA 演算法的 PI 數值時 好時壞。由此可見 RGBCA 演算法的穩定性較 BCA 演算法好。表 4.8 和表 4.9 為 混合矩陣固定時在不同長度下演算法的運算時間表,由數據可清楚看出 RGBCA 演算法的運算時間比 BCA 演算法的運算時間還要短,與混合矩陣固定時相近。

46

表 4.6 數據長度 100 筆到 900 筆的子高斯訊號源的 PI 數值

數據長度 PI

FastICA Infomax BCA RGBCA 100 0.438750 10.27950 4.591700 0.107710 200 0.769360 12.42420 2.737400 0.008542 300 0.177490 9.022000 3.572800 0.010743 400 0.144340 6.319800 3.464600 0.005630 500 0.162010 7.167100 0.010563 0.022839 600 0.129040 10.00460 1.292100 0.020082 700 0.118540 9.180000 2.449000 0.014216 800 0.180620 5.065400 0.392690 0.016707 900 0.069171 9.871800 0.010016 0.021790

表 4.7 數據長度 1000 筆到 10000 筆的子高斯訊號源的 PI 數值

數據長度 PI

FastICA Infomax BCA RGBCA 1000 0.112760 2.799700 2.703400 0.004544 2000 0.039489 0.328220 4.024200 2.884600 3000 0.025850 0.266000 0.034614 0.026207 4000 0.040593 0.060881 0.026162 0.013226 5000 0.021584 0.047695 3.527100 0.008106 6000 0.034430 0.050091 3.194200 0.003669 7000 0.028553 0.043518 2.273900 0.005470 8000 0.028857 0.058220 3.538000 0.003672 9000 0.025402 0.053652 1.147400 0.019574 10000 0.022865 0.069648 2.170200 0.017568

表 4.8 數據長度 100 筆到 900 筆的子高斯訊號源的運算時間

數據長度 Time (s)

FastICA Infomax BCA RGBCA 100 0.017771 0.009356 0.060156 0.050390 200 0.004958 0.006789 0.054625 0.047240 300 0.002704 0.010358 0.055878 0.049331 400 0.003042 0.013464 0.055043 0.051823 500 0.003272 0.016755 0.058277 0.052597 600 0.004522 0.023832 0.064174 0.058095 700 0.004230 0.025550 0.067427 0.060313

47

800 0.005000 0.027695 0.067803 0.061229 900 0.004603 0.032555 0.073121 0.064078

表 4.9 數據長度 1000 筆到 10000 筆的子高斯訊號源的運算時間

數據長度 Time (s)

FastICA Infomax BCA RGBCA 1000 0.008002 0.039664 0.080369 0.068234 2000 0.011990 0.079248 0.096697 0.089683 3000 0.010826 0.127690 0.121900 0.117030 4000 0.013637 0.176740 0.142910 0.137900 5000 0.014103 0.242990 0.185920 0.182960 6000 0.016845 0.297280 0.187440 0.186070 7000 0.023784 0.360010 0.209850 0.206340 8000 0.026848 0.424420 0.226610 0.222520 9000 0.026375 0.528730 0.255460 0.250330 10000 0.031986 0.637680 0.284760 0.277940

4.2 具有相關度的訊號分離

相關文件