武健 趙菊敏 李燈熬
(太原理工大學信息工程學院,山西 太原 030024)
激光遙感圖像高速濾波器算法的FPGA實現
武健 趙菊敏 李燈熬
(太原理工大學信息工程學院,山西 太原 030024)
針對激光遙感信號高速高精度的要求,利用FPGA的多任務、高速并行性設計系統進行濾波。考慮到激光光電傳感器設計的濾波器會有很大的信號衰減,且具有精度要求高的特點,提出了基于FPGA內部基本邏輯單元、乘法器、存儲器,經過乘法分解和時序設計,實現具有可移植性的圖像高速分辨的方法。系統采用FPGA設計平臺,并用Verilog語言設計程序。試驗結果驗證,該濾波器對激光遙感信號具有高速、精確濾波功能,同時表明利用低端FPGA設計激光濾波器必將成為未來發展趨勢。
激光遙感 數字濾波器 高速分辨 信號衰減 FPGA
隨著我國國防工業、航天工業的快速發展,激光遙感技術由于其高精度、高可靠性、穩定性好的優點,在上述領域中取得了非常廣泛的運用。因此,激光遙感輸出信號解析成像所需的高速可靠解調成為研究的重點[1]。
傳統的激光光電傳感信號解析算法都是在DSP中實現,雖然實現簡單,但是由于DSP是一個串行器件,濾波和算術運算都只能串行執行,無法滿足實時性解調的要求。而FPGA具有高速、多任務等優點,是激光遙感信號高速解析的理想實現方案[2]。
高速高階濾波在激光遙感信號解調中發揮著重要的作用,也是解調系統設計的難點和重心,濾波器設計的好壞直接影響遙感成像的精度和速度[3]。因此,本文主要是研究基于FPGA的高速、高精度的濾波器,同時要求濾波器具有支持和兼容低端FPGA的能力。
由于利用激光光電傳感器設計的濾波器會有很大的信號衰減,且具有精度要求高的特點,因此,本設計不同于其他普通濾波器的設計。本設計主要提出了乘法分解的辦法,極大地提高了濾波器的精度和速度。
通常,數字濾波器有無限沖擊響應(infinite impulse response,IIR)和有限沖擊響應(finite impulse response, FIR)兩種濾波方式。由于FIR濾波器通帶內輸出相位延時是線性的,而IIR是非線性的,因此我們采用FIR濾波結構設計[4-5]。該專用濾波器核心設計采用FPGA內部ROM、RAM、乘法器等。濾波器結構框圖如圖1所示。

圖1 系統結構框圖Fig.1 Structure of the system
系統控制邏輯控制從ROM中讀取濾波系數、計數值寫入RAM、計數值讀出RAM以及乘法器的運算,使得幾個模塊能在一定時序下穩定工作。RAM和控制邏輯的組合設計,可以實現計數值的存儲及移位功能。乘法器模塊主要由兩個硬件乘法核心組成,通過兩個乘法器的組合計算,可以實現高位的寬乘法運算。累加器負責將乘法器輸出值進行累加并取位。整個系統完成了FIR濾波結構計數值和濾波系數的卷積過程,如式(1)所示。

式中:X(i)為第i個采樣周期時刻的計數值;h(i)為濾波系數。通過乘法和累加,正好完成了卷積工作[6]。
激光遙感信號的解調頻率大概為5~20 kHz。在靜態情況下,計數器以此頻率采樣時,采樣值的幅值范圍大概為100~400。激光光電傳感器能感知外界的輸入角速度,每小時最小能到0.01°,對應計數值中的分量大小最小應該在10-7數量級。激光傳感器器件本身由于存在鎖區,因此我們在使用的過程中人為疊加了一個正弦振動。為了提高遙感解析信號輸出的穩定性,我們在正弦振動上疊加了一定的高斯白噪聲。計數值組成如式[7](2)所示。

式中:A(t)為外界輸入角速度分量對應值,頻率一般在0~30 Hz;Bsinwt 為機抖分量的輸出值,頻率在200~400 Hz;Φ(t)為隨機噪聲輸出值,頻率可以達到1 kHz以上。
由于機抖信號是一個正弦周期信號,而輸入激光傳感器凈角速度是一個非周期緩變量[7],累加一段時間后機抖分量值小于或等于機抖半個周期的累加值。
綜上所述,濾波器可以采用基于FIR的低通濾波方式,采樣頻率為10 kHz,截止頻率為100 Hz。FIR結構雖然具有相位的線性,但是衰減不會太大,因此設計使機抖分量衰減10-7即可。
3.1 Matlab中濾波系數生成
為了降低工作量,在設計濾波器時,我們可以利用Matlab中的FDATool工具箱通過分析和對比得出。基于Blackman_Hharrit窗的FIR濾波器阻帶具有最大的衰減。利用激光遙感信號設計的濾波器在200階時的幅頻特性圖如圖2所示。

圖2 濾波器的幅頻特性曲線Fig.2 Curves of filter amptitude-frequency characteristics
從圖2可以看出,在400 Hz左右,輸入信號衰減到-140 dB,能達到10-7的阻帶衰減,滿足激光遙感阻帶衰減要求。
濾波器的相頻特性曲線如圖3所示。在整個通帶內,濾波器移相是線性的,因此通帶內各頻率段信號經過濾波器后延遲時間一致的,通帶信號不會產生疊加,相對時間仍然一致,滿足激光遙感信號解析的濾波要求。

圖3 濾波器的相頻特性曲線Fig.3 Curves of the filter phase-frequency characteristics
FPGA內部通常只可以進行定點運算,若需要進行有關浮點的運算,則需要復雜的轉換。因此,我們將采用定點算法的方式進行濾波。據此,對Matlab中產生的濾波系數組H[N]進行整型化。整型化的過程中勢必要引入一定的誤差,為了減小引入的誤差,我們需要將濾波乘以一個較大的系數,以保留足夠多的小數部分[8]。
通過反復試驗和計算,要使整型化誤差不影響濾波精度,需要將濾波系數乘以224,此時一個濾波周期最大的累積誤差為1.490 1e-008。利用此整型化后的系數對FPGA內部ROM進行初始化。
3.2 濾波器乘法分解設計
當激光光電傳感器發射-回傳動態時的計數輸出遠大于靜態時,為了讓濾波器具有較大范圍的動態輸入,濾波器輸入的數據寬度應為16位。ROM濾波系數輸出為22位,為了以后擴展方便,我們設計的乘法器為24×18位。但低端FPGA內部乘法器一般只有18×18位,在高端的FPGA內部雖然集成了25×18的乘法器,但系統成本增加[9]。為了使本濾波核可以在較為低端的FPGA內部使用,采用乘法分解法進行分解乘法運算。濾波系數A可用式(3)表示。

式中:Ah為A的高12位;Al為A的低12位。
因此濾波乘法可以分解為:

這樣Ah×js和Al×js就可以利用18×18位乘法器進行運算。在FPGA內部計算當中,乘法運算將利用移位實現,加法運算將利用與運算實現。因此mul又可以按式(5)、式(6)所示方法計算。

因此,我們可以利用兩個18×18位的乘法器進行并行計算,可以得到24×18的結果。
若FPGA內部沒有乘法器,我們也可以利用上面的乘法分解法,通過對乘法多次分解,達到快速計算的目的。如果先對輸入數據進行標準符號二進制(canonic signed digit,CSD)編碼,乘法效率會更高。
3.3 濾波器截止頻率選擇
為了讓濾波器截止頻率可調,我們將多組濾波系數順序寫入.COE文件,這樣可以進行FPGA內部ROM的初始化。內部ROM數據組織形式如表1所示。

表1 ROM濾波系數結構Tab.1 Structure of filter coefficients in ROM
從ROM的零位地址開始,每隔N個地址,便是一組濾波系數的首地址。從首地址開始連續取出的N個數據便是一組截止頻率對應的濾波系數。因此,我們可以通過為濾波核增加一個截止頻率的選擇端口,利用這個端口可以控制濾波核的截止頻率。
輸入一個固定的常數14 814,截止頻率默認為100 Hz,濾波器輸出仿真結果截圖如圖4所示。

圖4 濾波器仿真結果截圖Fig.4 Filter simulation results
濾波器每隔一個主時鐘周期便讀出一個ROM中的值,然后將數據與輸入濾波器的數據14 814相乘。乘法器每隔7個主時鐘后輸出乘法結果:-118 512= 14 814×(-8)、-355 536=14 814×(-24)。讀出的ROM值正好是我們存入的一組系數。濾波器的濾波周期T為:

因此,此濾波器具有極高的速度,完全能滿足激光遙感信號實時解析所需高速濾波的要求。
我們擬采用FPGA內部模擬遙感計數信號的方式來定性測量濾波器的精度以及穩定度。在Matlab中產生一幅值為106的正弦信號,一個周期內對其均勻采樣32個點,然后存入.COE文件,用于初始化FPGA內部模擬遙感計數信號的ROM空間。通過控制邏輯,使ROM的值以10 kHz的頻率輸出給濾波器。濾波輸出后的結果發送到上位機進行分析,結果如表2所示。

表2 濾波器性能Tab.2 Filter performance
由此可以看出本濾波器具有極高的精度和穩定性,完全可以作為高精度激光遙感輸出信號的濾波器使用[10]。在靜態情況下,對某型號遙感原始信號計數后使用本濾波器進行解調,上位機測試結果截圖如圖5所示。圖5顯示連續測量6 000 s后,濾波器輸出均值為5.202 8,10 s方差為0.011。

圖5 激光遙感上位機測試結果截圖Fig.5 The test results screenshot on host computer
通過仿真及試驗測試的數據分析可以得出,在FPGA內實現本算法,能很好地驗證激光光電傳感器輸出信號高速、精確濾波的功能,有效保證了遙感圖像解析的實時精度與穩定性。由于擁有很寬的響應范圍、支持低端FPGA以及算法思想可移植性強,該算法可以作為一種激光遙感數據解調濾波的優選方案。
[1] 高伯龍,李樹棠.激光遙感[M].長沙:國防科技大學出版社,1984.
[2] 任晨綱.基于FPGA的激光遙感捷聯慣導系統信號的檢測與處理[D].長沙:國防科技大學,2009.
[3] 王國臣.激光遙感速率穩定性測試儀設計與實現[J].傳感技術學報,2008,21(9):1524-1527.
[4] Meyer-Baese U.數字信號處理的FPGA實現[M].劉凌,譯.北京:清華大學出版社,2011.
[5] 吳瑛,張莉,張冬玲,等.數字信號處理[M].西安:西安電子科技大學出版社,2009.
[6] 余成波,桃紅艷,楊菁,等.數字信號處理及MATLAB實現[M].北京:清華大學出版社,2008.
[7] 趙雪蘭,夏元欽,陳德應.激光遙感的偏頻技術[J].激光與光電子的進展,2005,42(8):50-53.
[8] 呂妍紅,崔中興.環形激光遙感信號分析與處理[J].傳感技術學報,2004,6(2):34-41.
[9] Xilinx.Spartan-3E FPGA family:complete data sheet[EB/OL].[2008-04-18].[2013-10-25].http:∥www.xilinx.com/spartan3e.
[10] 郭創,張宗麟,樊蓉.激光陀螺濾波評估方法研究[J].光學技術,2006,32(S1):77-80.
Implementation of High-speed Filter Algorithm Based on FPGA for Laser Remote Sensing Image
To fulfill the requirements of high speed and high accuracy filtering for laser remote sensing signals,by adopting the advantages of FPGA,i.e.,multi-task,and highly parallel characteristics,the system for filtering is designed.Considering the filter designed with laser photoelectric sensor may bring large signal attenuation,and request high accuracy,so the solution based on the basic logic cells,multiplexers and storage existing inside FPGA is proposed,through multiplication decomposition and timing design,to implement transplantable high speed image resolution.The FPGA is used as the design platform of the system,and the Verlog language is used for designing program.The experimental results show that this filter possesses high speed and precise filtering functions to laser remote sensing signals,in addition,it is indicated that using low-end FPGA to design laser filter will become future developing trend.
Laser remote sensing Digital filter High-speed resolution Signal attenuation FPGA
TN911+.7
A
國家自然科學基金青年科學基金資助項目(編號:61303207);
國家自然科學基金資助項目(編號:61371062);
教育部高等學校博士學科點專項科研基金聯合資助項目(編號: 20121402120020);
山西省科學技術發展基金資助項目(編號:20120321024-01);
山西省國際合作基金資助項目(編號:2012081031);
山西省留學回國人員科研基金資助項目(編號:2013-032)。
修改稿收到日期:2014-03-03。
武健(1988-),男,現為太原理工大學信息與通信工程專業在讀碩士研究生;主要從事盲信號處理和無線傳感器網絡的研究。