1 引 言
發(fā)射光譜層析(EST)技術(shù)是一種不干擾原待測場分布的測量診斷技術(shù),他在熱物理量測試、等離子體診斷等方面顯示出了極大的優(yōu)越性,尤其是在場分布測量方面,幾乎是其他方法不可替代的,是測量三維流場內(nèi)部物理量分布的一種常用方法。
傳統(tǒng)的層析重建技術(shù),通常是利用軟件編程在計算機上直接完成,這要花費很長的時間,無法滿足實時重建時對速度的要求,現(xiàn)在已有研究者開始著手研究在硬件(例如FPGA和DSP)上來實現(xiàn)層析重建技術(shù),例如:在FPGA上實現(xiàn)ART算法。但是,由于ART算法在重建圖像時對噪聲的抑制能力較差,迭代格式復(fù)雜,且有除法運算,用FPGA實現(xiàn)起來較為復(fù)雜。同時迭代重建算法--SIRT能夠有效抑制測量誤差的影響,迭代格式簡單,得到廣泛應(yīng)用,但該法用FPGA(現(xiàn)場可編程邏輯門陣列)來實現(xiàn)時,牽涉到小數(shù)運算問題。因為在FPGA中數(shù)據(jù)都是以二進制形式參與存儲、運算的,小數(shù)計算問題是FPGA應(yīng)用中的一大難點,目前業(yè)界用FPGA來處理小數(shù)大都采用定點處理,這種方法行之有效,但應(yīng)用范圍很有限,對于在層析重建中的小數(shù),采用定點運算是無法處理的。
本文提出一種處理小數(shù)的方法,即把將要參與運算的數(shù)據(jù)轉(zhuǎn)化為IEEE標準754的二進制單精度浮點數(shù),然后調(diào)用Altera開放的浮點數(shù)運算IP核對數(shù)據(jù)進行運算,Altera提供的IP核是Altera公司經(jīng)過嚴格測試和優(yōu)化過的電路功能模塊,在設(shè)計項目時調(diào)用IP核既減少了設(shè)計中的工作量,又在一定程度上節(jié)省了芯片資源,為迭代層析實時重建提供了可能。SIRT算法較ART算法迭代格式簡單,且更易減小重建誤差,提高重建速度,更適用于實時重建。FPGA在設(shè)計時采用Verilog編程和調(diào)用Altera的開放IP核相結(jié)合的方法來實現(xiàn),軟件設(shè)計和綜合模擬仿真在QuartusⅡ5.1開發(fā)平臺中完成,最后給出了一些模塊仿真的波形。
2 SIRT算法
SIRT算法的迭代格式為:
4小數(shù)的預(yù)處理
IP核來計算數(shù)據(jù)時,輸入數(shù)據(jù)和輸出數(shù)據(jù)都應(yīng)為IEEE標準754的二進制單精度浮點數(shù),這樣就要求在進行浮點數(shù)運算之前,先要對數(shù)據(jù)進行處理使測量值P和投影矩陣W的值轉(zhuǎn)化為IEEE標準的二進制浮點數(shù)。
預(yù)處理步驟如下:
(1)對于測量數(shù)據(jù)P,他是由CCD采集并經(jīng)10位A/D轉(zhuǎn)換,使測量數(shù)據(jù)轉(zhuǎn)換為10位二進制整數(shù),然后經(jīng)過數(shù)據(jù)預(yù)處理模塊,把數(shù)據(jù)處理轉(zhuǎn)化為IEEE標準754的二進制單精度浮點數(shù),輸入到外部寄存器P等待調(diào)用。
(2)對于投影矩陣W,如果圖像大小一定,則投影矩陣W也是固定的,可先由Matlab仿真生成并處理轉(zhuǎn)化為IEEE標準754的二進制單精度浮點數(shù),然后存到W寄存器,等待調(diào)用。
在此只討論由FPGA處理的部分,即只討論對測量數(shù)據(jù)P的預(yù)處理,而對于W矩陣的值則可由Matlab編程處理完成,在此不再贅述。
流程圖如圖2所示。
![]() |
5.1預(yù)處理P的模塊
測量數(shù)據(jù)P為二進制整數(shù),將其轉(zhuǎn)化為IEEE標準754形式,只需要先對數(shù)據(jù)進行檢測,若數(shù)據(jù)為正則符號位S=0,否則S=1;然后找出為"1"的最高位,設(shè)為"1"的最高位為第L位,則保留P[L-1:0]作為IEEE標準754的尾數(shù)M的高位,然后在其后補"0"至23位,即得尾數(shù)M;而L的值即為指數(shù)e,則E=e+127。假設(shè)P[9:0]=0001011011,則為"1"的最高位為P[6],保留P[5:0]作為尾數(shù)M[22:0]的高位,然后在后面補"0",即得尾數(shù)M,在此M=01101100000000000000000,而指數(shù)e為6,則E[7:0]的大小為E=e+127,在此即為133,即為二進制的10000101,此處為S=0,則P轉(zhuǎn)化后的值為Pout[31:0]=01000010101101100000000000000000,仿真結(jié)果如圖3所示。
顯然仿真結(jié)果是正確的。
按照IEEE標準754形式,把測量所得數(shù)據(jù)P和投影矩陣W的值預(yù)處理轉(zhuǎn)化為IEEE標準754形式以后,即可進行運算。
![]() |
![]() |
5.3 浮點乘法器的實現(xiàn)
兩浮點數(shù)相乘,設(shè)兩數(shù)均為01000000011000000000000000000000,即為十進制的3.5,調(diào)用浮點數(shù)乘法IP核,進行仿真。仿真結(jié)果如圖5所示。
由仿真波形圖可見兩數(shù)相乘結(jié)果為01000001010001000000000000000000,為十進制數(shù)的12.25,即結(jié)果是正確的。
![]() |
FPGA的應(yīng)用領(lǐng)域包羅萬象,我們今天來看看在音樂科技領(lǐng)域及醫(yī)療照護的智能巧思。
關(guān)鍵字: FPGA 科技領(lǐng)域 智能強大的產(chǎn)品可降低信號噪音并提高分辨率與動態(tài)
關(guān)鍵字: Spectrum儀器 數(shù)字化儀 FPGA本篇是FPGA之旅設(shè)計的第十二例,在前面的例程中,完成了DS18B20溫度傳感器數(shù)據(jù)的采集,并且將采集到的數(shù)據(jù)顯示在數(shù)碼管上。由于本例將對溫濕度傳感器DHT11進行采集,而且兩者的數(shù)據(jù)采集過程類似,所以可以參考一下前面的...
關(guān)鍵字: FPGA DS18B20溫度傳感器第八例啦,本例將介紹如何通過FPGA采集DS18B20傳感器的溫度值。
關(guān)鍵字: FPGA DS18B20傳感器