丁江鈺 陳偉
摘要:雷達是集中現代電子科學技術先進成果的一個電子系統。20世紀80年代以來,由于微電子技術及各種電子器件的迅猛發展,使雷達的各分機及體系結構不斷更新,雷達的數字化推進迅猛并將繼續向雷達前端推進。雷達技術及其應用持續向前發展,極大地提高了雷達的性能并顯著擴展了它的應用范圍。數字化推進和應用范圍的擴展使雷達數據變的越來越多。本設計針對氣象雷達數據的變的越來越龐大的問題展開設計,利用低成本的網線來高速傳輸雷達數據,能夠完成時時傳輸大部分的雷達數據。本設計采用UDP協議編寫,利用UDP的優點來實現快速傳輸。
關鍵詞:氣象雷達;數據傳輸;UDP
隨著雷達技術不斷發展及數字化推進和應用范圍的擴展使雷達數據變的越來越多。由雷達基數據文件到雷達IQ數據文件大小不斷變大。雷達基數據文件只有70多兆字節而雷達的IQ數據現在卻達到了500兆字節以上。雷達數據的常見傳輸分成3種:外場傳輸多采采用光導纖維傳輸,雷達基數據采用網線傳輸,雷達IQ數據采用PCI總線傳輸。千兆網卡已經走進千家萬戶,網線傳輸有著很多其他傳輸方式所沒有的優點:(1)網線相對于光纖與PCI,總線的成本更低廉。(2)連接方便。光纖需要光電轉換器來連接,PCI總線要用專門的接口。(3)網線相對于PCI總線傳輸的距離更遠。更適合中程距離傳輸。
1千兆網的雷達數據通信程序設計
1.1 程序構架
接收端:
輸入存儲的文件名字。
使用socket()來建立一個UDP socket,第二個參數為SOCK_DGRAM。
初始化sockaddr_in結構的變量,并賦值。
設置套接字。
使用bind()把上面的socket和定義的IP地址和端口綁定。這里檢查bind()是否執行成功,如果有錯誤就退出。這樣可以防止服務程序重復運行的問題。
使用recvfrom()進入等待狀態,等待發送端發送文件情況。
進入循環程序,使用recvfrom()進入等待狀態,直到接收到發送端發送的文件內的數據,就處理收到的數據,并向發送端發送反饋信息。
處理接收到的數據。
關閉套接字。
發送端:
輸入發送的文件名
輸入接收端的IP地址。
使用socket()來建立一個UDP socket,第二個參數為SOCK_DGRAM。
初始化sockaddr_in結構的變量,并賦值。
使用sendto()發送文件情況。
進入循環程序,使用sendto()發送文件數據。并接收接收端的反饋信息。
關閉套接字。
2驗證
2.1驗證方法
選擇雷達文件傳輸并記錄發送時間與接收時間。用公式:。計算出本設計的傳輸速度。為了能更加準確的測量出傳送速度。我們多次測量同一文件的發送時間,并用他們的速度平均速度為傳輸速度。對一雷達文件測試先連接通用機一和通用機二從通用機一傳輸雷達文件到通用機二傳輸3次并記錄發送時間和接收時間。之后連接通用機二到通用機一再傳輸雷達文件3次并記錄發送時間和接收時間,打開兩邊文件記錄文件大小,使用校驗程序統計出誤碼個數并對收集到的數據處理分析。之后更換雷達文件重復前面的步驟。多次驗證不同的雷達數據。
2.2 雷達基數據的驗證
測試雷達基數據文件大小75497KB。通用機一傳雷達基數據給通用機二均速度為88.4MB/s,通用機二傳雷達數據給通用機一平均速度為55.2MB/s
由數據可以看出傳輸速度都在30兆字節每秒。認為是可以時時傳輸文件。
2.3 雷達IQ數據的驗證
雷達IQ數據的傳輸是本次設計程序的重點目標,雷達IQ數據由于實際需要IQ數據的傳輸要求的帶寬十分巨大,即1.2MHZ*32*2的速率,大約要70多兆每秒的速度才能達到無延遲的時時傳輸。一般現在的天線轉速為12°每秒到18°每秒,那么天線轉一圈的時間為20秒到30秒的時間。那么只要能在20秒內完成雷達IQ傳輸的,我們就可以認為我們達到了時時傳輸的效果了。一般我們的常見的雷達IQ的大小為500MB左右,那么我們的速度至少應該達到25MB每秒以上。
雷達IQ文件1:雷達的轉速為14度每秒,文件大小為458兆字節。從通用機一傳雷達IQ文件到通用機二。測得的傳輸雷達IQ文件的平均速度速度為88.7兆字節每秒。平均用時5.16秒傳輸完,用7秒存入硬盤。最小速度為82.2兆每秒,用時5.57秒傳輸完,用7秒存入硬盤。都小于20秒鐘。我們可以認為達到了時時傳輸文件的效果。從通用機二傳輸雷達IQ文件到通用機一。測得傳輸雷達IQ文件的平均速度為51.8兆字節每秒。平均用時8.84秒,用9秒存入硬盤。最小速度為51.5兆字節每秒,用時8.86秒。用9秒存入硬盤。都小于20秒鐘。我們可以認為達到了時時傳輸文件的效果。
雷達IQ文件2:雷達的轉速為14.3度每秒,文件大小為458兆字節。從通用機一傳雷達IQ文件到通用機二。測得的傳輸雷達IQ文件的平均速度速度為87.9兆字節每秒。平均用時5.21秒傳輸完,用7秒存入硬盤。最小速度為85.6兆每秒,用時5.37秒傳輸完,用7秒存入硬盤。都小于20秒鐘。我們可以認為達到了時時傳輸文件的效果。從通用機二傳輸雷達IQ文件到通用機一。測得傳輸雷達IQ文件的平均速度為51.4兆字節每秒。平均用時8.91秒,用9秒存入硬盤。最小速度為51.2兆字節每秒,用時8.95秒。用9秒存入硬盤。都小于20秒鐘。我們可以認為達到了時時傳輸文件的效果。
雷達IQ文件3:雷達的轉速為14.8度每秒,文件大小為456兆字節。從通用機一傳雷達IQ文件到通用機二。測得的傳輸雷達IQ文件的平均速度速度為89.9兆字節每秒。平均用時5.07秒傳輸完,用7秒存入硬盤。最小速度為89.1兆每秒,用時5.11秒傳輸完,用7秒存入硬盤。都小于20秒鐘。我們可以認為達到了時時傳輸文件的效果。從通用機二傳輸雷達IQ文件到通用機一。測得傳輸雷達IQ文件的平均速度為52.7兆字節每秒。平均用時8.652秒,用9秒存入硬盤。最小速度為52.0兆字節每秒,用時8.79秒。用9秒存入硬盤。都小于20秒鐘。我們可以認為達到了時時傳輸文件的效果。
由數據采集資料可以看出本設計的誤碼率為百分之零。是因為本設計雖然才用了UDP這種被稱為不可靠的傳輸協議,但我們傳輸的是大于64K的文件,為了保證文件傳輸之后能正常使用不會出現大量的誤碼。我們在上層中加入的重發機制,使文件傳輸基本不會出現誤碼。那么這樣做是否就和TCP傳輸一樣,這樣不就失去了UDP的優點甚至還不如TCP?當然回答是否定的。TCP是三次握手機制的重發,在傳每一個包的時候都會之間相互詢問等待,這樣浪費的大量的時間和系統資源。本程序采用的是每發送了N個包之后發送收端才會收到接收端的反饋信息剛剛發送的N個數據中有沒有丟包的?如果有就會重新發所丟的包。這樣減少了大量的時間。從而加快了速度的同時減少了丟包率和誤包率。
3結論
本設計采用網線傳輸的方式來完成IQ數據的時時傳輸。初步實現雷達數據高速網絡傳輸。
參考文獻
[1]張培昌,杜秉玉,等.雷達氣象學.北京:氣象出版社,2000,491-493
[2]肖艷姣,劉黎平,李中華,王紅艷.雷達反射率因子數據中的亮帶自動識別和抑制.高原氣象.2010,29(01):197-204
[3]朱永兵.組合反射率產品在天氣預警和強對流潛勢分析中的應用.廣東氣象,2005,14(03):14-16
[4]楊喜林,楊亮,劉穎,楊楊,等.可視化程序設計Visual C++.北京:北京理工大學出版社,2010,1-16
[5]:何建新,姚振東,史朝,等.氣象雷達原理與系統.成都:成都信息工程學院出版社,2010:26-34
[6]電子工業出版社出版的《CCNA學習指南》