基于修正最小和算法的準(zhǔn)循環(huán)ldpc碼譯碼方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于無(wú)線通信領(lǐng)域,特別設(shè)計(jì)一種準(zhǔn)循環(huán)LDPC碼譯碼的實(shí)現(xiàn)方法,可用于 在通信系統(tǒng)接收端進(jìn)行譯碼,對(duì)接收到的信息進(jìn)行糾錯(cuò),提高通信系統(tǒng)的誤碼性能。
【背景技術(shù)】
[0002] 隨著無(wú)線通信中,信道條件的更加惡劣,提高通信系統(tǒng)的誤比特性能,從而保障信 息的可靠傳輸顯得尤為關(guān)鍵。LDPC碼作為具有良好糾錯(cuò)性能的糾錯(cuò)碼,被廣泛的應(yīng)用在通 信系統(tǒng)中。
[0003] 低密度奇偶校驗(yàn)碼LDPC是一種接近Shannon限的碼,其譯碼算法,是一種基于稀 疏矩陣的并行迭代譯碼算法。相對(duì)于其它接近Shannon限的糾錯(cuò)碼運(yùn)算量更小,并且由于 其結(jié)構(gòu)并行的特點(diǎn),降低了譯碼所需要的時(shí)間。因此在通信系統(tǒng)應(yīng)用中,LDPC碼更具有優(yōu) 勢(shì)。然而實(shí)際譯碼算法在硬件實(shí)現(xiàn)時(shí),要耗費(fèi)大量的存儲(chǔ)空間用于相關(guān)校驗(yàn)矩陣的存儲(chǔ)。其 次,對(duì)于碼長(zhǎng)較長(zhǎng)的LDPC碼進(jìn)行譯碼硬件實(shí)現(xiàn)時(shí),若全并行運(yùn)算,將需要耗費(fèi)大量的硬件 資源。
[0004] 而準(zhǔn)循環(huán)低密度奇偶校驗(yàn)碼QC-LDPC,是根據(jù)系統(tǒng)化構(gòu)造方法構(gòu)造的一類(lèi)非常重 要的LDPC碼,日前已經(jīng)成為面向硬件實(shí)現(xiàn)LDPC碼研究的熱點(diǎn)。根據(jù)其準(zhǔn)循環(huán)的特性,大大 方便了譯碼階段的存儲(chǔ)器尋址過(guò)程。同時(shí),只需要存儲(chǔ)校驗(yàn)矩陣的移位次數(shù)信息,便可以 利用其準(zhǔn)循環(huán)特性得到整個(gè)校驗(yàn)矩陣的信息,從而降低了存儲(chǔ)空間。又根據(jù)其準(zhǔn)循環(huán)的特 性,在譯碼過(guò)程中可以采用按塊并行的方式進(jìn)行迭代更新,降低了硬件的耗費(fèi),同時(shí)也能夠 使譯碼所耗費(fèi)的時(shí)間在一個(gè)較低的水平上,達(dá)到一個(gè)資源耗費(fèi)與運(yùn)算時(shí)間花費(fèi)的一個(gè)平衡 點(diǎn)。
[0005] 現(xiàn)有技術(shù)在實(shí)現(xiàn)準(zhǔn)循環(huán)LDPC碼的譯碼過(guò)程中,首先根據(jù)信道獲得信道信息,對(duì)變 量節(jié)點(diǎn)存儲(chǔ)單元進(jìn)行初始化賦值;然后根據(jù)修正最小和算法進(jìn)行校驗(yàn)節(jié)點(diǎn)存儲(chǔ)單元信息的 更新;其次是對(duì)變量節(jié)點(diǎn)存儲(chǔ)信息進(jìn)行更新;最后在循環(huán)次數(shù)達(dá)到既定的條件下進(jìn)行譯碼 判決。見(jiàn)李示忠《準(zhǔn)循環(huán)LDPC碼編譯碼的FPGA實(shí)現(xiàn)》,第五章 QC-LDPC譯碼器的FPGA實(shí) 現(xiàn)。這種實(shí)現(xiàn)方法,對(duì)于校驗(yàn)基矩陣的存儲(chǔ)仍然需要耗費(fèi)一定量的存儲(chǔ)空間。并且在校驗(yàn) 節(jié)點(diǎn)更新過(guò)程中,需要找出每個(gè)校驗(yàn)節(jié)點(diǎn)所獲得的傳遞信息最小值、次小值以及最小值的 位置信息,同時(shí)需要根據(jù)所有傳遞信息得到每個(gè)校驗(yàn)節(jié)點(diǎn)的符號(hào)信息,這將耗費(fèi)大量的硬 件資源,同時(shí)實(shí)現(xiàn)的復(fù)雜度也很大。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明的目的在于提出一種基于修正最小和算法的準(zhǔn)循環(huán)LDPC碼譯碼方法,以 克服上述已有技術(shù)的不足,減少硬件實(shí)現(xiàn)的資源耗費(fèi),降低譯碼復(fù)雜度。
[0007] 為實(shí)現(xiàn)上述目的本發(fā)明的技術(shù)方案如下:
[0008] (1)根據(jù)編碼應(yīng)用的校驗(yàn)矩陣H對(duì)節(jié)點(diǎn)信息存儲(chǔ)單元進(jìn)行尋址:
[0009] I. 1)將校驗(yàn)矩陣H的每一行作為一個(gè)校驗(yàn)節(jié)點(diǎn)r,每一列作為一個(gè)變量節(jié)點(diǎn)q,該 校驗(yàn)矩陣H的移位信息為k,擴(kuò)展倍數(shù)為b,行重為c,列重為t ;每一個(gè)校驗(yàn)節(jié)點(diǎn)包含c個(gè)傳 遞信息存儲(chǔ)位置,每一個(gè)變量節(jié)點(diǎn)包含t個(gè)傳遞信息存儲(chǔ)位置,相關(guān)的校驗(yàn)節(jié)點(diǎn)與變量節(jié) 點(diǎn)之間進(jìn)行信息傳遞;
[0010] 1. 2)根據(jù)校驗(yàn)矩陣H的移位信息k對(duì)存儲(chǔ)單元進(jìn)行尋址,即:
[0011] 第a個(gè)校驗(yàn)節(jié)點(diǎn)獲得的傳遞信息的存儲(chǔ)位置為:Locr (a) = (k+a)mod(b);
[0012] 第a個(gè)變量節(jié)點(diǎn)獲得的傳遞信息的存儲(chǔ)位置為:Locq(a) = (b_k+a)mod(b);
[0013] (2)根據(jù)信道的I、Q兩路信號(hào)獲得第a個(gè)I路信道信息rec_I (a)、Q路信道信息 rec_Q (a)和第a+Ι個(gè)I路彳目道彳目息rec_I (a+1)、Q路彳目道彳目息rec_Q (a+Ι),計(jì)算得到第a 個(gè)初始似然信息LLR(a),0 < a彡b ;
[0014] (3)根據(jù)第a個(gè)初始似然信息LLR (a),將第a個(gè)初始化信息存儲(chǔ)為:La= LLR (a), 將,第a個(gè)變量節(jié)點(diǎn)qa的所有存儲(chǔ)位置的傳遞信息初始化存儲(chǔ)為:Lqa(L〇cq(a)) =LLR(a);
[0015] (4)根據(jù)存儲(chǔ)的變量節(jié)點(diǎn)傳遞信息更新校驗(yàn)節(jié)點(diǎn)傳遞信息:
[0016] 4. 1)將待更新的第j個(gè)校驗(yàn)節(jié)點(diǎn)&傳遞給第i個(gè)變量節(jié)點(diǎn)qi的信息記為L(zhǎng)(r j ; 根據(jù)校驗(yàn)矩陣H,獲得與校驗(yàn)節(jié)點(diǎn)&相關(guān)的變量節(jié)點(diǎn)的集合R 艮據(jù)集合R ,,校驗(yàn)節(jié)點(diǎn)&獲 取變量節(jié)點(diǎn)的傳遞信息設(shè)定一個(gè)修正值,記為β ;
[0017] 4. 2)根據(jù)獲取的變量節(jié)點(diǎn)傳遞信息1從1中依次取出所有符號(hào)位的異 或值sign、最小值min和次小值se_min ;
[0018] 4. 3)將最小值min、次小值se_min乘以修正值β進(jìn)行修正,得到修正后的最小值 cor_min、修正后的次小值cor_se_min ;
[0019] 4.4)將傳遞信息L(qij)的絕對(duì)值與最小值min進(jìn)行比較:若這兩個(gè)值相等,則將 校驗(yàn)節(jié)點(diǎn)傳遞Urji)的絕對(duì)值IUrji) I更新為修正后的次小值cor_se_min ;否則,IUrji) 更新為修正后的最小值cor_min ;
[0020] 4. 5)將傳遞信息L(qi])的符號(hào)位與所有傳遞信息的符號(hào)位信息sign進(jìn)行異或, 得到異或值X ;
[0021 ] 4. 6)將校驗(yàn)節(jié)點(diǎn)傳遞信息L (rjl)的符號(hào)位更新為異或值X ;
[0022] 4. 7)根據(jù)步驟4. 4)、4. 5)、4. 6),更新校驗(yàn)節(jié)點(diǎn)!Tj傳遞給其它變量節(jié)點(diǎn)q r的信息 LCrji.);
[0023] (5)根據(jù)存儲(chǔ)的校驗(yàn)節(jié)點(diǎn)的傳遞信息L (r]1),計(jì)算得到更新后的第i個(gè)變量節(jié)點(diǎn)傳 遞的信息Uqlj)和判決信息L(qi);
[0024] (6)根據(jù)判決信息L(qi)進(jìn)行譯碼判決:若L(qi)大于0,則判為"1",否則判為"0"。
[0025] 本發(fā)明有如下優(yōu)點(diǎn):
[0026] 1)本發(fā)明只需根據(jù)移位信息k,即可對(duì)信息存儲(chǔ)單元進(jìn)行尋址。不再存儲(chǔ)校驗(yàn)矩 陣信息H,降低了存儲(chǔ)空間。
[0027] 2)本發(fā)明在校驗(yàn)節(jié)點(diǎn)信息的更新過(guò)程中,只需通過(guò)一次比較得到傳遞信息絕對(duì)值 的最小值、次小值和符號(hào)位,直接用于校驗(yàn)節(jié)點(diǎn)傳遞信息的更新,降低了實(shí)現(xiàn)復(fù)雜度,減少 了硬件資源的消耗。
【附圖說(shuō)明】
[0028] 圖1是本發(fā)明的實(shí)現(xiàn)流程圖;
[0029] 圖2是本發(fā)明中校驗(yàn)節(jié)點(diǎn)信息更新過(guò)程的子流程圖;
[0030] 圖3是本發(fā)明中變量節(jié)點(diǎn)信息更新過(guò)程和譯碼輸出過(guò)程的子流程圖。
【具體實(shí)施方式】
[0031] 參照?qǐng)D1,本發(fā)明實(shí)現(xiàn)步驟如下:
[0032] 原始信息用已知校驗(yàn)矩陣H進(jìn)行編碼,將編碼信息進(jìn)行調(diào)制,送入信道,在接收端 進(jìn)行解調(diào)后,開(kāi)始譯碼。
[0033] 步驟1 :根據(jù)編碼應(yīng)用的校驗(yàn)矩陣H對(duì)節(jié)點(diǎn)信息存儲(chǔ)單元進(jìn)行尋址。
[0034] I. 1)將已知校驗(yàn)矩陣H的每一行作為一個(gè)校驗(yàn)節(jié)點(diǎn)r,每一列作為一個(gè)變量節(jié)點(diǎn) q,該校驗(yàn)矩陣H的移位信息為k,擴(kuò)展倍數(shù)為b,行重為c,列重為t ;每一個(gè)校驗(yàn)節(jié)點(diǎn)包含 c個(gè)傳遞信息存儲(chǔ)位置,每一個(gè)變量節(jié)點(diǎn)包含t個(gè)傳遞信息存儲(chǔ)位置,相關(guān)的校驗(yàn)節(jié)點(diǎn)與變 量節(jié)點(diǎn)之間進(jìn)行信息傳遞;
[0035] 1. 2)根據(jù)校驗(yàn)矩陣H的移位信息k對(duì)存儲(chǔ)單元進(jìn)行尋址,即:
[0036] 第a個(gè)校驗(yàn)節(jié)點(diǎn)獲得的傳遞信息的存儲(chǔ)位置為:Locr (a) = (k+a)mod(b);
[0037] 第a個(gè)變量節(jié)點(diǎn)獲得的傳遞信息的存儲(chǔ)位置為:Locq(a) = (b_k+a)mod(b)。
[0038] 步驟2 :根據(jù)信道的兩路信號(hào)I、Q計(jì)算獲得初始似然信息。
[0039] 以高斯最小相移鍵控GMSK調(diào)制信號(hào)為例。根據(jù)I路信道獲得第a個(gè)I路信道信 息rec_I (a)和第a+Ι個(gè)I路信道信息rec_I (a+Ι);根據(jù)Q路信道獲得第a個(gè)Q路信道信 息rec_Q(a)和第a+Ι個(gè)Q路信道信息rec_Q(a+l);
[0040] 按照下式計(jì)算得到第a個(gè)初始似然信息LLR(a),0 < a彡b :
[0041 ] LLR(a) = rec_I(a)X rec_Q(a+1)-rec_I(a+1)X rec