王愛生,張 棋,魏 猛
(江蘇師范大學(xué) 測(cè)繪學(xué)院,江蘇 徐州 221116)
2012年12月27日,中國(guó)衛(wèi)星導(dǎo)航系統(tǒng)管理辦公室公開了北斗衛(wèi)星導(dǎo)航系統(tǒng)空間信號(hào)接口控制文件公開服務(wù)信號(hào)B1I(1.0版)[1],正式公布了B1頻點(diǎn)的信號(hào)結(jié)構(gòu)和基本特性參數(shù)、射頻信號(hào)特性,即可以通過(guò)仿真來(lái)研究北斗信號(hào)的特性,這對(duì)于擴(kuò)頻碼的同步和擴(kuò)頻信號(hào)的解擴(kuò)、噪聲的控制、測(cè)距精度的測(cè)試等具有非常重要的意義。文獻(xiàn)[2]通過(guò)仿真研究了GPS-C/A碼的平衡性,文獻(xiàn)[3—5]也對(duì)GPS的測(cè)距碼進(jìn)行了仿真。本文將對(duì)北斗B1頻點(diǎn)I支路測(cè)距碼(相當(dāng)于C/A碼)進(jìn)行計(jì)算機(jī)仿真,從而研究它們的正交性。
隨機(jī)序列有很好的自相關(guān)性,最大長(zhǎng)度序列(m序列)與隨機(jī)序列一樣也有很好的自相關(guān)性,并且能夠通過(guò)帶反饋的二進(jìn)制移位寄存器生成。移位寄存器的輸入是輸出寄存器與各種內(nèi)部寄存器的模2和。設(shè)移位寄存器的存儲(chǔ)位數(shù)為m,如果反饋抽頭選擇適當(dāng),將產(chǎn)生一個(gè)長(zhǎng)度為2m-1的序列。通常用一個(gè)二進(jìn)制的不可約多項(xiàng)式來(lái)描述反饋抽頭的集合,這個(gè)多項(xiàng)式稱為m序列的生成多項(xiàng)式。
m序列有許多重要性質(zhì)[6],其中,m序列的自相關(guān)為
對(duì)同一長(zhǎng)度的兩個(gè)m序列求和,但使用不同的生成多項(xiàng)式,這樣得到的一個(gè)新的0-1序列就是Gold碼。在實(shí)際應(yīng)用中,我們希望分配給發(fā)射機(jī)的擴(kuò)頻碼具有很好的互相關(guān)特性。Gold證明了對(duì)于特定選擇的生成多項(xiàng)式,生成的Gold碼序列具有很好的互相關(guān)性質(zhì),即
(2)
式(2)說(shuō)明,對(duì)于所有的時(shí)間偏移τ,兩個(gè)不同符號(hào)波形的互相關(guān)近似為0,這意味著不同序列是近似正交的。使實(shí)際信道和接收機(jī)影響最小化所必須附加的自正交性要求為
Rkk(τ)≈0 (τ>0)
(3)
也就是說(shuō),對(duì)于任何正的時(shí)間偏移τ,每個(gè)擴(kuò)頻碼自身是正交的。
北斗C/A碼不是真正的Gold碼,其序列長(zhǎng)度是2046位碼片數(shù)(Gold碼應(yīng)該是211-1=2047位)。北斗C/A碼發(fā)生器的結(jié)構(gòu)方案[1]如圖1所示。
圖1 C/A碼發(fā)生器
由圖1可以看出,C/A碼是由兩個(gè)線性序列G1和G2模2和產(chǎn)生的。G1和G2序列分別由一個(gè)11級(jí)線性移位寄存器生成,其生成多項(xiàng)式是
G1(X)=1+X+X7+X8+X9+X10+X11
(4)
G2(X)=1+X+X2+X3+X4+X5+X8+X9+X11
(5)
G1的初始相位為01010101010,G2的初始相位為01010101010,通過(guò)對(duì)產(chǎn)生G2序列的移位寄存器不同抽頭的模2和可以實(shí)現(xiàn)G2序列相位的不同偏移,與G1序列模2和后再去掉最后一位分配給不同衛(wèi)星,每個(gè)衛(wèi)星對(duì)應(yīng)一個(gè)唯一的C/A碼,見表1。表1中一共有37個(gè)C/A碼,下面將用Matlab程序仿真這些碼并對(duì)它們的正交性進(jìn)行分析。
表1 北斗衛(wèi)星的G2序列相位分配
李棟等編寫了m序列的仿真Matlab函數(shù)[7],本文對(duì)其略加改動(dòng),形成下面的程序
Function[mseq]= mseries(coeffict,iniregis,wayout)
len=length(coeffict); %移位寄存器的級(jí)數(shù)
L=2^len-1; %生成的偽隨機(jī)碼的長(zhǎng)度
Mseq(1)=iniregis(wayout);
for i=2∶L
newregis(2∶en)=iniregis(1∶len-1);
newregis(1)=mod(sum(coeffict..*iniregis),2);
iniregis=newregis;
mseq(i)=iniregis(wayout);
end
函數(shù)mseries生成m序列并保存在矩陣mseq 中,它有3個(gè)參數(shù):coeffict表示m序列生成多項(xiàng)式的二進(jìn)制系數(shù),iniregis表示初始寄存器內(nèi)容,wayout表示抽頭或出口。
按照?qǐng)D1生成碼序列。G1序列的生成多項(xiàng)式的二進(jìn)制系數(shù)為[1 0 0 0 0 0 1 1 1 1 1],寄存器的初始內(nèi)容為[0 1 0 1 0 1 0 1 0 1 0],抽頭為11。G2序列的生成多項(xiàng)式的二進(jìn)制系數(shù)為[1 1 1 1 1 0 0 1 1 0 1],寄存器的初始內(nèi)容為[0 1 0 1 0 1 0 1 0 1 0],將抽頭設(shè)置為6(有多種選擇,這里以6為例),則產(chǎn)生G2-1序列;將抽頭設(shè)置成11(有多種選擇,這里以11為例),則產(chǎn)生G2-2序列。將G2-1和G2-2進(jìn)行模2和,生成G2序列,最后將G1和G2進(jìn)行模2和生成一個(gè)Gold碼序列,將新序列的最后一個(gè)碼片去掉,則為北斗的C/A碼,長(zhǎng)度為211-1-1=2046。生成過(guò)程如圖2所示。
圖2 C/A碼的生成過(guò)程(前20個(gè)碼元)
利用式(1)計(jì)算生成m序列的自相關(guān)系數(shù)。G1序列只有1個(gè),G2-1或G2-2序列有11個(gè),但是自相關(guān)系數(shù)都相同,如圖3所示。
圖3 m序列G1、G2-1、G2-2的自相關(guān)系數(shù)
利用式(1)計(jì)算了Gold碼的自相關(guān)系數(shù),按照表1,共有37個(gè),圖4是其中的一個(gè)。
圖4 Gold碼G2(6⊕11) 的自相關(guān)系數(shù)
利用式(1)計(jì)算了C/A碼的相關(guān)系數(shù),按照表1,共有37個(gè),圖5是其中的一個(gè)。
圖5 C/A碼G2(6⊕11)的自相關(guān)系數(shù)
根據(jù)式(2)計(jì)算兩個(gè)C/A碼之間的互相關(guān)系數(shù),共有666對(duì),圖6是其中的一對(duì)。
為了全面考核C/A碼的自相關(guān)性,把37個(gè)C/A碼序列絕對(duì)值最大的自相關(guān)系數(shù)表示在圖7中。
為了考核所有C/A碼的互相關(guān)性,將666對(duì)C/A碼的互相關(guān)系數(shù)最大值表示在圖8中。
圖6 C/A碼PRN21和PRN30的互相關(guān)系數(shù)
由圖3可以看出,對(duì)于G1、G2-1序列、G2-2序列,當(dāng)延遲(移位)為0時(shí),自相關(guān)系數(shù)等于1;當(dāng)延遲不等于0時(shí),自相關(guān)系數(shù)為-1/2047,符合m序列的特性。由圖4可以看出,由兩個(gè)不同的碼發(fā)生器生成的Gold碼當(dāng)延遲等于0時(shí),相關(guān)系數(shù)等于1;當(dāng)延遲不為0時(shí),相關(guān)系數(shù)不等于-1/2047,但最大值為0.031 8,說(shuō)明相關(guān)性很好,這符合Gold的特性。北斗的C/A碼長(zhǎng)度是2046,比正常的2047少1,但是它的自相關(guān)系數(shù)也很小,如圖5和圖6所示,所有C/A碼自相關(guān)系數(shù)當(dāng)延遲不等于0時(shí)的最大值是0.083 1。由圖8可看出,互相關(guān)系數(shù)最大值為0.102 6,最小值為0.042 3,平均值為0.072 0。而按照Gold的推導(dǎo)[6],如果兩個(gè)碼序列是最大長(zhǎng)度隨機(jī)序列,構(gòu)成的Gold序列的互相關(guān)系數(shù)的絕對(duì)值不應(yīng)該超過(guò)0.05,顯然,北斗的C/A碼的互相關(guān)系數(shù)并不是最小的,是由于北斗C/A碼并不是真正的Gold碼,而比真正的Gold的長(zhǎng)度少1?;ハ嚓P(guān)系數(shù)的最大值分布如圖9所示。
圖7 C/A碼在延遲不等于0時(shí)的自相關(guān)系數(shù)最大值
圖8 所有C/A碼的互相關(guān)系數(shù)的最大值
圖9 互相關(guān)系數(shù)統(tǒng)計(jì)頻度圖
本文編寫了m序列的生成程序,按照北斗導(dǎo)航系統(tǒng)的ICD文件中對(duì)C/A碼的生成方案,產(chǎn)生了37個(gè)C/A碼序列。對(duì)這些碼序列的自相關(guān)系數(shù)進(jìn)行研究,結(jié)果表明,這37個(gè)序列的自相關(guān)性當(dāng)延遲為0時(shí),自相關(guān)系數(shù)等于1,當(dāng)延遲不為0時(shí),最大為0.083 1;對(duì)這37個(gè)序列兩兩之間的互相關(guān)系數(shù)也進(jìn)行了研究,一共有666個(gè)碼對(duì),結(jié)果表明,最大互相關(guān)性為0.102 6。因?yàn)楸倍返腃/A碼的長(zhǎng)度是2046,比最大長(zhǎng)度序列的正常長(zhǎng)度2047小1,因此,與真正的m序列(或Gold序列)相比,正交性略差。
參考文獻(xiàn):
[1] 中國(guó)衛(wèi)星導(dǎo)航系統(tǒng)管理辦公室.北斗衛(wèi)星導(dǎo)航系統(tǒng)空間信號(hào)接口控制文件公開服務(wù)信號(hào)B1I(1.0版)[EB/OL].[2013-01-01].http:∥www.beidou.gov.cn/
[2] 盧曉春,陳清剛,胡永輝.衛(wèi)星導(dǎo)航定位系統(tǒng)中偽隨機(jī)碼的研究[J].時(shí)間頻率學(xué)報(bào),2004,27(1):23-32.
[3] 苗正戈,鹿珂珂,劉陵順,等.GPS信號(hào)結(jié)構(gòu)及其測(cè)距碼研究[J].電子設(shè)計(jì)工程,2011,19(16):112-115.
[4] 劉芳,趙運(yùn)韜,郝亮,等.GPS偽隨機(jī)碼仿真技術(shù)研究[J].沈陽(yáng)理工大學(xué)學(xué)報(bào),2008,27(2):27-30.
[5] 謝偉,蔡德林,孫開榮,等.GPS中偽隨機(jī)碼生成原理的研究[J].信息技術(shù),2007(5):113-116.
[6] HAYKIN S, MOHER M. 現(xiàn)代無(wú)線通信[M]. 鄭寶玉,澤.北京:電子工業(yè)出版社,2006.
[7] 李棟,劉進(jìn)江.m序列的Matlab仿真與實(shí)現(xiàn)[J].重慶工學(xué)院學(xué)報(bào):自然科學(xué)版,2008,22(4):139-141.