<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

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

文檔序號:11146822閱讀:946來源:國知局
一種針對Turbo乘積碼的修正的軟入軟出譯碼方法與制造工藝

本發明涉及通信技術領域,特別是涉及一種針對Turbo乘積碼的修正的軟入軟出譯碼方法。



背景技術:

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

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

考慮到TPC碼相對于其他編碼方式的優點,普遍選擇TPC作為該通信系統的糾錯方式,但是采用傳統的TPC譯碼方法即傳統的TPC譯碼算法來進行譯碼,譯碼的復雜度較大。



技術實現要素:

本發明的目的是提供一種針對Turbo乘積碼的修正的軟入軟出譯碼方法,以實現降低譯碼的復雜度。

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

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

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

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

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

優選的,[R(m)]為第m個譯碼器的軟輸入矩陣,[R(m)]=r+α(m)[W(m)],其中,α(m)是第m個譯碼器的峰值縮放調節系數;m表示第m個譯碼器。

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

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

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

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

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

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

優選的,所述Chase2算法的步驟包括:

確定N個最不可靠位;N為正整數,N大于等于2;

構造測試圖樣;

構造測試序列;

對測試序列進行代數譯碼,得到譯碼結果集合;

計算譯碼結果集合中的碼字C與接收信號R間的歐氏距離,將距離最小的碼字作為判決碼字。

優選的,步驟4之后,還包括:

步驟5、m=m+1,由下一個譯碼器進行譯碼,回到步驟1。

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

附圖說明

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

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

圖2為串行迭代譯碼結構圖;

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

具體實施方式

本發明的核心是提供一種針對Turbo乘積碼的修正的軟入軟出譯碼方法,以實現降低譯碼的復雜度。

為了使本技術領域的人員更好地理解本發明方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。

術語解釋:

TPC:Turbo乘積碼;

TCC:Turbo卷積碼;

LDPC:低密度奇偶校驗碼;

SISO:軟輸入軟輸出;

Chase2:一種TPC譯碼算法;

AWGN:高斯白噪聲信道;

FPGA:現場可編程門陣列。

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

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

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

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

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

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

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

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

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

進一步的,步驟2的過程具體包括以下步驟:

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

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

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

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

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

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

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

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

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

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

進一步的,Chase2算法的步驟包括:

S21:確定N個最不可靠位;N為正整數,N大于等于2;

S22:構造測試圖樣;

S23:構造測試序列;

S24:對測試序列進行代數譯碼,得到譯碼結果集合;

S25:計算譯碼結果集合中的碼字C與接收信號R間的歐氏距離,將距離最小的碼字作為判決碼字。

進一步的,步驟4之后,還包括步驟5,具體如下:

步驟5、m=m+1,由下一個譯碼器進行譯碼,回到步驟1。

即通過步驟5回到步驟1,進行迭代。

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

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

本方法針對傳統的TPC譯碼算法做了修正,修正后的譯碼算法在保證編碼增益的條件下,算法復雜度大為降低。本方法是一種迭代譯碼算法,該算法編碼效率高、編碼增益大、譯碼算法復雜度低,是一種優良的TPC譯碼方法。

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

因為歐式距離的計算需要用到平方運算,不利于硬件實現,在實際處理中,需要對歐式距離的計算進行簡化,將歐氏距離的計算簡化為相關值的計算。相關值計算的優勢在于計算過程僅僅局限于加減法,而沒有硬件實現復雜的乘法運算,相關值計算見公式如下:

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

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

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

同時,在一行或一列譯碼過程中,當找不到競爭碼字,做如下統計,見公式(3):

一行或一列譯碼結束后,進行公式(4)運算:

ex_sum=ex_sum/ex_num (4)

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

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

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

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

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影