即時 DSP 嵌入式 Linux 系統開發及其於腦波訊號處理之應用
The Development of Real-Time DSP Embedded Linux System and Its Application for Brain Signal Processing
研究生:黃冠智
研究主題
        在人們的生活中,嵌入式系統應用於訊號處理上十分廣泛,如多媒體語音與影像資訊處理等。為了讓訊號得到較佳的處理,往往需要大量的數學運算,但有鑑於嵌入式系統在運算能力不足,所以本論文採用同時具有 ARM 和 DSP 微處理器之 OMAP 來彌補這個問題。 OMAP 是由 TI 針對嵌入式系統所開發的一個具有優秀運算能力的微處理器,使用 OMAP 架構可以使數學運算上更為迅速有效率,且 ARM 和 DSP 可以同步處理各自不同的行程。
        本論文有三大發展主軸,分別為「 OMAP 系統環境」、「 OMAP 內部通訊」及應用於「腦波訊號處理系統」,主旨在於呈現如何在 OMAP 下有效運用其 ARM 和 DSP 的資源。其中 OMAP 運用以含有 DSP 模組的 DSPLinux 做為其系統環境,並利用 DSP Gateway 讓 OMAP 中 ARM 和 DSP 部分能相互溝通。本論文以 DSP Gateway 的機制將 ICA 演算法交由 ARM 和 DSP 分工處理,並進行系統分析與設計到落實系統設計,建構一個腦波訊號處理系統,經由腦波訊號處理系統中 ICA 演算法將訊號做實際的特徵擷取。此外,本論文亦分別對 OMAP 和 ARM 處理器做系統效能測試比較,由測試結果中可明白顯示出 OMAP 高效能的數學運算能力。

研究說明
         OMAP 為 Open Multimedia Architecture Platform 的縮寫, 是一個有雙核心的微處理器,使用 TI-enhanced ARM925 微處理器並結合 TMS320C55x DSP 核心。 OMAP 具有高效能平衡以及低功率消耗的能力,且擁有極佳的數值能力。程式開發上, Linux 平台下的跨平台環境 (Cross Compiler) 開發 ARM 微處理器相容的應用程式。 DSP 端的程式開發,則主要是以 TI's CCS(Code Composer Studio) 做為開發環境,使用 DSP 多執行緒的作業核心 —DSP/BIOS 所提供的功能開發 DSP 應用程式。
        DSP Gateway 主要可分成 DSP Gateway 架構和程式編寫的方式,兩個部分來探討之。其中包括「 DSP Driver 與 Linux API 」、「 Mailbox 傳輸命令機制」與「 DSP Gateway BIOS(tokliBIOS) 與 DSP APIs 」。 DSP Driver 與 Linux APIs 包含 ARM 的環境下提供與 DSP 溝通操作的方式及介面。 Mailbox 機制,將 ARM 與 DSP 之間操作動作所傳送的 Mailbox 命令做解譯,並且傳送資訊,其中包括傳送的 DSP Task ID 、傳送方式以及傳送的 buffer 位置。 DSP Gateway BIOS 與 DSP APIs ,主要是與 DSP 溝通和 DSP 系統管理機制有關,建構於 TI 的 DSP/BIOS 提供的即時多工的核心和 APIs 所建構而成的。 圖 1 可用來表示 DSP Gateway 整個架構的關係圖。
圖1     DSP Gateway 架構關係圖
   在整個腦波分析實驗中,在主要是以 ICA 為分析理論,找尋訊號的特徵,將訊號原來的樣子還原。根據 ICA 所需的工作,將系統分成兩種處理狀態,分別是 ICA training ,訓練出 ICA 所要求的權重向量 (Weight) 的值。還有做資料的 testing ,將混合的資料乘上所求得的矩陣,便可得訊號的特徵組成。 圖2 以中間的決策點來分成這兩種處理狀態。

圖 2 系統設計狀態圖
研究成果
        結合虛擬場景和史都華平台,模擬實際狀態。讓受測者於虛擬的狀態中感受到真實情況剌激,並且將腦波訊號記錄下來。將訊號經過一些前處理 後,交由嵌入式訊號處理系統來做腦波訊號的處理,並且可以利用 ICA 將腦波資料做雜訊去除,另外,亦可由嵌入式單板 FFT 可得頻譜資料,如圖3所示。

圖 3 系統整合架構
  
        OMAP 和一般僅有 ARM 微處理器的嵌入式系統最大的不同在於其運算效能能大幅度的提升。另一個特點是在 DSP 處理資料時,不會影響到 ARM 的部分,此時 ARM 可以處理其他行程,和 DSP 做平行處理,本論文對系統做一個效能測試比較,讓具有 DSP 和不具有 DSP 的系統比較其中的效能差異度。 圖4 表示 執行效能的時間表示。表1表示其執行效能結果。

表1   效能測試表


圖 4 負載情況下Linux中斷延遲取樣
        實驗中選擇一眼動附近的腦波訊號,做為雜訊的參考依據,和一受眼動訊號影響的腦波訊號一起經過ICA運算。其輸入訊號和運算的結果如圖 11,眼動雜訊參考為第一個訊號,而第二個訊號則是受到眼動影響的腦波訊號,經ICA運算結果,圖 12中所得第一個訊號應該是去除眼動雜訊所留下腦波訊號的資訊。
未來展望

  本論文採用OMAP解決嵌入式系統運算能力的問題,大幅度的提升嵌入式系統的處理效能,以及保有對作業系統的支援度。但整個嵌入式腦波分析系統,仍有一些不足所在,以下將列舉一些未來有待改進的方向:

  1. 整合架構:
    本論文中整個腦波處理架構而言,並不包含腦波量測的工具,在資料的取得上仍然需要透過一些介面傳輸。然而為了實現將腦波訊號處理系統能整體的微小化,勢必要將系統量測的部分也加入,這是未來可以參考發展的地方。

  2. 深入效能高演算的方式:
    採用OMAP雖然運算效能上有大幅度的提升,但是對於運算上還是有資源浪費的情況,舉例來說,當ARM將工作交由DSP處理時,這時ARM仍然可以做其他的工作,而這段時間所做的工作時間是可以調整的,將最大的工作份量加入,將會得到最佳的效能的提升。

  3. 運算的修正:
    本論文中腦波分析系統所使用的OMAP1510是定點數的處理器,在處理如ICA的複雜運算時,會有些微的誤差,如果需要做更精密的運算,必需要將演算方式,針對定點的問題做一個修正。

  4. 即時環境測試:
    DSP在處理時可用資源有限,故對於一些記憶體空間的配置需要調整,減少不必要的空間浪費。在處理上會更加有效率。