999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA的極化碼半平行CA-SCL譯碼器設(shè)計(jì)?

2019-03-27 07:17:26王美芹仰楓帆趙春麗
艦船電子工程 2019年3期
關(guān)鍵詞:結(jié)構(gòu)

王美芹 仰楓帆 趙春麗

(南京航空航天大學(xué)電子信息工程學(xué)院 南京 211106)

1 引言

極化碼[1]是在2007年由土耳其教授Erdal Ari?kan首次提出的一種基于信道極化現(xiàn)象[2]的信道編碼,并且其被當(dāng)作是目前唯一可被證明能達(dá)到香農(nóng)極限[3]的信道編碼,且具有較低的復(fù)雜度,因此極化碼的研究在學(xué)術(shù)界掀起了一股熱潮。隨后,學(xué)者對SC譯碼算法做進(jìn)一步改進(jìn),提出了SCL譯碼算法[4~6],極大地提升了譯碼性能。尤其是在2013年,由 Niu.K,K.Chen提出的 CA-SCL譯碼算法[7~8],其獲得了優(yōu)于最大似然算法[9]的性能。與此同時,眾多學(xué)者也研究了極化碼的工程上實(shí)現(xiàn)。在眾多的SC譯碼結(jié)構(gòu)[10~13]的基礎(chǔ)上,Leroux等設(shè)計(jì)了半平行結(jié)構(gòu)[14],其以犧牲較小的吞吐量為代價,大幅度的降低了系統(tǒng)復(fù)雜度,并具有較小的時延。在本文中,通過對CA-SCL[15]的半平行譯碼結(jié)構(gòu)的研究分析,提高了硬件吞吐量的同時,又降低了譯碼的時延,使得硬件資源復(fù)用和內(nèi)部結(jié)構(gòu)優(yōu)化。

2 極化碼

Arika在研究信道的組合和拆分[16]過程中發(fā)現(xiàn),在將N個相互獨(dú)立的信道進(jìn)行組合和拆分后,系統(tǒng)的總體容量沒有發(fā)生改變,而總體截止速率得到了提升。因此,Arikan將N個相互的完全相同的二進(jìn)制離散無記憶(B-DMC)信道通過組合并為信道WN,并將WN拆分為N個相關(guān)子信道,隨著N的不斷變大,其子信道容量趨向0或1兩個極端,這即為信道極化現(xiàn)象。通常情況下,我們將信道容量趨向于1的子信道用來傳送信息比特,而信道容量趨向于0的子信道用來傳送收發(fā)雙方均已知的固定比特,其默認(rèn)值為0。

如何挑選信道非常重要,在學(xué)者們不斷研究中涌現(xiàn)許多高性能的信道挑選方法[17~19]。Arikan 指出,通常情況下對于任意信道都可以使用BEC信道下的信道挑選方法而不會產(chǎn)生較大的性能損失,通常令初始信道容量為,使用式(1)迭代公式進(jìn)行信道挑選:

且極化碼編碼的碼率可以調(diào)節(jié)任意K/N,其中0≤K≤N編碼塊長度N的大小為2n,任意給定一個N,使用式(2)對信息比特進(jìn)行編碼:

3 CA-SCL譯碼算法

CA-SCL譯碼算法是極化碼的SCL譯碼算法的基礎(chǔ)上添加CRC校驗(yàn)位,以較少的碼率為代價來獲取最高的性能。此算法是迄今為止性能最佳的一種極化碼譯碼算法,并且具有較低的譯碼復(fù)雜度能。

3.1 SCL譯碼算法

SCL譯碼算法的基本思想是在極化碼的譯碼樹上,按照后驗(yàn)概率最大原則尋找最合適路徑得到譯碼序列。假定極化碼的碼長為N,譯碼樹中的每個節(jié)點(diǎn)代表一個比特,第i層中共有2i-1個節(jié)點(diǎn),表示給定所有可能值的情況下比特ui的取值結(jié)果。在樹的每一層,根據(jù)式(3)計(jì)算每條路徑的路徑度量值的大小,然后進(jìn)行路徑的排序、選擇和淘汰,最后選擇路徑度量值最大的路徑作為最后的譯碼結(jié)果。L為路徑的搜索列表寬度,當(dāng)路徑數(shù)大于L時,每層保留L條后,下一層延伸時總是需要計(jì)算2L個路徑的度量值。

3.2 CRC校驗(yàn)

這里將加入CRC校驗(yàn)碼后的極化碼詳細(xì)編譯碼描繪如圖1所示。

圖1 極化碼的CA-SCL譯碼框圖

如圖1所示,在本算法中,在輸入信息位為k比特,添加m位CRC碼的編碼器中,使得輸入為K=k+m比特,對此K比特的信息位進(jìn)行極化碼編碼,可以得到N位信道輸入,經(jīng)過信道傳輸后送入CA-SCL譯碼器進(jìn)行譯碼。當(dāng)SCL譯碼器譯出L個候選序列之后,將此L個序列所對應(yīng)的路徑度量值以由大到小的順序進(jìn)行排序,并按照這個順序進(jìn)入解CRC碼單元。當(dāng)譯出的序列不滿足CRC的關(guān)系時,此單元將會通過SCL譯碼器繼續(xù)傳送到下一個序列。就這樣直到輸入解CRC碼單元的序列通過CRC校驗(yàn),譯碼結(jié)束后,解除CRC校驗(yàn)碼,CA-SCL譯碼器譯出的碼字就是最后得到的輸出序列。

4 半并行硬件譯碼結(jié)構(gòu)

在硬件實(shí)現(xiàn)上,經(jīng)典SC譯碼單元有幾種典型的譯碼結(jié)構(gòu),比如樹形結(jié)構(gòu)、線性結(jié)構(gòu)、半平行結(jié)構(gòu)。下面詳細(xì)介紹本文所采用的半平行結(jié)構(gòu)。

圖2為N=8時的SC譯碼FFT結(jié)構(gòu),該結(jié)構(gòu)是CA-SCL譯碼結(jié)構(gòu)的基礎(chǔ)。其蝶形算法可應(yīng)用于硬件實(shí)現(xiàn)的“從右往左”蝶形算法。從信道層開始,按照順序依次計(jì)算節(jié)點(diǎn)的LLR值并存儲在起來作為中間LLR供后面計(jì)算調(diào)用,避免了在硬件中進(jìn)行遞歸調(diào)用,同時能達(dá)到與遞歸算法相同的復(fù)雜度,如圖2中加粗線條為一比特計(jì)算過程。

圖2 基于蝶形圖的典型FFT結(jié)構(gòu)

從圖2可以發(fā)現(xiàn),無論第l階段的節(jié)點(diǎn)在何時被激活,實(shí)際上在該階段都只有2m-l-1個節(jié)點(diǎn)的值得到更新或被下一階段所使用。我們將f函數(shù)和g函數(shù)通過復(fù)用器融合為一個計(jì)算單元(Process Element,PE),通過狀態(tài)控制來指示當(dāng)前使用的函數(shù)為f函數(shù)還是g函數(shù)。在保證譯碼結(jié)構(gòu)具有較低的硬件復(fù)雜度的同時,還需要盡可能地減少PE的數(shù)量,以降低資源利用率。因此,Leroux等提出了SC譯碼的半平行結(jié)構(gòu),能夠以較小的時延大幅降低硬件復(fù)雜度,是目前較為優(yōu)秀的硬件實(shí)現(xiàn)架構(gòu)。

表1 半平行譯碼結(jié)構(gòu)時序表

如表1所示,以碼長N=8的SC譯碼為例,在半平行結(jié)構(gòu)中只使用了2(N4)個PE,整個譯碼周期中PE單元基本上都同時工作,使得利用率高,實(shí)現(xiàn)資源占用率低。

若PE結(jié)構(gòu)數(shù)量為P,則半平行譯碼結(jié)構(gòu)的時延周期為

另外,半平行結(jié)構(gòu)譯碼器的利用率為

相較于全平行的譯碼結(jié)構(gòu),半平行結(jié)構(gòu)的譯碼速度因子為

對于CA-SCL譯碼算法,若L為列表寬度,那么總的PE單元數(shù)量為LP。

5 CA-SCL譯碼器硬件結(jié)構(gòu)設(shè)計(jì)

5.1 譯碼器整體結(jié)構(gòu)設(shè)計(jì)

在本次的譯碼器設(shè)計(jì)中,設(shè)置條件為碼長N=1024,碼率是R=1/2,信道挑選方法為BEC方法,列表寬度L=32,采用LTE協(xié)議建議的24位CRC檢驗(yàn)碼,其生成多項(xiàng)式為對譯碼器中的數(shù)據(jù)進(jìn)行8比特量化,路徑度量值進(jìn)行12比特量化。對譯碼過程中發(fā)生的溢出采用截?cái)嗵幚恚沟梦粚挷粫鸺夁f增,在僅有較小性能損失的情況下,就可大大簡化了譯碼器的設(shè)計(jì)復(fù)雜度。

如圖3所示,整體譯碼結(jié)構(gòu)主要包括以下幾個頂層模塊:LLR計(jì)算模塊(LLR_top)、修正模塊(Corrected)、度量值計(jì)算模塊(Metric_top)、排序模塊(Sort_top)、反饋模塊(Feedback)、控制模塊(Con?troller)、路徑恢復(fù)模塊(Path_recover)、CRC串行譯碼模塊(CRC)等。

在實(shí)現(xiàn)半平行結(jié)構(gòu)譯碼開始之前,要解決的是LLR存儲結(jié)構(gòu)問題。先將信道LLR分組,存入位寬為64,深度為256的RAM中作為初始LLR,即圖中的LLR_based RAM。

5.2 LLR存儲結(jié)構(gòu)

對于碼長為N的極化碼,信道輸出序列經(jīng)過計(jì)算得到N個信道LLR。本文選定量化寬度為,所以總存儲單元大小為,而對于總體結(jié)構(gòu)一個時鐘下必須有2P個輸入LLR以及P個輸出LLR,對于LLR存儲模塊,以為一組,記為一個存儲單元,其中每比特為一組PE結(jié)構(gòu)的兩個輸入信道LLR,單時鐘讀入一個存儲單元作為所有P個PE結(jié)構(gòu)的輸入,全部存儲深度為N/2P。據(jù)此分析,在時鐘和讀地址的控制下,讀完全部的數(shù)據(jù)需要N/2P個時鐘周期。由前面的分析可知,無論碼長和碼率為多少,初始LLR在整個譯碼的過程中僅被使用兩次,即該RAM將僅被讀取兩次。

圖3 譯碼器整體結(jié)構(gòu)

因?yàn)槊織l路徑包含P個PE單元,所以單次計(jì)算會產(chǎn)生P個內(nèi)部中間LLR,所以每次需要存儲的數(shù)據(jù)為PQLLR,其中QLLR為每個LLR數(shù)據(jù)的存儲位寬,所以內(nèi)部LLR存儲模塊輸入位寬為PQLLR,同時每次計(jì)算需要2P個初始LLR數(shù)據(jù),所以內(nèi)部LLR存儲模塊輸出位寬為2PQLLR,為實(shí)現(xiàn)這一結(jié)構(gòu),本文采用雙SRAM來實(shí)現(xiàn)2PQLLR數(shù)據(jù)的輸出。

圖4 N=8,P=2的LLR存儲器結(jié)構(gòu)

以N=8的雙PE結(jié)構(gòu)的半平行設(shè)計(jì)為例,圖4即為N=8,P=2的LLR存儲器結(jié)構(gòu)。

5.3 LLR計(jì)算模塊

如圖5所示的LLR計(jì)算模塊硬件結(jié)構(gòu),該模塊主要是由控制單元(LLR_control)、PE計(jì)算單元(Polar_fg)、排序器(LMUXL)組成。控制模塊用于控制數(shù)據(jù)讀取地址和索引信息;排序器的作用是將輸入的LLR數(shù)據(jù)按照index進(jìn)行重排,然后傳入到L條路徑中計(jì)算LLR的值;而PE計(jì)算結(jié)構(gòu)是由P個式(4)中的f或g模塊構(gòu)成,在單次頂層LLR的計(jì)算中,每一層都僅激活f或g節(jié)點(diǎn)中的一種。

圖5 LLR計(jì)算模塊硬件結(jié)構(gòu)

5.4 度量值計(jì)算模塊

在得到32條路徑對應(yīng)的頂層LLR之后,要對當(dāng)前2L=64條路徑的度量值進(jìn)行計(jì)算,如圖6所示為路徑度量值計(jì)算模塊的硬件結(jié)構(gòu)。用一塊1024*1的ROM存放信息比特和凍結(jié)比特的位置信息,0對應(yīng)凍結(jié)比特,1對應(yīng)信息比特。當(dāng)本模塊開始工作時,從Bit_location ROM中讀取位置信息和頂層LLR的符號位一起作為控制模塊的輸入,來控制式(3)中所對應(yīng)的三種情況。

在計(jì)算出候選比特為0和1格子的路徑度量值后,使用一個選擇器輸出其中的較大值和較小值以及它們對應(yīng)的候選比特。然后對路徑進(jìn)行冒泡排序,將前32條路徑度量值進(jìn)行存儲,供下次計(jì)算使用。

圖6 路徑度量值計(jì)算模塊硬件結(jié)構(gòu)

5.5 部分和更新模塊

圖7為部分和更新模塊硬件框圖。其中虛線部分為部分和項(xiàng)的存儲結(jié)構(gòu),指針只讀取其中實(shí)現(xiàn)框內(nèi)的存儲單元。

圖7 路徑度量值模塊硬件結(jié)構(gòu)

根據(jù)前面討論可知g函數(shù)的計(jì)算中需要部分和的輸入,所以需要在每個碼字被估計(jì)出來之后對部分和項(xiàng)進(jìn)行更新,為了不影響系統(tǒng)吞吐率,我們采用寄存器進(jìn)行存儲,觀察譯碼蝶形圖,每個碼字的譯碼最多同時利用N/2個比特的部分和,所以本文為了節(jié)省硬件資源,采用N/2 bit的寄存器長度,每次更新都對寄存器進(jìn)行清零。

5.6 CRC串行譯碼模塊

本文CRC譯碼模塊采用的是串行逆序譯碼結(jié)構(gòu),這是因?yàn)樵诼窂交謴?fù)模塊譯出來的信息比特為逆序排列,逆序的CRC校驗(yàn)碼是在逆序信息比特序列前面,且序列為串行輸出。因此,使用此結(jié)構(gòu),與并行譯碼相比不僅減少了資源消耗,所需時間也不會發(fā)生改變。該模塊如圖8所示使用了24個寄存器,這些寄存器是用于存放CRC檢驗(yàn)碼。解碼開始,前24個時鐘,按順序?qū)?4個CRC校驗(yàn)碼分別存入24個寄存器中。而從第25個數(shù)據(jù)將按下圖的數(shù)據(jù)流向進(jìn)行計(jì)算,根據(jù)生成多項(xiàng)式生成加法器。整個結(jié)構(gòu)如圖8所示。

圖8 CRC串行逆序譯碼模塊

6 譯碼器綜合結(jié)果與分析

在本文的極化碼CA-SCL譯碼器設(shè)計(jì)實(shí)現(xiàn)的過程中,采用的FPGA芯片是Altera公司Strtix V系列的5SGXEA7H3F35C3,使用QuartusⅡ15.0綜合后的結(jié)果如表2所示。

表2 極化碼CA-SCL譯碼器硬件資源統(tǒng)計(jì)

吞吐率T是評價硬件譯碼器性能的重要指標(biāo)。其計(jì)算公式為

在本文設(shè)計(jì)中,碼長為1024,譯碼器的工作頻率為150MHz。譯碼器平均時延為0.040ms,所以吞吐率可以達(dá)到由于系統(tǒng)用兩個時鐘存儲更新LLR,因此總的時延可以計(jì)算如式(9):

根據(jù)譯碼結(jié)果,本文設(shè)計(jì)的譯碼算法譯出一個碼字大概需要6000個時鐘周期,與理論值5120個時鐘周期相差不大,而系統(tǒng)面積的占用率僅為7%。

硬件譯碼算法的另一個重要評價指標(biāo)是誤碼率(BER),如圖9所示為本文8 bit量化與理論未量化譯碼算法之間BER的性能比較。

如圖9所示,CA-SCL半平行譯碼算法在對數(shù)據(jù)進(jìn)行8 bit量化、路徑度量值進(jìn)行12 bit量化后的性能與理論未量化之間比較接近,在誤碼率BER=10-5時,量化后的BER只與理論值相差0.1dB左右,驗(yàn)證了優(yōu)異的譯碼器性能。

圖9 量化與未量化CA-SCL譯碼算法比較

7 結(jié)語

對碼長為1024的極化碼采用了性能優(yōu)良的CA-SCL譯碼算法,在FPGA下設(shè)計(jì)實(shí)現(xiàn),對每條候選路徑運(yùn)用半平行計(jì)算的硬件架構(gòu),相較于平行結(jié)構(gòu)大幅減少了系統(tǒng)硬件資源占用,完成了對該算法占用較大系統(tǒng)面積的優(yōu)化,在此情形下的吞吐率表現(xiàn)并沒有達(dá)到理想狀況。接下來對如何進(jìn)一步在速度與面積之間取得平衡,來提高系統(tǒng)頻率降低平均時延,是后續(xù)主要的研究方向。

猜你喜歡
結(jié)構(gòu)
DNA結(jié)構(gòu)的發(fā)現(xiàn)
《形而上學(xué)》△卷的結(jié)構(gòu)和位置
論結(jié)構(gòu)
中華詩詞(2019年7期)2019-11-25 01:43:04
新型平衡塊結(jié)構(gòu)的應(yīng)用
模具制造(2019年3期)2019-06-06 02:10:54
循環(huán)結(jié)構(gòu)謹(jǐn)防“死循環(huán)”
論《日出》的結(jié)構(gòu)
縱向結(jié)構(gòu)
縱向結(jié)構(gòu)
我國社會結(jié)構(gòu)的重建
人間(2015年21期)2015-03-11 15:23:21
創(chuàng)新治理結(jié)構(gòu)促進(jìn)中小企業(yè)持續(xù)成長
主站蜘蛛池模板: 99精品国产自在现线观看| 午夜老司机永久免费看片| 亚洲色欲色欲www网| 国产一二三区在线| 亚洲一级毛片在线观播放| 老司机精品一区在线视频| 2020国产精品视频| 极品国产一区二区三区| 成人亚洲国产| 日韩在线网址| 国产白浆一区二区三区视频在线| 亚洲欧美激情另类| 在线亚洲小视频| 国产午夜福利在线小视频| 国产高清无码第一十页在线观看| 亚洲日韩高清在线亚洲专区| 国产区91| av无码久久精品| 国产成人一区在线播放| 午夜欧美理论2019理论| 青青热久免费精品视频6| 亚洲日韩精品无码专区| 精品午夜国产福利观看| 成年人视频一区二区| 东京热av无码电影一区二区| 精品欧美日韩国产日漫一区不卡| 99ri精品视频在线观看播放| 72种姿势欧美久久久大黄蕉| 亚洲国产日韩在线成人蜜芽| 久久国产V一级毛多内射| 东京热高清无码精品| 精品免费在线视频| 91福利片| 青青青国产视频手机| 亚洲成aⅴ人在线观看| 国产三级成人| 色视频久久| 国产精品熟女亚洲AV麻豆| 亚洲V日韩V无码一区二区| 538国产视频| 久久精品国产精品青草app| 国产成在线观看免费视频| 亚洲婷婷在线视频| 精品国产免费第一区二区三区日韩| 国产中文一区a级毛片视频| 久久久久亚洲精品成人网| 国内精自视频品线一二区| 精品福利视频网| 99视频只有精品| 欧美性天天| 国产三级视频网站| 国产第二十一页| 亚洲欧美一区二区三区麻豆| 国产超碰一区二区三区| 久热这里只有精品6| 日本91视频| a在线观看免费| 综1合AV在线播放| 国产理论一区| 伊人久久婷婷| 99re这里只有国产中文精品国产精品 | 免费Aⅴ片在线观看蜜芽Tⅴ| 精品免费在线视频| 亚洲精品国产精品乱码不卞| 日韩大乳视频中文字幕| 综合成人国产| 亚洲成人在线免费观看| 99在线国产| 国产爽妇精品| 欧美亚洲一区二区三区在线| 午夜精品福利影院| 91国语视频| 国产第一页亚洲| 中文字幕乱码中文乱码51精品| 国产精品一老牛影视频| 内射人妻无套中出无码| 久久亚洲黄色视频| 波多野结衣的av一区二区三区| 亚洲男人的天堂久久精品| 亚洲无码精彩视频在线观看| 男女精品视频| 国产麻豆va精品视频|