毛 健 仰楓帆
(南京航空航天大學(xué)電子信息工程學(xué)院 南京 211100)
1970年戈帕(Goppa)系統(tǒng)地構(gòu)造了一類有理分式碼——Goppa碼[1]。Goppa碼的最主要的優(yōu)點是,對某些Goppa碼而言,能達到香農(nóng)信道編碼定理所給出的性能。由于Goppa碼的良好性能,自該碼提出以來,眾多學(xué)者對其性質(zhì)和編譯碼方法進行了深入的研究。特別地,由Goppa碼引出的幾何代數(shù)碼在公開密鑰系統(tǒng)中得到了很好的應(yīng)用。因此,研究Goppa碼有著非常重要的實際意義。而編碼協(xié)作[2~4]作為一種新型的分集技術(shù)可以有效地對抗信號衰落,從而提高系統(tǒng)地誤碼率性能。本文主要研究循環(huán)Goppa碼在協(xié)作通信系統(tǒng)中的應(yīng)用,構(gòu)造了基于循環(huán)Goppa碼的編碼協(xié)作[5~6]系統(tǒng),為循環(huán)Goppa碼的編碼協(xié)作在未來無線通信系統(tǒng)中的應(yīng)用做出了探索性的研究。通過系統(tǒng)仿真表明,我們構(gòu)造的循環(huán)Goppa碼編碼協(xié)作系統(tǒng)的性能在AW?GN信道以及衰落信道中都有著不錯的表現(xiàn)。
定義1:設(shè)0 定義2:設(shè)在GF(q)上碼長為n的線性碼C,如果碼字的循環(huán)移位仍是碼字,則稱線性碼C為循環(huán)碼,即當a(x)∈C時有x?a(x)mod(xn-1)∈C。也就是說,環(huán)R=GF(q)[x]/(xn-1)上的一個理想I=(g(x))則為一個由g(x)生成的一個循環(huán)碼。 如果定義1中的Goppa碼字的循環(huán)移位仍是Goppa碼字,則稱Г(L,G)為循環(huán)Goppa碼。 文獻[10]中提到,若Goppa碼Г(L,G)滿足以下條件: 表1 集合L的各個元素計算結(jié)果 由定義可得: Goppa碼作為GRS碼的子域子碼,通過為碼空間轉(zhuǎn)換添加簡單的預(yù)處理和后處理,特定的GRS碼的譯碼器(可能存在更優(yōu)的譯碼算法)可以在另一個Goppa碼空間中進行糾錯譯碼。所以應(yīng)用于RS碼的譯碼算法(如歐幾里得譯碼算法)也可以應(yīng)用于使用碼空間轉(zhuǎn)換得到Goppa碼,并且不會降低譯碼性能[11~13]。 Goppa碼的譯碼步驟如下: 第一步:由接收到的碼字多項式r(Z)計算校正子多項式S(Z)。如果是打孔的Goppa碼則需要對S(Z)進行修正[14~15]。校正子多項式的修正就是將先前計算得到的S(Z)乘以打孔位置多項式,即 第二步:由S(Z)尋找錯誤位置多項式Λ(Z)和錯誤數(shù)值多項式Ω(Z)。 第三步:由Λ(Z)求解出它的根,找出錯誤位置,再與Ω(Z)一起計算錯誤數(shù)值大小,進而糾正接收的碼字多項式中的錯誤。特別地,如果是二進制Goppa碼,我們只需要找出錯誤位置即可,即可實現(xiàn)糾錯。 通過對Goppa碼以及編碼協(xié)作特性的研究,我們構(gòu)造如圖1的基于循環(huán)Goppa碼編碼協(xié)作系統(tǒng)。在源節(jié)點處采用(n,k)Goppa碼,打孔去除n-n1位得到碼長為n1的碼字,之后進行BPSK調(diào)制,分別廣播至中繼節(jié)點處和目的節(jié)點處;而在中繼節(jié)點處采用相同的編碼,進而獲得先前打孔去除的校驗位,將其調(diào)制后發(fā)送至目的節(jié)點。這樣在目的節(jié)點處可以合成一個完整碼長的Goppa碼。 圖1 基于循環(huán)Goppa碼的編碼協(xié)作系統(tǒng) 該編碼協(xié)作系統(tǒng)工作的具體步驟如下。 1)在信源節(jié)點處,對長度為k的信息位進行Goppa碼編碼,生成碼長為n的碼字。對生成碼字的校驗位進行打孔,得到長為n1的碼字,將該碼字通過廣播信道發(fā)送至目的節(jié)點和中繼節(jié)點。 2)中繼節(jié)點首先對接收到的碼字進行譯碼,若譯碼正確,則采用與源節(jié)點相同的編碼方案對譯出的原始信息位進行編碼,提取出碼字中在第一階段被打孔的校驗位,長為n2=n-n1,可以看成碼長為n2的Goppa碼傳送到目的節(jié)點。 3)目的節(jié)點處接收到來自S-D信道和R-D信道傳輸?shù)拇a字,將碼長為n1和n2的兩路信號合并成碼長為n=n1+n2,進行聯(lián)合迭代譯碼得到原始信息。 由于目的節(jié)點接收到是來自源節(jié)點和中繼節(jié)點的兩路信號,所以我們需要將這兩路信號合并成一路信號。如圖2,目的節(jié)點接收到是來自源節(jié)點解調(diào)得到的序列和中繼節(jié)點序列,將其合并后得到序列,之后將其送去譯碼器,進行歐幾里得迭代譯碼,最終得到信息的估計序列。 圖2 目的節(jié)點的聯(lián)合譯碼 本文所研究的是理想的編碼協(xié)作系統(tǒng),即S-R信道的信噪比足夠大,使得中繼節(jié)點可以正確譯碼來自源節(jié)點的信息。在非理想情況下,中繼節(jié)點可能無法正確譯碼,那么中繼節(jié)點的再編碼也是不可靠的,從而影響整個系統(tǒng)的性能。仿真設(shè)置為:在源節(jié)點采用(31,21)Goppa碼進行編碼,之后打孔4位,采用BPSK調(diào)制方式,將該碼字通過廣播信道發(fā)送至目的節(jié)點和中繼節(jié)點,中繼節(jié)點采用與源節(jié)點相同的編碼方案對譯出的原始信息位進行編碼,提取出碼字中在第一階段被打孔的4位校驗位傳送到目的節(jié)點。其中設(shè)置SNRR-D=SNRS-D+1dB,分別在AWGN信道和瑞利快衰落信道下傳輸106幀數(shù)據(jù)。 由圖3可知,在AWGN信道下,誤碼率在10-5時,Goppa協(xié)作系統(tǒng)比非協(xié)作系統(tǒng)有著了1.8dB的性能增益。由圖4可知,在快衰落信道下,誤碼率在10-5時,Goppa協(xié)作系統(tǒng)比非協(xié)作系統(tǒng)有2dB左右的性能增益。 圖3 (31,21)Goppa碼的編碼協(xié)作系統(tǒng)在AWGN信道下的誤碼率曲線 圖4 (31,21)Goppa碼的編碼協(xié)作系統(tǒng)在快衰落信道下的誤碼率曲線 在對Goppa碼的構(gòu)造原理以及譯碼算法的研究過程中,提出了基于循環(huán)Goppa碼的編碼協(xié)作系統(tǒng)方案。該方案巧妙地將Goppa碼與編碼協(xié)作系統(tǒng)相結(jié)合,并且仿真結(jié)果表明,在AWGN信道和瑞利快衰落信道下,采用Goppa碼的編碼協(xié)作系統(tǒng)不僅可以降低系統(tǒng)誤碼率,而且提升了系統(tǒng)的傳輸效率,相較于非協(xié)作的系統(tǒng),系統(tǒng)性能都有了不同程度的提升。3 基于Goppa碼編碼協(xié)作系統(tǒng)
4 目的節(jié)點的聯(lián)合譯碼方案
5 仿真結(jié)果分析
6 結(jié)語