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