摘 要:為提高抗干擾能力,JTIDS在數(shù)據(jù)部分采用了RS(31,15)編譯碼。在分析了RS碼本原多項(xiàng)式及生成多項(xiàng)式的基礎(chǔ)上,構(gòu)建了RS(31,15)的伽羅華域,給出RS(31,15)的編/譯碼的具體算法。在Simulink仿真平臺上對RS(31,15)的編/譯碼過程實(shí)現(xiàn)了仿真。通過仿真結(jié)果,具體分析了RS(31,15)的抗干擾性能。
關(guān)鍵詞:JTIDS;RS編碼/譯碼;誤比特率;Simulink
中圖分類號:TN919.3文獻(xiàn)標(biāo)識碼:A
文章編號:1004-373X(2010)01-021-03
Design and Performance Analysis of RS Encoder in JTIDS
YIN Yalan,SHI Tongye,YIN Jun
(Pukou Branch,Navy Command College,Nanjing,211800,China)
Abstract:In order to improve anti-jamming capability,JTIDS uses RS(31,15) coding/decoding in data.After the primitive polynomial and the generator polynomial being concluded,GF(25) is designed and the detailed algorithm of RS coding/decoding is given.RS coding/decoding is simulated on Matalab Simulink platform.Based on the result of simulation,the anti-jamming performance of RS(31,15) is analyzed.
Keywords:JTIDS;RS coding/decoding;Bit error rate;Simulink
0 引 言
JTIDS是聯(lián)合戰(zhàn)術(shù)信息分發(fā)系統(tǒng)的簡稱,它是一種集通信、導(dǎo)航、識別功能于一體的綜合戰(zhàn)術(shù)通信系統(tǒng),能提供保密、抗干擾和實(shí)時的數(shù)字通信[1]。由于JTIDS采用的是無線網(wǎng)絡(luò)通信技術(shù)和應(yīng)用協(xié)議,通信的可靠性會受到戰(zhàn)場上復(fù)雜電磁環(huán)境的影響。這種復(fù)雜的電磁環(huán)境對信號的干擾分為敵意人為干擾、噪聲和多徑干擾、多用戶干擾。
JTIDS除了采用跳頻、擴(kuò)頻和跳時等技術(shù)來提高其抗干擾能力外,還采用交織和RS(31,15)編碼,使其具有很強(qiáng)的抗突發(fā)干擾能力[2]。RS碼實(shí)質(zhì)上是多進(jìn)制的BCH碼[3],若用n表示RS碼的碼長,則對于q進(jìn)制的RS碼,其碼長需要滿足下式:
n=q-1=2m-1
式中:m是q進(jìn)制碼對應(yīng)的m位二進(jìn)制碼元個數(shù)。對于能夠糾正t個錯誤的RS碼,其校驗(yàn)碼數(shù)目為r=2t,這時的最小碼距d0=2t+1。
JTIDS在RS編碼之前,要為每210比特的數(shù)據(jù)塊生成12個校驗(yàn)比特[4],這是利用CRC(237,225)編碼而成的。循環(huán)碼的225個比特信息位由15個比特的跟蹤號和210個數(shù)據(jù)比特組成,循環(huán)碼的12個校驗(yàn)比特被劃分成3組,每組4個比特,在每4個比特的起點(diǎn)增加一個0比特來填滿校驗(yàn)字節(jié),校驗(yàn)字節(jié)與70個數(shù)據(jù)比特合并在一起生成75個比特字,這種編碼只有檢錯的能力而沒有糾錯的能力。接著將循環(huán)碼的75個比特字進(jìn)行分組,每5位二進(jìn)制序列作為一個字符,共15個字符,將之作為RS碼的信息位,再進(jìn)行RS(31,15)的編碼。
本文分析了RS碼編譯碼的工作原理,研究了JTIDS中的RS(31,15)碼在有噪聲信道下的抗噪聲性能,并用Simulink建立了RS(31,15)的仿真模型,給出了仿真結(jié)果。
1 RS(31,15)編譯碼器的設(shè)計(jì)
1.1 伽羅華域的構(gòu)造
1.1.1 RS(31,15)的本原多項(xiàng)式
若m次既約多項(xiàng)式p(x)能除盡xn+1的最小正整數(shù),且n滿足n=2m-1,則稱p(x)為本原多項(xiàng)式。換句話說,本原多項(xiàng)式是x2m-1+1的一個m次因式,且該因式是不能被次數(shù)小于m但大于零的多項(xiàng)式除盡。
x31+1=(x+1)(x5+x2+1)(x5+x4+x3+x2+1)#8226;
(x5+x4+x2+x+1)(x5+x3+1)#8226;
(x5+x3+x2+x+1)(x5+x4+x3+x+1)(1)
選擇p(x)=x5+x2+1為GF(25)的本原多項(xiàng)式。
1.1.2 Galois域GF(2m)的構(gòu)造
伽羅華域GF(2m)中的元素共有q=2m個。其中,必有一個0,且用m位二進(jìn)制代碼表示。
RS碼的每個碼字來源于有限域中q個元素之一。簡單地說,有限域就是元素可以有q個不同值的域,有限域又可以稱作伽羅華域,名稱來源于法國數(shù)學(xué)家伽羅華(Pierre Galois)。一個含有q個不同元素的伽羅華域記為[5]GF(q)。
伽羅華域內(nèi)各元素具有運(yùn)算自封性,即一個集合中的元素經(jīng)過某種運(yùn)算(例如加減乘除)后仍為集合中的元素。設(shè)p(x)是GF(2)上的m次本原多項(xiàng)式,α為p(x)的根,即有p(α)=0。由本原多項(xiàng)式的定義,可以得到以下表達(dá)式:
x2m-1+1=q(x)p(x)(2)
式中:q(x)為一多項(xiàng)式。代入根α,可得:
α2m-1+1=q(α)p(α)(3)
即:α2m-1+1=0。
由于是模2運(yùn)算,所以可以得到α2m-1=1。
對于一個擁有2m個元素的Galois域,α是其本原元素,因此可用α生成GF(2m)中的非零元素α1,α2,α3,…,α2m-1。因此,GF(2m)={0,α1,α2,α3,…,α2m-1}。
由此可見,一個擁有2m個元素的伽羅華域中2m個m位0,1比特流可以在加減乘除運(yùn)算中隨意轉(zhuǎn)換,而不必?fù)?dān)心運(yùn)算的結(jié)果會落到有限域之外。
1.1.3 Galois域GF(25)的構(gòu)造
由上述分析可知,構(gòu)造GF(25)域的本原多項(xiàng)式p(x)為:p(x)=x5+x2+1。定義α為p(x)=0的根,即α5+α2+1=0或α5=α2+1,則GF(25)中的部分元素如表1所示。
表1 GF(25)中的部分元素
GF(25)域元素多項(xiàng)式表示式二進(jìn)制代碼GF(25)域元素多項(xiàng)式表示式二進(jìn)制代碼
0000000α5α5=α2+100101
α0100001α6α6=α3+α01010
α1α100010α7α7=α4+α210100
α2α200100α8α8=α3+α2+101101
α3α301000
α4α410000α30α30=α4+α2+α+110111
1.2 RS(31,15)編譯碼器設(shè)計(jì)
1.2.1 RS碼的編碼算法
RS編碼的實(shí)質(zhì)是已知信息碼,根據(jù)生成多項(xiàng)式來確定校驗(yàn)碼[6]。
RS碼的生成多項(xiàng)式為:
g(x)=(x+α)(x+α2)…(x+α2t)(4)
式中:α為伽羅華域GF(2m)中的本原元素。
將公式(4)展開成循環(huán)碼生成多項(xiàng)式的一般形式:
g(x)=xr +axr-1+bxr-2+…+A(5)
可判斷出g(x)=(x+α)(x+α2)…(x+α2t)的最高次為xr,且系數(shù)為1;常數(shù)項(xiàng)A=α1+2+…+2t,此值絕不為0。由于域中所有元素?zé)o論怎樣加、減、乘、除,結(jié)果都會落在域內(nèi),即g(x)=xr +axr-1+bxr-2+…+A中所有的系數(shù)都是由α的加、減、乘、除得來的,因此所有的系數(shù)都是伽羅華域中的元素之一。
因此,RS(31,15)碼的生成多項(xiàng)式為:
g(x)=(x+α)(x+α2)…(x+α16)(6)
RS(31,15)的15個信息碼表示為m14,m13,…,m0;RS(31,15)的16個校驗(yàn)碼表示為Q15,Q14,…,Q1,Q0。由于循環(huán)碼多項(xiàng)式T(x)滿足:
T(x)=g(x)Q(x)(7)
式中:Q(x)為任意多項(xiàng)式。所以:
m14x30+m13x29+…+m0x16+Q15x15+Q14x14+…+Q1x+Q0=(x+α)(x+α2)…(x+α16)Q(x)(8)
將x=α,x=α2,…,x=α16分別代入式(8),可得到由16個方程組成的方程組:
m14α30+m13α29+…+m0α16+Q15α15+Q14α14+…+Q1α+Q0=0(9-1)
m14α2×30+m13α2×29+…+m0α2×16+Q15α2×15+Q14α2×14+…+Q1α2+Q0=0(9-2)
…
m14α16×30+m13α16×29+…+m0α16×16+Q15α16×15+Q14α16×14+…+Q1α16+Q0=0(9-16)
由上述16個方程可以得到RS碼的16個校驗(yàn)碼Q15,Q14,…,Q1,Q0。
1.2.2 RS碼的譯碼算法
RS碼的錯誤糾正過程分三步:計(jì)算校正子、計(jì)算錯誤位置及計(jì)算錯誤值。
校正子s0,s1,…,s15使用下面的方程組來計(jì)算:
m14α30+m13α29+…+m0α16+Q15α15+Q14α14+…+Q1α+Q0=s0(10-1)
m14α2×30+m13α2×29+…+m0α2×16+Q15α2×15+Q14α2×14+…+Q1α2+Q0=s1(10-2)
…
m14α16×30+m13α16×29+…+m0α16×16+Q15α16×15+Q14α16×14+…+Q1α16+Q0=s15(10-16)
如果計(jì)算得到的s0,s1,…,s15不全為0,則說明有差錯,如果差錯個數(shù)不大于8個,則可通過求方程的形式來確定錯誤的個數(shù)和錯誤的位置。
2 RS(31,15)的Simulink仿真模型
對RS(31,15)的仿真是基于Matalab的Simulink仿真平臺的[7],仿真模型如圖1所示。
圖1 RS(31,15)的Simulink仿真模型
仿真模型中各模塊的作用[8]如下:
隨機(jī)整數(shù)發(fā)生器是用來產(chǎn)生0~31范圍內(nèi)的隨機(jī)整數(shù),即RS碼為32進(jìn)制的BCH碼,它產(chǎn)生的數(shù)據(jù)是基于幀格式,每幀15個符號。RS編碼器是根據(jù)提供的本原多項(xiàng)式和生成多項(xiàng)式將每幀15個符號編碼為RS(31,15)碼字,它產(chǎn)生的數(shù)據(jù)依然是基于幀格式。幀狀態(tài)轉(zhuǎn)換模塊是用于將基于幀格式的數(shù)據(jù)轉(zhuǎn)換為基于抽樣的數(shù)據(jù)格式。Matlab Fcn模塊是通過調(diào)用函數(shù)de2bi(u,5)將每個整數(shù)轉(zhuǎn)換成5 b的二進(jìn)制序列。接收信道的模塊都是對發(fā)送信道的逆變換。
3 RS碼通過有噪信道的誤符號率分析
由于二進(jìn)制對稱信道中噪聲的影響,使得信號通過二進(jìn)制對稱信道后,出現(xiàn)了二進(jìn)制隨機(jī)錯誤,即使通過RS解碼器后,仍有部分錯誤信號超過了解碼器糾錯能力的范圍,出現(xiàn)一定的誤碼。通過運(yùn)行下述的M文件,可得到信道誤比特率與信號誤碼率關(guān)系曲線,如圖2所示。
M文件的程序代碼如下:
x=[0.0001 0.001 0.005 0.01 0.02 0.03 0.04 0.05 0.1 0.2];%x表示信道的誤比特率
y=x;%y表示編碼信號的誤符號率
BitRate=56000;%1類端機(jī)速率為56 Kb/s
SimulationTime=1;%仿真時間設(shè)置為1 s
CodewordLength=31;%RS編碼器的碼字長度
PrimitivePolynomial=[1 0 0 1 0 1];%RS編碼器的本原多項(xiàng)式
For i=1:length(x)
ChannelErrorRate=x(i);
Sim(′untitled′);
y(i)=SymbolErrorRate(1);
end
semilogy(x,y);%繪制x和y的關(guān)系曲線圖,縱坐標(biāo)采用對數(shù)坐標(biāo)
從圖2的曲線可看出,當(dāng)信道的誤比特率上升時,RS碼的誤碼率也隨之上升;在信道誤比特率大于5.5%時,系統(tǒng)的誤碼率會超過10%,如果信道僅僅引入的是加性高斯白噪聲的話,一般誤比特率很難達(dá)到這個數(shù)值,除非是突發(fā)性干擾。但JTIDS在RS編碼后還進(jìn)行交錯編碼,有效地防止了突發(fā)性干擾引起的誤碼[9]。
圖2 信道誤比特率與信號誤碼率關(guān)系曲線
4 結(jié) 語
JTIDS在未來軍隊(duì)作戰(zhàn)力量中扮演的是“粘合劑”和“倍增器”的角色[10]。要充分發(fā)揮JTIDS的作用,其必須具備強(qiáng)的抗干擾能力。RS碼是由Irving Reed 和Gustave Solomon 于1960年構(gòu)造出來的,由于RS碼能夠糾正t個m進(jìn)制錯碼,所以RS碼特別適用于存在突發(fā)錯誤的信道。從以上分析可知,RS 碼不僅糾錯能力強(qiáng),而且還具有編碼效率高,構(gòu)造方便,算法相對簡單,以及在數(shù)字系統(tǒng)中易于實(shí)現(xiàn)等優(yōu)點(diǎn),因此它成為JTIDS具備強(qiáng)抗干擾能力的重要措施之一。
參考文獻(xiàn)
[1]向寒菲.數(shù)據(jù)鏈技術(shù)發(fā)展淺探[J].測控與通信,2008,32(1):51-54.
[2]孫繼銀,付光遠(yuǎn),車曉春.戰(zhàn)術(shù)數(shù)據(jù)鏈技術(shù)與系統(tǒng)[M].北京:北京郵電大學(xué)出版社,2007.
[3]馮桂,林其偉,陳東華.信息論與編碼技術(shù)[M].北京:清華大學(xué)出版社,2006.
[4]孫義明,楊麗萍.信息化戰(zhàn)爭中的戰(zhàn)術(shù)數(shù)據(jù)鏈[M].北京:北京郵電大學(xué)出版社,2005.
[5]南基洙.域和Galois理論[M].北京:科學(xué)出版社,2009.
[6]曹雪虹,張宗橙.信息論與編碼[M].北京:清華大學(xué)出版社,2004.
[7]徐明遠(yuǎn),邵玉斌.Matlab仿真在通信與電子工程中的應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2005.
[8]李賀冰,袁杰萍,孔俊霞.Simulink通信仿真教程[M].北京:國防工業(yè)出版社,2006.
[9]段亞軍.JTIDS系統(tǒng)抗干擾性能分析[J].裝備指揮技術(shù)學(xué)院學(xué)報,2007,18(5):81-84.
[10]張海翔.美軍聯(lián)合戰(zhàn)術(shù)信息分發(fā)系統(tǒng)作戰(zhàn)使用[J].外軍信息戰(zhàn),2006(5):45-47.