(重慶郵電大學 信號與信息處理重慶市重點實驗室,重慶 400065)
雖然擴頻通信最初是為軍事應用而開發的,但是現在已被廣泛用于商業應用,特別是碼分多址(CDMA)通信,或全球定位系統(GPS)。擴頻技術由于其本身具備的優良性能而得到廣泛應用,到目前為止,其最主要的兩個應用領域仍是軍事抗干擾通信和民用無線通信系統。一般而言,跳頻系統與直擴系統則分別是在這兩個領域應用最多的擴頻方式,它們具有完全不同的抗干擾機理,前者采取的是“躲避”策略,即載有信息的載頻在某一頻率集內隨機跳變,使非合作方無法進行跟蹤干擾;后者則采用的是“隱蔽”策略,即通過擴頻把直擴信號的功率譜密度降低,直至被噪聲所淹沒,使非合作方無法檢測并截獲到有用直擴信號。擴頻通信中通常接收方必須要知道發送方使用的擴頻序列才能用相關器解擴恢復所傳輸的數據。
我們的目的是自動確定擴頻序列,而接收方此時并不知道發送方的偽噪聲(PN)碼。文獻[1]提出了基于分段互相關的PN碼序列快速盲估計,但是該盲估計還是要先搜索信息碼波形與PN碼波形同步起始點,且在偽碼很長時計算開銷比較大。文獻[2]使用了帶約束的Hebb學習規則來對DS信號PN碼進行估計,但其是在已知信息碼波形與PN波形同步起止時刻的前提下來進行估計的。文獻[3]使用統計譜分析結合神經網絡的方法實現對DS信號PN碼序列的估計,但是該文提到了用來搜索信息碼波形與PN碼波形同步起始點的自相關方法存在較為嚴重的缺陷,因此在實用上增加了DS通信盲解擴處理的難度。文獻[4]提出了一種主分量神經網絡(N.N.或Neural Networks)的解決方法,該方法充分利用了無監督N.N.的自適應主分量提取特性,能較好完成直擴信號偽碼序列的盲估計。
本文提出一種不同于文獻[4]的方法,其最主要的區別在于該方法是基于有監督的反向傳播(BP)神經網絡,而文獻[4]是基于無監督的主分量神經網絡。本文的方法僅需知道符號周期即可,因而克服了文獻[1-3]所提方法的缺陷。
本文首先簡要介紹直接序列擴頻(DSSS)技術,解釋在非合作通信中恢復數據的難度;然后,介紹利用BP神經網絡來解決問題的方法;最后,第4部分給出在不同的信號情況下的實驗結果。
直接序列擴頻所傳送的信息符號經偽隨機序列(或稱偽噪聲碼)擴頻后對載波進行調制。偽隨機序列的速率遠大于要傳送信息的速率,因而調制后的信號頻譜寬度將遠大于所傳送信息的頻譜寬度。
假設信息信號為
(1)
式中,an=±1為等概分布的信息碼序列,q(t)是持續時間為Ts的矩形脈沖。
假設PN序列的周期長度為P,定義PN序列為y,即:
y=y0,y1,y2,…,yP-1
(2)
(3)
假設接收方知道擴頻序列,可以用一個相關器來解擴信號,解擴方法如下:

(4)
根據PN序列的性質,可以恢復出信息碼。
然而,當接收方不知道發送方使用的擴頻碼序列時,則恢復信息碼將變得極具挑戰性。


(5)

通常情況下,直接序列擴頻系統使用二進制或四進制相移鍵控(BPSK或QPSK)數據調制。通常PN序列是最大長度的二進制m序列或Gold序列。
這里我們考慮一個BPSK數字調制,用一個特征偽碼序列來對信號擴頻。在接收濾波器輸出端的基帶接收信號可以寫為
(6)
式中,h(t)是信道的聯合沖激響應及擴頻碼,即:
(7)
p(t)=(e*g*c)(t)
(8)
式中,P是擴頻序列的周期長度,{ym;m=0,1,2,…,P-1}是擴頻序列,ak是第k個信息碼符號,Tc是切普周期,Ts是信息碼符號周期(Ts=PTc),e(t)是發送濾波器,c(t)是信道濾波器,g(t)是接收濾波器,p(t)是發射濾波器、信道沖激響應、接收濾波器的卷積,n(t)是接收濾波器輸出端的噪聲?;鶐诺涝肼暭僭O是均值為零的高斯白噪聲。
本文中提出一種基于BP神經網絡的方法來實現估計PN序列,該方法僅需知道信息碼符號周期即可。
在不知道發送方PN序列的前提下,為了恢復數據信息,必須估計出h(t)。本節將用基于人工神經網絡的方法估計PN序列。
傳輸的信號如前所定義的一樣。假設已知符號周期Ts,它可以用循環平穩分析來估計得到。接收信號的采樣周期假設為Te,且Te=Tc,即一個切普采一個點,則有Ts=PTe。先以Te為采樣周期對接收到的信號進行采樣,然后將采樣后的信號按Ts進行連續周期分段形成數據向量集。信號采樣隨機起始點記為t=mTs+t0,其中m為整數,0≤t0≤Ts。則接收信號x(t)按Ts進行連續周期分段所形成的數據向量為
xl=sl+nl,l=1,2,3,…
(9)

x(t)=x(t),x(t+Te),…,x(t+Ts-Te)T
(10)
同理,h(t)和n(t)以同樣的方式定義。
我們可以根據采樣后的信號按Ts進行連續周期分段后形成的數據向量集來創建一個P行N列的矩陣X,每一列為一周期的數據向量,N是用于估計的時間窗口數,即輸入的數據組數。矩陣X如下所示:
(11)
從式(6)可以寫出:
(12)
(13)
定義hk(t0)向量如下:
hk(t0)=h(t0+kTs),…,h(t0+(k+1)Ts-Te)T
(14)
因此有:
(15)
如果采樣起始點t=mTs+t0并不恰好處于信息碼與PN序列調制的同步點上(t0≠0,0 x(t)=amh0(t0)+am+1h-1(t0)+n(t) (16) 式中,h0(t0)是P維向量,該向量包含持續時間為Ts-t0的擴頻波形的后半段,后面緊接著是持續時間為t0的零值,即: h0(t0)=h(t0),h(t0+Te),…,h(Ts-Te),0,…,0T (17) h-1(t0)也是P維向量,該向量包含持續時間為Ts-t0的零值,后面緊接著是持續時間為t0的擴頻波形的前半段,即: h-1(t0)=0,…,0,h(0),h(Te),…,h(t0-Te)T (18) 因此我們可將矩陣寫成如下形式: (19) 式中,am=am,am+1,…,am+N-1T,h0(t0)和h-1(t0)是正交的,噪聲和信號是不相關的。因此由h0(t0)和h-1(t0)張成的子空間可以由3層神經網絡來確定,該網絡的隱層包含兩個神經元[5]。事實上,估計的h(t)在第二層的權值上顯示出來。 圖1為簡單的接收信號數據模型(未含噪聲)。圖1(a)是連續的信息碼am,符號周期為Ts;圖1(b)是擴頻序列,切普周期是Tc;圖1(c)是經過擴頻以后的信號。輸入信號數據為圖1(c)中經采樣后連續截取一周期的信號數據,如圖所示,t到t+Ts之間的信號數據,t+Ts到t+2Ts之間的信號數據,依此類推。 (a)連續的信息碼 (b)擴頻系列 (c)擴頻以后的信號圖1 輸入信號數據模型Fig.1 Model of input data 在此創建一個3層網絡:一個輸入層,一個含有兩個神經元的隱層和一個輸出層。 多層網絡可以解決非線性可分問題,但是加入隱層使得學習比較困難,因此限制了多層網絡的發展,反向傳播(BP)算法的出現解決了這一困難。 本文用到的BP神經網絡模型如圖2所示。 圖2 BP神經網絡模型Fig.2 Model of BP neural network 該神經網絡的輸入數據向量x(n)是矩陣X的列向量,期望輸出向量d(n)是和輸入數據向量一樣的數據向量,即d(n)=x(n)。根據BP算法來調節網絡權值,該算法使得網絡輸出和期望輸出的均方誤差最小。 該神經網絡有兩種信號流通:一種是工作信號,它是施加輸入信號后向前傳播直到在輸出端產生實際輸出的信號,是輸入和權值的函數;另一種是誤差信號,即網絡實際輸出與期望輸出之間的差值,它由輸出端開始逐層向后傳播。 設在第n次迭代中輸出端的第k個神經元的輸出為ok(n),期望輸出為dk(n),則該神經元的誤差信號ek(n)為 ek(n)=dk(n)-ok(n) (20) (21) 設最大迭代次數為N,則平方誤差的均值EAV為 (22) 按照BP算法來運行網絡,可以使均方誤差達到最小[6]。 假設輸入數據向量為矩陣X的列向量,可簡化表示為 x(n)=x1(n),x2(n),…,xi(n),…,xP(n)T (23) 對于隱層的神經元有: (24) 典型的神經元激活函數為單極性sigmoid函數,所以隱層神經元的輸出為 (25) 且有: yj(n)1-yj(n) (26) 對于輸出層的神經元,有: (27) 計算輸出層神經元的輸出為 (28) 且有: ok(n)1-ok(n) (29) 然后反向計算各神經元的偏量值(誤差對權值的梯度)δ。對于輸出神經元,計算輸出層的權值偏量值: ek(n)ok(n)1-ok(n), k=1,2,3,…,P (30) 對于隱層神經元,計算隱層的權值偏量值: (31) 按下式修改權值: (32) (33) 然后置n=n+1,輸入新的數據向量,直到達到允許的條件為止。 為了防止出現局部極小值,加快收斂速度,在修改權值時加入動量項αΔvij(n-1)、αΔwjk(n-1)[7],且修改權值的學習步長由固定步長η改為變步長η(n),采用步長減小法[8]。權值改變量為 (34) (35) 其中: (36) 即學習步長隨著輸入數據組數的增加逐漸變小,SNR為信噪比,α取值為經驗值0.9。 根據實際需要,在估計PN碼的實驗中,我們采用雙極性sigmoid函數來作為神經元的激活函數,所以在此隱層的輸出為 (37) 則: 2yj(n)1-yj(n) (38) 同理,輸出層神經元的輸出為 (39) 則有: (40) 2ok(n)1-ok(n) (41) 因此對應的權值調節公式要做相應的更改。首先對于輸出層神經元,計算: (42) 對于隱層神經元,計算: j=1,2 (43) 權值改變量為 (44) (45) 所以權值修正公式為 i=1,2,3,…,P;j=1,2 (46) j=1,2;k=1,2,3,…,P (47) 等到神經網絡達到收斂時,即達到允許的最小誤碼率,PN序列可通過第二層的權值向量恢復出來,這樣就可以進一步恢復出信息碼。此處的誤碼率為估計的PN序列與標準PN序列相對比后錯誤碼位數與PN序列周期長度的比值。比如PN序列周期長度為P,估計出來的PN序列有d位碼與標準PN序列碼不同,則誤碼率為d/P。 本文方法利用誤差反向傳播來有監督地調節網絡,輸入信號為基帶DS信號,期望輸出向量d(n)是和輸入數據向量一樣的數據向量,即d(n)=x(n)。圖中輸入神經元的個數與輸入信號向量x(n)的維數相同。 綜上所述,改進的BP算法應用于神經網絡來估計PN序列,其步驟簡述如下: 第1步:網絡初始化,置所有網絡權值vij和wjk為均勻分布的1和-1,i=1,2,3,…,P;j=1,2;k=1,2,3,…,P,設置終止條件,即允許的最小誤碼率; 第2步:對于時刻n,輸入新的數據向量x(n); 第3步:前向計算,根據式(37)和式(39)計算隱層和輸出層神經元的輸出; 第4步:根據式(40)計算誤差; 第5步:反向計算,根據式(47)和式(42)計算隱層到輸出層的權值和輸出層的權值偏量; 第6步:反向計算,根據式(46)和式(43)計算輸入層到隱層的權值和隱層的權值偏量; 第7步:置n=n+1,返回步驟2繼續,直到達到允許的最小誤碼率為止。 以下所有實驗的信號采樣率Sa=8 bit/chip(即Tc=8Te,Te為采樣周期)。 (1)實驗一:驗證BP神經網絡估計PN序列的可行性 這里輸入數據考慮一個BPSK數據模型,PN碼長是100位,輸入數據信號截斷100位,截取第一個信息碼擴頻波形的后60位和第二個信息碼擴頻波形的前40位。信道噪聲為高斯白噪聲,信噪比SNR=-5 dB,時間窗口數即輸入的數據組數N=100。如圖3所示,PN序列是由PN序列發生器產生的100位標準PN序列碼,網絡權值1的前60位的符號函數值對應PN序列的后60位,網絡權值2的后40位的符號函數值對應PN序列的前40位的反碼。從圖中可以看出,擴頻序列可以從第二層網絡權值中恢復出來。 圖3 網絡權值與PN序列對比Fig.3 Weights of the network compared with the PN sequence (2)實驗二:驗證該BP神經網絡的收斂性能 圖4為不同信噪比的情況下(從-6~0 dB)估計PN碼的平均誤碼率隨著數據組數的增加的變化曲線,即該神經網絡的學習收斂曲線。該輸入信號的PN碼長為500位,截取第一個信息碼擴頻波形的后300位和第二個信息碼擴頻波形的前200位。該平均誤碼率的求法是對每一個信噪比的輸入信號進行100次蒙特卡洛仿真然后求平均值得到的。從圖中可以看出,當N逐漸增大時,誤碼率逐漸減小,最后變為0;且信噪比越高,誤碼率減小得越快。所以PN碼估計的效果會隨著N的增加而變好,且同一信號在高信噪比的情況下會收斂得更快。 圖4 網絡收斂曲線Fig.4 Convergence curve of network 圖5是針對不同PN碼長的輸入信號,數據組數(完全收斂時所需的數據組數)的均值隨輸入信噪比的變化曲線。圖6是針對不同PN碼長的輸入信號,數據組數(完全收斂時所需的數據組數)的方差隨輸入信噪比的變化曲線。這里設收斂誤碼率為0.02,即允許存在0.02的誤碼率,比如PN碼長為100位,允許存在2位錯誤碼的估計。在此,當PN碼長為200位時,截斷200位,截取第一個信息碼擴頻波形的后120位和第二個信息碼擴頻波形的前80位;當PN碼長為500位時,截斷500位,截取第一個信息碼擴頻波形的后300位和第二個信息碼擴頻波形的前200位;當PN碼長為1 000位時,截斷1 000位,截取第一個信息碼擴頻波形的后600位和第二個信息碼擴頻波形的前400位。 從圖5可以看出,在PN碼長和取樣率確定時,信噪比越低則神經網絡收斂所需的數據組數的均值就越大。而在信噪比相同時,以-9 dB為分界線,當信噪比小于-9 dB時,PN碼越長則所需數據組數的均值就越??;當信噪比大于-9 dB時,則所需數據組數的均值差不多相同。 圖5 數據組數的均值隨信噪比的變化曲線Fig.5 Curves of mean number of data sets with SNR 圖6 數據組數的方差隨信噪比的變化曲線Fig.6 Curves of the variance of data sets with SNR 從圖6中可以看出,在PN碼長和取樣率確定時,信噪比越低則神經網絡收斂所需的數據組數的方差就越大,即估計的偏越大;而且在信噪比相同時,PN碼越長則所需數據組數的方差就越小,尤其是在低信噪比的情況下更為明顯。 從實驗一和實驗二的結果可以得出,本文的方法完全可以準確估計到DS信號的PN碼序列,而且可以在較低信噪比的條件下實現估計。由圖4、圖5和圖6可以看出,在信噪比相同時,PN碼越長則所需數據組數的均值和方差就越小,即PN碼越長則算法的估計性能也會越好。 本文提出了一種用BP神經網絡來估計直擴信號PN序列的方法。該方法是基于反向傳播(BP)神經網絡,它的輸入是接收到的信號,期望輸出是和輸入相同的數據,根據誤差反向傳播來有監督地調節網絡,估計的PN序列值在第二層的權值上顯示出來。本文采用改進的BP算法來運行網絡,計算機仿真結果表明,該方法對PN序列可以得到很好估計,尤其是在低信噪比下對長偽碼的估計會更有效。因此本文的方法將為解決DS信號PN序列的實時盲估計問題提供一種途徑,為DS通信的管理、偵察和干擾以及DS-CDMA的盲多用戶檢測等鋪平道路。對于優化神經網絡,提高收斂速度,是以后需要深入研究的工作。 參考文獻: [1] 江莉,李林,董惠,等.通信偵察中的偽碼序列盲估計算法[J].現代防御技術,2009,37(3):85-89. JIANG Li, LI Lin, DONG Hui, et al. Blind Estimation Algorithm for PN Sequence in Communication Reconnaissance[J].Modern Defense Technology,2009,37(3):85-89.(in Chinese) [2] Dominique F, Reed J H. Simple PN Code Sequence Estimation and Synchronization Technique Using the Constrained Hebb Rule [J].Electronics Letters, 1997, 33(1): 37-38. [3] 張天騏,周正中.直擴信號的譜檢測和神經網絡估計[J].系統工程與電子技術,2001,23(12):12-15. ZHANG Tian-qi, ZHOU Zheng-zhong. Direct Sequence Spread Spectrum Signal Detection and Neural Network Estimation [J]. Systems Engineering and Electronics, 2001,23(12):12-15. (in Chinese) [4] 張天騏,林孝康,周正中.基于神經網絡的低信噪比直擴信號擴頻碼的盲估計方法[J].電路與系統學報, 2007,10(2): 118-123. ZHANG Tian-qi,LIN Xiao-kang,ZHOU Zheng-zhong.A Neural Network Approach to Blind Estimation of PN Spreading Sequence in Lower SNR DS/SS Signals[J].Journal of Circuits and Systems,2007,10(2):118-123.(in Chinese) [5] Celine Bouder, Gilles Burel. Spread Spectrum Codes Identification by Neural Networks[C]//Proceedings of 4th World Multiconference on Cirulits,Systems,Communications & Computers.Vougliameni:[s.n.],2000:257-262. [6] 閻平凡,張長水.人工神經網絡與模擬進化算法[M].北京:清華大學出版社,2006:19-27. YAN Ping-fan, ZHANG Chang-shui.Artificial Neural Networks and Evolutionary Computing[M].Beijing:Qinghua University Press, 2006:19-27.(in Chinese) [7] 劉希玉,劉弘. 人工神經網絡與微粒群優化[M].北京:北京郵電大學出版社,2009:88-96. LIU Xi-yu, LIU Hong. Artificial Neural Network and Particle Swarm Optimization[M].Beijing:Beijing University of Posts and Telecommunications Press, 2009:88-96.(in Chinese) [8] 韓力群. 人工神經網絡理論、設計及應用[M].北京:化學工業出版社,2002:43-56. HAN Li-qun.Artificial Neural Network Theory, Design and Application[M].Beijing:Chemical Industry Press, 2002:43-56.(in Chinese)



3.2 PN序列盲估計的BP神經網絡實現































4 計算機仿真結果




5 結 論