王自維,姚志成,王海洋,李昱婷,侯 范
(火箭軍工程大學(xué),西安 710000)
直接序列擴(kuò)頻(DSSS)通信被廣泛應(yīng)用于軍事和民用通信,具有信息容量大、抗干擾能力強(qiáng)及功率譜密度低等諸多優(yōu)點。但是這些特性也給通信偵察和電子對抗帶來了很大的難度,在非協(xié)作通信中,只有估計出對方發(fā)射信號的相關(guān)參數(shù)才有可能實時有效地干擾或破解通信信息[1-2],因此對DSSS信號的檢測和參數(shù)估計的研究具有重要意義。
一般地,基帶DSSS信號的基本參數(shù)包括:PN的周期、碼元寬度、PN碼與信息碼同步點以及PN序列等。如果估計到DSSS信號的擴(kuò)頻碼序列,就可以說信號實現(xiàn)了完全估計[3]。常見的DSSS信號模型包括短碼和長碼調(diào)制兩種類型,其中,短碼調(diào)制是指一個信息碼由一周期的擴(kuò)頻碼來調(diào)制,長碼調(diào)制是指將多個信息碼調(diào)制到擴(kuò)頻碼上。
目前,對短碼的估計比較成熟。文獻(xiàn)[4]提出了用特征分解法來估計PN碼;文獻(xiàn)[5]利用兩個信息碼做特征分解,解決了PN碼序列相位模糊和失步點估計的不確定性,可以精確估計PN碼序列;文獻(xiàn)[6]將壓縮投影逼近子空間跟蹤算法,用于DSSS信號的主特征向量提取,估計出PN碼;文獻(xiàn)[7]在DSSS信號特征分析的基礎(chǔ)上,利用帶約束的Hebbian準(zhǔn)則,實現(xiàn)了PN碼的估計,這也是利用神經(jīng)網(wǎng)絡(luò)估計PN碼的開端。
對于長碼的估計,大多數(shù)方法是將觀測到的數(shù)據(jù)按信息碼分段后用估計短碼的方法來估計每一段的偽碼序列,然后進(jìn)行拼接。文獻(xiàn)[8]提出了以兩個信息碼元寬度為分段長度,然后用特征分解法對PN碼序列進(jìn)行初步估計,并對各段估計序列進(jìn)行拼接,再通過基于移位相加特性的信息碼剝離算法實現(xiàn)PN碼序列的盲估計;文獻(xiàn)[9]提出一種分段子空間跟蹤算法,使用滑動窗口法獲得同步信息,并采用子空間跟蹤算法分段估計PN碼序列,最后依次拼接獲得原始信號的PN碼序列;文獻(xiàn)[10]提出一種基于譜范數(shù)和快速子空間跟蹤算法,該算法首先對接收信號按信息碼寬進(jìn)行分段,通過信號分段協(xié)方差矩陣譜范數(shù)對取得碼同步,然后用快速約束投影逼近子空間跟蹤算法技術(shù)估計各段PN序列;文獻(xiàn)[11]首先利用分段特征值分解估計出PN碼片段并進(jìn)行拼接,其中每個片段都會獨(dú)立地取正負(fù)號,然后利用梅西算法得到PN碼的生成多項式。
本文提出一種基于改進(jìn)GA的長碼估計方法。首先,利用觀測信號的協(xié)方差譜范數(shù)獲得信號與偽碼的同步點,然后,在同步的基礎(chǔ)上截取一個偽碼周期的觀測數(shù)據(jù),并利用改進(jìn)的GA來估計PN碼序,此方法減少了按信息碼分段拼接的步驟,降低了復(fù)雜度。仿真結(jié)果表明,利用改進(jìn)后的GA,減少了迭代次數(shù),加快了收斂速度,在低信噪比下誤碼率較小。
DSSS信號為BPSK調(diào)制類型,通過符號序列和PN序列相乘,實現(xiàn)信號擴(kuò)頻。假設(shè)其PN碼周期、符號周期和碼元速率已知,其基帶信號模型可以表示為
(1)
(2)
首先在觀測數(shù)據(jù)中截取一個信息碼長的數(shù)據(jù),然后間隔一個PN碼周期再截取一個信息碼長的數(shù)據(jù),截取N段,得到數(shù)據(jù)矩陣yj,如圖1所示。
圖1 數(shù)據(jù)截取模型Fig.1 Data interception model
數(shù)據(jù)矩陣yj可表示為
(3)
式中:j=1,2,…,k;G為信息碼的長度。
然后求yj的協(xié)方差矩陣R,即
(4)
延時點τ≠0,表示非同步情形,如圖2所示,觀測窗口中的數(shù)據(jù)是由相鄰兩個信息碼中的部分PN碼拼接而成的。
圖2 數(shù)據(jù)觀測窗口Fig.2 Data observation window
當(dāng)按照一個信息碼序列長度滑動數(shù)據(jù)窗時,如果信號取得同步,其協(xié)方差的譜范數(shù)||
y0||
2取得最大。延時點估計值可表示為
(5)
式中,λmax表示求取R的最大特征值。
適應(yīng)度函數(shù)用來對種群中個體的適應(yīng)性進(jìn)行度量,依此決定個體遺傳機(jī)會的大小。
本文中,將觀測信號與種群中個體的乘積作為適應(yīng)度函數(shù),其表達(dá)式為
f(yp′)=yp′·yp=yp′·(sp(t)+n(t))=yp′·sp(t)+yp′·n(t)
(6)
式中:yp′表示估計的PN碼序列;yp表示觀測信號;sp(t)表示長度為p的直擴(kuò)信號。本文所用噪聲信號為高斯白噪聲,可認(rèn)為噪聲與PN碼不相關(guān),即yp′·n(t)的值為零。所以只有估計值與PN碼序列相一致時或相反時適應(yīng)度值才會達(dá)到最大,從而將求PN碼序列問題轉(zhuǎn)化為求最優(yōu)解問題。
GA是求解復(fù)雜優(yōu)化問題的一種有效方法,具有全局收斂性、魯棒性,已得到較廣泛應(yīng)用,主要包括初始化種群、選擇、交叉、變異、終止條件判決等幾個步驟。首先,通過初始化隨機(jī)產(chǎn)生種群個體,然后,選擇適應(yīng)值較大的個體進(jìn)行交叉變異,最后,判斷是否達(dá)到終止條件,若已達(dá)到,則此時適應(yīng)值最大的個體是最優(yōu)解,若未達(dá)到,則繼續(xù)進(jìn)行選擇交叉變異操作直到滿足終止條件為止。
簡單遺傳算法估計長碼時,具有“早熟”現(xiàn)象,易收斂到局部最優(yōu)解且收斂速度慢。“早熟”現(xiàn)象的根本原因是未得到最優(yōu)解之前,群體喪失了多樣性而提前收斂到局部最優(yōu)解[12]。針對以上問題提出以下改進(jìn)方法。
2.3.1 改進(jìn)初始值的選取
一般的GA,初始種群是隨機(jī)選取的,初始種群的覆蓋空間具有很大的不確定性,導(dǎo)致收斂速度很慢。因為在觀測信號中包含了偽碼的信息,所以本文根據(jù)觀測信號來初始化種群。
2.3.2 改進(jìn)交叉變異策略
通常在GA中依靠交叉變異來更新種群,由于在交叉變異過程中可能使當(dāng)前適應(yīng)值最大的個體更加接近最優(yōu)值,也可能使其適應(yīng)度值變小,所以保留適應(yīng)度值最大的個體,避免其參與交叉變異。如果更新的種群中有比其適應(yīng)度值更大的,那么將其替換。
在GA中將交叉概率和變異概率設(shè)為固定值,它的選取對收斂速度也有很大影響,本文根據(jù)適應(yīng)度值的大小來自適應(yīng)地選取交叉概率和變異概率,適應(yīng)度值較大的個體在進(jìn)行交叉變異時,交叉概率選擇大一點,變異概率選擇小一點,適應(yīng)度值小的個體則相反。
在GA中選擇出一部分適應(yīng)度值較大的個體進(jìn)行交叉變異,淘汰掉適應(yīng)度值較小的個體,這樣很容易收斂到局部最優(yōu)解,為避免陷入局部最優(yōu),種群更新時加入一部分新生個體,相當(dāng)于在全局范圍內(nèi)搜索最優(yōu)值。
綜上所述,用GA估計PN碼序列的步驟如下所述。
1) 初始化種群。在觀測信號的每一個碼元中隨機(jī)選取一個點,得到一個長度為P的個體,選取N組數(shù)據(jù),構(gòu)成含有N個個體的種群。
2) 計算適應(yīng)度值。根據(jù)適應(yīng)度函數(shù)計算每一個個體的適應(yīng)度值,淘汰掉一部分適應(yīng)度值較小的個體。
3) 交叉變異。保留步驟2)中適應(yīng)度值最大的個體,選取適應(yīng)度值較大的一部分個體進(jìn)行交叉操作,然后再選取其中的一半進(jìn)行變異。
4) 種群更新。將經(jīng)過步驟3)的個體作為新種群的一部分,然后再加入一部分新生群體。
5) 終止條件。如果未達(dá)到終止條件,重復(fù)步驟2)~4),如果達(dá)到了終止條件,此時適應(yīng)度值最大的個體便是估計的擴(kuò)頻碼序列。
周期長碼直擴(kuò)信號采用BPSK調(diào)制,擴(kuò)頻碼序列采用63 bit的平衡m序列,碼速率為1 Mibit/s,信息碼長度分別設(shè)為21 bit,信息碼速率為0.047 6 Mibit/s,采樣頻率為1 MHz,信噪比為-10 dB,周期長碼中譜范數(shù)的延時點τ的估計效果見圖3。
圖3 延時點估計Fig.3 The delay point estimation
從圖3中可以看出,當(dāng)延時點為11時,信號協(xié)方差矩陣的譜范數(shù)值取得最大,說明延時11個采樣點后,采樣點與信息碼同步,延時點在第10個采樣點位置。從圖3可以看出,通過計算協(xié)方差矩陣的譜范數(shù),能夠準(zhǔn)確地估計延時點。
驗證GA對周期長碼直擴(kuò)信號擴(kuò)頻碼的估計效果,設(shè)置兩個周期長度分別為63 bit,255 bit的擴(kuò)頻碼,信息碼長度分別為21 bit,51 bit,信息碼速率分別為0.047 6 Mibit/s,0.019 6 Mibit/s,其他條件同實驗1。通過GA估計的擴(kuò)頻碼序列如圖4、圖5所示。
圖4 63 bit PN碼估計Fig.4 63 bit PN code estimation
圖5 255 bit PN碼估計Fig.5 255 bit PN code estimation
從圖4、圖5中可以看出,出現(xiàn)了相位模糊的情況,即其中某一段與真實的偽碼相位正好相反,這是PN碼估計中普遍存在的一種現(xiàn)象,因為觀測數(shù)據(jù)是由數(shù)據(jù)碼與擴(kuò)頻碼相乘之后得來的,所以使得原先擴(kuò)頻碼的相位變相反,針對這一問題現(xiàn)有的解決方法主要有三階相關(guān)法和梅西算法等。
驗證改進(jìn)前后GA的迭代次數(shù)對擴(kuò)頻碼序列估計的影響。設(shè)置兩個周期長度分別為63 bit,255 bit的擴(kuò)頻碼,信息碼長度分別為21 bit,51 bit,信息碼速率分別為0.047 6 Mibit/s,0.019 6 Mibit/s,其他條件同實驗1,進(jìn)行200次Monte-Carlo仿真,結(jié)果如圖6所示。
圖6 迭代次數(shù)對序列估計的影響Fig.6 Influence of iteration times on bit error rate
從圖6可以看出,在誤碼率相同時,估計周期較長的PN碼需要的迭代次數(shù)一般比較多,改進(jìn)后的算法減少了迭代次數(shù)從而加快了收斂速度。
驗證GA與特征分解法、子空間跟蹤算法和神經(jīng)網(wǎng)絡(luò)在不同的信噪比下的誤碼率。設(shè)置擴(kuò)頻碼周期為255 bit,信息碼長度為51 bit,信息碼速率為0.019 6 MHz,迭代次數(shù)為500,其他條件同實驗1,進(jìn)行200次Monte-Carlo仿真,結(jié)果如圖7所示。
圖7 不同算法的性能比較Fig.7 Performance comparison of different algorithms
從圖7可以看出,隨著信噪比的增加,每種算法對應(yīng)的誤碼率在減少。改進(jìn)后的GA與特征分解法在相同的信噪比下誤碼率保持一致,相比于其他幾種算法具有較低的誤碼率。
驗證不同頻率的殘留載波對擴(kuò)頻碼序列估計的影響。設(shè)置歸一化頻偏分別為f1=0.002,f2=0.004,f3=0.006,f4=0.008,f5=0.01。其他條件同實驗4,進(jìn)行200次Monte-Carlo仿真,結(jié)果如圖8所示。
圖8 不同頻偏對序列估計的影響Fig.8 Influence of frequency offset on bit error rate
從圖8的仿真結(jié)果可以看出,在相同的SNR下,誤碼率隨著頻偏的增大而增大,說明本文所提算法在較大頻偏下的估計性能不佳。
本文提出了一種基于改進(jìn)GA的周期長碼直擴(kuò)信號PN碼的盲估計方法。利用譜范數(shù)法得到信號與PN碼同步點的基礎(chǔ)上,通過改進(jìn)GA來估計PN碼。仿真結(jié)果表明,利用改進(jìn)的GA減少了迭代次數(shù),并且能在較低的信噪下較好地估計出PN碼序列。由于此算法在大頻偏下估計性能不佳,所以需要進(jìn)一步研究。