• 沒有找到結果。

對於所提出之硬體架構以及實驗的結果做一個總結以及未來發展方向。

第二章 理論基礎與技術背景

第二章 基礎理論及技術背景介紹

本章節將介紹本論文所使用的基礎理論與技術背景。首先,本章的第一節將 介紹本文所使用的菲涅耳轉換法(Fresnel Transform)基本運作流程,接著在第二節 中介紹相位展開演算法的基本運作流程,第三節中則會討論菲涅耳轉換與相位展 開法則在數位全像顯微鏡中的應用,最後,第四節介紹FPGA技術與SoPC系統整 合設計,方便讀者對本論文能有初步的了解與認識。

2.1 菲涅耳轉換運算流程

在菲涅耳轉換中,以全像片平面的複數振幅資訊為輸入,而取得全像片中物 體的複數振幅資訊之後,首先要先進行數值重建,因此,本節將討論本論文所採 用的 Fresnel Transform 近場繞射公式及其數值重建方法。

菲涅耳轉換式(Fresnel transform)又可稱菲涅耳近似式(Fresnel approximation),

當觀測平面至孔徑平面間的距離遠大於波長 λ 時,可以由 Huygens-Fresnel

principle[14]的積分式推導出菲涅耳轉換式,然而進行數位計算時,必須將此菲涅 耳轉換式表達成離散形式,如公式(2.1)所示。

( ∑ [ ( ] ( ) (2.1) 假設影像之長與寬皆為 N,先令 為某一數位全像片之影像資訊,其中

第二章 理論基礎與技術背景

第二章 理論基礎與技術背景 為了後續進行相位展開法則運算,必須將 ε 進行反正切函數(arctangent)運算 來取得相角(phase) ,如公式(2.10),

(2.10)

在本文中反正切函數運算使用 arctangent approximation 公式來求得近似解,如公 式(2.11),關於詳細的公式說明請參閱文獻[15],

第二章 理論基礎與技術背景 ∑ ( ) (2.14) 步驟二之二:將陣列 去取代函數 中的第 x 個列向量。

步驟二之三:當 中每一個列向量都被取代之後,對於函數 中的每一行向量

y 執行步驟二之一到步驟二之二的動作。

步驟三:利用公式(2.9),將二維度傅立葉轉換計算出的 ,求出函數 。 步驟四:使用公式(2.11)、(2.12)以及(2.13),對函數 作反正切函數運算,以求 出相角 ,再交由相位展開演算法則電路繼續運算。

第二章 理論基礎與技術背景

第二章 理論基礎與技術背景

第二章 理論基礎與技術背景 總結本節的討論,本文所採用的相位展開法則,其運算流程以可歸納為以下 步驟:

步驟零:給予輸入影像相位數值函數 , 且 。 步驟一:利用方程式(2.18),計算函數 , 且 。

步驟二:使用二維度餘弦轉換函數(Cosine transform)計算 , 且 。二維度餘弦轉換運算如下:

步驟二之一:對函數 中每一列u執行餘弦轉換, ,如公式(2.21),得 到另一陣列 , 。

(2.21) 步驟二之二:用陣列 去取代函數 中的第u個行向量。

步驟二之三:當 中每一個列向量皆被取代後,對 中的每一個行向量執行步

驟二之一到步驟二之二的動作。

步驟三:依據方程式(2.20)計算函數

步驟四:對函數 執行反餘弦轉換,可獲得還原後的相位數值函數 ̅

第二章 理論基礎與技術背景

2.3 討論菲涅耳轉換及相位展開於數位全像顯微鏡之 應用

全像術主要分為紀錄、重建兩個步驟。傳統全像片通常須由底片拍攝而成,

然而,早在40年前,Goodman、Laurence[21]就提出利用電腦紀錄及重建全像圖的 想法,但當時受限於科技技術,電腦欠缺大量運算數值影像的能力,因此無法充 分的表現還原結果,而現今由於電腦科技日趨成熟,可使用高效率且快速的電子 式CCD/CMOS影像感測器取代傳統光學全像之記錄介質,並以數值計算方式重建 出原來物體的完整波前(振幅與相位)。

若以肉眼觀察,全像片只是一張灰白條紋相間的圖片,這些條紋形狀與原物 影像沒有任何幾何上的相似性,因此需要透過重建將影像還原出來,數位全像片 其數值重建方法已有許多演算方式被提出,本論文即透過菲涅耳轉換搭配相位展 開法則來重建一連續相位圖,其架構如圖(2.1)。

第二章 理論基礎與技術背景

圖2.1 本論文重建全像圖流程

取得全像片平面的複數振幅資訊 之後,將之作為原始資料輸入至本章第

一節所描述的菲涅耳轉換電路,藉由計算 Fresnel transform 公式獲得物體的複數 振幅資訊 ,並利用反正切函數取得相位值 ,此時的相位值 數值會被壓 縮在( ]之間,造成相位圖中產生不連續點(discontinuity),使整張相位圖呈現

非線性的分布,因此必須再利用本章第二節所描述的相位展開法則電路,將不連 續點消除以重建出真實的相位 ̅

𝜁 u v

第二章 理論基礎與技術背景

2.4 FPGA 系統設計

近年來,積體電路(IC)產品的發展愈來愈快,然而卻造成其生命週期日益下 降,所要求的功能複雜度也提高許多,為了滿足這些應用本身的挑戰,特別是隨 著設計專案規模越來越大時,設計師們需要一個易於使用、靈活的設計環境來探 索不同的設計實現,以達到其成本、功率消耗和性能指標,因此FPGA 越來越常 出現在對成本敏感、功耗敏感的大量應用。

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

Altera公司根據不同使用者的需求,提供許多不同系列的FPGA開發板,

本論文是使用NIOS development kit中的Stratix III EP3SL150系統開發板來實現 菲涅耳轉換及相位展開法則電路。

第二章 理論基礎與技術背景

圖2.2 SOPC系統架構圖

圖2.2為一個基於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所示,設計者可用C 語言撰寫基本程式並透過HAL API呼叫來讓特定 的裝置運作。

圖2.3 軟硬體共同設計圖

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

3. 提供DMA(direct memory access)機制讓設計者可加速資料在記憶體與系統周 邊元件的傳輸速度且不佔用CPU資源。

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

設計者可依自己的需求增加或刪除想要的電路功能,而增刪裝置也非常簡便,

重新建置系統並編譯成硬體檔之後燒至板子即可。

第三章 基礎電路架構介紹

第三章 系統架構

本章節將詳細介紹本論文所提出的菲涅耳轉換及相位展開法則硬體架構。本 系統架構主要分成七個部分:嵌入式記憶體(on-chip RAM)、菲涅耳轉換前單元

(Fresnel pre-transform unit)、傅立葉轉換單元(Fresnel Fourier Transform Unit)

和菲涅耳轉換後單元(Fresnel post-transform unit)、相位展開法則換前單元(Phase

unwrapping pre-transform unit)、餘弦轉換單元(Phase unwrapping cosine transform unit)和相位展開法則轉換後單元(Phase unwrapping post-transform unit)。接下 來的各節將會依序對每個單元的硬體架構進行詳細描述。

3.1 菲涅耳轉換及相位展開法則之硬體電路架構

首先介紹整體的系統架構,本系統將電路分成兩大部分:菲涅耳轉換電路及 相位展開法則電路。而菲涅耳轉換電路架構又包含三個部分:轉換前單元(Fresnel

pre-transform unit)、傅立葉轉換單元(Fresnel Fourier Transform Unit)和轉換後 單元(Fresnel post-transform unit)。相位展開法則電路架構中也包含三個部分:

轉換前單 元( Phase unwrapping pre-transform unit )、餘弦 轉換 單元( Phase

unwrapping cosine transform unit)和轉換後單元(Phase unwrapping post-transform unit)。另外包含一塊嵌入式記憶體(on-chip RAM)由兩大塊電路所共用。

第三章 基礎電路架構介紹 本系統架構中,on-chip RAM 的用途有三個,第一為儲存各個運算單元的資 料輸入來源,其次為儲存計算過程中的暫時性資料,最後是儲存計算完成的最終 結果。

圖 3.1 菲涅耳轉換及相位展開法則硬體電路架構圖

在菲涅耳轉換電路中,轉換前單元從on-chip RAM中讀取數位全像片資料 , 並根據2.1節中的公式(2.4)及公式(2.5)進行運算得到函數 ,接著傅立葉轉換單 元根據公式(2.6)計算得到函數 ,最後,轉換後單元由公式(2.7)、公式(2.8)和公 式(2.9)算出複數值點 ,經由反正切函數運算得相角 ,並將相角 存入on-chip

RAM中,再交由相位展開電路繼續運算。

相位展開電路中,轉換前單元從 on-chip RAM 中讀取菲涅耳轉換電路的計算

第三章 基礎電路架構介紹 縮相位差(wrapped phase difference)之和的結果 ,接著餘弦轉換單元由公式

(2.21)的餘弦轉換公式計算出 ,轉換後單元再依其結果計算出另一中間值

,最後做反傅立葉轉換計算,得到欲求出的相位函數 ,此相位展開法則 演算法中的所有函數皆以二維陣列資料的形式來表示。圖 3.1 中的每個單元會在 接下來的小節中討論。

第三章 基礎電路架構介紹

3.2 嵌入式記憶體(On-chip RAM)

在本文所提出的系統架構中,on-chip RAM會由兩塊RAM 2-port module所組 成,分別是on-chip RAM1及on-chip RAM2,並且用來儲存複數資料的實部值及虛 部值。此二塊on-chip RAM都是大小為( ( 的記憶體陣列空間,主要

存放各個運算單元的資料輸入來源以及儲存計算途中的暫時性資料,或是儲存計 算完成的最終結果。

若 不 使 用 on-chip RAM 而 是 利 用 電 路 外 部 SoPC 系 統 上 的 資 源 如 DDR2

若 不 使 用 on-chip RAM 而 是 利 用 電 路 外 部 SoPC 系 統 上 的 資 源 如 DDR2

相關文件