亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種針對(duì)Turbo乘積碼的修正的軟入軟出譯碼方法與流程

文檔序號(hào):11146822閱讀:882來源:國知局
一種針對(duì)Turbo乘積碼的修正的軟入軟出譯碼方法與制造工藝

本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及一種針對(duì)Turbo乘積碼的修正的軟入軟出譯碼方法。



背景技術(shù):

目前,從香農(nóng)信息論發(fā)展至今,糾錯(cuò)碼已經(jīng)經(jīng)歷了近60年的發(fā)展,各種新的編碼方式不斷涌現(xiàn),包括各種代數(shù)碼和卷積碼,但性能與香農(nóng)提出的最佳限相差甚遠(yuǎn),因此尋找編碼效率高、譯碼錯(cuò)誤率低、編碼增益大、算法簡單的好碼是編碼理論的中心任務(wù)。1993年提出的Turbo卷積碼(TCC),是一種非常實(shí)用的糾錯(cuò)碼,性能非常接近于香農(nóng)限,為信道編碼領(lǐng)域帶來了一場(chǎng)革命,Turbo卷積碼的發(fā)現(xiàn)引發(fā)了對(duì)迭代譯碼算法研究的熱潮。Turbo乘積碼(TPC)是在Turbo卷積碼的基礎(chǔ)上發(fā)展起來的,實(shí)驗(yàn)證明,以分組碼為子碼的TPC譯碼算法收斂速度更快,具有較高的編碼效率,譯碼算法復(fù)雜度較低,同時(shí)性能上接近Turbo卷積碼,普遍認(rèn)為它在深空通信,移動(dòng)通信等數(shù)字通信系統(tǒng)中具有非常好的應(yīng)用場(chǎng)景。

在研發(fā)通信系統(tǒng)通信信號(hào)處理過程中,由于信道條件惡劣,信號(hào)能量衰減嚴(yán)重,導(dǎo)致接收端誤碼率較高,需要采取措施來彌補(bǔ)。其中,信道糾錯(cuò)碼算法對(duì)于信號(hào)的正確傳輸非常有效。因此選擇一種合適的編碼效率高、編碼增益大的前向糾錯(cuò)碼對(duì)于保障通信信號(hào)傳輸有著非常重要的作用,經(jīng)常使用的信道編譯碼算法包括卷積碼、RS碼、TCC碼、TPC碼、LDPC碼等等。TPC碼有效解決了TCC碼交織延時(shí)大、譯碼復(fù)雜度高、不適合并行處理的等缺點(diǎn),在譯碼性能上接近Turbo碼,且具有較高的編碼效率,能夠有效避免TCC碼的“地板效應(yīng)”。研究表明,在采用QPSK調(diào)制時(shí),當(dāng)誤碼率為10-5時(shí),TPC碼能夠提供至少6dB的編碼增益,這意味著使用TPC編碼的通信系統(tǒng)可以減少鏈路的功率要求,提高數(shù)據(jù)速率或采用高階調(diào)制方式而不使用過量的帶寬。當(dāng)信道是瑞利衰落信道時(shí),與RS碼相比,TPC碼在采用BPSK調(diào)制方式時(shí)可以提供比RS碼多10dB的編碼增益。而且隨著TPC譯碼迭代次數(shù)的增加,其性能更加優(yōu)越。另外,一般前向糾錯(cuò)技術(shù)中,編碼增益的提高通常伴隨著處理時(shí)延的增加,而TPC碼作為一種全新的、完全獨(dú)立的前向糾錯(cuò)編碼,使用恰當(dāng)?shù)木幋a就可以避免如RS方式復(fù)雜的交織和解交織。TPC碼的解調(diào)器和譯碼器一直保持同步狀態(tài),有效克服了RS碼的“軟膝效應(yīng)”,這在衰落環(huán)境中非常有益。而且TPC碼還克服了傳統(tǒng)編碼方式的誤碼地板效應(yīng),誤碼率隨信噪比的增加快速下降,形成明顯的“瀑布區(qū)”。

考慮到TPC碼相對(duì)于其他編碼方式的優(yōu)點(diǎn),普遍選擇TPC作為該通信系統(tǒng)的糾錯(cuò)方式,但是采用傳統(tǒng)的TPC譯碼方法即傳統(tǒng)的TPC譯碼算法來進(jìn)行譯碼,譯碼的復(fù)雜度較大。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的是提供一種針對(duì)Turbo乘積碼的修正的軟入軟出譯碼方法,以實(shí)現(xiàn)降低譯碼的復(fù)雜度。

為解決上述技術(shù)問題,本發(fā)明提供一種針對(duì)Turbo乘積碼的修正的軟入軟出譯碼方法,該方法包括:

步驟1、對(duì)Turbo乘積碼的碼字矩陣r和外信息矩陣[W(m)]進(jìn)行計(jì)算,得到軟輸入信息[R(m)];

步驟2、利用Chase2算法對(duì)所述軟輸入信息[R(m)]進(jìn)行譯碼,得到軟輸出信息[R'(m)];

步驟3、從所述軟輸出信息[R'(m)]中減去碼字矩陣r,得到新的外信息矩陣[W(m+1)];

步驟4、將所述新的外信息矩陣[W(m+1)]傳送給下一個(gè)譯碼器,作為下一個(gè)譯碼器進(jìn)行譯碼的先驗(yàn)信息。

優(yōu)選的,[R(m)]為第m個(gè)譯碼器的軟輸入矩陣,[R(m)]=r+α(m)[W(m)],其中,α(m)是第m個(gè)譯碼器的峰值縮放調(diào)節(jié)系數(shù);m表示第m個(gè)譯碼器。

優(yōu)選的,所述新的外信息矩陣[W(m+1)]=[R'(m)]-r。

優(yōu)選的,所述利用Chase2算法對(duì)所述軟輸入信息[R(m)]進(jìn)行譯碼,得到軟輸出信息[R'(m)],包括:

由Chase2譯碼器利用Chase2算法確定譯碼子集Ω,對(duì)所述軟輸入信息[R(m)]進(jìn)行譯碼得出判決碼字C_C,并得到判決碼字C_C的競(jìng)爭(zhēng)碼字C_D;

依據(jù)判決碼字C_C和競(jìng)爭(zhēng)碼字C_D計(jì)算得到軟輸出信息[R'(m)]。

優(yōu)選的,所述將所述新的外信息矩陣[W(m+1)]傳送給下一個(gè)譯碼器,作為下一個(gè)譯碼器進(jìn)行譯碼的先驗(yàn)信息之后,還包括:

利用新的外信息矩陣[W(m+1)]計(jì)算得到下半次迭代的軟輸入矩陣[R(m+1)]。

優(yōu)選的,所述Chase2算法的步驟包括:

確定N個(gè)最不可靠位;N為正整數(shù),N大于等于2;

構(gòu)造測(cè)試圖樣;

構(gòu)造測(cè)試序列;

對(duì)測(cè)試序列進(jìn)行代數(shù)譯碼,得到譯碼結(jié)果集合;

計(jì)算譯碼結(jié)果集合中的碼字C與接收信號(hào)R間的歐氏距離,將距離最小的碼字作為判決碼字。

優(yōu)選的,步驟4之后,還包括:

步驟5、m=m+1,由下一個(gè)譯碼器進(jìn)行譯碼,回到步驟1。

本發(fā)明所提供的一種針對(duì)Turbo乘積碼的修正的軟入軟出譯碼方法,對(duì)Turbo乘積碼的碼字矩陣r和外信息矩陣[W(m)]進(jìn)行計(jì)算,得到軟輸入信息[R(m)];利用Chase2算法對(duì)所述軟輸入信息[R(m)]進(jìn)行譯碼,得到軟輸出信息[R'(m)];從所述軟輸出信息[R'(m)]中減去碼字矩陣r,得到新的外信息矩陣[W(m+1)];將所述新的外信息矩陣[W(m+1)]傳送給下一個(gè)譯碼器,作為下一個(gè)譯碼器進(jìn)行譯碼的先驗(yàn)信息。可見,本方法對(duì)傳統(tǒng)的TPC譯碼算法做了修正,是一種迭代譯碼算法,該算法編碼效率高、編碼增益大、譯碼算法復(fù)雜度低,因此該方法在保證編碼增益的條件下,進(jìn)行譯碼的復(fù)雜度大為降低。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。

圖1為本發(fā)明所提供的一種針對(duì)Turbo乘積碼的修正的軟入軟出譯碼方法的流程圖;

圖2為串行迭代譯碼結(jié)構(gòu)圖;

圖3為基于Chase2算法的迭代軟入軟出譯碼算法工作流程圖。

具體實(shí)施方式

本發(fā)明的核心是提供一種針對(duì)Turbo乘積碼的修正的軟入軟出譯碼方法,以實(shí)現(xiàn)降低譯碼的復(fù)雜度。

為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

術(shù)語解釋:

TPC:Turbo乘積碼;

TCC:Turbo卷積碼;

LDPC:低密度奇偶校驗(yàn)碼;

SISO:軟輸入軟輸出;

Chase2:一種TPC譯碼算法;

AWGN:高斯白噪聲信道;

FPGA:現(xiàn)場(chǎng)可編程門陣列。

請(qǐng)參考圖1,圖1為本發(fā)明所提供的一種針對(duì)Turbo乘積碼的修正的軟入軟出譯碼方法的流程圖,該方法包括:

步驟1、對(duì)Turbo乘積碼的碼字矩陣r和外信息矩陣[W(m)]進(jìn)行計(jì)算,得到軟輸入信息[R(m)];

步驟2、利用Chase2算法對(duì)軟輸入信息[R(m)]進(jìn)行譯碼,得到軟輸出信息[R'(m)];

步驟3、從軟輸出信息[R'(m)]中減去碼字矩陣r,得到新的外信息矩陣[W(m+1)];

步驟4、將新的外信息矩陣[W(m+1)]傳送給下一個(gè)譯碼器,作為下一個(gè)譯碼器進(jìn)行譯碼的先驗(yàn)信息。

可見,本方法對(duì)傳統(tǒng)的TPC譯碼算法做了修正,是一種迭代譯碼算法,該算法編碼效率高、編碼增益大、譯碼算法復(fù)雜度低,因此該方法在保證編碼增益的條件下,進(jìn)行譯碼的復(fù)雜度大為降低。

TPC碼是塊狀碼,一般由兩個(gè)或者兩個(gè)以上的分組碼編碼以后構(gòu)成二維或者三維的編碼塊。其中分組碼是TPC碼的子碼,常用的分組碼子碼有漢明碼、BCH碼、單奇偶校驗(yàn)碼、RS碼、擴(kuò)展?jié)h明碼等,本方法中行和列都選用(64,57)擴(kuò)展?jié)h明碼作為TPC碼的字碼。在幀結(jié)構(gòu)為(64,57)*(64,57)的TPC碼二維線性分組編碼中,先進(jìn)行行編碼,再進(jìn)行列編碼。TPC碼是一種串行級(jí)聯(lián)碼,采用本方法即一種迭代譯碼算法能夠發(fā)揮TPC碼良好的性能。

基于上述方法,具體的,[R(m)]為第m個(gè)譯碼器的軟輸入矩陣,[R(m)]=r+α(m)[W(m)],其中,α(m)是第m個(gè)譯碼器的峰值縮放調(diào)節(jié)系數(shù);m表示第m個(gè)譯碼器,m大于等于1,m為自然數(shù)。

其中,新的外信息矩陣[W(m+1)]=[R'(m)]-r。步驟1至步驟5的執(zhí)行主體均為譯碼器,也稱為單元譯碼器,具體為第m個(gè)譯碼器。

進(jìn)一步的,步驟2的過程具體包括以下步驟:

S11:由Chase2譯碼器利用Chase2算法確定譯碼子集Ω,對(duì)軟輸入信息[R(m)]進(jìn)行譯碼得出判決碼字C_C,并得到判決碼字C_C的競(jìng)爭(zhēng)碼字C_D;

S12:依據(jù)判決碼字C_C和競(jìng)爭(zhēng)碼字C_D計(jì)算得到軟輸出信息[R'(m)]。

進(jìn)一步的,步驟4之后,還包括:利用新的外信息矩陣[W(m+1)]計(jì)算得到下半次迭代的軟輸入矩陣[R(m+1)]。

本方法作為TPC的迭代譯碼算法,單元譯碼器是一個(gè)最重要的部分。TPC碼單元譯碼器包括兩部分:一個(gè)是基于Chase2算法的軟輸入硬輸出譯碼器,一個(gè)用于把硬輸出轉(zhuǎn)化為軟輸出的外信息計(jì)算部分。

假設(shè)接收到碼字矩陣記作r,外信息矩陣記作[W(m)](m表示第m個(gè)單元譯碼器),軟輸入信息記為[R(m)],軟輸出信息記為[R'(m)],利用Chase2算法對(duì)其進(jìn)行譯碼,則單元譯碼器的工作過程可以分為以下四步:

(1)由乘法器和加法器計(jì)算軟輸入信息[R(m)];

(2)由Chase2譯碼器確定譯碼子集Ω,譯出判決碼字C_C并找出其競(jìng)爭(zhēng)碼字C_D;

(3)用C_C和C_D計(jì)算軟輸出信息[R'(m)]和外信息W[(m+1)];

(4)將外信息W[(m+1)]傳送更新給下一個(gè)譯碼器,作為其譯碼時(shí)的先驗(yàn)信息。

其中,這里的外信息W[(m+1)]就是指代上述文中提到的新的外信息矩陣[W(m+1)],只是用W[(m+1)]表示信息,用[W(m+1)]表示矩陣,但是都為同一含義,僅僅是表達(dá)方式不一樣。

進(jìn)一步的,Chase2算法的步驟包括:

S21:確定N個(gè)最不可靠位;N為正整數(shù),N大于等于2;

S22:構(gòu)造測(cè)試圖樣;

S23:構(gòu)造測(cè)試序列;

S24:對(duì)測(cè)試序列進(jìn)行代數(shù)譯碼,得到譯碼結(jié)果集合;

S25:計(jì)算譯碼結(jié)果集合中的碼字C與接收信號(hào)R間的歐氏距離,將距離最小的碼字作為判決碼字。

進(jìn)一步的,步驟4之后,還包括步驟5,具體如下:

步驟5、m=m+1,由下一個(gè)譯碼器進(jìn)行譯碼,回到步驟1。

即通過步驟5回到步驟1,進(jìn)行迭代。

具體的,第m個(gè)單元譯碼器的軟輸入矩陣為[R(m)]=r+α(m)[W(m)],其中α(m)是第m個(gè)單元譯碼器的峰值縮放調(diào)節(jié)系數(shù),根據(jù)TPC子碼碼型不同和譯碼迭代次數(shù)的不同可以靈活調(diào)整。首先將[R(m)]輸入到SISO譯碼器,按照Chase2譯碼算法逐行(或逐列)進(jìn)行譯碼,得到軟輸出矩陣[R'(m)],從軟輸出信息[R'(m)]中減去接收碼字信息得到外信息,并作為下一級(jí)譯碼器的先驗(yàn)信息,即[W(m+1)]=[R'(m)]-r。然后利用外信息矩陣[W(m+1)]計(jì)算得到下半次迭代的軟輸入矩陣[R(m+1)],并重復(fù)上述過程進(jìn)行逐列(或逐行)譯碼,這樣就完成了兩維TPC的一次完整的迭代譯碼過程。將多個(gè)單元譯碼器串聯(lián)起來就可以實(shí)現(xiàn)串行結(jié)構(gòu)譯碼,串行迭代譯碼結(jié)構(gòu)如圖2所示。

基于本方法,具體的,譯碼器接收到信息矩陣后,和外信息矩陣相加送入到修正的Chase2譯碼器,逐行進(jìn)行譯碼,并得到軟輸出矩陣,然后從該輸出矩陣中減去軟輸入得到外信息,并將外信息作為下一級(jí)譯碼器的先驗(yàn)信息。然后利用外信息矩陣計(jì)算得到下半次迭代的軟輸入矩陣,并重復(fù)上述過程進(jìn)行逐列譯碼,這樣就完成了二維TPC碼的一次完整迭代譯碼過程,多次這樣的譯碼過程進(jìn)行迭代構(gòu)成了一次完整的譯碼過程,迭代次數(shù)根據(jù)實(shí)際情況選擇,多次迭代完成后,其譯碼結(jié)果作為最終結(jié)果輸出。

本方法針對(duì)傳統(tǒng)的TPC譯碼算法做了修正,修正后的譯碼算法在保證編碼增益的條件下,算法復(fù)雜度大為降低。本方法是一種迭代譯碼算法,該算法編碼效率高、編碼增益大、譯碼算法復(fù)雜度低,是一種優(yōu)良的TPC譯碼方法。

Chase2譯碼算法是單元譯碼器中的重心,在二元AWGN信道中發(fā)送線性分組碼C,經(jīng)過AWGN的接收碼字為R,根據(jù)最大似然算法,最優(yōu)的判決碼字D由歐氏距離最小原則,為了得到最佳判決,需要窮舉所有可能碼字,譯碼的復(fù)雜度非常高。Chase2算法是針對(duì)現(xiàn)行分組碼提出的接近最大似然譯碼的次最佳算法。Chase2算法實(shí)現(xiàn)方法包括:(1)確定N個(gè)最不可靠位;(2)構(gòu)造測(cè)試圖樣;(3)構(gòu)造測(cè)試序列;(4)對(duì)測(cè)試序列進(jìn)行代數(shù)譯碼,得到譯碼結(jié)果集合;(5)分別求譯碼結(jié)果集合中的碼字C與接收信號(hào)R間的歐氏距離,距離最小的碼字為判決碼字D。這里的判決碼子D就是指代上述文中提到的判決碼字C_C。

因?yàn)闅W式距離的計(jì)算需要用到平方運(yùn)算,不利于硬件實(shí)現(xiàn),在實(shí)際處理中,需要對(duì)歐式距離的計(jì)算進(jìn)行簡化,將歐氏距離的計(jì)算簡化為相關(guān)值的計(jì)算。相關(guān)值計(jì)算的優(yōu)勢(shì)在于計(jì)算過程僅僅局限于加減法,而沒有硬件實(shí)現(xiàn)復(fù)雜的乘法運(yùn)算,相關(guān)值計(jì)算見公式如下:

由相關(guān)值的計(jì)算結(jié)果得到判決碼字后,因?yàn)榈g碼的需要,此時(shí)要將Chase2譯碼結(jié)果輸出為軟數(shù)據(jù),即帶有可靠度度量值的數(shù)據(jù)。硬判決值可靠度的計(jì)算需要用到兩個(gè)碼字,其中一個(gè)是硬判決值,還需要另一個(gè)競(jìng)爭(zhēng)碼字。競(jìng)爭(zhēng)碼字的查找非常關(guān)鍵,直接影響到譯碼算法的復(fù)雜性以及譯碼的性能。有時(shí)為了簡化譯碼算法,可以采用不找競(jìng)爭(zhēng)碼字而直接利用β因子替代,通過仿真軟件對(duì)譯碼算法的仿真結(jié)果表明,不找競(jìng)爭(zhēng)碼字帶來的譯碼增益損失超過2dB。本方法采用修正的競(jìng)爭(zhēng)碼字查找及軟輸出信息計(jì)算,簡化了算法復(fù)雜度,且譯碼增益能有較大幅度的增加。對(duì)編碼結(jié)構(gòu)為(64,57,4)的TPC碼,譯碼時(shí)采用3次迭代,選擇不可靠位個(gè)數(shù)為3,在誤碼率為10-6條件下,編碼增益能達(dá)到6.8dB。

競(jìng)爭(zhēng)碼字查找見公式(1)所示,c_se(i)=-1代表沒有找到競(jìng)爭(zhēng)碼字。

軟輸出信息計(jì)算過程中,先進(jìn)行公式(2)所示計(jì)算,可以看出,當(dāng)找不到競(jìng)爭(zhēng)碼字時(shí),即c_se(i)=-1時(shí),結(jié)果用β因子替代。

同時(shí),在一行或一列譯碼過程中,當(dāng)找不到競(jìng)爭(zhēng)碼字,做如下統(tǒng)計(jì),見公式(3):

一行或一列譯碼結(jié)束后,進(jìn)行公式(4)運(yùn)算:

ex_sum=ex_sum/ex_num (4)

最終的軟輸出信息由公式(5)計(jì)算輸出:

基于Chase2算法的迭代軟入軟出譯碼算法工作流程如圖3所示。

本方法即為采用修正的迭代軟入軟出譯碼算法,當(dāng)采用8比特量化,選用3次迭代,2個(gè)不可靠位數(shù),對(duì)(64,57)編碼結(jié)構(gòu)而言,在誤碼率為10-6條件下,編碼增益能達(dá)到6.2dB以上。再增加不可靠位個(gè)數(shù)為3,編碼增益能達(dá)到約6.8dB,繼續(xù)增加不可靠位數(shù)和迭代次數(shù),編碼增益還能繼續(xù)改善。本方法的優(yōu)點(diǎn)為:簡化了譯碼復(fù)雜度;譯碼算法得到了優(yōu)化,節(jié)省了硬件資源和處理時(shí)鐘,在FPGA上實(shí)現(xiàn)了最高30Mbps的譯碼速率;編碼增益得到了提高,修正的算法在FPGA上實(shí)現(xiàn)了在誤碼率為10-6條件下,最高30Mbps的譯碼速率時(shí),實(shí)現(xiàn)了6.8dB的編碼增益。

以上對(duì)本發(fā)明所提供的一種針對(duì)Turbo乘積碼的修正的軟入軟出譯碼方法進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對(duì)本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1