• 沒有找到結果。

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

包含了系統環境的說明、相關實驗數據分析及硬體效能比較

【第五章】結論與未來展望

對於所提出之硬體架構及實驗的結果彙整成總結和未來發展方向

第二章 基礎理論與研究背景介紹

本章節將介紹本論文所使用的基礎理論與研究背景。首先,本章的第一節將 介紹關於相位展開法則(Phase Unwrapping)的相關背景,接著在第二節說明本論文 所使用的相位展開法則之解說及法則所採用的模型之介紹

2.1 相位展開法則(Phase Unwrapping)背景介紹

相位展開法則(Phase Unwrapping)是將不連續的相位平面轉換為連續的相位 平面,相位展開法則有許多不同的資料處理方式,大致上可以分做兩種,即為時 間域相位展開法則(Temporal Phase Unwrapping)及空間域相位展開法則(Spatial

Phase Unwrapping),如圖 2.1.2 所示:

圖 2.1.1 相位展開法則概念圖

圖 2.1.2 相位展開法則分類圖

時間域相位展開法則[5][6]是將在不同時間下所取得的不連續相位圖,各個點 在不同時間下所取得的相位值互相作比較,最後得到展開後的相位值,因此需要 較多的記憶體來存取不同時間下的不連續相位圖。而空間域相位展開法則不需要 像前者預留一定的空間儲存不同時間下的相位圖,只需要一張不連續相位圖,每 個相位點跟其他的相位點做相互比較及作用,就可完成相位展開。

空間域相位展開法則根據相位點及其他相互比較的相位點之間關係分為路 徑相依型相位展開法則(Path-Dependent Phase Unwrapping)、路徑獨立型相位展開 法則(Path-Independent Phase Unwrapping)。路徑相依型相位展開法則[14]是將相位 點跟特定路徑上的前一相位點做比較,若是兩者的相位值相差大於 π,則前者增 加或減少2π,直到所有相位點與其特定路徑上的前一相位點相位值相差小於 π,

相位展開即完成。

路徑相依型相位展開法則因為每個相位點所需的參考點少,而處理速度較 快,但是也因為參考點少,使得當有雜訊干擾而產生不連續點時,使相位展開發 生錯誤,且錯誤的相位資訊會跟者路徑遞移,因此選擇到最佳的路徑是路徑相依 型相位展開法則的先天條件。

2.2 路徑獨立型相位展開法則及細胞自動機模型

路徑獨立型相位展開法則與路徑相依型相位展開法則不同,無需選擇最佳路 徑,而是以增加參考點,使相位展開不受路徑影響而產生錯誤相位值。

路徑獨立型相位展開法則包含許多種法則實現,其中一例如最小平方誤差法 (least square techniques)。而最小平方誤差法可以配合多種算術技術做運算,如高 斯 - 塞 德 法 (Gauss-Seidel method) [8][9] 、 預 處 理 共 軛 梯 度 法 (preconditioned

conjugate gradient ,PCG)[8][10],而現今有許多更展新的運算技術配合最小平方誤 差法,譬如影像裁切技術[11]、網路程式技術[12]及ZπM演算法[12]。上述算術技 術皆為遞回運算,容易因遞回個數而造成時間消耗急速增加,因此有許多以最小 平方誤差法為基礎的快速運算法則孕育而生[2-4]。

但是無論採用的是遞回式的最小平方誤差法或快速運算式的最小平方誤差 法,皆具有系統架構複雜度高的先天性難題,導致系統架構建立、維護及改進的 困難性。

本論文所使用的方式為路徑獨立型相位展開法則另一種架構模式,以細胞自 動機為基礎的廣域型相位展開法則(Regional Phase Unwrapping)。

廣域型相位展開法則的通則如下:

表 2.2.1 不同廣域型相位展開法則中各區塊大小:

以廣域型相位展開法則(Kernel)為例:

圖 2.2.2 廣域型相位展開法則(kernel)示意圖:

欲做相位展開運算之區塊 V 所對的相位點之相位值為 Current Pixel,而各參 考領域所對應相位點如下:

Area one = { Pixel 3},Area two = { Pixel 1},

Area three = { Pixel 4},Area four = { Pixel 2},

每個參考領域皆只有一個相位點,更新閥值為 1,因此當任一參考領域之相 位點較 Current Pixel 之相位值大於 π 時,則 Current Pixel 之相位值增加 2π。

以廣域型相位展開法則(5×5)為例:

圖 2.2.3 廣域型相位展開法則(5×5)示意圖:

則各個區塊所包含的相位點如下:

表 2.2.2 廣域型相位展開法則(5×5)各區塊之對應相位點 對應之相位點

I Pixel [ 1, 2, 6, 7]

II Pixel [ 3, 8]

III Pixel [ 4, 5, 9, 10]

IV Pixel [11, 12]

VI Pixel [ 13, 14]

VII Pixel [ 15, 16, 20, 21]

VIII Pixel [ 17, 22]

IX Pixel [ 18, 19, 23, 24]

此圖之相位點個數與圖 2.2.3 相符合。

Regional(7×7) 12

Regional(N×N) +1

此法則可以無限推廣,推廣至 N×N 時,各參考領域表示 Current Pixel 要增加 之所需 Pixel 個數為 +1,直到超出硬體資源為止,同時廣域型相

位展開法則複雜度小,較最小平方誤差法容易系統架構建立、維護及改進,與細 胞自動機模型之系統架構也十分硬體架構設計,接著將說明細胞自動機模型。

細胞自動機(Cellular Automata)是這次論文裡實現各種廣域型相位展開法則 的數學模型,細胞自動機最早是由約翰·馮·諾伊曼(John von Neumann)及斯塔尼斯 拉夫·烏拉姆(Stanisław Marcin Ulam)於 1950 年代以細胞的繁殖及消滅等概念所 提出,細胞自動機是一個離散模型,其可被視為由許多格子所構成,每一個格子 證細胞自動機的運算皆能達到收斂,1980 年代,史蒂芬·沃爾夫勒姆(Stephen

Wolfram)將細胞自動機依其規則分類為四類[7]:

一類:大多所屬的細胞自動機的初始模式迅速演變成一個穩定且同質的狀態,在 初始模式的任何隨機性會消失。

二類:幾乎所有的初始模式迅速演化為穩定或振蕩結構。一些在初始模式的隨 機性可能會被過濾掉,但是還有一些保留。在初始模式的局部變化傾向 於繼續保持局部性。

三類:幾乎所有的初始形態將會演變成一個偽隨機或混沌的形式。任何穩定的 結構很快會被周圍的噪音破壞。在初始模式的局部變化有無限蔓延的傾 向。

四類:幾乎所有的初始模式將會演變成相互作用的複雜和有趣的方式結構,並 且局部結構的形成能夠長時間存在。

本論文所提出的以細胞自動機為基礎的相位展開法則之系統架構也因處理

影像的大小與圖型不同而使運算結果呈現收斂或發散的情況,因此本論文提供不 同的相位展開法則之系統架構,並討論其運算結果。

2.3 FPGA 系統設計

現今,積體電路(Integrated Circuit, IC)產品的發展愈來愈快,然而卻造成其生 命週期日漸下降,所要求的功能複雜度也提高許多,為了滿足這些應用本身的需 求,特別是隨著設計專案規模越來越大時,設計師們需要一個使用方便、彈性高 的設計環境來探索不同的設計實現,以達到其成本、功率消耗和性能指標,因此

FPGA越來越常出現在對成本敏感、功耗敏感的大量應用。

使用硬體描述語言(Hardware Description Language, HDL)搭配可重複設計的 現場可程式化邏輯閘陣(Field Programmable Gate Array, FPGA) 晶片設計數位電 路,可縮短研發時間且更有彈性,經過簡單的合成繞線佈局,可快速重覆地燒錄 至FPGA上進行測試,是現代IC設計的技術主流。目前FPGA系統的開發,允許軟 體與硬體共同設計,來達成系統化的IC設計,具有開發時間短及系統可修改的優 點。

Altera 公司根據不同使用者的需求,提供許多不同系列的 FPGA 開發板,本 論文是使用 NIOS development kit 中的 Stratix III EP3SL150 系統開發板來實現相 位展開法則電路。

圖 2.3.1 SOPC 系統架構圖

圖2.3.1為一個基於NIOS系列嵌入式處理器的SoPC系統架構圖,在NIOS系統 中提供了一套專門給NIOS處理器使用的匯流排(Avalon bus),其交換架構是一種 定制的內部互聯,它由SOPC Builder設計工具自動生成,將系統中所有的主設備 和從設備端口連接在一起。開發人員設計出的硬體電路被視為一個客製化邏輯電 路(custom logic circuit),透過此匯流排上的各個訊號線,將電路掛在Avalon bus 上與整個系統溝通。除此之外,Stratix III開發板上也提供DDRII SDRAM、flash

memory、Ethernet controller與I/O 裝置等,供開發人員使用。

NIOS系統擁有下列優點:

1. Altera公司所提供的NIOSⅡ IDE是一個視窗介面的開發工具,設計者可於其

上編輯程式碼,更可編譯及除錯及觀察程式執行結果。此程式除了包含所有C 語言的函式庫之外,還有HAL(Hardware Abstraction Layer)函式庫。其中HAL 函 式 庫 提 供 設 計 者 一 個 呼 叫 系 統 相 關 裝 置 API(Application Program

Interface),如圖2.3.2所示,設計者可用C 語言撰寫基本程式並透過HAL API 呼叫來讓特定的裝置運作。

圖 2.3.2 軟硬體共同設計圖

2. 提供了Compact Flash卡(以下簡稱CF卡)存取功能,讓設計者可以將資料置於 CF卡中,並透過HAL API讓設計者進行讀與寫的動作。

3. 提供DMA(Direct Memory Access)機制讓設計者可加速資料在記憶體與系統周

4. LwIP提供基本的網路功能,除了符合嵌入式系統最基本的簡單、快速、不占 據過多系統資源之外,也讓設計者更容易修改或增刪想要的功能。

設計者可依自己的需求增加或刪除想要的電路功能,而增刪裝置也非常簡 便,重新建置系統並編譯成硬體檔之後燒至板子即可。

第三章 系統架構

本章節將詳細介紹本論文所提出的相位展開法則之硬體架構。首先將說明直 觀型細胞自動狀態機及其運算單元之硬體架構,之後會探討架構之可行性,並提 出資源消耗更低且可進行高速運算的多種延伸型系統架構。

3.1 以原始細胞自動機為基礎之廣域型相位展開法則系統架

最原始構想的細胞自動機型系統架構,由於要實現細胞自動機模型的運算 模式,即第一項為每個 current pixel 都需要依照相同規則做運算,因此將設計實 現廣域型相位展開法則之運算單元(Cell),使每個 current pixel 都透過運算單元進 行運算。同時此運算單元也具備細胞自動機的第二項區域性的特型,使 current

pixel 只與廣域型相位展開法則中參考領域內之 pixel 做運算,並非以整張影像作 為運算參考對象。

而為了達到第三項特性,平行運算,因此最直接的系統架構即假設影像大小 為 N×N,則所需的運算單元數也為 N×N,運算過程則是將欲還原之不連續相位圖 載入 N×N 個運算單元,然後實行遞回運算直到廣域型相位展開法則的終止條件成 立,終止條件成立時讀出運算結果即可獲得相位還原影像。

此系統架構如下圖所示:

相關文件