王新艷 潘 巍
(首都師范大學信息工程學院 北京 100048) (首都師范大學北京市電子系統可靠性與故障預測聯合研究中心 北京 100048) (首都師范大學北京市電子系統與集成電路設計聯合實驗室 北京 100048)
支持向量機算法應用于2FSK信號分類
王新艷 潘 巍
(首都師范大學信息工程學院 北京 100048) (首都師范大學北京市電子系統可靠性與故障預測聯合研究中心 北京 100048) (首都師范大學北京市電子系統與集成電路設計聯合實驗室 北京 100048)
支持向量機算法在解決小樣本、非線性及高維模式識別問題中存在特有優勢,廣泛應用于統計分類及回歸分析中。傳統的頻移鍵控解碼在低信噪比下的誤碼率較高,解碼結果受器件性能的影響較大,因此提出將支持向量機用于頻移鍵控解碼。構建分類訓練樣本點集,通過仿真訓練找出合適的核函數,獲得解碼結果。該方法與相干檢測、非相干檢測以及基于神經網絡的解碼方法針對同一信源解碼,將不同信噪比下的誤碼率進行對比分析。實驗結果表明,該方法在較低信噪比情況下仍然顯示出很好的解碼性能和良好的穩健性,優于已有信號解碼方法。
支持向量機 解碼 頻移鍵控 核函數 誤碼率
支持向量機(SVM)是建立在統計學習理論、V C維理論和結構風險最小化原理基礎上的機器學習方法。它在很大程度上克服了“維數災難”和“過學習”等[1]問題。因為它具有堅實的理論基礎,簡單明了的數學模型,因此,被廣泛應用于文本分類[2]、人臉識別[3]、遙感分類[4]和時間序列預測[5]等。
對于支持向量機在調制和解調等信號處理方面的研究,國外學者Kumar等[6]將其用于腦電信號的模式識別以及硬件在測試階段的參數提取;Mehta等[7]提出支持向量機應用于生物醫學領域的信號處理;國內的陳賢卿等[8]學者采用支持向量機分類判決法改善了擴展的二元相移鍵控的解碼性能,也有學者將其與模糊聚類相結合用于信號識別[9]。文獻[10]中將信號的高階累積量作為分類特征向量構造最優超平面實現信號分類,高階累積量能夠有效地抑制噪聲,但是表達式復雜,影響計算效率。結合FSK信號在實際中的應用,本文采用信號的幅值和頻率作為特征向量用于分類,相對計算更加簡單,算法處理速度快。
傳統的對頻移鍵控信號的解碼方法基本分為相干檢測和非相干檢測。一般是變換到頻域通過濾波、載波同步等實現,但由于判決器、模擬帶通濾波器等器件的性能不同,解調的結果會受到很大的影響[11]。如果傳輸信道中噪聲過大,傳統的解碼方法誤碼率較高,而且以往方法大多需要經過大量運算,實時性不高。改進的基于神經網絡的FSK解碼方法[12]等在低信噪比情況下解碼效果仍然不理想。支持向量機支持小樣本點,對于非線性可分的情況引入核函數[13],將低維數據映射到高維尋找最優分類面,對于分類存在獨特優勢。本文介紹了FSK信號的基本通信原理和支持向量機的算法原理,同時對核函數的選擇也作出相應的討論。在實際應用的信噪比區間內對不同算法的解碼效果進行了比較和分析。
1.1 頻移鍵控
頻移鍵控是指以數字信號控制載波頻率變化的一種調制方式,它在信息傳輸中使用的比較早。二進制頻移鍵控的基本原理是采用兩個不同頻率的載波來承載二元數字信號“0”和“1”,其中,載波頻率f1(2 200 Hz)對應數字信號“0”,載波頻率f2(1 200 Hz)對應數字信號“1”。f1與f2之間的改變是在瞬間完成的,而其振幅和初始相位不變。其表達式為:
(1)
2FSK典型波形如圖1所示。

圖1 2FSK信號波形圖
圖1中,一個2FSK信號波形可以分解成兩個不同頻率的波形,即一個2FSK信號可以看作是兩個不同載頻的二進制幅移鍵控(2ASK)信號的疊加。2FSK信號的時域表達式為:
(2)
式中,g(t)代表單個矩形脈沖,Ts代表脈沖持續時間。
φn和θn分別表示第n個信號碼元(1或0)的初始相位,一般令其為0。因此,2FSK信號的表達式可以簡化為:
e2FSK(t)=s1(t)cosω1t+s2(t)cosω2t
(3)
2FSK信號的產生是通過模擬調頻電路或采用鍵控法。
1.2 支持向量機基本理論
支持向量機是一種分類算法。它是一種二類分類模型,其基本模型可以定義為特征空間上的間隔最大的線性分類器。所以支持向量機的學習策略便是間隔最大化。其基本思想是在n維空間中找到一個分類超平面,將空間上的點分類。具體情況如圖2所示。

圖2 二維線性可分最優分類線
圖2中,Margin為最大分類間隔,中間的實線為最優分類面。在兩側虛線上的元素為支持向量。
在實際應用中會遇到很多非線性的情況,這時采用引入核函數進而升維的方法,將非線性可分的輸入樣本映射到高維的特征空間。在高維特征空間中樣本變為線性可分。因此就將非線性可分問題變為線性可分了。
支持向量機算法常用的一些核函數有:
1) 線性核函數(Linear Kernel):
k(x,xi)=xTxi+c
(4)
2) 多項式核函數(Polynomial Kernel):
k(x,xi)=(axTxi+c)d
(5)
3) 徑向基核函數(Radial Basis Kernel):
k(x,xi)=exp(-γ‖x-xi‖2)
(6)
4) 雙曲正切核函數(Sigmoid Kernel):
k(x,xi)=tanh[a(xi·x)+b]
(7)
1.3 支持向量機用于2FSK解碼
首先對2FSK信號進行采樣,采樣頻率fs為24 000 Hz,波特率為1 200 bit/s,采樣周期為tS,采樣時間為T,采樣點數為N。例如:
ts=1/1 200(s)
(8)
T=1/24 000(s)
(9)

(10)
2FSK信號經過采樣和信號處理之后,就會得到離散的量化數據,每比特的采樣點數為20,因為隨機采樣的原因,樣本點也隨機分布。對于不同頻率的正弦波波形,同一幅度在同一時刻的采樣不同;而不同時刻采樣幅值不同,因此可以根據采樣值判斷出某一時刻的不同頻率。在不同幅度的波形圖中,不同電平的正弦波形在不同時刻幅值不同,這樣就可以采用支持向量機根據不同頻率的波形的特征,找到最優分界面,判斷出信號的頻率。
支持向量機在處理非線性可分的樣本點集時會引入一個映射函數Φ(xi),由映射函數把樣本點集變換到高維特征空間,再進行處理。因此,選取合適的核函數對于分類或者解碼效果是很關鍵的。本文對核函數的選擇做了研究和討論。核函數K(xi,xj)代表映射函數Φ(xi)的內積形式,表示為:
K(xi,xj)=[Φ(xi)·Φ(xj)]
(11)
本文對幾種常用的核函數進行了MATLAB仿真實驗,通過實驗結果對比,選擇最適宜的核函數。表1顯示的是實驗中實際正弦波信號訓練樣本集(20個數據點)的幅值和時間。

表1 正弦波信號訓練樣本集
每一對相對應的幅值和時間代表一個訓練樣本點的橫坐標和縱坐標,常用的幾種不同核函數的分類效果如圖3所示。

圖3 不同核函數得到的分界面圖形
圖3中分類效果最好的是二次核函數,其次是多項式核函數。為了得到更加明確和量化的對比,本文采用不同核函數對調制后的2FSK正弦波信號進行實際解碼,相同條件下的解碼結果如表2所示。

表2 不同核函數分類仿真結果統計表
實際仿真結果也顯示采用二次核函數分類正確率為90%,分類效果最好,因此,用于本文的支持向量機解碼。
3.1 信號采樣和調制
在本次應用支持向量機方法對2FSK信號進行解碼的過程中,采用基帶信號碼元數n為20,采樣頻率fs為24 000 Hz,兩載波頻率f1和f2分別為1 200 Hz和2 200 Hz。其中1 200 Hz用01比特序列中的‘1’代表,2 200 Hz用‘0’代表。圖4中顯示的是01比特序列原信號和經過載波頻率f1和f2調制之后的波形圖。

圖4 基帶信號波形和調制信號波形
3.2 選取訓練樣本點集
在支持向量機訓練中,選擇1 200 Hz正弦波作為正樣本點的集合,用S+表示;其他不同頻率和電平的波形作為負樣本點的集合,用S-表示。訓練集可表示為:
T={(xi,yi),i=1,2,…,l}∈(Rn×Y)l
(12)
其中,xi∈Rn={S+,S-}為輸入,輸入即為兩種不同頻率的正弦波,yi∈Y={+1,-1}為輸出,l為訓練樣本點的總個數。
因為支持向量機對小樣本點的情況也能夠取得很好的分類效果,因此文中選取正半周期的數據點作為樣本訓練集合。仿真樣本集合分別為以下矩陣:
3.3 支持向量機分類
采用支持向量機對通過加噪信道之后的調制信號進行解碼。信噪比為10 dB時,支持向量機能夠實現完全無錯誤的解碼,解碼結果與基帶信號的對比如表3所示。

表3 信噪比為10 dB時支持向量機對2FSK的解碼結果
為了比較支持向量機的解碼性能,本文選擇在給定的不同信噪比的情況下,通過實驗得到支持向量機的解碼效果,如表4所示。

表4 不同信噪比下數據分類情況統計表
表4中,不同信噪比的情況下,支持向量機對測試數據的分類效果不同。本次統計的測試是在訓練數據的數目為100的情況下進行的,因為訓練數據過大會降低MATLAB運行速度。但是在一定的運行時間內,訓練數據數目越大,支持向量機對測試數據的分類效果越好。因此在實際應用中,需要通過實驗測試,選擇適宜的訓練數據數目。如何依據實際通信的情況選擇合適的訓練數據數目,是進一步深入研究的內容。
3.4 與已有解碼方法的比較
圖5顯示了在不同信噪比下支持向量機方法的誤碼率變化。根據實際應用的要求,測定信噪比的區間為[-30,20] dB,在不同的信噪比的情況下,解碼中誤碼的個數記為k,誤碼率的計算為:

(13)

圖5 不同信噪比下的誤碼率統計
為了使結果更加客觀和真實,圖5中給出了疊加平滑計算1 000次之后的支持向量機方法的分類曲線。從圖5中可以看出在信噪比為[-5,20] dB時,支持向量機幾乎能實現無錯解碼,體現出很好的解碼性能。結果顯示支持向量機的方法在FSK解碼中可以很好的實現,同時也驗證了本文提出的分類方法的有效性。
為了與已有的FSK解碼方法相對比,觀察支持向量機的解碼性能,本文給出了FSK相干檢測方法、非相干檢測方法以及基于神經網絡的FSK解調方法與支持向量機方法在同一信號源下的解碼,并統計出解碼結果的誤碼率統計圖。圖6中是不同方法的解碼結果。

圖6 支持向量機方法與已有算法誤碼率比較
對同一調制方式而言,相干解調方式的誤碼率相對非相干解調較低,信噪比越大,2FSK系統的相干解調和非相干解調的誤碼率差距越小。從圖6中可以觀察到,在信噪比區間為[-10,5] dB的情況下,支持向量機的解碼方法顯示出較大的優勢。經典的相干檢測和非相干檢測方法在選擇的信噪比區間內都存在一定的誤碼。改進的基于神經網絡的FSK解碼方法在較低信噪比,特別是當信噪比為負的情況下顯示出劣勢,甚至不如傳統解碼方法。但支持向量機方法在低信噪比情況下仍然保持較低的誤碼率,在信噪比為正的情況下能夠實現無錯解碼。除此之外,運用支持向量機解碼還有在小樣本的情況下也能較準確地解碼,這樣節省解碼時間,提高實時性。實驗結果表明,支持向量機的解碼方法應用在FSK解碼中有較好的可靠性和可行性。
本文運用支持向量機的解碼方法對二進制頻移鍵控信號解碼,在MATLAB軟件上進行系統仿真,選定適宜的核函數,得到分類結果。實驗結果體現支持向量機在解碼分類上的優越性能。本文采用同一信源與經典的解碼方法以及已有改進后的基于神經網絡的解碼方法進行對比,繪制誤碼率曲線圖。對比中體現支持向量機在較低的信噪比的情況下良好的解碼性能,表現了支持向量機系統抗噪的功能。本文的仿真結果為以后支持向量機方法應用到實際的通信系統,提供了有效的實驗基礎和理論依據。
[1] Han H.Analyzing Support Vector Machine Overfitting on Microarray Data[M]//Intelligent Computing in Bioinformatics,2014:148-156.
[2] 平源.基于支持向量機的聚類及文本分類研究[D].北京:北京郵電大學,2012.
[3] 董蘭芳,任樂樂,董玉德.復雜光照下的人臉姿態估計[J].小型微型計算機系統,2016,37(3):598-602.
[4] 臧淑英,張策,張麗娟,等.遺傳算法優化的支持向量機濕地遙感分類[J].地理科學,2012,32(4):434-441.
[5] 田中大,高憲文,石彤.用于混沌時間序列預測的組合核函數最小二乘支持向量機[J].物理學報,2014,63(16):1-11.
[6] Kumar P N,Kareemullah H.EEG signal with feature extraction using SVM and ICA classifiers[C]//International Conference on Information Communication and Embedded Systems.IEEE,2015:1-7.
[7] Mehta S S,Lingayat N S.Biomedical signal processing using SVM[J].IET Seminar Digest,2007,2007(2):527-532.
[8] 陳賢卿,吳樂南,靳一.基于SVM分類的EBPSK信號解調判決[J].東南大學學報(自然科學版),2011,41(4):672-677.
[9] 顧敏劍.基于模糊C均值聚類和支持向量機的信號識別方法[J].計算機與數字工程,2013,41(3):367-370.
[10] 徐聞,王斌.一種基于支持向量機的信號調制分類方法[J].計算機工程,2013,39(8):223-230.
[11] 李龍濤.CTCS應答器信號與報文檢測儀和FSK調制解調設計與實現[D].成都:電子科技大學,2013.
[12] 李岷.基于神經網絡的FSK信號解調技術研究[D].成都:電子科技大學,2009.
[13] 劉琰.支持向量機核函數的研究[D].西安:西安電子科技大學,2012.
SUPPORTVECTORMACHINEAPPLIEDTOBINARYFREQUENCYSHIFTKEYINGSIGNALCLASSIFICATION
Wang Xinyan Pan Wei
(CollegeofInformationEngineering,CapitalNormalUniversity,Beijing100048,China) (BeijingElectronicPrognosticJointResearchCenter,CapitalNormalUniversity,Beijing100048,China) (BeijingElectronicsSystemandIntegratedCircuitDesignLaboratory,CapitalNormalUniversity,Beijing100048,China)
SVM algorithm has unique advantages in solving small sample, nonlinear and high dimensional pattern recognition problems, and it is widely used in statistical classification and regression analysis. Traditional frequency shift keying decoding algorithms have higher bit error rate in low signal to noise ratio, and greater impact on the result of decoding by performance of devices. In this paper, SVM algorithm is applied to decoding frequency shift keying. It constructed sample points set for classification training, and found out the most suitable kernel function through simulation training to obtain the decoding result. The method is compared with coherent detection, non-coherent detection and decoding method based on neural networks for the same source, and analyzes the bit error rate under different SNR. The experimental results show that the method still shows good decoding performance and good robustness at lower SNR, which is superior to the existing signal decoding method.
Support vector machine Decoding Frequency shift keying Kernel function Bit error rate
TP391
A
10.3969/j.issn.1000-386x.2017.09.051
2016-10-09。國家自然科學基金項目(61202027);北京市屬高等學校創新團隊與教師職業發展計劃項目(IDHT20150507)。王新艷,碩士生,主研領域:計算機視覺,模式識別。潘巍,副教授。