摘 要: 針對甚高頻(VHF)云閃時差法雷電定位同源脈沖匹配難點,提出了用FPGA實現相關性判斷的同源脈沖算法設計思路。為提升系統性能、適應云閃甚高頻信號的處理需求,采用了改進的算法并用實測數據在MATLAB、FPGA上對算法進行驗證,設計完成了云閃波形同源脈沖匹配算法在FPGA上的實現。系統通過了Modelsim的仿真驗證并在DE2平臺上完成了硬件測試。設計共消耗了3 499個邏輯單元,最高處理速度可達98.07 MHz,滿足了實際應用的要求。
關鍵詞: 云閃;時差法;同源脈沖;FPGA
雷電是在雷暴天氣條件下,發生于大氣中的一種長距離放電現象,具有大電流、高電壓、強電磁輻射等特征[1]。雷電主要包括云對地面的放電(地閃)和云與云之間的放電(云閃)[2],地閃往往對地面民用工業、軍事設施有嚴重的破壞性[3];云閃也嚴重影響民航飛機、航天飛行器等的正常飛行。觀測表明,云閃先于地閃5 min~15 min發生[4],觀測云閃對地閃有預警的作用,因此云閃監測及定位研究具有重要意義。
目前對于地閃的探測已經有了比較完善的定位系統,如ADTD雷擊檢測儀[5],但僅僅能檢測地閃。云閃通?;谏醺哳l(VHF)頻段,已有的甚高頻云閃探測主要采用干涉法和時差法(TOA)建立雷電探測系統,時差法主要難點是同源脈沖匹配技術。OETZEL等利用VHF技術測量閃電輻射到達分離天線的時差確定閃電源位置的成果[6],采用短基線避免判斷兩個脈沖是否屬于同一個輻射脈沖的問題,但是短基線帶來的問題是信號到達兩天線的時差太小,導致測向精度不高?;诖?,本文提出一種同源脈沖匹配算法——相關性判別法,該方法可以應用于長基線的VHF云閃脈沖同源判別。
從數學上可以證明分子的模小于分母,也即相關數Pxy的模不會大于1。當相關系數為0時相似度最差,即不相關。當相關系數為1時,誤差能量為0,說明兩信號相似度很好,是線形相關的。1980年,RUSTAN等發表了在KENNEDY航天中心觀測閃電放電過程的研究報告[7],曾借助互相關分析,通過圖形識別技術識別共源脈沖。據此,可以將相關性判別應用在VHF云閃波形相似度的判別中。
2 算法的MATLAB驗證
2.1 算法驗證平臺
本文所采用的驗證平臺由天線、信道、PC端數據采集卡以及DE2開發板四部分構成。如圖1所示。
天線單元由SG7200雙段車載天線在全頻段對云閃信號進行接收,經帶通濾波、放大。為了前端觀測及處理方便,選取美國GAGE公司產品CS21G8數據采集卡對云閃信號進行數據采集,可以實時觀測波形變化。由于云閃定位系統采用FPGA實現,為了在FPGA中驗證算法的可行性,將采集到的數據經PC交由DE2開發板處理。為了更真實地模擬實際系統,將需要進行相關性計算的兩組數據存在DE2上的SRAM中。限于DE2上只有一片SRAM,圖中將一片SRAM地址分為兩塊,分別存放兩組擴大后的24位定點數據x(t)、y(t),兩組數據在FPGA中完成同源匹配的計算,若同源則輸出高電平給下一級定位系統。
2.2 MATLAB算法驗證
基于以上平臺,2010年3月~5月,項目組在北京歷經兩個月的時間采集到大量雷電波形數據,選取其中編號為CH11707和CH11708的兩組數據在MATLAB中進行相關性算法驗證,將兩組數據在MATLAB中作圖,如圖2所示。
圖2中尖峰脈沖為云閃輻射脈沖,寬的部分為噪聲,由于信號到達兩天線的距離不同,故有一定的時間差,幅度衰減也不同。相關系數計算結果為-0.601 15。對采集到的大量數據進行相關性計算,對比結果可以發現,只有同一個云閃發出的同源脈沖相關系數結果是最大的,并且與非同源計算出的相關系數差別很大,如編號為CH11708和CH1203相關系數僅為0.001 974 7。
3 算法的FPGA實現
3.1 算法流程
基于以上理論分析,可列出算法流程如圖3所示。
(1)浮點定點化。采集卡采集到的數據為小數格式,而FPGA中浮點數運算的電路比定點數復雜,占用資源多,速度慢??紤]到算法與數據具體的幅值無關而與兩組波形的關系有關,因此,可以將數據擴大適當的倍數后截取為整數再輸入FPGA進行計算。但是隨著處理數據位寬的增加,會導致硬件資源占用率提高,降低運算效率。綜合考慮,選擇擴大10 000倍,以達到速度和精度上的折中。
(2)定點浮點化。由于最終計算結果是一個介于0~1之間的小數,因此除法計算前要將除數與被除數由定點數轉化成浮點數,再調用浮點數除法的IP核,得到32位浮點格式的相關系數。
3.2 算法改進
按照上述設計思路,在功能上實現了對云閃同源脈沖的判別,但是算法最大時鐘頻率為52.70 MHz,由于云閃信號處于甚高頻頻段,對系統處理速度上有較高要求。為了更好地提升系統性能,分析發現限制時鐘頻率的最壞路徑位于開方模塊,因此對開方模塊做如下改進:
(1)開方模塊:由于QUARTUS自帶的開方IP核將系統最大時鐘頻率限制在52.70 MHz,為了改進算法的效率,采用循環冗余開方算法代替開方IP核,循環冗余算法涉及到的運算有加法、減法、移位,加減法和移位較容易在硬件上實現,并且占用資源少,故可以提高算法的運算效率。更改開方模塊后系統時鐘頻率可以提升至74.47 MHz。此時系統時鐘頻率雖然有所提升,但還是被定點轉浮點模塊所限制,故對定點轉浮點模塊進行改進。
(2)定點轉浮點模塊:通常定點轉浮點的算法是通過查詢前導0的方式實現,由于定點轉浮點查詢前導0時采用了一系列的if、else邏輯,導致電路的關鍵路徑很長。因此考慮將if、else邏輯替換成“與或”邏輯,以此來縮短關鍵路徑、簡化電路、達到速度提升的目的。經過更改定點轉浮點模塊,最大時鐘頻率可以提升至98.07 MHz。
(3)優化前后性能對比:改進算法后,系統占用資源與之前對比結果如圖4所示。
由圖4可以看出,經過算法改進后,最大時鐘頻率可以由原來的52.70 MHz提升至98.07 MHz,并且邏輯單元占用數量上也明顯減少。
3.3 FPGA電路驗證
經過對代碼和算法的優化,選取編號為CH11707和CH11708的兩組同源云閃輻射脈沖進行仿真,具體仿真結果如圖5所示。
由圖5可以看到,modelsim仿真的小數結果為:
Pxy=-0.601 144 9
MATLAB計算出的相關系數為-0.601 15,modelsim仿真結果與MATLAB計算一致。
仿真成功后,加入SRAM讀寫模塊,在硬件上進行測試,通過嵌入式邏輯分析儀signaltap觀察實際的計算結果如圖6所示。
由圖6可以看到,實際硬件上計算的相關系數結果與modelsim仿真結果完全一致。
本文針對VHF云閃同源脈沖匹配的難題,提出了相關性判別的匹配算法,針對該思想完成了設計驗證以及FPGA硬件實現。在此基礎上,利用電路和算法的優化提高系統的性能,最大時鐘頻率由優化前的52.70 MHz提升至98.07 MHz,資源占用也有所減少。所做的相關性算法的FPGA硬件實現可應用于更廣泛的硬件實現相似性判斷,便于方便、快速地識別信號間的相似性。
參考文獻
[1] 佘會蓮,陳德生,謝君.VHF閃電定位技術評述[J].氣象與環境科學,2008,31(2).
[2] 張萍,趙文光.基于云閃的雷電定位系統的誤差分析[J]. 測繪通報,2009(1).
[3] 王懷斌,郄秀書,張義軍,等.云閃和地閃的波形采集、數據處理及其初步應用[J].高原氣象,2002(1).
[4] OETZEL G N,PIERCE E T.Radio emissions from close lightning.Planetary Electrodynamics,1 534-569,1969.
[5] 潘超.基于SoPC的雷電探測儀設計[J].微計算機信息,2002.
[6] OETZEL G N,PIERCE E T.VHF technique for locating lightning. Radio Science 4,199-201,1969.
[7] RUSTAN P L,UMAN M A,CHIDERS D G,et al.Lightning source locations from VHF radiation data for a flash at kennedy space center[J].Geophys.Res.,1985(C9):4893-4903.