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