999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

K近鄰算法在雷達信號識別中的應用

2016-11-17 08:27:18李寶雙
艦船電子對抗 2016年4期
關鍵詞:分類信號

徐 曄,李寶雙

(中國船舶重工集團公司第723研究所,揚州 225001)

?

K近鄰算法在雷達信號識別中的應用

徐 曄,李寶雙

(中國船舶重工集團公司第723研究所,揚州 225001)

介紹了機器學習算法中的K近鄰算法,討論了該算法在雷達信號識別中的應用,用python語言實現了雷達識別程序,并分析了得到的結果,闡述了對算法結果產生影響的幾方面內容。

K近鄰算法;python語言;雷達信號識別

0 引 言

雷達信號識別是在信號分選的基礎上,根據得到的雷達射頻、重頻、脈寬等信息,與數據庫中的已知信息進行比對,從而得到雷達的名稱、平臺、型號等信息的過程。雷達信號識別的結果為決策機構提供了相關敵對方雷達的工作方式、平臺類型、威脅程度等信息,是指揮判斷的重要依據。雷達識別的一般流程如圖1所示。

圖1 雷達識別的一般流程圖

雷達信號識別有多種方法,如現在使用的最大隸屬度法、模板匹配法等。本文使用的K近鄰算法屬于機器學習算法的一種。

1 K近鄰算法概述

雷達信號識別的目的就是根據特征對目標雷達進行分類,機器學習中有多種方法進行分類,其中的K近鄰算法屬于學習方法中的一種,因為該類算法需要明確知道目標變量的分類信息,所以被稱為監督學習算法,否則被稱為無監督學習算法。K近鄰算法的工作原理是:存在一個樣本數據集合,稱之為訓練樣本集,樣本中的每一數據都有自己的分類標志,即樣本中的數據都明確地對應一個所屬的分類。當新輸入的數據沒有明確的分類標志時,將該數據的特征與樣本集中數據的特征進行比較,然后算法提取相似度最高的數個數據的分類標志,以此來確定新輸入數據的類型。一般情況下取前K個最相似數據中出現次數最多的分類標志,并將其作為未知信號的分類。

K近鄰算法的一般流程如下:

(1) 收集數據:可以使用多種方法收集數據。

(2) 準備數據:找到需要的特征值,將數據進行格式化。

(3) 測試算法:計算錯誤率。

(4) 使用算法:首先需要輸入樣本數據和結構化的輸出結果,然后運行K臨近算法判定輸入數據分別屬于哪個分類,最后對計算出的分類進行后續處理。

K近鄰算法的優缺點及適用范圍:

優點:精度較高,對異常值不敏感,無數據輸入假定。

缺點:時間、空間復雜度較高。

K近鄰算法可適用于數值型等類型數據。

2 在雷達識別中使用K近鄰算法

2.1 參數和測量方法的選取

在雷達識別中使用K近鄰算法,第1步需要收集數據,可使用預設置的雷達信號參數,第2步是確定數據的特征值并對其進行格式化。當前情況下,信號分選可提供的參數主要有雷達的射頻類型、射頻值、重頻類型、重頻值、脈寬值、方位、幅度這幾種。根據經驗可知,方位值及幅度值受單次測量影響較大,無法作為識別的依據。因此,選取射頻、重頻、脈寬3個值作為雷達信號識別的特征值。計算特征值間的距離時,使用歐氏距離進行計算:

(1)

2.2 編程環境及語言的選擇

為方便編程,選用python語言對數據進行處理。python語言語法較簡單,且可以操作多種高級數據類型,這些類型可以簡單地實現抽象的數學概念,在python中可以使用Numpy庫和Matplotlib庫完成矩陣操作和繪圖操作。這2個庫在編程中都有應用。

2.3 算法實現

2.3.1 數據采集

算法實首先需要收集數據,將15部預先設好的雷達參數存放在文本文件中由程序讀出。數據存放在radar.txt 中,每行順序存放射頻值、重頻值、脈寬值、雷達名稱4項,以換行符為分隔符,每行數據代表1部雷達的1次測量數據。文件中每部雷達有5組測量數據,共有75組測量數據。數據限于篇幅不全部列出,僅對每部雷達取1組數據列出,如表1所示。

表1 雷達參數表

然后需要對數據進行處理,由于頻率參數絕對值較大,直接代入計算將會導致該分量所占比重過大,因此需要對參數進行歸一化處理。15部雷達的數據點分布如圖2~圖4所示。圖2為射頻-重復間隔關系圖,圖3為重復間隔-脈寬關系圖,圖4為射頻-脈寬關系圖。

圖2 射頻-重復間隔關系圖

圖3 重復間隔-脈寬關系圖

圖4 射頻-脈寬關系圖

2.3.2 算法實現及應用

算法流程圖如圖5所示。

圖5 射頻-脈寬關系圖

將文本文件中的數據讀入內存,根據要求,編寫了Filetomatrix函數,代碼如下:

def Filetomatrix (filename):

Fp=open (filename)

Lines=fp.readlines()

returnMat=zeros((len(Lines),3))

LabelVector=[]

Index=0

For line in Lines

Line=line.strip()

Listfromline=line.split(' ')

retunrMat[index,:]=listFromLine[0:3]

LabelVector.append(int(listFromLine[-1]))

Index+=1

return returnMat,LabelVector

首先打開文件,并得到文件的行數,也就是記錄數,然后創建返回的Numpy特征矩陣,并將其置0。Strip函數用來截取所有的回車符,并用' '字符將得到的整行數據分割成一個元素列表,最后將文件內容解析到該矩陣中。由于最后一個元素是雷達名稱,所以選取前3個元素存儲到特征矩陣中。

讀取數據完成后,將數據集中的每條記錄與數據集分別進行計算,得到每條數據的分類結果,最后計算正確率。源代碼如下:

def idetify():①

Errnum=0.0

radardataMat,radarLabels,radarlines=Filetomatrix(‘radar.txt’)②

numberofLines=len(radarlines)③

normMat,ranges,minVals=autoNorm(radarDataMat)④

for index in range(numofLines)

calssResult=classfy(normMat[index],norMat,radarLabels,3)⑤

Print calssResult

If classResult !=radarLabels[index]:

Errnum +=1⑥

return calssResult

第①步,定義函數;第②步,將數據從文件中讀入特征矩陣中;第③步,讀取記錄條數;第④步,將數據歸一化;第⑤步,循環讀入每條數據進行比對,并將結果打印出來;第⑥步,計算識別的正確率。

當K值取3 時,識別結果的錯誤率為1.3%;當K值取為4時,識別結果的錯誤率為2.6%;當K值取5時,識別結果的錯誤率為0。表2為K=5時的識別結果。

表2中第3列表示關聯度最高的雷達類型出現次數,可以看到,在參數相似的情況下,識別結果會出現一定的波動,但綜合后仍能給出正確結果。

3 結果分析

根據程序實現可知,對識別結果產生影響的主要有以下幾個方面:

(1)K的取值。K值大小對識別結果有一定的影響,取得太大,會導致計算量過大;取得太小,可能造成異常情況的出現,從而影響識別結果。

(2) 樣本數量。樣本數量本身也會對識別結果造成影響,樣本數量過多,容易造成重復計算,影響識別速度;數量過少,則不能完全代表某類數據,造成識別失敗。

表2 K=5識別結果

(3) 特征值數量。特征值的選取是識別中最重要的一環,特征值是識別的依據,因此必須是獨特的,能完全描述被測量信息的真實值,并且該值不會隨外界環境而改變。在雷達信號識別中,選取的射頻、重頻、脈寬值都符合上述要求,而同是測量參數的方位、幅度等因受外界環境影響較大,不能作為特征值使用。在信號處理產生的信息中,信號參數類型也是一類特征值,但該特征值會受到信號處理算法正確率的影響,不能完全置信。因此,若需要在算法中將參數類型作為特征值處理時,可以通過將參數類型數據化,并修改其在算法中的比重來修正對識別結果的影響。

4 結束語

雷達識別是一項系統工程,特征參數的選取、信息收集、前端數據測量精度等都會影響到識別結果,K近鄰算法作為一種監督學習算法有實現簡單、精確度高、對異常值不敏感等優點,在雷達信號識別中可以快速,正確地完成工作,同時由于K近鄰算法需要多次運算,因此在工程實踐中需要更好的優化以達到最佳效果。

[1] CONWAY D,WHITE J M.機器學習:實用案例解析[M].陳開江,劉逸哲,孟曉楠譯.北京:機械工業出版社,2013.

[2] HETLAND M L.python基礎教程[M].2版.司維,曾軍崴,譚穎華譯.北京:人民郵電出版社,2010.

Application of KNN Algorithm to Radar Signal Recognition

XU Ye,LI Bao-shuang

(The 723 Institute of CSIC,Yangzhou 225001,China)

This paper introduces the K-nearest neighbor (KNN) algorithm in machine learning algorithms,discusses the application of KNN algorithm to radar signal recognition,realizes the radar recognition program with python language,and analyzes the results,expatiates several factors influencing the algorithm results.

K-nearest neighbor algorithm;python language;radar signal recognition

2016-05-23

TN971.1

A

CN32-1413(2016)04-0056-03

10.16426/j.cnki.jcdzdk.2016.04.013

猜你喜歡
分類信號
分類算一算
垃圾分類的困惑你有嗎
大眾健康(2021年6期)2021-06-08 19:30:06
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
分類討論求坐標
孩子停止長個的信號
數據分析中的分類討論
教你一招:數的分類
基于LabVIEW的力加載信號采集與PID控制
一種基于極大似然估計的信號盲抽取算法
主站蜘蛛池模板: 视频一区视频二区日韩专区| 国产成人区在线观看视频| 午夜视频www| 国产第八页| 毛片在线播放网址| 天天色天天操综合网| 成人综合在线观看| 五月天久久婷婷| 好吊妞欧美视频免费| 久久精品无码中文字幕| 亚洲精品自拍区在线观看| 一级毛片在线直接观看| 在线99视频| 亚洲综合片| 午夜精品一区二区蜜桃| 亚洲最新在线| 婷婷99视频精品全部在线观看| 中文字幕色在线| 国产精品成人一区二区| 欧美激情综合| 一本色道久久88亚洲综合| 日本道综合一本久久久88| 国产亚洲视频中文字幕视频| 制服丝袜无码每日更新| 九九线精品视频在线观看| 国产亚洲视频在线观看| 亚洲欧美成人网| 九九香蕉视频| 国产精品爽爽va在线无码观看| 91在线无码精品秘九色APP| 国产精品无码制服丝袜| 91免费国产高清观看| 国产永久无码观看在线| 亚洲看片网| 欧美日韩中文国产| 全部免费毛片免费播放| 国内精品九九久久久精品| 福利片91| 国产91九色在线播放| 久久久久青草大香线综合精品| 在线无码九区| 日韩一级毛一欧美一国产| av手机版在线播放| 国产精品偷伦在线观看| 亚洲女人在线| www亚洲天堂| 欧美亚洲另类在线观看| 亚洲浓毛av| 国产精品夜夜嗨视频免费视频 | 理论片一区| 婷婷综合亚洲| 老司国产精品视频| 亚洲欧美综合精品久久成人网| 国产午夜福利亚洲第一| 日韩av无码精品专区| 在线看AV天堂| 91国内外精品自在线播放| 成人在线亚洲| 全部毛片免费看| 欧美日韩在线成人| 污污网站在线观看| 国产成人免费手机在线观看视频| Aⅴ无码专区在线观看| 91色老久久精品偷偷蜜臀| 第一区免费在线观看| 波多野结衣中文字幕久久| 无码日韩视频| 国产内射一区亚洲| 免费aa毛片| 97精品伊人久久大香线蕉| 亚洲婷婷六月| 国内精品视频| 国产高颜值露脸在线观看| 日韩久久精品无码aV| 久久精品无码一区二区日韩免费| 欧美另类第一页| 久久亚洲日本不卡一区二区| 日本www色视频| 久操中文在线| 国内精品自在自线视频香蕉| 国产丝袜一区二区三区视频免下载| 91美女在线|