封芳安 仰楓帆
(南京航空航天大學(xué) 南京 210016)
戈帕(Goppa)在1970 年巧妙地構(gòu)造了一類(lèi)線性分組碼——Goppa 碼[1~2]。作為交替碼的子類(lèi),現(xiàn)研究已經(jīng)證明,存在某些好的Goppa 碼,性能能達(dá)到Gilbert-Varshamov 界[3]。因?yàn)镚oppa 碼具有不錯(cuò)的特性,其性質(zhì)和構(gòu)造方法以及譯碼方法一直被眾多學(xué)者深入的研究。如,McElice 公鑰體制中采用了Goppa碼。因此,對(duì)Goppa 碼研究是十分重要的。為應(yīng)對(duì)信道信號(hào)衰落問(wèn)題,分集技術(shù)中的編碼協(xié)作技術(shù)十分有效[4~6]。像LDPC 碼[7]、Turbo 碼[8]、Polar碼[9]等已經(jīng)被應(yīng)用于協(xié)作通信系統(tǒng)中,然而基于Goppa 碼的協(xié)作通信還沒(méi)有好好的被研究[10]。本文提出了一種分布式Goppa 碼中繼編碼協(xié)作方案,在中繼處提出一種信息選擇的方式,在目的節(jié)點(diǎn)構(gòu)造一個(gè)優(yōu)化的聯(lián)合碼。針對(duì)該聯(lián)合碼的特性,提出了兩種聯(lián)合譯碼算法。為Goppa 碼的協(xié)作通信系統(tǒng)的應(yīng)用做出了探索性的研究。仿真結(jié)果表明,我們所提出的分布式Goppa 碼中繼編碼協(xié)作方案的具有良好的系統(tǒng)性能。
設(shè)L={α0,α1,…,αn-1}是一個(gè)由n 個(gè)不同元素的組成的集合,其中αi?Ω=GF(qm)(q 是質(zhì)數(shù)或質(zhì)數(shù)的冪,m 是正整數(shù)),令g(z)?Ω[z]是次數(shù)為r的首一多項(xiàng)式(0≤r≤n)且對(duì)于所有取自集合L 中的元素都有g(shù)(αi)≠0。那么Goppa 碼Γ(L,g(z))是在GF(q)上的所有滿足式()的矢量c=(c0,c1,…,cn-1)的集合。
多項(xiàng)式g(z) 被稱(chēng)為Goppa 多項(xiàng)式[11]。Goppa碼的校驗(yàn)矩陣H如下:
Goppa 碼碼長(zhǎng)n 為集合L 中元素的數(shù)目,信息位k 滿足k≥n-mr,最小距離d 滿足d≥r+1。Goppa碼作為GRS碼的一個(gè)子類(lèi)。Goppa的譯碼[12~14]可以應(yīng)用BCH碼、RS碼的譯碼方式。
圖1展示了分布式Goppa碼中繼協(xié)作方案的模型。單中繼協(xié)作模型包含源節(jié)點(diǎn)S、中繼節(jié)點(diǎn)R 以及目的節(jié)點(diǎn)D。中繼節(jié)點(diǎn)采用半雙工傳輸模式,所有節(jié)點(diǎn)均使用單個(gè)天線發(fā)送和接收信號(hào)。由源節(jié)點(diǎn)生成的序列m 需要兩個(gè)時(shí)隙和兩組不同的Goppa 碼在信道上傳輸。Goppa 碼C1(N,K1,d1)和C2(N,K2,d2)(K2≤K1)分別用在源節(jié)點(diǎn)和中繼節(jié)點(diǎn)。
圖1 分布式Goppa中繼協(xié)作方案系統(tǒng)模型
在時(shí)隙1,信息序列m 進(jìn)入系統(tǒng)Goppa 編碼器C1(N,K1,d1)得到碼序列c1。經(jīng)過(guò)BPSK調(diào)制后,源節(jié)點(diǎn)向中繼節(jié)點(diǎn)和目的節(jié)點(diǎn)廣播發(fā)送調(diào)制信號(hào)xS。中繼節(jié)點(diǎn)和目的節(jié)點(diǎn)分別收到信號(hào)ySR和ySD。
其中h是信道衰落系數(shù),n是加性高斯白噪聲。
在時(shí)隙2,解調(diào)信號(hào)ySR得到序列r1,然后將序列r1送入Goppa 譯碼器,通過(guò)歐幾里得譯碼算法得到估計(jì)信息序列m1。在中繼處從序列m1里挑選K2位信息符號(hào)作為第二組Goppa 碼的信息序列m2。序列通過(guò)系統(tǒng)Goppa編碼器C2(N,K2,d2)得到碼序列c2。在BPSK 調(diào)制之后,中繼節(jié)點(diǎn)廣播給目的節(jié)點(diǎn)發(fā)送調(diào)制信號(hào)xR。目的節(jié)點(diǎn)將從兩路接收到的信號(hào)串聯(lián)得到聯(lián)合信號(hào)y=[ySD,yRD]。將聯(lián)合信號(hào)y解調(diào)后得到的聯(lián)合估計(jì)碼序列[r1,r2]進(jìn)行聯(lián)合譯碼,最終得到估計(jì)信息序列。
中繼處的信息選擇是在目的節(jié)點(diǎn)構(gòu)建聯(lián)合碼的關(guān)鍵。不同的信息選擇模式會(huì)導(dǎo)致目的節(jié)點(diǎn)處的聯(lián)合碼結(jié)構(gòu)不同,從而影響編碼協(xié)作方案的整體性能。假設(shè)聯(lián)合碼的最小漢明距離為d3,我們希望最小距離d3盡可能的大,然而可能存在多種選擇方式使得最小距離一樣大。在這種情況下,提出一種確定選擇方式的標(biāo)準(zhǔn)。我們采用使得具有最小重量為d3的碼字c 的數(shù)目盡可能小的選擇模式。通過(guò)該方法選擇的聯(lián)合碼相對(duì)于最小距離相同的其他聯(lián)合碼具有更好的碼重分布。具體步驟如下:
1)我們考慮只有一位是非零的,其余位置都是0 的消息序列,對(duì)其進(jìn)行編碼,找到碼字重量等于最小距離的碼字,并將這些對(duì)應(yīng)的非0 位置存儲(chǔ)在集合τ中。從恢復(fù)K1個(gè)消息比特中挑選K2位信息,為了增加目的節(jié)點(diǎn)聯(lián)合碼的最小距離,則必須選擇集合τ中元素的對(duì)應(yīng)位置。因此,K2個(gè)位置中有τ位已經(jīng)被確定,其余的位置再隨機(jī)選擇。把所有的選擇模式都記錄在集合B中。
2)將生成的碼字重量為d1的所有消息序列存儲(chǔ)在集合A 中。所有這些序列都通過(guò)集合B 中的挑選方式挑選后對(duì)其進(jìn)行編碼,將兩段碼字聯(lián)合后,確定聯(lián)合碼字的碼重d=d1的碼字?jǐn)?shù)量v。尋找碼重為d1最小碼字?jǐn)?shù)量v 對(duì)應(yīng)的挑選方式,如果只有一種挑選方式滿足,即為優(yōu)化的選擇模式。如果最小數(shù)量v 對(duì)應(yīng)的挑選方式有多種,則通過(guò)這些挑選方式挑選后,編碼確定聯(lián)合碼碼字重量d=d1+1的碼字重量v,尋找碼重為d1最小碼字?jǐn)?shù)量v 對(duì)應(yīng)的挑選方式,如果還有多種選擇模式,增大碼字重量d,重復(fù)上述步驟,繼續(xù)篩選直到剩下最佳的選擇模式。
聯(lián)合譯碼是分布式編碼協(xié)作系統(tǒng)的關(guān)鍵?;谔岢龅姆植际紾oppa 編碼協(xié)作方案,提出了兩種聯(lián)合譯碼算法,具體細(xì)節(jié)如下。
并行聯(lián)合譯碼如圖2 所示。Goppa1和Goppa2譯碼器分別對(duì)解調(diào)序列r1和r2進(jìn)行譯碼得到估計(jì)信息序列和。由于C2(N,K2,d2)相對(duì)于C1(N,K1,d1)有更多的校驗(yàn)位以及更大的最小距離,在相同條件下,C2的誤碼率性能更加優(yōu)秀,因此將序列按之前的選擇方式替換,最終輸出序列。
圖2 并行聯(lián)合譯碼方案
串行聯(lián)合譯碼如圖3 所示。通過(guò)Goppa2譯碼器對(duì)解調(diào)序列r2進(jìn)行譯碼得到估計(jì)信息序列。由于使用系統(tǒng)碼,解調(diào)序列r1由信息序列m1和奇偶校驗(yàn)序列p1組成,將序列中的K2個(gè)元素按先前的選擇方式替換,獲得序列。該序列送入Goppa1譯碼器進(jìn)行譯碼得到最終估計(jì)信息序列。
圖3 串行聯(lián)合譯碼方案
基于本文提出的分布式Goppa 碼中繼協(xié)作系統(tǒng),我們采用兩組參數(shù)分別為Goppa1(31,21,5)和Goppa2(31,16,7)的碼。它們的集合L都是取自GF(25)中的所有非零元素。g1(z)=z2+z+1 和g2(z)=z3+z+1 分別為它們的Goppa 多項(xiàng)式,該多項(xiàng)式系數(shù)同樣取自于GF(25)。在仿真中,均采用BPSK 的調(diào)制方式以及歐幾里得迭代譯碼算法,在高斯信道和瑞利快衰落信道傳輸106幀數(shù)據(jù)。設(shè)γS,D,γS,R,γR,D分別為源到目的節(jié)點(diǎn)的信噪比,源到中繼節(jié)點(diǎn)的信噪比和中繼到目的節(jié)點(diǎn)的信噪比。因?yàn)橹欣^節(jié)點(diǎn)相對(duì)于源節(jié)點(diǎn)更靠近目的節(jié)點(diǎn),假設(shè)γR,D=γS,D+2dB,和在理想狀態(tài)(γS,R=∞)下傳輸。
基于上述信息選擇方案,最佳選擇方式的{2,4,5,7,9,10,11,12,13,14,15,16,18,19,20,21},假設(shè)隨機(jī)選擇方式是挑選前K2位,均采用串行譯碼算法。由圖4 和圖5 可知,我們所提出的中繼信息選擇方案無(wú)論在高斯信道下還是在瑞利快衰落信道下,誤碼率性能明顯優(yōu)于隨機(jī)的信息選擇方式。在高斯信道下,在誤碼率等于10-5時(shí),大約有0.7dB的性能提升;在瑞利快衰落信道下,誤碼率為2×10-5,約有1.7dB的性能提升。
圖4 AWGN信道下不同選擇方式的性能比較
圖5 瑞利快衰落信道下不同選擇方式的性能比較
圖6展示了所提出的分布式Goppa碼協(xié)作方案采用不同譯碼算法在AWGN 信道下的仿真曲線。從仿真曲線中可以看出,本文提出的Goppa 碼中繼協(xié)作系統(tǒng)明顯優(yōu)于非協(xié)作系統(tǒng),并且所提出的串行譯碼算法優(yōu)于并行譯碼算法。在誤碼率為10-5時(shí),串行譯碼算法對(duì)于并行譯碼算法約有0.7dB 的性能增益。
圖6 AWGN信道下不同譯碼算法的性能比較
圖7展示了所提出的分布式Goppa碼協(xié)作方案采用不同譯碼算法在快衰落信道下的仿真曲線。
圖7 瑞利快衰落信道下不同選擇方式的性能比較
從仿真曲線中可以看出,本文提出的Goppa 碼中繼協(xié)作系統(tǒng)明顯優(yōu)于非協(xié)作系統(tǒng),并且所提出的串行譯碼算法優(yōu)于并行譯碼算法。在誤碼率為2×10-5時(shí),串行譯碼算法對(duì)于并行譯碼算法約有1.8dB的性能增益。
基于對(duì)Goppa 碼和協(xié)作通信的研究,本文提出了一種分布式Goppa 編碼協(xié)作系統(tǒng),在該系統(tǒng)上提出了中繼信息選擇方法,來(lái)使得目的節(jié)點(diǎn)獲得優(yōu)化的聯(lián)合碼?;诼?lián)合碼的特性,提出了并行聯(lián)合譯碼和串行聯(lián)合譯碼算法。通過(guò)在AWGN 信道和瑞利信道的仿真,中繼處的適當(dāng)?shù)男畔⑦x擇方法對(duì)于隨機(jī)選擇更具優(yōu)勢(shì),此外,串行譯碼算法比并行譯碼算法的性能更好,與非協(xié)作方案的比較表明所提出的分布式Goppa 編碼方案是有效的。在未來(lái)的工作,我們致力尋找性能更好的Goppa 碼和降低中繼信息選擇算法的復(fù)雜度。