潘微宇,趙知勁 ,2
(1.杭州電子科技大學(xué) 通信工程學(xué)院,浙江 杭州 310018;2.中國電子科技集團(tuán)第36 研究所 通信系統(tǒng)信息控制技術(shù)國家級重點實驗室,浙江 嘉興 314001)
直接擴(kuò)頻序列碼分多址(Direct Sequence Code Division Multiple Access,DS-CDMA)采用高速率的偽碼對信息碼進(jìn)行擴(kuò)頻調(diào)制,具有較強(qiáng)的隱蔽性和抗干擾能力[1]。DS-CDMA 信號可根據(jù)擴(kuò)頻方式分為短碼(Short Code,SC)DS-CDMA 和長碼(Long Code,LC)DS-CDMA 兩種信號,為了進(jìn)一步提高保密性,利用長碼對短碼擴(kuò)頻信號做加擾處理,得到長短碼(Long and Short Code,LSC)DS-CDMA 信號。SC-DS-CDMA 信號用一周期擴(kuò)頻碼調(diào)制一個信息碼,文獻(xiàn)[2]-[3]分別采用多重信號分類法[2]和平行因子法[3]實現(xiàn)了各用戶偽碼盲估計;文獻(xiàn)[4]利用特征值分解法和Givens 矩陣旋轉(zhuǎn)法來估計SC-DS-CDMA 信號各用戶的偽碼,但在尋找Givens 矩陣旋轉(zhuǎn)角度時采用極值法,難以得到最佳旋轉(zhuǎn)角度,估計性能不佳;LC-DS-CDMA 信號用一周期擴(kuò)頻碼調(diào)制多個信息碼,文獻(xiàn)[5-6]通過構(gòu)建張量模型,分別利用TUCKER 分解[5]和CP 分解[6]估計LCDS-CDMA 信號的偽碼;文獻(xiàn)[7]采用迭代最小二乘投影算法和庫搜索估計異步LC-DS-CDMA 信號各用戶的偽碼;文獻(xiàn)[8]采用矩陣填充理論、奇異值分解和FastICA 算法估計LSC-DS-CDMA 信號各用戶復(fù)合碼,并利用m 序列三階相關(guān)特性估計出各用戶長短碼;文獻(xiàn)[9]利用FastICA 算法分離LSC-DS-CDMA 信號各用戶復(fù)合碼,并基于分圓陪集理論和三階相關(guān)特性估計長短碼。上述研究都只針對理想信號,實際接收信號總會帶有小的殘余頻偏[10],使得上述方法無法直接使用。文獻(xiàn)[11]-[12]分別利用線性調(diào)頻Z 變換法和無跡卡爾曼濾波法估計殘余頻偏,但無法完全消除頻偏;文獻(xiàn)[13]利用特征值分解法得到帶殘余頻偏的偽碼,并通過全數(shù)字鎖相環(huán)(Digital Phase Locked Loop,DPLL)對頻偏進(jìn)行跟蹤消除,實現(xiàn)了長碼直擴(kuò)信號的偽碼估計,但并未對LSC-DS-CDMA 信號進(jìn)行研究。
針對帶殘余頻偏的LSC-DS-CDMA 信號,本文按長碼周期和短碼周期進(jìn)行二次分段構(gòu)成信號矩陣,利用特征值分解、全數(shù)字鎖相環(huán)和Givens 旋轉(zhuǎn)消除殘余頻偏和估計得到各用戶復(fù)合碼,提出了結(jié)合隨機(jī)差分和模擬退火思想的鯨魚優(yōu)化算法來求解總方差最小值的Givens矩陣的最佳旋轉(zhuǎn)角,最后根據(jù)梅西算法和相關(guān)運算估計各用戶的長碼和短碼。
假設(shè)LSC-DS-CDMA 信號中各用戶擴(kuò)頻短碼和長擾碼的碼片速率相等,且已完成盲同步[8],以擴(kuò)頻短碼碼片速率對接收到的信號進(jìn)行采樣,則包含R 個用戶的帶殘余載波的LSC-DS-CDMA 信號模型為:
其中,f△為殘余頻偏;φ ∈(0,2π)表示均勻分布的隨機(jī)相位;Ar、dr(n)、sr(n)分別表示第r 個用戶的信號幅度、信息碼和復(fù)合碼,sr(n)=br(n)cr(n),br(n)表示周期為Nb的擴(kuò)頻短碼,選用Walsh碼,cr(n)表示周期為Nc的長擾碼,選用m 序列;各個用戶的信息碼、短碼和長擾碼均相互獨立;Nh=PNc為接收信號長度,P 表示信號周期個數(shù),M=「Nc/Nb表示一周期復(fù)合碼所調(diào)制的信息碼個數(shù),“「”為向上取整;w(n)表示均值為零、方差為σ2的復(fù)高斯白噪聲。
先以長擾碼周期Nc對接收信號進(jìn)行分段,yp=[y((p-1)Nc+1)y((p-1)Nc+2)…y(pNc)]H,p=1,2,…,P。由于一周期的長擾碼包含M 個擴(kuò)頻短碼,因此可利用短碼周期Nb對yp再進(jìn)行分段,ypm=[y((p-1)Nc+(m-1)Nb+1)y((p-1)Nc+(m-1)Nb+2)…y((p-1)Nc+mNb)]H,將不同接收信號周期p中的第m 段信號依次進(jìn)行排列,可得共M 個信號矩陣,表示為:
由式(2)可知,每個信號矩陣中均包含了各用戶的復(fù)合碼片段信息和載波頻偏,因此首先需要消除載波頻偏影響,依次估計出各用戶完整的復(fù)合碼,最后可由復(fù)合碼估計得到各用戶的長短碼。
令z(n)=ej(2πf△n+φ),矩陣ypm的向量形式可表示為:
其中,wpm表示第周期p 中的第m 段信號的噪聲,srm=[sr((m-1)Nb+1)…sr(mNb)]H,dr[(p-1)M+m]表示srm對應(yīng)的信息 碼。Zpm=diag{z[(p-1)Nc+(m-1)Nb+1],z[(p-1)Nc+(m-1)Nb+2],…,z[(p-1)Nc+mNb]},還可表示為:
其中,Z11=diag{ej(2πf△nb)},由于各用戶間擴(kuò)頻短碼和長擾碼相互獨立,且不同用戶的信息碼與噪聲統(tǒng)計獨立[14],結(jié)合式(4),可得ypm的自相關(guān)矩陣為:
記Gm=Z11Hm=Z11[h1m,h2m,…,hRm],hrm=[hrm(1),hrm(2),…,hrm(Nb)]H表示Hm中第r個特征向量。由于Z11=diag{ej(2πf△nb)},則Grm=Z11hrm可以展開為:
利用DPLL 消除殘余載波[13],得到第r 個特征向量的估計值rm。將Gm中R 個特征向量依次送入DPLL 進(jìn)行殘余載波的跟蹤消除,得到Hm的估計值
信號子空間Hm中的R 個特征向量無法保證與R個用戶的復(fù)合碼一致,從空間幾何的角度看,Hm和真正的復(fù)合碼序列子空間Sm=[s1m,s2m,…,sRm]存在一定的夾角[4],利用Givens 旋轉(zhuǎn)可實現(xiàn)信號子空間對應(yīng)的角度旋轉(zhuǎn),以得到真正的復(fù)合碼序列子空間估計。Givens 旋轉(zhuǎn)矩陣表示為:
其中,θr1,r2∈(0,2π),0<r1,r2≤R。將視為荷載矩陣,利用(R-1)個Givens 旋轉(zhuǎn)矩陣T1,2,T2,3,…,TR-1,R對其進(jìn)行旋轉(zhuǎn),即:
WOA 算法具體分為包圍獵物、螺旋泡沫網(wǎng)狩獵和搜索獵物三部分。利用適應(yīng)度函數(shù)f(X(t+1))來衡量鯨魚,令包圍獵物和螺旋泡沫網(wǎng)狩獵兩種方式的概率p 相同[17],當(dāng)p<0.5 時采取包圍獵物方式,p≥0.5 時采取螺旋泡沫網(wǎng)狩獵方式,更新公式為:
其中,t 為當(dāng)前迭代次數(shù);X(t)為當(dāng)前鯨魚個體位置,X*(t)為當(dāng)前最優(yōu)個體位置;b為常數(shù),ε 為[-1,1]間的隨機(jī)數(shù),p 為[0,1]間的隨機(jī)數(shù);I1和I2為系數(shù)變量,分別表示為:
式中,i1和i2為 [0,1]間的隨機(jī) 向量,tmax為最大迭代次數(shù),α 為由2 線性遞減至0的收斂因子。
鯨魚除了圍捕獵物外,還可以隨機(jī)尋找新的獵物,當(dāng)|I1|<1 時利用式(10)進(jìn)行位置更新,當(dāng)|I1|≥1時隨機(jī)選擇一個鯨魚個體作為當(dāng)前最優(yōu)個體,其他個體向其靠攏,表達(dá)式為:
其中,Xr(t)為隨機(jī)選擇的鯨魚個體位置。
為了提升鯨魚算法的全局搜索能力,首先對收斂因子α 改進(jìn)如下:
改進(jìn)后的α 在算法初期數(shù)值較大且緩慢減小,可以擴(kuò)大搜索范圍,加強(qiáng)全局搜索能力;在后期α 減小快,加強(qiáng)局部搜索能力。
然后利用隨機(jī)差分變異策略對位置更新后的鯨魚種群進(jìn)行如式(16)所示的擾動更新:
其中,“·”為點乘運算,I3為[0,1]間的隨機(jī)向量,Xp(·)表示擾動位置,(t)為隨機(jī)選擇的鯨魚個體位置。增強(qiáng)種群個體的多樣性,防止算法早熟而陷入局部最優(yōu)。
最后利用模擬退火的思想,在每次擾動更新后,如果新個體的適應(yīng)度函數(shù)f(Xp(t+1))比更新前的f(X(t))小,則接受更新;否則通過接受概率判斷是否更新,這樣使種群個體往最優(yōu)解靠近的同時,使算法具有跳出局部最優(yōu)的能力。接受概率γ 為:
其中,β表示溫度。
令X=[θ1,2,θ2,3,…,θR-1,R]為鯨魚個體,將矩陣的總方差值視作適應(yīng)度函數(shù),即,根據(jù)式(7)~式(9),可由X 計算得到。利用SA-IWOA 求解的具體步驟如下:
(1)初始化算法參數(shù):種群數(shù)目J、最大迭代次數(shù)tmax、初始溫度β、i1和i2;
(3)根據(jù)式(10)和式(14)更新鯨魚位置,利用式(7)計算Givens 旋轉(zhuǎn)矩陣?yán)檬剑?)計算m,計算各鯨魚個體的f(X(t));
(4)根據(jù)式(16)對位置更新后的鯨魚個體進(jìn)行擾動更新,利用式(7)計算Givens 旋轉(zhuǎn)矩陣?yán)檬剑?)計算m,計算每個鯨魚個體的f(Xp(t+1));
(5)若f(Xp(t+1))<f(X(t)),則X(t+1)=Xp(t+1);否則,產(chǎn)生一個隨機(jī)數(shù)I4∈[0,1],利用式(17)計算γ,當(dāng)I4落在區(qū)間[γ,1]內(nèi)時,X(t+1)=Xp(t+1),反之X(t+1)=X(t+1),然后進(jìn)行退溫操作:β′=0.95β;
(6)記錄此時總方差值最小的鯨魚個體即最優(yōu)個體Xg,判斷迭代次數(shù)是否為最大值,若是,則輸出最優(yōu)個體,否則分別根據(jù)式(11)、式(12)和式(15)更新參數(shù)I1、I2和α;返回步驟(3)繼續(xù)執(zhí)行。
由式(2)可知,依次估計出M 個信號矩陣Ym中的各用戶復(fù)合碼片段,然后按順序進(jìn)行拼接,即可得到共RM個長度為Nc的模糊序列其 中。R 個用戶的復(fù)合碼就包含在這RM個模糊序列中,將其記為。但由于每段復(fù)合碼都可以獨立取正負(fù)號,導(dǎo)致存在幅度模糊的問題,且還存在短碼的影響,無法估計各用戶的長擾碼,通過兩次延遲相乘的方式消除幅度模糊和短碼影響:
其中,1≤n≤Nb,1≤λ1≤R。
所以可得本文提出的帶殘余載波的LSC-DS-CDMA信號偽碼估計算法(簡記為LSC-SA-IWOA)主要步驟如下:
(1)利用長碼和短碼周期對接收信號進(jìn)行2 次分段,構(gòu)成帶殘余載波的接收信號矩陣Ym;
(2)對信號矩陣進(jìn)行特征值分解,得到帶殘余載波的信號子空間Gm;
(4)利用SA-IWOA 算法求解最優(yōu)旋轉(zhuǎn)角,并利用Givens旋轉(zhuǎn)矩陣對信號子空間進(jìn)行旋轉(zhuǎn),得到各用戶的復(fù)合碼估計m;
(5)通過兩次延遲相乘的方式消除幅度模糊和短碼影響,并根據(jù)梅西算法和相關(guān)運算分別獲得長碼和短碼估計。
在仿真實驗中,各用戶的信號幅度相同,即Ar=A;信息碼是隨機(jī)生成的序列{+1,-1};定義信噪比(Signal Noise Ratio,SNR)為表示接收信號方差;長擾碼使用8 階m 序列,擴(kuò)頻短碼使用周期長度為Nb=64 的OVSF 碼;種群數(shù)目J=50,最大迭代次數(shù)tmax=400,初始溫度β=1。長碼和短碼的誤碼率的平均值稱為長短碼誤碼率,用其衡量算法的偽碼估計性能。以下仿真結(jié)果均為400 次蒙特卡洛實驗的平均。
接收信號周期數(shù)P=100,用戶數(shù)R=2,當(dāng)頻偏分別為f△=0、f△=±0.02、f△=±0.03、f△=±0.04時,本文算法對長短碼估計的長短碼誤碼率曲線如圖1 所示。
圖1 不同頻偏對長短碼估計性能的影響
由圖1 可知,當(dāng)|f△|相同時,誤碼率基本相同;當(dāng)|f△|逐漸增大時,誤碼率也逐漸升高,當(dāng)頻偏分別為f△=0、f△=0.02、f△=0.03 和f△=0.04時,誤碼率低于1%時本文算法所需的信噪比分別為-7.1 dB、-5.5 dB、-4.8 dB、-3.9 dB,說明DPLL 能有效去除殘余頻偏。
殘余頻偏f△=0.02,用戶數(shù)R=2,當(dāng)接收信號周期數(shù)P 分別為50、100 和150時,本文算法的長短碼誤碼率曲線如圖2 所示。
圖2 不同周期數(shù)對長短碼估計性能的影響
由圖2 可知,接收信號周期數(shù)越多,誤碼率越低。當(dāng)接收信號周期數(shù)P 分別為50、100 和150,誤碼率低于1%時本文算法所需的信噪比分別為-2.5 dB、-5.5 dB、-6.9 dB。因為接收信號周期數(shù)越多,其包含的有用信息更多,特征值分解法的結(jié)果越準(zhǔn)確,利用Givens 矩陣旋轉(zhuǎn)和SA-IWOA 算法估計的復(fù)合碼也就越準(zhǔn)確,最終利用梅西算法和相關(guān)運算估計長短碼的誤碼率就越低。
接收信號周期數(shù)P=100,殘余頻偏f△=0.02,當(dāng)用戶數(shù)R 分別為2、3 和4時,本文算法的長短碼誤碼率曲線如圖3 所示。
圖3 不同用戶數(shù)對長短碼估計性能的影響
由圖3 可知,用戶數(shù)越多,長短碼估計性能越差。因為用戶數(shù)越多,用戶間信號干擾越大,導(dǎo)致特征值分解法的結(jié)果誤差越大,使得Givens 矩陣旋轉(zhuǎn)的誤差越大,導(dǎo)致最終的長短碼估計性能越差。
接收信號周期數(shù)P=100,殘余頻偏f△=0.02,用戶數(shù)R=2,當(dāng)信噪比為-9 dB時,應(yīng)用本文所提出的SA-IWOA算法、混沌鯨魚算法(COWA)[17]和隨機(jī)差分鯨魚算法(IWOA)[20]得到的適應(yīng)度函數(shù)即總方差值隨迭代次數(shù)的變化如圖4 所示。
圖4 總方差值隨迭代次數(shù)的變化圖
由圖4 可知,本文所提的SA-IWOA 算法收斂速度最快,求得的總方差值最小,即估計的旋轉(zhuǎn)角度優(yōu)于IWOA和COWA 算法的。
實驗條件同實驗4,將CWOA 和IWOA 用于本文算法中分別簡記為LSC-CWOA 和LSC-IWOA,本文算法LSC-SA-IWOA 和LSC-CWOA、LSC-IWOA、文獻(xiàn)[4]算法的長短碼誤碼率如圖5 所示。
圖5 長短碼誤碼率對比
由圖5 可知,本文算法的誤碼率最低,其次是LSCIWOA 算法,然后是LSC-CWOA 算法,最后是文獻(xiàn)[4]的極值法。極值法在估計總方差的最小值時,極易得到局部最優(yōu)解,缺乏全局搜索的能力;CWOA 利用混沌序列增加了全局搜索的能力,但局部搜索的能力不強(qiáng);IWOA 利用隨機(jī)差分變異的方式增加全局搜索的能力,但變異的結(jié)果隨機(jī),差的變異結(jié)果在一定程度上影響了最優(yōu)角度的求解。
針對帶殘余載波的LSC-DS-CDMA 信號的偽碼估計,先根據(jù)長碼周期和短碼周期對接收信號進(jìn)行分段并構(gòu)建矩陣;接著利用特征值分解和DPLL 得到消除殘余頻偏的用戶特征向量子空間;再根據(jù)Givens 矩陣旋轉(zhuǎn),利用結(jié)合SA-IWOA 算法求出最佳旋轉(zhuǎn)角,估計出各用戶的復(fù)合碼序列并依次拼接;最后利用梅西算法和相關(guān)運算估計各用戶的長碼和短碼。仿真實驗表明,本文算法能有效估計帶殘余頻偏的LSC-DS-CDMA 信號偽碼,估計性能優(yōu)于文獻(xiàn)[4]的極值法,所提出的SA-IWOA 算法的尋優(yōu)性能優(yōu)于IWOA 和CWOA。