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