季 澈,彭林寧,,胡愛群,,王 棟
(1.東南大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,南京,211189;2.網(wǎng)絡(luò)通信與安全紫金山實(shí)驗(yàn)室,南京,211189)
近年來,通訊設(shè)備,主要包括個(gè)人通訊設(shè)備和工業(yè)通訊設(shè)備的數(shù)量呈現(xiàn)飛速增長[1],其主要原因是無線通信理論及其應(yīng)用的發(fā)展。通訊設(shè)備的廣泛使用必然帶來對設(shè)備安全隱患的研究和預(yù)防,其中無線設(shè)備的接入安全作為無線網(wǎng)絡(luò)安全的重要一環(huán),也受到學(xué)界重視并得到了深入研究。主要研究內(nèi)容是無線接入點(diǎn)和終端用戶對通信設(shè)備的識別和認(rèn)證。
傳統(tǒng)的認(rèn)證模式,多以用戶設(shè)備提供的認(rèn)證信息為認(rèn)證目標(biāo)。例如,應(yīng)用IPsec(IP security)協(xié)議的IPv6技術(shù),通過ESP(Encapsulating security payloads)協(xié)議指定加解密算法和認(rèn)證算法,通過IKE(Internet key exchange)協(xié)議來進(jìn)行密鑰的管理和交換,用戶提供hash值等身份信息作為認(rèn)證目標(biāo),AH協(xié)議可以使接收方認(rèn)證發(fā)送方的身份信息,同時(shí)確保數(shù)據(jù)的完整性。
隨著量子計(jì)算機(jī)的出現(xiàn),計(jì)算機(jī)的計(jì)算性能大幅提升,密碼學(xué)領(lǐng)域的現(xiàn)有研究亟待突破,此外,身份信息的泄露也是影響當(dāng)前認(rèn)證體系的問題之一。近年來,使用物理手段獲取設(shè)備的身份信息這一方向得到了廣泛研究,其中通過電磁波提取設(shè)備的射頻指紋作為身份標(biāo)識是一大熱點(diǎn)[2-7]。
射頻指紋的提取方法主要分為穩(wěn)態(tài)響應(yīng)的指紋提取和瞬態(tài)響應(yīng)的指紋提取[8-10],其中基于瞬態(tài)響應(yīng)的指紋提取主要是依據(jù)系統(tǒng)開啟或者關(guān)閉的瞬間電磁波的包絡(luò)和相位信息等對于不同的設(shè)備有差異性。瞬態(tài)響應(yīng)受信噪比的影響較大,且捕捉難度較大,所以基于瞬態(tài)響應(yīng)的指紋提取應(yīng)用范圍相對較窄。
基于穩(wěn)態(tài)響應(yīng)的指紋提取主要是對基帶信號的頻率偏移,I/Q偏移,幅度相位誤差等射頻特征的提取。由于基帶信號相較瞬時(shí)信號穩(wěn)定很多,所以基于穩(wěn)態(tài)響應(yīng)的指紋提取應(yīng)用范圍廣于瞬態(tài)響應(yīng)。
在基于穩(wěn)態(tài)響應(yīng)的指紋提取中,應(yīng)用最多的是對頻率偏移的提取,而在頻率偏移的提取過程中,需要知道信號協(xié)議來進(jìn)行幀前導(dǎo)的定位。不同協(xié)議的信號需要使用不同的方法進(jìn)行提取,普適性較差,且遇到不同協(xié)議信號同時(shí)傳輸?shù)那闆r難以處理,另外,若不知道信號具體的傳輸協(xié)議,則無法有效提取頻偏特征。
本文試圖找到一種對所有協(xié)議通用的射頻指紋提取方法,主要是找到一種通用的前導(dǎo)碼定位方法,因此本文研究Airmax信號這一基于私有協(xié)議的信號。本文以UBNT(Ubiquiti networks)公司生產(chǎn)的Rocket M2系列網(wǎng)橋?yàn)閷?shí)驗(yàn)對象,用兩臺網(wǎng)橋和兩臺主機(jī)搭建一個(gè)局域網(wǎng),通過USRP設(shè)備接收網(wǎng)橋發(fā)出的信號,使用信號處理的手段獲取頻率偏移等射頻指紋特征,最后使用決策樹,k近鄰等機(jī)器學(xué)習(xí)模型對網(wǎng)橋設(shè)備進(jìn)行分類識別和驗(yàn)證。由于Airmax信號的傳輸協(xié)議是一種私有協(xié)議,外部人員無法得知協(xié)議具體內(nèi)容,以往的基于協(xié)議的提取方法都無法直接使用,本文沒有破解信號協(xié)議,而是采用物理手段,即信號處理的一些方法,實(shí)現(xiàn)了頻偏等射頻特征的提取。
本文所使用的硬件主要包括Rocket M2系列網(wǎng)橋以及USRP(Universal software radio peripheral)通用軟件無線電外設(shè)平臺和電腦主機(jī)。
軟件無線電平臺由Ettus公司生產(chǎn)的USRP N210主機(jī)和CBX射頻子板構(gòu)成,工作頻段為1.2~6 GHz,最大采樣率25 MS/s,上位機(jī)采用Linux系統(tǒng)接收和處理數(shù)據(jù),實(shí)物圖如圖1所示。
Airmax設(shè)備的頻點(diǎn)設(shè)定為2.4 GHz,USRP的采樣率設(shè)定為20 MS/s,每次采集16 MS數(shù)據(jù),采集的環(huán)境分別為LOS環(huán)境和NLOS環(huán)境,其中LOS環(huán)境共采集了10組數(shù)據(jù),NLOS環(huán)境共采集了3組數(shù)據(jù)。
Airmax是一種無線技術(shù),由美國UBNT公司開發(fā),用來提升無線傳輸速率和網(wǎng)絡(luò)承載能力,目前只能兼容UBNT M2系列產(chǎn)品。
標(biāo)準(zhǔn)Wi-Fi協(xié)議基于RTS/CTS機(jī)制,共享帶寬,當(dāng)連接設(shè)備的傳輸速率水平不一時(shí),整體效率會被速率較慢的設(shè)備拖累。Airmax設(shè)備采用TDMA技術(shù),各臺設(shè)備在不同的時(shí)隙工作,互不干擾,且系統(tǒng)可以智能地分配更好的資源給需求較大的設(shè)備。
但Airmax設(shè)備所用的是私有協(xié)議,在進(jìn)行幀前導(dǎo)提取時(shí)無法沿用已有的方法。
圖1 USRP實(shí)物圖Fig.1 USRP physical map
圖2是手動(dòng)截取的一段幀前導(dǎo),其中縱坐標(biāo)表示經(jīng)過歸一化后的信號幅度,橫坐標(biāo)表示時(shí)間,單位為0.05 μs。從圖2可以發(fā)現(xiàn)幀前導(dǎo)的波形與OFDM信號較為相似,都可看成是不同頻率不同幅度的多個(gè)子載波相加得到。
通過大量實(shí)驗(yàn)觀察手動(dòng)截取的Airmax信號幀前導(dǎo),發(fā)現(xiàn)前導(dǎo)碼均是由10個(gè)符號組成。在20 MS/s采樣率的前提下,每個(gè)符號共32點(diǎn),因此每段前導(dǎo)碼的長度確定為320點(diǎn)。
幀前導(dǎo)的捕獲共分為兩大步驟,分別是粗同步和精確同步,本文將依次介紹這兩個(gè)步驟。
圖2 手動(dòng)截取的幀前導(dǎo)信號Fig.2 Manually intercepted frame preamble
2.2.1 粗同步
對手動(dòng)捕捉的大量前導(dǎo)碼進(jìn)行FFT,結(jié)果如圖3所示。圖3上半部分是手動(dòng)抓取的前導(dǎo)碼,下半部分是對該前導(dǎo)碼進(jìn)行了320點(diǎn)的FFT之后得到的頻域圖,其中橫坐標(biāo)是經(jīng)過歸一化后的頻率。可以發(fā)現(xiàn)前導(dǎo)碼只有在有限個(gè)點(diǎn)上有較大的值,其他點(diǎn)的值接近于0,這個(gè)特征和Wi-Fi信號類似。圖4是802.11n信號前導(dǎo)碼的時(shí)域和頻域圖??梢园l(fā)現(xiàn)兩者都是在個(gè)別頻點(diǎn)有值,在其余頻點(diǎn)受噪聲影響有微弱能量。
記有明顯能量分布的有限個(gè)頻點(diǎn)的索引集合為I,所有頻點(diǎn)的集合為U,傅里葉變換的長度為N,x(i)表示第i個(gè)點(diǎn)的信號,其中i∈[1,N]。記點(diǎn)數(shù)為一個(gè)FFT長度的信號塊為一個(gè)搜索單元xi,其中xi=[x(i),x(i+1),…,x(i+N-1)]。
定義粗同步判別閾值,幀前導(dǎo)的搜索范圍為整個(gè)基帶信號,使用幀前導(dǎo)搜索算法搜索出距當(dāng)前索引位置最近的,判決項(xiàng)ηi大于閾值η的搜索單元。搜索算法如下。
算法1步長幀前導(dǎo)搜索算法
輸入:USRP采集的原始數(shù)據(jù)文件,當(dāng)前索引為i,步長為T。
輸出:ηi大于閾值η的第一個(gè)搜索單元的起始索引。
(1)對于xi,計(jì)算
圖3 Airmax前導(dǎo)碼時(shí)域和頻域圖像Fig.3 Time and frequency domain images of Airmax preamble
圖4 Wi-Fi前導(dǎo)碼時(shí)域和頻域圖像Fig.4 Time and frequency domain images of Wi-Fipreamble
(2)比較η i與η,若η i≥η,返回i且算法結(jié)束,否則i加T,回到第1步。
閾值η的選取受信噪比的影響較大,記所有幀前導(dǎo)信號信噪比的最小值為S N Rmin,其中
為了保證輸出的搜索單元內(nèi)至少有1個(gè)符號,需要設(shè)置η≥η′,其中
若η<η′,可能會導(dǎo)致輸出的搜索單元中不含有任何的幀前導(dǎo)符號;若η取值過大,可能會導(dǎo)致原本符合要求的幀前導(dǎo)未被搜索到。經(jīng)過大量實(shí)驗(yàn),發(fā)現(xiàn)η取4~9都符合要求,本文取η=7。
步長T用來控制搜索效率。T越小,搜索效率越低;T越大,搜索效率越高,但可能會出現(xiàn)幀前導(dǎo)未被搜索到的情況。本文取T=1 000。
2.2.2 精確同步
通過粗同步得到的索引只能確定幀前導(dǎo)在該索引附近,但無法準(zhǔn)確確定幀前導(dǎo)的第一個(gè)索引位置,這是因?yàn)榧词够烊敕菐皩?dǎo)信號,只要搜索單元中包含一個(gè)Airmax符號,經(jīng)過FFT之后也可以顯示出如圖5所示的頻譜特性,只是能量會相對較低。從圖5可以明顯看出,進(jìn)行FFT的信號除了包含7個(gè)符號外,還包括了前面的一段噪聲,因此為了準(zhǔn)確確定幀前導(dǎo)的位置,還需要進(jìn)行精確同步。
記標(biāo)準(zhǔn)幀前導(dǎo)的時(shí)域信號為s(n),點(diǎn)數(shù)為FFT變換的長度N,則手動(dòng)截取的幀前導(dǎo)信號x(n)可以表示為
式中:μ(n)為截取的幀前導(dǎo)信號中混雜的噪聲信號,通過實(shí)驗(yàn)驗(yàn)證,該噪聲可近似于白噪聲。
記通過粗同步搜索到的信號為x′(n),則有
式中:μ′(n)為搜索單元中混雜的噪聲信號,L為幀前導(dǎo)信號在搜索單元中的偏移量。
若L>N,則表示x′(n)中沒有任何符號,沒有進(jìn)行精確同步的意義。但粗同步可以保證輸出的搜索單元內(nèi)至少有1個(gè)符號,所以可以保證得到的偏移量L∈[0,N]。由下文的推導(dǎo)可知,當(dāng)L∈[0,N]時(shí),通過精確同步一定可以找到幀前導(dǎo)的準(zhǔn)確起始位置。
因?yàn)閹皩?dǎo)信號后是一些長度不定的符號,不可以將其當(dāng)作噪聲處理,所以相關(guān)運(yùn)算的起點(diǎn)只能在幀前導(dǎo)信號的左方。以圖5為例,起點(diǎn)在幀前導(dǎo)信號前一段的噪聲處,所以這里的L是正數(shù),即搜索單元中的幀前導(dǎo)信號的起點(diǎn)應(yīng)該在搜索單元起點(diǎn)的右側(cè)。
圖5 包含噪聲的Airmax前導(dǎo)碼時(shí)域和頻域圖像Fig.5 Time and frequency domain images of Airmax preamble with noise
對x(n)和x′(n)作相關(guān)運(yùn)算,得
μ(n),μ′(n)可以看作白噪聲,所以均為 0,最終得到
根據(jù)自相關(guān)函數(shù)的性質(zhì),rs(m-L)的最大值在m=L時(shí)取得,因此函數(shù)rxx′(m)的極大值點(diǎn)就是幀前導(dǎo)信號在搜索單元中的偏移量,也就是幀前導(dǎo)信號準(zhǔn)確的起始位置。如圖6所示,上半部分表示的是經(jīng)過粗同步之后搜索到的搜索單元,下半部分是相關(guān)函數(shù)的圖像,可以發(fā)現(xiàn)相關(guān)函數(shù)的極大值點(diǎn)與幀前導(dǎo)信號的起始點(diǎn)完全一致。
2.2.3 時(shí)間復(fù)雜度分析
記n為數(shù)據(jù)文件內(nèi)信號的總點(diǎn)數(shù),m為搜索單元長度。粗同步過程對每一個(gè)搜索單元作多次基本運(yùn)算(m次乘法,m-2次加法,1次選擇)和一次對數(shù)運(yùn)算。搜索整個(gè)數(shù)據(jù)文件的次數(shù)為,因此粗同步的時(shí)間復(fù)雜度為
圖6 前導(dǎo)碼和相關(guān)函數(shù)圖像Fig.6 Preamble and correlation function image
精確同步在每次得到粗同步的結(jié)果后,進(jìn)行m次乘法運(yùn)算,所以精確同步的時(shí)間復(fù)雜度為O(n)??梢园l(fā)現(xiàn)粗同步和精確同步的時(shí)間復(fù)雜度相當(dāng),但由于粗同步的基本運(yùn)算次數(shù)是精確同步的兩倍,所以粗同步的總時(shí)間會大于精確同步。
實(shí)驗(yàn)結(jié)果表明,提取單個(gè)幀前導(dǎo),粗同步所花費(fèi)的時(shí)間為0.017 4 s,而精確同步所花費(fèi)的時(shí)間為0.007 82 s。粗同步花費(fèi)的時(shí)間大約是精確同步的兩倍,與理論相符。
通過粗同步和精確同步,可以找到原始數(shù)據(jù)文件中所有的幀前導(dǎo),下面的工作就是從幀前導(dǎo)信號中提取射頻指紋。穩(wěn)態(tài)響應(yīng)的射頻指紋主要包括頻率偏移,幅度誤差和相位誤差等,本文主要討論頻率偏移和幅度誤差。
基帶信號兩個(gè)符號對應(yīng)位置的兩個(gè)點(diǎn)的相位應(yīng)該相同,即ωbN1=2kπ,k∈Z。對共軛相乘得到的復(fù)數(shù)取輻角,即可計(jì)算出Δωr
由于信道噪聲等影響,一些能量較弱的點(diǎn)會使得結(jié)果的精確度降低,因此需要對這些點(diǎn)進(jìn)行篩選。定義篩選因子α,信號的平均能量為W,對于每段幀前導(dǎo)信號,計(jì)算R(n)R(n+N1)。
若R(n)R(n+N1)≥(1+α)W,則保留xr(n),否則丟棄。α可以根據(jù)系統(tǒng)需求自定義,但過大會導(dǎo)致保留的點(diǎn)數(shù)過少,一般取0.1~0.4之間,本文取α=0.3。計(jì)算篩選過后的每個(gè)信號點(diǎn)的頻偏,最后取平均值,就可以得到該前導(dǎo)碼的估計(jì)頻偏。
圖7為200段前導(dǎo)碼的頻偏直方圖,其中每項(xiàng)數(shù)據(jù)表示一段前導(dǎo)碼的頻偏,可以發(fā)現(xiàn),在誤差允許的范圍內(nèi),頻偏可以大致分為兩類,而網(wǎng)橋設(shè)備確實(shí)有兩臺,與實(shí)際相符。
圖8為頻率分布直方圖,通過圖8可以更好地看出頻偏的分布,從圖8可以看出,頻偏聚集在0.1和-0.5附近。
圖7 200段前導(dǎo)碼頻偏直方圖Fig.7 Frequency offset histogram of 200 preambles
圖8 頻偏頻率分布直方圖Fig.8 Frequency distribution histogram of frequency offset
對于每一段幀前導(dǎo)信號,按照3.1節(jié)的方法,可以得到每個(gè)信號點(diǎn)頻率偏移估計(jì)值。除了使用均值作為特征以外,還可以考慮使用這些頻率偏移的方差,因?yàn)榉讲罘从沉祟l偏的穩(wěn)定性,從而間接反映了設(shè)備的穩(wěn)定性。
200段前導(dǎo)碼的頻偏方差直方圖如圖9所示??梢园l(fā)現(xiàn)雖然方差的穩(wěn)定性不如頻偏,但也能大致分為兩類。圖10是方差的頻率分布直方圖,雖然區(qū)分不如頻偏的直方圖明顯,但從核密度估計(jì)曲線可以看出方差的分布圍繞著兩個(gè)中心。
圖9 頻偏方差直方圖Fig.9 Histogram of frequency offset variance
圖10 頻偏方差頻率分布直方圖Fig.10 Frequency distribution histogram of frequency offset variance
由于多徑信道的影響,信號的幅頻曲線不是一條直線,而會發(fā)生不同程度的衰落,即不同頻點(diǎn)的信號能量會隨機(jī)衰落。雖然不同時(shí)間的衰落曲線不一定相同,但本文假定相差極短時(shí)間的衰落曲線一致,即可以認(rèn)為同一段幀前導(dǎo)信號的衰落曲線不隨時(shí)間變化,在這個(gè)前提下,不同符號的相同頻點(diǎn)應(yīng)該有相同的衰落程度。
記Airmax幀前導(dǎo)頻譜圖中有值的12個(gè)頻點(diǎn)的索引為L1,L2,…,L12,Xb(Li)為基帶信號在頻點(diǎn)Li的幅度為接收機(jī)在頻點(diǎn)Li,時(shí)間n的信號幅度;Xnt(Li)為發(fā)射機(jī)在頻點(diǎn)Li,時(shí)間n的信號幅度;為信道信號在頻點(diǎn)Li,時(shí)間n的信號幅度為接收機(jī)在頻點(diǎn)Li,時(shí)間n的增益,表征信道中的信號經(jīng)過接收機(jī)后不同頻點(diǎn)信號幅度的變化為發(fā)射機(jī)在頻點(diǎn)Li,時(shí)間n的增益為發(fā)射機(jī)在頻點(diǎn)Li,時(shí)間n的增益。
由上文的假設(shè),同一幀信號不同符號的相同頻點(diǎn)信道衰落相同,即可以通過式(6)計(jì)算得到。
將一段幀前導(dǎo)分為長度相等的兩段,則每段都有相同數(shù)量的Airmax符號,且對應(yīng)位置的時(shí)延為N1,所以可以得到
由于存在gc(Li)這一衰落因子的影響,若單純使用作為指紋特征,必然存在較大的不穩(wěn)定性。為了消去多徑信道的復(fù)雜影響,可以將對應(yīng)頻點(diǎn)的信號幅度相除,即
可以將ρ(Li)作為射頻指紋的特征,因?yàn)楣灿?2個(gè)頻點(diǎn),所以幅度相關(guān)的特征維數(shù)為12。
分別采集兩臺Airmax設(shè)備的信號,分別取100組幀前導(dǎo)信號計(jì)算每個(gè)設(shè)備的12個(gè)幅度相關(guān)的射頻指紋特征,在每臺設(shè)備的100組幀前導(dǎo)中任選一組,繪制成如圖11所示的直方圖。
圖11橫軸表示12個(gè)頻點(diǎn),縱軸表示兩臺設(shè)備在各個(gè)頻點(diǎn)的幅度指紋特征ρ(Li),從圖中可以看出兩臺設(shè)備的ρ(L1),ρ(L9),ρ(L10)等特征有著明顯的區(qū)別,其他頻點(diǎn)的特征區(qū)別不大。考慮到單個(gè)幀前導(dǎo)的結(jié)果存在偶然性,所以將每臺設(shè)備的幀前導(dǎo)得到的指紋取平均值,得到的直方圖如圖12所示。
圖11 幅度指紋直方圖Fig.11 Histogram of amplitude fingerprint
圖12 平均幅度指紋直方圖Fig.12 Histogram of average amplitude fingerprint
從圖12中可以發(fā)現(xiàn)兩臺設(shè)備的幅度指紋特征確實(shí)存在差異,在個(gè)別頻點(diǎn)上存在明顯差異,為了進(jìn)一步說明這種差異,可以繪制頻率分布直方圖。
圖13是設(shè)備1在頻點(diǎn)L1的特征ρ(L1)的頻率分布直方圖,圖14是設(shè)備2在頻點(diǎn)L1的特征ρ(L1)的頻率分布直方圖??梢钥闯鲈O(shè)備1的特征ρ(L1)與設(shè)備2相比,集中分布在0.97附近,而設(shè)備2的特征集中分布在1.10附近。通過圖15可以更好地看出這一點(diǎn)。
圖13 設(shè)備1幅度特征直方圖Fig.13 Histogram of equipment 1 amplitude fingerprint
圖14 設(shè)備2幅度特征直方圖Fig.4 Histogram of equipment 2 amplitude fingerprint
從圖15可以看出ρ(L1)的類間差距比類內(nèi)差距更為明顯,因此ρ(L1)可以用作區(qū)分設(shè)備的特征之一。
其余11個(gè)頻點(diǎn)的實(shí)驗(yàn)過程不再重復(fù),實(shí)驗(yàn)結(jié)論是,盡管區(qū)分度小于頻偏,幅度相關(guān)的特征也能作為輔助特征使用。
本文使用K-means算法和決策樹模型分別進(jìn)行設(shè)備的分類訓(xùn)練,將分別闡述這兩種方法的具體算法,實(shí)驗(yàn)過程與實(shí)驗(yàn)結(jié)果。
圖15 兩臺設(shè)備的幅度特征頻數(shù)分布直方圖Fig.15 Frequency distribution histogram of amplitude fingerprint
受實(shí)驗(yàn)條件限制,可供實(shí)驗(yàn)的Airmax設(shè)備數(shù)量較少,且測試環(huán)境也是由兩臺Airmax組成的局域網(wǎng),所以考慮使用簡單的K-means算法進(jìn)行設(shè)備分類。
4.1.1 K-means算法
算法2K-means算法
輸入:訓(xùn)練集D,聚類中心個(gè)數(shù)M。
輸出:訓(xùn)練集D的分類結(jié)果。
(1)對射頻指紋特征進(jìn)行標(biāo)準(zhǔn)化,將每類特征的數(shù)值縮放到-1~1之間,任選M個(gè)聚類中心。
(2)將數(shù)據(jù)集D的每個(gè)樣本按最小距離準(zhǔn)則劃分到M類中的某一類。
(3)計(jì)算各類的均值向量作為重新分類后的聚類中心。
(4)若聚類中心保持不變,算法結(jié)束,輸出各個(gè)樣本的類標(biāo),否則轉(zhuǎn)第2步。
4.1.2 Airmax設(shè)備分類
由于每次實(shí)驗(yàn)都是兩臺Airmax設(shè)備同時(shí)工作,所以類標(biāo)信息無法直接得到。本文采用了斷電的方法,即在局域網(wǎng)工作狀態(tài)中使一臺設(shè)備斷電,然后采集工作頻率的信號,這樣采集到的信號可以歸為同一個(gè)設(shè)備,采集完成后再通電并使另一臺設(shè)備斷電,就可以采集到第二臺設(shè)備的信號。使用算法3進(jìn)行實(shí)驗(yàn),得到的準(zhǔn)確率為100%。以頻偏為橫軸,頻偏方差為縱軸畫出聚類圖如圖16所示。圖中的兩類點(diǎn)是聚類后的結(jié)果,可以看出在實(shí)驗(yàn)室環(huán)境下,K-means算法對這兩臺設(shè)備的分類較為準(zhǔn)確。
圖16 設(shè)備特征聚類圖Fig.16 Device feature clustering image
K-means算法的優(yōu)點(diǎn)是模型簡單,運(yùn)行效率高,但K-means算法屬于無監(jiān)督學(xué)習(xí),樣本的先驗(yàn)信息沒有用到,且聚類中心個(gè)數(shù)的選取需要進(jìn)行大量實(shí)驗(yàn)。
決策樹模型對于非線性分類往往有較好的效果,因此本文嘗試用CART分類樹算法進(jìn)行設(shè)備識別與分類。優(yōu)化目標(biāo)選擇基尼系數(shù),基尼系數(shù)代表了模型的不純度,基尼系數(shù)越小,則不純度越低,特征越好[11-12]。假設(shè)有k個(gè)類別,第i個(gè)類別的概率為pi,則基尼系數(shù)的表達(dá)式為
4.2.1 決策樹生成算法
算法3決策樹生成算法
輸入:指紋特征訓(xùn)練集,樣本數(shù)量閾值,基尼系數(shù)閾值。
輸出:決策樹T。
(1)判斷樣本個(gè)數(shù),若小于閾值,返回決策子樹。
(2)計(jì)算并判斷D指紋數(shù)據(jù)集的基尼系數(shù),若小于閾值,返回決策子樹。
(3)計(jì)算指紋數(shù)據(jù)集關(guān)于每個(gè)特征的基尼系數(shù)。
(4)對步驟3中的基尼系數(shù)排序,取出系數(shù)最小的特征,以該特征值作為切分依據(jù),將指紋數(shù)據(jù)集分為兩部分。
(5)對兩個(gè)子節(jié)點(diǎn)重復(fù)步驟(1)~(4),生成決策樹。
4.2.2 Airmax設(shè)備分類
使用上述決策樹模型進(jìn)行分類。首先進(jìn)行數(shù)據(jù)預(yù)處理,對樣本進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化;再使用簡單交叉驗(yàn)證法,選定一部分?jǐn)?shù)據(jù)作為訓(xùn)練集,其余作為測試集;再通過訓(xùn)練集訓(xùn)練模型參數(shù);最后在測試集上計(jì)算誤差。
本文設(shè)定70%的數(shù)據(jù)作為訓(xùn)練集,30%的數(shù)據(jù)作為測試集。將樣本的指紋特征及其類標(biāo)信息存儲到CSV文件中,作為指紋庫,截取一部分如表1所示。使用決策樹模型對指紋庫進(jìn)行分類,得到的準(zhǔn)確率為100%,說明決策樹模型在該二分類問題上的性能較好。但目前為止的實(shí)驗(yàn)都是針對二分類問題,對于多分類問題的準(zhǔn)確性還有待確定。
為了驗(yàn)證該方法對于多分類問題的準(zhǔn)確性,另取兩臺Airmax網(wǎng)橋設(shè)備入庫并進(jìn)行分類訓(xùn)練。實(shí)驗(yàn)結(jié)果表明使用決策樹模型對4臺設(shè)備的指紋庫進(jìn)行分類,得到的準(zhǔn)確率為100%。
表1 指紋庫部分樣本的指紋特征Table 1 Fingerprint characteristics of some samples in fingerprint database
支持向量機(jī)(Support vector machine,SVM)也是常用的分類模型,并且核函數(shù)的使用使得SVM模型可以更好地應(yīng)對非線性可分的數(shù)據(jù)集。本文選擇高斯徑向基核函數(shù)構(gòu)造分類器。
4.3.1 SVM學(xué)習(xí)算法
算法4基于核函數(shù)的SVM學(xué)習(xí)算法
輸入:訓(xùn)練集D={(x1,y1),…,(xN,yN)},其中xi為第i個(gè)樣本的特征向量,yi為第i個(gè)樣本的類標(biāo)。
輸出:分類決策函數(shù)。
(1) 選用高斯徑向基函數(shù)K,求解最優(yōu)化問題
(3)構(gòu)造決策函數(shù)
4.3.2 Airmax設(shè)備分類
使用算法4生成決策函數(shù),其中數(shù)據(jù)預(yù)處理的步驟與4.2.2節(jié)相同。由于類別總數(shù)為4,訓(xùn)練時(shí)采用間接法,依次把某個(gè)類別的樣本歸為一類,其他剩余的樣本歸為另一類,對這樣4個(gè)數(shù)據(jù)集分別訓(xùn)練,測試時(shí)分別利用這4個(gè)訓(xùn)練模型測試,選取準(zhǔn)確率最高的作為最后的結(jié)果。使用SVM模型對4臺設(shè)備進(jìn)行分類,得到的準(zhǔn)確率為88.3%。
與K-means算法,決策樹模型,SVM模型的流程類似,本文又選取了隨機(jī)森林模型,邏輯斯蒂回歸模型,神經(jīng)網(wǎng)絡(luò)模型等進(jìn)行了Airmax設(shè)備分類。其中隨機(jī)森林模型的子樹數(shù)量為100,優(yōu)化目標(biāo)為基尼系數(shù);邏輯斯蒂回歸模型的學(xué)習(xí)方法為擬牛頓法,優(yōu)化目標(biāo)為似然函數(shù);神經(jīng)網(wǎng)絡(luò)模型的學(xué)習(xí)方法為梯度下降法,損失函數(shù)定義為模型輸出和觀測結(jié)果之間的歐式距離,隱藏層數(shù)為1,隱藏層節(jié)點(diǎn)數(shù)為7,輸入層節(jié)點(diǎn)數(shù)為14,輸出層節(jié)點(diǎn)數(shù)為2。各模型的參數(shù)都經(jīng)過實(shí)驗(yàn)調(diào)整至最優(yōu)(準(zhǔn)確率最高)。
本文對多種分類模型對于4臺Airmax設(shè)備的分類結(jié)果(運(yùn)行時(shí)間和測試集準(zhǔn)確率)進(jìn)行了比較,比較結(jié)果見表2。從表2可以發(fā)現(xiàn),對于本文的4分類問題,K-means算法的運(yùn)行時(shí)間最少,準(zhǔn)確率相對于SVM算法和邏輯斯蒂回歸模型較高,但相對于決策樹,隨機(jī)森林等模型較低。
表2 各模型的運(yùn)行時(shí)間和準(zhǔn)確率Table 2 Run time and accuracy of each model
K-means算法和決策樹模型由于模型簡單,收斂速度較快,所以運(yùn)行效率較高,同時(shí)由于該問題的特征維度和類別總數(shù)較少,所以分類準(zhǔn)確率并不低。而神經(jīng)網(wǎng)絡(luò)等模型較為復(fù)雜,收斂速度相對較慢,因此運(yùn)行效率低于K-means算法和決策樹模型。
從準(zhǔn)確率來看,對于線性不可分問題,邏輯斯諦回歸模型的準(zhǔn)確率要小于決策樹和神經(jīng)網(wǎng)絡(luò),神經(jīng)網(wǎng)絡(luò)因?yàn)橛辛穗[藏層,可以較好地處理線性不可分問題。
本文介紹了Airmax設(shè)備射頻指紋的特征提取方法,包括粗同步,精確同步以及14維特征的提取,并使用K-means聚類模型,決策樹模型分別對兩臺,4臺設(shè)備進(jìn)行分類和預(yù)測。系統(tǒng)的流程圖如圖17所示。首先通過粗同步和精確同步從基帶信號中提取前導(dǎo)碼;再從前導(dǎo)碼中提取14維指紋特征作為指紋數(shù)據(jù)集;最后將數(shù)據(jù)集劃分為訓(xùn)練集和測試集,并使用機(jī)器學(xué)習(xí)模型進(jìn)行分類預(yù)測。
圖17 系統(tǒng)流程圖Fig.17 Flow chart of system
K-means聚類模型較為簡單,并且對兩臺設(shè)備的分類準(zhǔn)確率達(dá)到100%,但是4臺設(shè)備的分類準(zhǔn)確率小于決策樹模型,決策樹模型對兩臺,4臺設(shè)備的分類準(zhǔn)確率均達(dá)到了100%。
本文提取射頻指紋的過程中沒有直接用到信號協(xié)議,在定位前導(dǎo)碼的過程中采用了手動(dòng)抓取一段樣本前導(dǎo)碼結(jié)合相關(guān)運(yùn)算,傅里葉變換等信號處理方法,成功實(shí)現(xiàn)了不借助信號協(xié)議的前導(dǎo)碼定位,而之前的射頻指紋提取研究都借助了信號協(xié)議,例如Wi-Fi信號射頻指紋的提取。在不知道信號協(xié)議的情況下,本文為射頻指紋的提取提供了新的思路和方法。在分類識別過程中,由于實(shí)驗(yàn)條件的限制,目前還未能對更多的設(shè)備進(jìn)行實(shí)驗(yàn)。未來在實(shí)驗(yàn)條件允許的情況下,可以增加設(shè)備的數(shù)量測試分類準(zhǔn)確率,同時(shí)可以通過提高采樣率來進(jìn)一步提取瞬態(tài)響應(yīng),DCTF等特征。