網絡無線偵察接收機軟件系統的設計和實現
2.3 信號處理模塊的設計
為了了解信號各頻率成分的構成情況,對網絡收到的硬件采集的數據進行功率譜估計。估計方法包括經典功率譜估計和現代功率譜估計方法。系統中使用的主要是經典功率譜估計,其中又包括周期圖法和BT法,下面簡要介紹一下周期圖法計算功率譜的計算步驟:

其中步驟1)是指取觀測樣本的N個值對其進行N點的傅里葉變換,得到的結果UN(ω),步驟2)中對UN(ω)模的平方是確定信號uN(ω)的能量譜,對能量譜除以持續時間N,其結果是對uN(n)的功率譜估計。
2.4 網絡模塊的設計
網絡模塊是基于TCP/IP協議采用C/S通信模型完成的。在C/S模型中,PC屬于客戶端(Client),而硬件屬于服務器端(Server)。由用戶在界面上設置連接硬件所需要的IP地址和端口號,PC端主動向硬件發起連接。連接建立以后,PC通過以太網接收硬件采集的數據。圖2展示了C/S通信模型的實現框架。本文引用地址:http://www.104case.com/article/156586.htm
實際上,在網絡中傳送的數據都被分割成包(packet)的形式進行傳送。在進行客戶端程序開發的時候,出現“粘包”問題。“粘包”指的是發送方發送的若干個數據包到接收方時都粘在一起。圖3(a)~(d)分別展示PC接收到各種粘包的情況。引起“粘包問題”的原因主要包括以下兩個:1)發送端:TCP為了提高傳輸效率,如果發送方發送的數據包很小,TCP不會立即將該數據包發送出去,而是等收集到足夠多的數據,將幾個數據包合成一個包才發送出去;2)客戶端:接收方用戶進程沒有及時處理接收到的數據,即下一包數據到達時前一包數據尚未被用戶進程取走,則下一包數據則放在前一包數據之后。
為了解決“粘包”問題,Client和Server端約定好發送數據包的格式如圖4所示。
c++相關文章:c++教程
評論