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

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