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