李曉光,潘克剛,齊 帥,潘 晨
(中國人民解放軍陸軍工程大學 通信工程學院,江蘇 南京 210007)
自動調制分類是一種識別接收信號的調制類型技術。它在諸如智能調制解調器、軟件定義無線電、頻譜監測、電子監控和威脅分析、信號確認、干擾識別以及可編程和可重構無線電系統[1-4]中有著廣泛應用。其中,關鍵技術是設計能夠識別使用的調制類型的智能分類器。
根據調制識別分類研究情況,在分類過程中分別使用多個特征提取,一般涉及二階、四階和六階的矩和累積量[5-7]。為了有效識別調制信號,基于計算的八階累計量,開發和驗證用于MPSK相位多級數字調制的自動分類技術。相比于前面的研究,在特征提取過程中選取與3個八階累積量關系相關的特征參數。
所提出的分類算法將使用Matlab進行仿真驗證,并使用GNU Radio和Boost庫在C++中實現該識別模塊。GNU Radio和USRP軟件無線電是一種開放的可重新編程的無線電通信系統,根據軟件改變便攜式USRP硬件設置,結合GNU Radio軟件就可設計所需的通信系統。
M進制相移鍵控信號載波相位有M個值,已調信號的時域表達式為:

MPSK調制的星座平面中,點分為兩部分:相位分量和正交分量,分別稱為描述星座Xi的表達式的實部和虛部:

其中A是信號幅度值,φ是星座的相位角。
X=cul(x1,x2,…xk)是一向量,Ix={1,2,…,k}是其指示符集。mx( I )和cx( I )是X的子向量X1的矩和累積量,可以寫出:

于是,得到矩-累積量公式(簡稱M-C公式):

以一種類似的方式,累積量被定義為一個復雜的、零均值和階數為p的隨機過程Cpq,x=cum[Xp-qX—p]。
對于MPSK調制復數隨機過程,定義了算子cum[·]。對于k=8,l=0、1、4,根據M-C公式有:


根據以前的結果,在MPSK星座計算八階累積量變量,信號模型為加性高斯白噪聲數字調制信號。假設在載波、定時同步的前提下,經過下變頻,匹配濾波器輸出的復基帶序列表達式為:

其中,p為信號的平均功率,an為發送碼元序列,Ts是碼元周期,θc為相位偏差,ωc為載頻,g(·)為發送的碼元波形,n(i)為零均值的加性復高斯白噪聲序列,N為觀測數據的長度。
接收端已知載頻信息且達到定時同步的情況下,對待識別信號進行下變頻處理,得到了采樣復信號序列的表達式為:

通過對高階累積量理論的研究可以知道,對于信號,階數k>2的累積量對噪聲nk具有抑制作用。因此,這里只分析ak的各累積量。對于MPSK信號而言,它的碼元同步采樣復信號的表達式為:

在假定發送的信息序列為獨立同分布的情況下,計算2PSK信號的高階矩,得到如下八階累積量:

在MPSK(2PSK、4PSK、8PSK和 16PSK) 計算八階累積量結果,如表1所示。
從表1可以看出,累積量結果取決于信號的平均功率和相位偏差。

表1 MPSK八階累積量
根據表1中提到的理論結果,提出將其定義為用于識別調制的特征向量,具有以下關系:

根據式(15)得到FM的確定性值。考慮表1的結果,對于每個要分類的調制類型,有:

可以采用定義新的特征參數:

來實現MPSK信號的分類[8]。
可見,DΩ結果與信號的平均功率和相位偏差無關。所以,分類器邏輯設計如下:

假設觀測值為FR=[+],實測值D=+對不同的MPSK調制類型實現分類。
仿真分析MPSK信號分類識別性能。通過Matlab產生仿真MPSK信號,仿真條件為:采樣頻率60 kHz,載波頻率10 kHz,碼元速率為2 500 Hz,符號數為1 000,噪聲為加性高斯窄帶噪聲,SNR=-5~25 dB。
圖1為根據這一特征參數進行500次蒙特卡羅試驗對信號進行分類識別得到的結果。該參數在SNR>2.5 dB的情況下,可以對MPSK信號分類。
圖2為輸入符號數N分別為1 000和500時,進行1 500次蒙特卡洛試驗的出的的識別率。圖2(a)中,在SNR≥6 dB時,識別率可達到100%;而N為500的圖2(b)中顯示,在SNR=7時,識別率還沒達到100%,尤其是16PSK表現更差。可見,符號數越多,識別率越高。

圖1 分類識別結果

圖2 識別率
綜合識別結果和識別率情況,當信號SNR>5 dB時,可以實現正確的分類,驗證了分類方法的有效性和準確性。
GNU Radio和USRP軟件無線電平臺,軟件部分主要基于Linux操作系統,通信系統模型由C++和Python語言編程構成。C++語言用來編寫各種信號處理模塊,而這些信號處理模塊在GNU Radio中被稱為“Block”;Python用來連接各個Block,使之成為一個腳本文件,從而實現通信系統的某些功能,而這個腳本文件被稱為“Flow graph”。USRP是硬件部分,作用是收發射頻信號并將其轉換為基帶信號連接PC機[9]。
通過軟件開發通信系統具有良好的性能,只需利用系統自帶的通信模塊功能和開發的Block,就可改變系統的功能。因此,利用該系統進行仿真實現和做成工程項目也已經普遍。此外,該平臺軟件是一個開源項目,硬件部分的價格不高,技術要求較低,用戶均可參與該平臺的建設[10-11]。
5.2.1 C++程序設計流程圖
C++程序設計流程圖,如圖3所示[12-13]。
將輸入分成M段長度為L的數據,根據式(15)、式(16)和式(17)計算D(i),i=1,2,…,M,求出平均值D。根據比較設置的閥值和參照分類器邏輯設計(式(18))輸出調制類型識別結果,并將數據推送到下一個信號處理模塊。
5.2.2 grc/myblk_CUMA.xml設計
主要設計Block名稱、控制參數和輸入輸出口,如表2所示。

圖3 流程圖

表2 相關設計參數
其中,在程序運行過程中,實時改變參數的值callback關鍵字,調用C++的成員函數,修改BLOCKSIZE的值,用來控制每次截取數據塊大小。
5.2.3 Block設計
分類器為同步類型模塊名稱為CUMA,輸入輸出端數據類型為復數(Complex)。設計2個輸出口連接不同的解調模塊,配置參數為處理數據模塊大小,默認24 000。
圖4為3部分的拼合。右上方為Block已經注冊到系統內,左上方為創建的Block調用情況,下方則為Block設置參數。

圖4 分類器
發射機(如圖5所示)隨機信號生成模塊,調制模塊生成MPSK復包絡信號,使用USRP設置中心頻率為1 GHz的信號進行無線發射。為了監控星座圖,可在發射端構建信號監測模塊。接收機如圖6所示,UHD中心頻率1 GHz,包括分類器識別模塊、可控信道信道模塊、CMA盲均衡模塊、鎖相環模塊和信號監測模塊。

圖5 發射圖

圖6 接收圖


圖7 接收端信號星座圖
圖7 是模塊搭建后測試2PSK、4PSK、8PSK、16PSK信號經過可變信道進行參數設置,經過分類器模塊處理后的星座圖。可見,分類器能準確識別輸入信號,模塊性能良好。
在計算八階累積量的基礎上,定義新的特征向量和特征參數,而這些特征不受信號的幅度和相位偏差影響,可利用特征值設計MPSK信號調制識別分類器。通過Matlab仿真進行對比論證,結果證明了該分類器的有效性和正確性。此外,基于GNU Radio和URSP平臺實現了模塊化設計,通過MPSK的調制信號驗證,證明分類器模塊具有良好的性能,為該方向工程實現奠定了良好的試驗基礎。