欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種極化碼的編解碼方法與流程

文檔序號(hào):11959161閱讀:5194來源:國(guó)知局
一種極化碼的編解碼方法與流程

本發(fā)明屬于通信技術(shù)領(lǐng)域,特別涉及一種極化碼中基于SCL編解碼算法的改進(jìn)算法。



背景技術(shù):

極化碼(Polar Codes)是2008年由E.Arikan提出的一種新型信道編碼。極化碼基于信道極化進(jìn)行設(shè)計(jì),是第一種能夠通過嚴(yán)格的數(shù)學(xué)方法證明達(dá)到信道容量的構(gòu)造性編碼方案。在Polar Codes被提出之初,串行抵消(Success Cancellation,SC)譯碼也隨之被提出。SC譯碼的特點(diǎn)主要有兩方面,一方面是其復(fù)雜度低、譯碼結(jié)構(gòu)簡(jiǎn)單;另一方面是其在理論上被證明在碼長(zhǎng)足夠大時(shí)能夠達(dá)到Shannon極限。但SC譯碼算法在碼長(zhǎng)為有限長(zhǎng)的配置下,糾錯(cuò)性能不理想。置信度傳播(BP)等譯碼算法性能亦不理想。為了提高性能,提出串行抵消列表(Successive Cancellation List,SCL)譯碼。SCL譯碼算法是改進(jìn)的SC譯碼算法。因?yàn)闃O化碼只有在較高的SNR條件下,才能夠達(dá)到ML的譯碼性能,故CRC方法被引入來提升極化碼的譯碼性能。CRC輔助的SCL有著比Turbo碼與LDPC碼更好的譯碼性能,但是隨著L增大,譯碼復(fù)雜度也增大了。為了解決這一問題,AD-SCL算法通過自適應(yīng)地控制L,避免對(duì)不必要的路徑進(jìn)行計(jì)算,大大的減少了譯碼復(fù)雜度,同時(shí)GJ的Multi-CRC,提出多級(jí)CRC結(jié)構(gòu)來讓SCL算法提前選擇與輸出譯碼比特,從而減少內(nèi)存空間與輸出延時(shí)。

SCL可以看作是在一顆碼樹上L條路徑往葉子節(jié)點(diǎn)搜索的過程。L越大,譯碼成功率越高,同時(shí)復(fù)雜度隨之增加。在譯碼過程中,部分路徑在未到達(dá)最后之前已經(jīng)發(fā)生錯(cuò)誤,之后的譯碼操作實(shí)際上是在做無用功,沒必要繼續(xù)進(jìn)行下去,尤其是在信噪比不太好的情況下,很多路徑在譯碼的前半段就已經(jīng)錯(cuò)誤了,繼續(xù)進(jìn)行,只會(huì)增加算法復(fù)雜度。

為了解決這個(gè)問題,在保證譯碼正確率的情況下減小譯碼運(yùn)算量,本發(fā)明專利提出了一種將整個(gè)信息序列分塊,然后每個(gè)塊分別進(jìn)行校驗(yàn)的譯碼算法,即塊校驗(yàn)BCL(Block Check SCL——BC-SCL),通過在譯碼的過程中,盡早的檢測(cè)出譯碼過程中已經(jīng)發(fā)生錯(cuò)誤的路徑并終止該條路徑,能夠有效降低算法復(fù)雜度。



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

本發(fā)明提出了一種基于SCL解碼算法的CRC輔助的編解碼方法,在保證解碼性能不變的情況下減小解碼器的運(yùn)算復(fù)雜度。

CRC校驗(yàn)是一種數(shù)據(jù)通信領(lǐng)域中常用的差錯(cuò)校驗(yàn)碼,其特征是信息字段與校驗(yàn)字段的長(zhǎng)度可以任意選定。我們將整個(gè)信息序列分成K段,每段分別進(jìn)行CRC校驗(yàn),通過CRC的生成多項(xiàng)式規(guī)則來確定傳輸過程中是否發(fā)生錯(cuò)誤,錯(cuò)誤路徑則提前刪除。在譯碼過程中無法通過CRC校驗(yàn)的路徑是肯定存在錯(cuò)誤比特的,因此,與普通SCL譯碼算法相比,BC-SCL算法在降低計(jì)算復(fù)雜度的同時(shí),并不會(huì)帶來譯碼性能的損失。

在編碼過程中,按照SCL算法對(duì)源數(shù)據(jù)進(jìn)行預(yù)編碼,然后再將編碼后的信息序列分為K段,在每段的末尾加入CRC校驗(yàn)單元,然后按照之前信息序列的順序?qū)⒓尤肓薈RC塊以后的序列組合起來。

在解碼過程中,適用以下步驟:

步驟1,創(chuàng)建一條空序列,并寫入初始列表將對(duì)應(yīng)的路徑度量值置零

步驟2,當(dāng)解碼經(jīng)過第i層邊時(shí),通過添加vi=0或者vi=1對(duì)列表內(nèi)的所有路徑進(jìn)行路徑擴(kuò)展,擴(kuò)展得到的候選路徑記錄在表L(i)內(nèi),同時(shí)計(jì)算并記錄每條候選路徑的度量值

步驟3,如果經(jīng)過步驟2以后列表L(i)內(nèi)候選路徑的條數(shù)大于L,則保留具有最大路徑度量值的L條路徑,從L(i)中刪除其他路徑,否則直接進(jìn)入下一步驟;

步驟4,如果當(dāng)前邊正好處于數(shù)據(jù)包的校驗(yàn)位置,則對(duì)已經(jīng)解碼的路徑對(duì)應(yīng)的數(shù)據(jù)進(jìn)行CRC校驗(yàn),刪除未能通過校驗(yàn)的數(shù)據(jù)對(duì)應(yīng)的路徑;

步驟5,如果當(dāng)前路徑未擴(kuò)展至葉子結(jié)點(diǎn)層,即當(dāng)i<N時(shí),跳轉(zhuǎn)至步驟2,否則對(duì)列表L(N)中的所有候選路徑對(duì)應(yīng)的數(shù)據(jù)包進(jìn)行最終的CRC校驗(yàn),在通過校驗(yàn)的列表中選擇一條具有最大度量值的候選路徑作為正確的譯碼輸出,完成譯碼過程。

其中,步驟2中如果第i層對(duì)應(yīng)一個(gè)固定的信道,即i∈Ac,且vi≠ui,則設(shè)置這條信道對(duì)應(yīng)的路徑度量值為負(fù)無窮;步驟3中保留具有最大路徑度量值的L條路徑是建立在對(duì)這些路徑度量值進(jìn)行排序的基礎(chǔ)上的;步驟4中對(duì)已經(jīng)解碼的路徑對(duì)應(yīng)的數(shù)據(jù)進(jìn)行CRC校驗(yàn),如果某條路徑的校驗(yàn)結(jié)果為零,則認(rèn)為信道譯碼得到的比特序列是正確的,否則即認(rèn)為譯碼出錯(cuò),未能通過校驗(yàn);步驟5中如果沒有路徑通過CRC校驗(yàn)則認(rèn)為本次解碼失?。辉诰幋a端對(duì)源數(shù)據(jù)進(jìn)行SCL編碼以后,將編碼包分為K個(gè)相同的子段,每個(gè)子段后面加上CRC校驗(yàn)序列。

有益效果

本發(fā)明對(duì)比已有技術(shù)具有以下創(chuàng)新點(diǎn):

將CRC校驗(yàn)與傳統(tǒng)的SCL算法進(jìn)行結(jié)合,可以提前確定失效的解碼路徑,進(jìn)而從列表中刪除這些路徑,減小后續(xù)解碼搜索路徑的個(gè)數(shù),減小解碼器的計(jì)算復(fù)雜度。同時(shí)由于對(duì)正確的解碼路徑?jīng)]有進(jìn)行操作,并不會(huì)影響解碼的精確度。

分塊校驗(yàn)的譯碼算法尤其適合在信道條件不好的情況(低信噪比),此時(shí)L值一般設(shè)置的比較大,譯碼過程中錯(cuò)誤的路徑數(shù)目也很多,通過分塊校驗(yàn)的算法則可以SCL盡早檢測(cè)錯(cuò)誤并終止該路徑,避免對(duì)所有不必要的路徑進(jìn)行譯碼操作,從而大幅降低計(jì)算復(fù)雜度。

附圖說明

圖1是編碼器編碼數(shù)據(jù)包時(shí)CRC校驗(yàn)塊的插入部位示意圖;

圖2是解碼器進(jìn)行解碼的流程圖;

圖3是解碼二叉樹以及路徑選擇的示意圖。

具體實(shí)施方式

下面將結(jié)合附圖和實(shí)施例對(duì)本發(fā)明做進(jìn)一步的描述。

本發(fā)明提供一種極化碼的編解碼方法,主要包括編碼和解碼兩部分。編碼端首先對(duì)源數(shù)據(jù)進(jìn)行SCL編碼,然后將信息序列分為K段,在每段末尾加入用于CRC校驗(yàn)的數(shù)據(jù)塊,形成新的信息序列,最后將新的信息序列發(fā)送出去;在解碼端按照SCL算法對(duì)接收到的信息序列進(jìn)行解碼,當(dāng)解碼進(jìn)行到CRC校驗(yàn)塊的位置時(shí)運(yùn)行CRC校驗(yàn)步驟,對(duì)當(dāng)前解碼路徑對(duì)應(yīng)的數(shù)據(jù)進(jìn)行校驗(yàn),如果未通過校驗(yàn)則直接刪除當(dāng)前路徑。

編碼端加入的CRC校驗(yàn)塊如圖1所示,上半部分為只有一個(gè)CRC校驗(yàn)塊的示意圖,其中1代表編碼的數(shù)據(jù)信息,2代表插入的CRC校驗(yàn)塊;下半部分為插入3個(gè)CRC校驗(yàn)塊的示意圖。對(duì)于不同原始長(zhǎng)度的信息序列,編碼器首先需要按照SCL算法對(duì)源數(shù)據(jù)進(jìn)行編碼,形成預(yù)編碼信息序列,然后參考K值將預(yù)編碼信息序列分為K個(gè)部分,在每個(gè)部分的末尾增加CRC校驗(yàn)塊,最后再將增加了校驗(yàn)塊的信息序列按照之前的順序組合起來進(jìn)行發(fā)送。根據(jù)不同的源碼塊長(zhǎng)度,可以設(shè)置不同的校驗(yàn)塊個(gè)數(shù)K。在實(shí)際應(yīng)用中我們令K=2或者K=4已經(jīng)可以達(dá)到很好的效果。不失一般性地,本實(shí)施例中我們?cè)O(shè)置K=2,即在原始信息序列的中間和末尾分別增加CRC校驗(yàn)塊。

解碼端的工作基于SCL算法。解碼的流程圖如圖2所示,解碼器首先從根節(jié)點(diǎn)開始進(jìn)行解碼,對(duì)其按照比特0或者1進(jìn)行擴(kuò)展,擴(kuò)展以后的候選路徑需要按照度量值大小進(jìn)行排序,然后保留具有最大度量值的L條候選路徑,刪除其他的路徑。此時(shí)需要對(duì)當(dāng)前節(jié)點(diǎn)是否是CRC校驗(yàn)比特進(jìn)行判斷,如果當(dāng)前節(jié)點(diǎn)正好對(duì)應(yīng)CRC校驗(yàn)比特則需要對(duì)以上已經(jīng)解碼的信息比特進(jìn)行CRC校驗(yàn),只有通過校驗(yàn)的信息序列對(duì)應(yīng)的路徑才能繼續(xù)作為候選路徑參加后面的譯碼過程,未通過校驗(yàn)的即為已經(jīng)出錯(cuò)的路徑,系統(tǒng)將其刪除不再參加后面的迭代解碼過程。當(dāng)路徑長(zhǎng)度和信息序列長(zhǎng)度相同時(shí),即路徑長(zhǎng)度等于N時(shí)SCL譯碼過程結(jié)束,在譯碼結(jié)束時(shí)也要按照上面的步驟對(duì)多個(gè)候選路徑進(jìn)行排序,選取L條具有最大度量值的路徑。如果L>1則需要對(duì)這些候選的路徑進(jìn)行CRC校驗(yàn),通過校驗(yàn)且具有最大度量值的路徑作為正確的譯碼路徑。如果譯碼結(jié)束后沒有符合條件的路徑則認(rèn)為譯碼失敗。

如圖3所示為解碼二叉樹的示意圖,可以看出當(dāng)解碼進(jìn)行到第二層時(shí)出現(xiàn)了左右兩條路徑,但是由于右邊路徑未能通過CRC校驗(yàn),因此系統(tǒng)將其刪除,不再繼續(xù)進(jìn)行解碼,只保留左邊的路徑繼續(xù)解碼,即圖中粗實(shí)線所示。

以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明提出的技術(shù)范圍內(nèi),可輕易想到的變化或者替換,都應(yīng)該涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
丹凤县| 淮南市| 尉犁县| 南开区| 资溪县| 利津县| 封开县| 保定市| 昆明市| 金坛市| 青岛市| 周口市| 大洼县| 桓台县| 德昌县| 土默特左旗| 娄烦县| 古交市| 合江县| 武邑县| 石渠县| 栾城县| 科技| 余姚市| 万宁市| 孟连| 塘沽区| 波密县| 承德市| 大渡口区| 祁阳县| 曲水县| 临邑县| 论坛| 沅陵县| 驻马店市| 广州市| 永安市| 闽清县| 肃宁县| 即墨市|