本發(fā)明屬于糾錯編譯碼技術(shù)領(lǐng)域,更具體地,涉及一種基于極化碼的級聯(lián)糾錯編譯碼方法和系統(tǒng)。
背景技術(shù):
極化編碼作為一種新型的接近香農(nóng)限的編碼方案,其編譯碼算法的復(fù)雜度較低,有利于工程實現(xiàn);仿真結(jié)果表明極化碼SCL(Successive Cancellation List,連續(xù)消除列表)譯碼算法在較低復(fù)雜度O(L·Nlog(N))(L為路徑數(shù)量,N為碼長)下,糾錯能力可以達到最大似然譯碼器的糾錯能力。但是對于采用SCL譯碼算法的中短碼長非級聯(lián)極化碼,其糾錯性能仍然與香農(nóng)極限存在較大差距,并且這個差距無法單獨從增大路徑數(shù)量進行彌補。
傳統(tǒng)的極化碼級聯(lián)方法中,級聯(lián)LDPC(Low-Density Parity-Check,低密度奇偶校驗)碼由于得到的級聯(lián)碼的特性不適合SCL譯碼算法,相對于采用SCL譯碼算法的極化碼而言,其糾錯性能無明顯提升;級聯(lián)CRC(Cyclical Redundancy Check,循環(huán)冗余校驗)碼不僅需要額外的CRC校驗電路,會帶來一定的硬件開銷,另外糾錯性能也有限;因此,這些傳統(tǒng)方案均在某種程度上限制了極化碼的工程應(yīng)用。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)的以上缺陷或改進需求,本發(fā)明提供了一種基于極化碼的級聯(lián)糾錯編譯碼方法和系統(tǒng),其目的在于僅采用少數(shù)邏輯門電路和移位寄存器實現(xiàn)的簡單有效的外編碼器,以較低的外碼編碼復(fù)雜度,來提升極化碼在SCL譯碼算法下的糾錯性能,由此解決傳統(tǒng)的極化碼級聯(lián)方法中,采用SCL譯碼算法或者CRC-aided SCL譯碼算法下的糾錯性能有限或硬件設(shè)計復(fù)雜的技術(shù)問題。
為實現(xiàn)上述目的,按照本發(fā)明的一個方面,提供了一種基于極化碼的級聯(lián)糾錯編譯碼方法,該方法包括以下步驟:
(1)信息序列預(yù)處理步驟:通過對信息序列插入固定的比特序列,即接收端已知的全0、全1或者其他固定的0和1序列,獲得外編碼器的輸入序列;
(2)外編碼器編碼步驟:通過對外編碼器的輸入序列進行編碼,獲得外碼碼字,外編碼器的碼率為1;
(3)外碼碼字映射步驟:通過將所述外碼碼字的第一個比特至最后一個比特依次映射為極化碼編碼器的輸入序列的第一個至最后一個比特;
(4)內(nèi)編碼器編碼步驟:通過對所述極化碼編碼器的輸入序列進行極化碼編碼,獲得級聯(lián)碼碼字;
(5)譯碼步驟:采用聯(lián)合的SCL譯碼算法進行譯碼,將外編碼器輸入序列與極化碼輸入序列進行聯(lián)合判決,最終從外編碼器輸入序列的判決結(jié)果中得到信息序列的判決結(jié)果。
上述編譯碼方法,外編碼器的碼率為1是指,外編碼器對一個輸入比特序列進行編碼時,輸出碼字的比特數(shù)量與輸入序列的比特數(shù)量相等。
上述編譯碼方法,其步驟(1)信息序列預(yù)處理中,預(yù)處理得到的外編碼器輸入序列的子序列sA為信息序列,即子序列為插入的固定序列;其中,N為極化碼碼長,M為信息序列長度,為1×N行向量,sA={si|i∈A},集合A為外編碼器輸入序列中信息比特位置序號集合,集合Ac為外編碼器輸入序列中固定比特位置序號集合,Ac={1,2,3,...,N}\A;{1,2,3,...,N}\A是指求集合{1,2,3,...,N}和A的差,也即
進一步地,所述步驟(2)中外編碼器編碼步驟過程具體為:
外編碼器編碼方程為其中,外碼碼字和輸入序列均為1×N行向量,G為外編碼器生成矩陣,中任意一個比特ui(1≤i≤N)都只與中的子序列有關(guān);生成矩陣G的特征為上三角矩陣,并且對于任意i∈A,該矩陣的元素gi,i等于1,其中,gi,i表示矩陣G的第i行第i列元素,集合A為外編碼器的輸入序列中信息比特位置序號集合
進一步地,所述外編碼器為系統(tǒng)碼編碼器或非系統(tǒng)碼編碼器:為系統(tǒng)碼編碼器時,外編碼器生成矩陣G的特征為,對于任意i∈A,該矩陣第i列的元素中僅gi,i等于1,第i列其它元素為0;為非系統(tǒng)碼編碼器時,外編碼器生成矩陣G的特征為,存在i∈A,第i列的前i-1個元素gj,i(1≤j<i)中至少有1個元素為1,其中,gj,i表示矩陣G的第j行第i列的元素。
進一步地,所述外編碼器采用類系統(tǒng)循環(huán)碼、類非系統(tǒng)循環(huán)碼、系統(tǒng)遞歸卷積碼、非系統(tǒng)遞歸卷積碼、系統(tǒng)非遞歸卷積碼或非系統(tǒng)非遞歸卷積碼。
進一步地,所述外編碼器采用類系統(tǒng)循環(huán)碼的編碼流程具體為:
Step1、判斷i是否小于等于N;若是,進入Step2;若否,則進入Step6;其中,i的初始值為1,取值為1到N之間的正整數(shù);
Step2、外編碼器輸入比特si;判斷當前i是否屬于集合A;若是,進入Step3;若否,則進入Step4;其中集合A為外編碼器輸入序列中信息比特的位置序號集合。
Step3、開關(guān)E(1)連接C(1)端點,輸出比特ui=si,i=i+1,進入Step5;
Step4、開關(guān)E(1)連接B(1)端點,輸出比特進入Step5;
Step5、更新r個移位寄存器的存儲值,為更新前的取值,返回Step1;
Step6、完成外編碼器碼字的輸出,同時對r個移位寄存器進行清0操作。
進一步地,所述外編碼器采用類非系統(tǒng)循環(huán)碼的編碼流程具體為:外編碼器編碼時,開關(guān)E(1)一直連接B(1)端,當完成外編碼器碼字的輸出后,r個移位寄存器需要進行清0操作。
進一步地,所述外編碼器采用系統(tǒng)遞歸卷積碼的編碼流程具體為:
Step1、判斷i是否小于等于N;若是,進入Step2;若否,則進入Step6;其中,i的初始值為1,取值為1到N之間的正整數(shù);
Step2、外編碼器輸入比特si;判斷當前i是否屬于集合A;若是,進入Step3;若否,則進入Step4;其中集合A為外編碼器輸入序列中信息比特的位置序號集合。
Step3、開關(guān)E(2)連接C(2)端點,輸出比特ui=si,i=i+1,進入Step5;
Step4、開關(guān)E(2)連接B(2)端點,輸出比特進入Step5;
Step5、更新r個移位寄存器的存儲值,為更新前的取值,返回Step1;
Step6、完成外編碼器碼字的輸出,同時對r個移位寄存器進行清0操作。
進一步地,所述外編碼器采用非系統(tǒng)遞歸卷積碼的編碼流程具體為:外編碼器編碼時,開關(guān)E(2)一直連接B(2)端,當完成外編碼器碼字的輸出后,r個移位寄存器需要進行清0操作。
進一步地,所述外編碼器采用系統(tǒng)非遞歸卷積碼的編碼流程具體為:
Step1、判斷i是否小于等于N;若是,進入Step2;若否,則進入Step6;其中,i的初始值為1,取值為1到N之間的正整數(shù);
Step2、外編碼器輸入比特si;判斷當前i是否屬于集合A;若是,進入Step3;若否,則進入Step4;其中集合A為外編碼器輸入序列中信息比特的位置序號集合。
Step3、開關(guān)E(3)連接C(3)端點,輸出比特ui=si,i=i+1,進入Step5;
Step4、開關(guān)E(3)連接B(3)端點,輸出比特進入Step5;
Step5、更新r個移位寄存器的存儲值,為更新前的取值,返回Step1;
Step6、完成外編碼器碼字的輸出,同時對r個移位寄存器進行清0操作。
進一步地,所述外編碼器采用非系統(tǒng)非遞歸卷積碼的編碼流程具體為:外編碼器編碼時,開關(guān)E(3)一直連接B(3)端,當完成外編碼器碼字的輸出后,r個移位寄存器需要進行清0操作。
進一步地,所述步驟(5)包括以下子步驟:
(51)判斷i是否小于等于N;若是,進入步驟(52),若否,則進入步驟(55);其中,N是指極化碼碼長,i是指當前譯碼第i個比特ui的索引序號,其初始值為1,取值從1到N的正整數(shù);
(52)判斷i是否屬于集合A,若否,進入步驟(53);若是,則進入步驟(54);其中,集合A為外編碼器的輸入序列中信息比特位置序號集合;
(53)將當前每條路徑上外編碼器的輸入序列中的固定比特si判決值設(shè)為已知的固定比特;將當前每條路徑上極化碼編碼器的輸入序列中比特ui的判決值設(shè)為并令i=i+1,返回步驟(51);其中為外編碼器輸入序列的第j個比特sj的判決值;
(54)首先,統(tǒng)計當前路徑數(shù)量L′,通過將當前每條路徑在ui處取值0 或1獲得2L′條備選路徑;并判斷是否滿足2L′≤L,若是,保留2L′條路徑;若否,則保留L條度量值最大的路徑,從而得到每條路徑中ui的判決值其次,根據(jù)判決每條路徑上外編碼器的輸入序列中信息比特si,si的判決值為最后,令i=i+1,返回步驟(51);其中,2L′條路徑的度量值分別為該路徑在ui處取值0或1的概率或為接收端接收向量;L為SCL譯碼算法的最大路徑數(shù)量;
(55)從L條路徑中輸出路徑度量值最大的一條路徑上對應(yīng)的外編碼器輸入序列其中子序列即為譯碼的信息序列。
按照本發(fā)明的另一方面,提供了一種基于極化碼的級聯(lián)糾錯編譯碼系統(tǒng),該系統(tǒng)包括以下部分:
信息序列預(yù)處理模塊,用于通過對信息序列插入固定的比特序列,即接收端已知的全0、全1或者其他固定的0和1序列,獲得外編碼器的輸入序列;
外編碼器編碼模塊,用于通過對外編碼器的輸入序列進行編碼,獲得外碼碼字,外編碼器的碼率為1;
外碼碼字映射模塊,用于通過將所述外碼碼字的第一個比特至最后一個比特依次映射為極化碼編碼器的輸入序列的第一個至最后一個比特;
內(nèi)編碼器編碼模塊,用于通過對所述極化碼編碼器的輸入序列進行極化碼編碼,獲得級聯(lián)碼碼字;
譯碼模塊,用于采用聯(lián)合的SCL譯碼算法進行譯碼,將外編碼器輸入序列與極化碼輸入序列進行聯(lián)合判決,最終從外編碼器輸入序列的判決結(jié)果中得到信息序列的判決結(jié)果。
上述編譯碼系統(tǒng)中,外編碼器的碼率為1是指,外編碼器對一個輸入比特序列進行編碼時,輸出碼字的比特數(shù)量與輸入序列的比特數(shù)量相等。
上述編譯碼系統(tǒng)中,其步驟(1)信息序列預(yù)處理中,預(yù)處理得到的外編碼器輸入序列的子序列sA為信息序列,即子序列為插入的固定序列;其中,N為極化碼碼長,M為信息序列長度,為1×N行向量,sA={si|i∈A},集合A為外編碼器輸入序列中信息比特位置序號集合,集合Ac為外編碼器輸入序列中固定比特位置序號集合,Ac={1,2,3,...,N}\A,{1,2,3,...,N}\A是指求集合{1,2,3,...,N}和A的差,也即
進一步地,所述外編碼器編碼模塊具體用于通過外編碼器編碼方程進行編碼,其中,外碼碼字和輸入序列均為1×N行向量,G為外編碼器生成矩陣,中任意一個比特ui(1≤i≤N)都只與中的子序列有關(guān);生成矩陣G的特征為上三角矩陣,并且對于任意i∈A,該矩陣的元素gi,i等于1,其中,gi,i表示矩陣G的第i行第i列元素,集合A為外編碼器的輸入序列中信息比特位置序號集合
進一步地,所述外編碼器為系統(tǒng)碼編碼器或非系統(tǒng)碼編碼器:為系統(tǒng)碼編碼器時,外編碼器生成矩陣G的特征為,對于任意i∈A,該矩陣第i列的元素中僅gi,i等于1,第i列其它元素為0;為非系統(tǒng)碼編碼器時,外編碼器生成矩陣G的特征為,存在i∈A,第i列的前i-1個元素gj,i(1≤j<i)中至少有1個元素為1,其中,gj,i表示矩陣G的第j行第i列的元素。
進一步地,所述外編碼器采用類系統(tǒng)循環(huán)碼、類非系統(tǒng)循環(huán)碼、系統(tǒng)遞歸卷積碼、非系統(tǒng)遞歸卷積碼、系統(tǒng)非遞歸卷積碼或非系統(tǒng)非遞歸卷積碼。
進一步地,所述譯碼模塊包括以下單元:
第一預(yù)判單元,用于判斷i是否小于等于N;若是,進入第二預(yù)判單元,若否,則進入獲取譯碼結(jié)果單元;其中,N是指極化碼碼長,i是指當前譯碼第i個比特ui的索引序號,其初始值為1,取值從1到N的正整數(shù);
第二預(yù)判單元,用于判斷i是否屬于集合A,若否,進入第一判決單元;若是,則進入第二判決單元;其中,集合A為外編碼器的輸入序列中信息比特位置序號集合;
第一判決單元,用于將當前每條路徑上外編碼器的輸入序列中的固定比特si判決值設(shè)為已知的固定比特;將當前每條路徑上極化碼編碼器的輸入序列中比特ui的判決值設(shè)為并令i=i+1,返回第一預(yù)判單元;其中為外編碼器輸入序列的第j個比特sj的判決值;
第二判決單元,用于:首先,統(tǒng)計當前路徑數(shù)量L′,通過將當前每條路徑在ui處取值0或1獲得2L′條備選路徑;并判斷是否滿足2L′≤L,若是,保留2L′條路徑;若否,則保留L條度量值最大的路徑,從而得到每條路徑中ui的判決值其次,根據(jù)判決每條路徑上外編碼器的輸入序列中信息比特si,si的判決值為最后,令i=i+1,返回第一預(yù)判單元;其中,2L′條路徑的度量值分別為該路徑在ui處取值0或1的概率或為接收端接收向量;L為SCL譯碼算法的最大路徑數(shù)量;
獲取譯碼結(jié)果單元,用于從L條路徑中輸出路徑度量值最大的一條路徑上對應(yīng)的外編碼器輸入序列其中子序列即為譯碼的信息序列。
總體而言,通過本發(fā)明所構(gòu)思的以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下技術(shù)特征及有益效果:
(1)本發(fā)明提供的極化碼與碼率為1的外編碼器級聯(lián)的糾錯編碼方法,具有顯著提升極化碼糾錯性能的效果;
現(xiàn)有技術(shù)中,采用SCL譯碼算法的中短碼長非級聯(lián)的極化碼,其糾錯性能趨近于最大似然譯碼器譯碼性能,糾錯能力有限,即使增大SCL譯碼算法路徑數(shù)量,誤幀率性能不會明顯改善;而且增大路徑數(shù)量會線性增大算法存儲復(fù)雜度和譯碼復(fù)雜度,不利于工程實現(xiàn);在相同路徑數(shù)量的SCL譯碼算下,本發(fā)明提供的級聯(lián)方案與非級聯(lián)的極化碼相比,由于級聯(lián)的外碼可以在SCL譯碼過程中可以及時有效的糾正譯碼錯誤,提高譯碼列表中正確路徑的存活概率,因此具有顯著提升糾錯性能的效果;其糾錯性能可以明顯突破CRC-aided SCL(循環(huán)冗余校驗輔助的連續(xù)消除列表)譯碼算法的糾錯性能;
(2)極化碼與碼率為1的外編碼器級聯(lián)的糾錯編碼方法,不會增大譯碼復(fù)雜度以及存儲復(fù)雜度;
由于提出的級聯(lián)碼可以采用少量的移位寄存器和邏輯門電路,即可實現(xiàn)簡單有效的外編碼器,在保證優(yōu)良糾錯性能的同時,不會增大編碼器的存儲復(fù)雜度和運算復(fù)雜度;另外,采用聯(lián)合的SCL譯碼算法,相對于原始SCL譯碼算法而言,其主要區(qū)別在于:對于信息比特的判決,除了需要采用SCL譯碼算法判決極化碼編碼器輸入序列的信息比特之外,還需要根據(jù)校驗公式判決信息比特,因此也可以采用少量的移位寄存器和邏輯門電路進行實現(xiàn),本發(fā)明的這種聯(lián)合的SCL譯碼方法與傳統(tǒng)SCL算法相比,無運算復(fù)雜度提升;
(3)本發(fā)明提供的極化碼與碼率為1的外編碼器級聯(lián)的糾錯編碼方法,外編碼器可以采用少量的移位寄存器和邏輯門電路即可實現(xiàn),相對于其它級聯(lián)復(fù)雜外碼的方案,采用本發(fā)明方法可以使外編碼器的硬件電路設(shè)計極為簡單,有利于工程實現(xiàn)。
附圖說明
圖1為本發(fā)明編譯碼方法流程示意圖;
圖2為本發(fā)明提供的外編碼器采用類系統(tǒng)循環(huán)碼編碼電路實現(xiàn)的示意圖;
圖3為本發(fā)明提供的外編碼器采用系統(tǒng)遞歸卷積碼編碼電路實現(xiàn)的示意圖;
圖4為本發(fā)明提供的外編碼器采用系統(tǒng)非遞歸卷積碼編碼電路實現(xiàn)的示意圖;
圖5為對碼長為4的極化碼與碼率為1的外編碼器級聯(lián)的糾錯編碼方法的譯碼示意圖;
圖6為本發(fā)明實施例給出的外編碼器采用2個移位寄存器組成的系統(tǒng)遞歸卷積碼的編碼電路;
圖7為本發(fā)明實施例提供的碼長為8的外碼碼字編碼示意圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個實施方式中所涉及到的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互組合。
如圖1所示為本發(fā)明編譯碼方法包括以下步驟:
(1)信息序列預(yù)處理:信息序列預(yù)處理是指,已知待編碼的M長信息序列為通過信息序列預(yù)處理之后得到外編碼器的輸入序列其中,的子序列sA為信息序列,即子序列為插入的固定比特序列,本專利實施例中,固定比特序列默認為全0序列。
(2)外編碼器編碼:本發(fā)明的外編碼器可以采用類系統(tǒng)循環(huán)碼、類非系統(tǒng)循環(huán)碼、系統(tǒng)遞歸卷積碼、非系統(tǒng)遞歸卷積碼、系統(tǒng)非遞歸卷積碼以及非系統(tǒng)非遞歸卷積碼。外編碼器的輸入序列為輸出碼字為設(shè)外編碼器的生成矩陣為G時,從而有
如圖2所示為類系統(tǒng)循環(huán)碼編碼電路示意圖,圖中βi(1)(0≤i≤r)的取值為0或1,其中βr(1)=1,r為該電路中移位寄存器的個數(shù),移位寄存器的初始狀態(tài)為全0。圖中,電平值Di(1)(1≤i≤r)取值為當前時刻第i個移位寄存器的存儲值,開關(guān)E(1)連接B(1)端的輸出比特u*為當前輸入比特s*與Dr(1)的模二加,開關(guān)E(1)連接C(1)端的輸出比特u*即為當前輸入比特s*。外編碼器采用類系統(tǒng)循環(huán)碼的編碼流程具體為:
Step1、判斷i是否小于等于N;若是,進入Step2;若否,則進入Step6;其中,i的初始值為1,取值為1到N之間的正整數(shù);
Step2、外編碼器輸入比特si;判斷當前i是否屬于集合A;若是,進入Step3;若否,則進入Step4;其中集合A為外編碼器輸入序列中信息比特的位置序號集合。
Step3、開關(guān)E(1)連接C(1)端點,輸出比特ui=si,i=i+1,進入Step5;
Step4、開關(guān)E(1)連接B(1)端點,輸出比特進入Step5;
Step5、更新r個移位寄存器的存儲值,為更新前的取值,返回Step1;
Step6、完成外編碼器碼字的輸出,同時對r個移位寄存器進行清0操作。
如圖2虛線框中所示為非系統(tǒng)遞歸卷積碼編碼電路示意圖,外編碼器編碼時,開關(guān)E(1)一直連接B(1)端,當完成外編碼器碼字的輸出后,r個移位寄存器需要進行清0操作。
如圖3所示為系統(tǒng)遞歸卷積碼編碼電路示意圖,圖中βi(2)(1≤i≤r)、αi(2)(0≤i≤r)的取值為0或1,r為該電路中移位寄存器的個數(shù),移位寄存器的初始狀態(tài)為全0。圖3中,電平值Di(2)(1≤i≤r)取值為當前時刻第i個移位寄存器的存儲值,設(shè)當前輸入比特為s*,開關(guān)E(2)連接B(2)端的輸出比特開關(guān)E(2)連接C(2)端的輸出比特u*即為當前輸入比特s*。外編碼器采用系統(tǒng)遞歸卷積碼編碼流程具體為:
Step1、判斷i是否小于等于N;若是,進入Step2;若否,則進入Step6;其中,i的初始值為1,取值為1到N之間的正整數(shù);
Step2、外編碼器輸入比特si;判斷當前i是否屬于集合A;若是,進入Step3;若否,則進入Step4;其中集合A為外編碼器輸入序列中信息比特的位置序號集合。
Step3、開關(guān)E(2)連接C(2)端點,輸出比特ui=si,i=i+1,進入Step5;
Step4、開關(guān)E(2)連接B(2)端點,輸出比特進入Step5;
Step5、更新r個移位寄存器的存儲值,為更新前的取值,返回Step1;
Step6、完成外編碼器碼字的輸出,同時對r個移位寄存器進行清0操作。
如圖3虛線框中所示為非系統(tǒng)遞歸卷積碼編碼電路示意圖,外編碼器編碼時,開關(guān)E(2)一直連接B(2)端,當完成外編碼器碼字的輸出后,r個移位寄存器需要進行清0操作。
如圖4所示為系統(tǒng)非遞歸卷積碼編碼電路示意圖,圖中αi(3)(0≤i≤r)的取值為0或1,r為該電路中移位寄存器的個數(shù),移位寄存器的初始狀態(tài)為全0。圖4中,電平值Di(3)(1≤i≤r)取值為當前時刻第i個移位寄存器的存儲值,設(shè)當前輸入比特為s*,開關(guān)E(3)連接B(3)端的輸出比特開關(guān)E(3)連接C(3)端的輸出比特u*即為當前輸入比特s*。外編碼器采用系統(tǒng)非遞歸卷積碼編碼流程具體為:
Step1、判斷i是否小于等于N;若是,進入Step2;若否,則進入Step6;其中,i的初始值為1,取值為1到N之間的正整數(shù);
Step2、外編碼器輸入比特si;判斷當前i是否屬于集合A;若是,進入Step3;若否,則進入Step4;其中集合A為外編碼器輸入序列中信息比特的位置序號集合。
Step3、開關(guān)E(3)連接C(3)端點,輸出比特ui=si,i=i+1,進入Step5;
Step4、開關(guān)E(3)連接B(3)端點,輸出比特進入Step5;
Step5、更新r個移位寄存器的存儲值,為更新前的取值,返回Step1;
Step6、完成外編碼器碼字的輸出,同時對r個移位寄存器進行清0操作。
如圖4虛線框所示的電路為非系統(tǒng)非遞歸卷積碼編碼電路示意圖,其編碼流程為:外編碼器編碼時,開關(guān)E(3)一直連接B(3)端,當完成外編碼器碼字的輸出后,r個移位寄存器需要進行清0操作。
(3)外碼碼字映射:外碼碼字映射是將外碼碼字中的各個比特通過該映射關(guān)系作為極化碼編碼器輸入的比特;在本發(fā)明中,外碼碼字的第一個比特至最后一個比特依次映射到極化碼輸入序列的第一個至最后一個比特來進行外碼碼字映射,獲得極化碼編碼器的輸入序列。因此,外碼碼字即為極化碼編碼器的輸入序列。
(4)內(nèi)編碼器編碼:通過步驟3得到內(nèi)碼極化碼編碼器的輸入序列根據(jù)極化碼編碼公式,獲得極化碼碼字為其中GN為極化碼生成矩陣。極化碼碼字也為級聯(lián)碼碼字。
(5)譯碼步驟:采用聯(lián)合的SCL譯碼算法進行譯碼,譯碼步驟具體包括以下子步驟:
(51)判斷i是否小于等于N;若是,進入步驟(52),若否,則進入步驟(55);
其中,N是指極化碼碼長,i是指當前譯碼第i個比特ui的索引序號,其初始值為1,取值從1到N的正整數(shù);
(52)判斷i是否屬于集合A,若否,進入步驟(53);若是,則進入步驟(54);其中,A為外編碼器輸入序列中信息比特位置序號集合;
(53)將當前每條路徑上外編碼器輸入序列中的固定比特si判決值設(shè)為已知的固定比特;將當前每條路徑上極化碼編碼器輸入序列中的比特ui的判決值設(shè)為并令i=i+1,返回步驟(51);其中為外編碼器輸入序列的第j個比特sj的判決值;
(54)首先,統(tǒng)計當前路徑數(shù)量L′,通過將當前每條路徑在ui處取值0或1獲得2L′條備選路徑;并判斷是否滿足2L′≤L,若是,保留2L′條路徑;若否,則保留L條度量值最大的路徑,從而得到每條路徑中ui的判決值其次,根據(jù)判決每條路徑上外編碼器輸入的信息比特si,si的判決值為最后,令i=i+1,返回步驟(51);
其中,2L′條路徑的度量值分別為該路徑在ui處取值0或1的概率或為接收端接收向量;L為SCL譯碼算法的最大路徑數(shù)量;gj,i表示外碼生成矩陣G的第j行第i列元素。
(55)從L條路徑中輸出路徑度量值最大的一條路徑上對應(yīng)的外編碼器輸入序列其中子序列即為譯碼的信息序列。
如圖5所示,為對碼長為4的級聯(lián)碼采用聯(lián)合的SCL譯碼算法譯碼過程。假設(shè)集合A={1,2,4},固定比特s3=0,譯碼算法的路徑總數(shù)L=2,外編碼器生成矩陣如
i=1時,由于i≤N=4并且i∈A,當前路徑取值為0和1之后,路徑總數(shù)2≤L=2,因此2條路徑(實線路徑和虛線路徑)均保留,此時u1在兩條路徑中分別被判決為0和1。同時,根據(jù)公式判決信息比特也即實線路徑處s1被判決為0,虛線路徑處s1被判決為1;
i=2時,由于i≤N=4并且i∈A,由于路徑總數(shù)不能超過L=2,因此實線路徑根據(jù)度量值判決虛線路徑根據(jù)度量值判決同時,根據(jù)公式判決信息比特也即實線路徑判決虛線路徑判決
i=3時,由于i≤N=4并且2條路徑中,固定比特s3被判決為0,也即實線路徑判決虛線路徑判決同時,根據(jù)也即因此實線路徑判決虛線路徑判決
i=4時,由于i≤N=4并且i∈A,由于路徑總數(shù)不能超過L=2,因此實線路徑根據(jù)度量值判決為1;虛線路徑根據(jù)度量值判決為0。同時,根據(jù)公式判決信息比特也即實線路徑判決虛線路徑判決
i=5時,由于i>N=4,此時需要從2條路徑中輸出度量值最大的一條路徑(實線)對應(yīng)的判決序列其中判決的信息比特即為
下面結(jié)合實施例來說明本發(fā)明方法,具體如下:
實施例中,級聯(lián)碼碼長為N=8,信息比特數(shù)量為M=2,集合A={2,3},固定比特序列為全0序列,也即(s1,s4,s5,s6,s7,s8)=(0,0,0,0,0,0),接收端譯碼器采用聯(lián)合的SCL譯碼算法,路徑數(shù)量設(shè)置為L;外編碼器碼率為1的外編碼器采用圖6所示的系統(tǒng)遞歸卷積碼編碼器;給出的實施例步驟如下:
(1)信息序列預(yù)處理步驟:如圖7所示,信息序列依次插入到序列的子序列sA中,也即s2=v1,s3=v2,的其它比特插入為固定序列(也即全0序列),從而外編碼器輸入序列
(2)外編碼器編碼步驟:外編碼器采用圖6所示的系統(tǒng)遞歸卷積碼編碼器,按照其編碼過程可得到表1所示的電路工作過程;
表1
如圖7所示,得到外碼碼字另外,也可以得到外編碼器的生成矩陣
(3)外碼碼字映射步驟:外碼碼字的第一個比特u1至最后一個比特u8依次映射到極化碼編碼器輸入序列的第一個比特至最后一個比特,獲得極化碼編碼器的輸入序列。因此,外碼碼字即為極化碼編碼器的輸入序列;
(4)內(nèi)編碼器編碼步驟:通過步驟3得到內(nèi)碼極化碼編碼器的輸入序列根據(jù)極化碼編碼公式,獲得極化碼碼字為其中G8為碼長為8的極化碼生成矩陣。極化碼碼字也為級聯(lián)碼碼字;
(5)譯碼步驟:接收端采用聯(lián)合的SCL譯碼算法,對于任意i=1,2,3,...,8,當時,當前每條路徑si的判決值ui的判決值當i∈A時,當前每條路徑ui的判決值按照SCL譯碼算法進行判決,同時判決信息比特si,si的判決值為
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。