張呈銘,安永麗
(華北理工大學 人工智能學院,河北 唐山 063210)
信息傳輸安全一直是無線通信領域的重要研究課題,近年來,擴頻技術的發展使得信息傳輸有了一定的安全保障。擴頻技術是運用高速率偽隨機序列與低速率信息碼相乘,來達到擴展頻譜的功能,最終實現數據傳輸的保密性和抗干擾能力。擴頻首先是運用在軍事領域中,隨著時代的發展擴頻技術也廣泛應用于民用領域。在非協作通信中,由于擴頻通信的保密性較強,竊聽端即使竊聽到信號,也難以從中獲取有用信號。因此,擴頻信號的盲解擴研究成為通信對抗和電子作戰的重要研究方向。
關于盲解擴的研究非常多。矩陣分解算法是近年來直接序列擴頻(DSSS)解擴的一種常用方式,如G.Burel等人[1]以特征分析技術為基礎,計算協方差矩陣,通過特征向量重構擴頻序列,但是當擴頻碼過長時,該方法計算量太大,難以運用在實際應用中。文獻[2]針對walsh碼軟擴頻信號盲解擴問題,提出一種自動確定密度中心的密度峰聚類算法。該算法具有在較低信噪比條件下實現軟擴頻的盲解擴過程,但是該方法只適用于walsh碼軟擴頻。Chao Ma[3]提出了一種基于子空間跟蹤的擴頻波形估計算法。該方法利用滑動窗技術取得碼同步,利用子空間跟蹤法分段估計擴頻序列。XIAO Lili[4]對混沌擴頻序列進行盲估計,提出了一種基于神經網絡的混沌擴頻序列盲估計方法。這2種方法雖然在低信噪比下具有較好的性能,但是計算復雜度高。Mehboodi[5]和Wang[6]分別提出了基于擴頻碼的最大似然估計方法來估計偽隨機序列和平均互相關法來估計偽碼序列,這2種方法計算復雜度,但是抗干擾能力并不理想。
該項目提出了一種基于walsh-hadamard算法[7]的擴頻碼生成多項式盲恢復算法,該方法的主要思想是先對m序列生成多項式進行恢復,從而間接實現盲解擴的過程。并且運用walsh-hadamard算法,實現低信噪比下的反饋多項式的快速盲恢復。
DSSS的過程是將待傳送的信息碼元與高速率的偽隨機序列相乘,由于實際應用中基帶有效信號的頻譜范圍一般很低,頻譜很低的情況下就要求發射天線的長度增長,對于10 000 Hz的信號,天線的長度得需要十幾千米,這是不合實際的,所以必須使用基帶信號對載波進行調制,將低頻信號搬移到高頻,這也就需要調制過程。具體過程如圖1所示。

圖1 擴頻解擴流程圖
在原通信過程中,由解擴發生器生成的PN碼用于解擴,但是盲解擴過程無需這一過程即可得到解擴碼,即擴頻碼。但是,該項研究僅針對擴頻碼發生器是LFSR的情況下,對擴頻碼發生器的反饋多項式進行恢復。
該項研究采用線性反饋移位寄存器(LFSR)生成的m序列作為擴頻碼。要實現盲解擴的過程,需要估計作為擴頻碼的m序列,m序列的恢復主要分成3部分,首先要估計生成多項式的階數,然后估計生成多項式,最后對LFSR的初態進行估計。該研究僅對生成多項式的方法進行研究。假設已接收到的解調后的信號序列為y,要求出發射端的數據流b,需從y中恢復LFSR序列。
首先由于walsh-hadamard算法只能對0、1序列進行處理,而在原來的擴頻解擴過程中,先通過已有的擴頻碼解擴再進行濾波,因此需要將這2個步驟交換一下,先進行濾波再進行解擴。濾波過程也就是去噪過程,該研究采用小波去噪方法實現該步驟。
采用基于Walsh-Hadamard變換的反饋多項式估計算法來恢復偽隨機序列的低階反饋多項式,該算法的原理是通過walsh-hadamard變換求解含錯方程組,從而引申到利用Walsh-Hadamard變換估計m序列的生成多項式。運用walsh-hadamard算法變換信息序列的矩陣形式,生成的向量元素可以稱為譜系數,譜系數表示的含義就是使得反饋關系成立的數據量與反饋關系不成立的數據量之差,由此可知,只需找到譜系數的最大值即可知道反饋多項式,即該多項式為最大概率是正確的反饋多項式。
Walsh函數矩陣是一種只取±1的完備正交函數矩陣。Hadamard矩陣是以正負1為元素且任意兩行相互正交的一種方陣。最低階方陣為二階,表示為:
(1)
對于n階方陣可表示為:
(2)
如四階為:
(3)
以此類推。關于 維行矢量c的Walsh-Hadamard變換即可表示為:
cwh=cHm
(4)
該算法的具體步驟如下:
(1)首先根據接收到的信息序列進行一個分組,假設序列為a,L為反饋多項式的階數,N為序列的總長度,以L+1個數據為一組,可將N個數據劃分為N-L個數據組,然后將N-L個數據組的每一組數據轉化成十進制,即可得到N-L個十進制數,如第i個十進制數bi可表示為:

(5)
(2)因為是L+1個二進制數轉化成的十進制,所以該十進制數有 種可能,然后將N-L個十進制數構造成 維矢量c,矢量c的每個元素值等于N-L個十進制數出現的次數,如矢量c的第1個元素值即為0在N-L個十進制數出現的次數,第2個元素即為1在N-L個十進制數出現的次數,以此類推。矢量c中的第j項可表示為:
cj=sum(bi=j-1),1≤j≤2L+1
(6)
(3)然后將c進行walsh-hadamard變換,生成cwh,cwh中的最大元素所在位置進行二進制表示,即得反饋多項式。元素最大即代表反饋多項式成立次數最多,該位置所代表的多項式最有可能是正確的反饋多項式。
cwh=cH2L+1
(7)
圖2所示為walsh-hadamard算法流程圖。

圖2 walsh-hadamard算法流程圖
根據walsh-hadamard算法得物理意義可知,經過walsh矩陣變換之后得譜系數最大值即為生成多項式得二進制表示。
實驗采用的擴頻碼序列是由初態為01011反饋多項式為x5+x2+1的LFSR生成,初始信息序列均為隨機生成,調制方式為bpsk調制,擴頻增益為8。首先是關于小波去噪,將解調之后數據進行小波去噪,可得圖3所示小波去噪過程。


圖3 小波去噪過程
根據設定的閾值即可實現去噪過程,之后通過walsh-hadamard算法對擴頻碼進行恢復。求得反饋多項式,首先要求得公式(7)所表示的譜系數向量,根據譜系數最大值即可求得反饋多項式的二進制關系,如表1所示。

表1 1+x2+x5的walsh譜系數
由表1可知,譜系數最大值在序列中的第42個位置,然后再去除第一個無效數,可得十進制數41,然后再將其化為二進制數為101001,最后進行比特翻轉可得擾碼序列的生成多項式為100101,將二元序列轉化成反饋多項式為f(x)=x5+x2+1。
該研究還對walsh-hadamard算法的運行時間進行了對比,如表2所示。

表2 walsh-hadamard算法計算復雜度
從表2可知,反饋多項式階數較低時,運用walsh-hadamard算法可實現反饋多項式的快速恢復,反之階數越高,計算時間就越長,數據量的增長也會使得運行時間增加。
該實驗采用walsh-hadamard算法對不同信噪比條件下正確恢復反饋多項式的概率與信息序列不平衡性之間的關系進行仿真分析。圖4所示為walsh-hadamard算法在不同SNR值下正確識別的準確概率。

圖4 盲恢復性能對比
圖4中仿真采用5階多項式x5+x2+1,信源不平衡度ε從0.05到0.45以步長0.1進行變化,SNR從-20到10以步長3進行變化,蒙特卡洛仿真次數為1 000次。由圖4可知,當ε≥0.05,SNR為-4時,反饋多項式的正確恢復概率可達到約100%,當SNR低于這個數值時,算法效果降低。當ε越大,反饋多項式的正確恢復概率越高,ε≥0.35,SNR大于-14時,反饋多項式可正確恢復。綜上所述,當ε較大時針對信噪比較低的情況下也可實現反饋多項式的正確恢復。
(1)walsh-hadamard算法在低信噪比的條件下也能完全恢復擴頻碼的反饋多項式;
(2)walsh-hadamard算法在反饋多項式階數較低時計算復雜度較低;
(3)該算法需要已知反饋多項式階數,并且在階數較高時計算復雜度會急劇升高。