亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于單調(diào)排序與并行選擇的連續(xù)刪除堆棧譯碼器的硬件實(shí)現(xiàn)

        2024-03-04 06:06:20曾文坦葉龍建翟雄飛韓國(guó)軍

        曾文坦,葉龍建,翟雄飛,韓國(guó)軍

        (廣東工業(yè)大學(xué) 信息工程學(xué)院, 廣東 廣州 510006)

        信道極化概念在文獻(xiàn)[1]中首次被提出,是目前唯一能夠被嚴(yán)格證明在二進(jìn)制無(wú)記憶信道中可達(dá)到信道容量上限的一種編碼方式?;谶@一原理,文獻(xiàn)[1]提出一種全新的編碼方式,命名為極化碼。經(jīng)過(guò)逐步完善,極化碼被選定為5G標(biāo)準(zhǔn)中控制信道的信道編碼方式。

        文獻(xiàn)[1]中同樣提出了極化碼編碼相對(duì)應(yīng)的譯碼算法,連續(xù)刪除(Successive Cancellation, SC) 譯碼算法,由于SC具有低復(fù)雜度的特點(diǎn),所以SC譯碼算法成為最主流的一類極化碼譯碼算法之一。然而SC譯碼算法同時(shí)也面臨著糾錯(cuò)性能較差、吞吐率較低等問(wèn)題。為了解決這些缺陷,文獻(xiàn)[2-3]中引入了多路徑度量競(jìng)爭(zhēng)的思路,提出連續(xù)刪除列表(Successive Cancellation List, SCL) 譯碼和連續(xù)刪除堆棧(Successive Cancellation Stack, SCS) 譯碼算法。SCL譯碼算法基于廣度優(yōu)先的原則對(duì)最優(yōu)路徑搜索,同時(shí)擴(kuò)展多條譯碼路徑。而SCS譯碼算法基于深度優(yōu)先原則,對(duì)最優(yōu)路徑進(jìn)行擴(kuò)展。這兩種改進(jìn)算法具有相近的糾錯(cuò)性能且相較于SC譯碼算法有著顯著的提升,而SCS在高信噪比(Signal-to-Noise-Ratio, SNR)時(shí)對(duì)比于SCL譯碼算法具有更低的復(fù)雜度。除此之外,部分其余的改進(jìn)算法也值得關(guān)注,文獻(xiàn)[4]提出循環(huán)冗余校驗(yàn)(Cyclic Redundancy Check, CRC) 級(jí)聯(lián)的方法,在SC譯碼中加入CRC從而提高糾錯(cuò)性能,這一方法易于實(shí)現(xiàn)且未對(duì)SC算法本身做出改動(dòng),因此可以與其他許多的優(yōu)化算法疊加使用,例如在文獻(xiàn)[5-6]將CRC推廣到SCL與SCS譯碼中,提出CRC輔助SCS(CRC Assist-SCS, CA-SCS) 譯碼算法和CRC輔助SCL譯碼算法(CRC Assist-SCL, CA-SCL) 。在非SC類譯碼算法中,目前關(guān)注度較高的是置信度傳播(Belief Propagation, BP) 譯碼算法[7],并且在文獻(xiàn)[8-9]中加入比特翻轉(zhuǎn)(Bit-Flipping) 使其糾錯(cuò)性能得到進(jìn)一步提升。BP算法本身具有高度并行性,在吞吐率方面具有較大優(yōu)勢(shì),但這同樣也造成了較高的運(yùn)算復(fù)雜度和空間復(fù)雜度,因此在硬件實(shí)現(xiàn)中BP算法的應(yīng)用場(chǎng)景較窄,并沒(méi)有在硬件實(shí)現(xiàn)中成為一種主流的譯碼算法。

        而極化碼譯碼算法能否進(jìn)行高效硬件實(shí)現(xiàn),是以上算法得以實(shí)際應(yīng)用的前提。根據(jù)SC類譯碼算法的遞歸運(yùn)算原理可知,其遞歸運(yùn)算由基本的運(yùn)算單元組成。文獻(xiàn)[10]提出了樹(shù)形結(jié)構(gòu),將運(yùn)算單元以樹(shù)形連接。然而該結(jié)構(gòu)的硬件利用率低,每個(gè)周期僅有一層的運(yùn)算單元被激活。而文獻(xiàn)[11]在這一基礎(chǔ)上提出平行結(jié)構(gòu)與半平行結(jié)構(gòu),以極小的時(shí)延為代價(jià),將運(yùn)算單元數(shù)量減少至原來(lái)的1/4,同時(shí)提高了硬件利用率。此外,提高譯碼器吞吐率也是在硬件設(shè)計(jì)中所面臨的另一項(xiàng)挑戰(zhàn)。文獻(xiàn)[12-14]主要在硬件吞吐率上做進(jìn)一步的改進(jìn),例如引入2-bits判決策略,提出矢量交疊架構(gòu)實(shí)現(xiàn)幀間流水線等方式。文獻(xiàn)[15]針對(duì)SCL譯碼提出低延遲列表譯碼(Reduced Latency List Decoding, RLLD) 算法,通過(guò)減少節(jié)點(diǎn)的訪問(wèn)來(lái)提高譯碼速度。文獻(xiàn)[16]考慮了架構(gòu)的靈活性提出可配置的SCL譯碼器,擴(kuò)展了SCL譯碼器的應(yīng)用場(chǎng)景。文獻(xiàn)[17]則針對(duì)SCS譯碼排序提出雙堆棧結(jié)構(gòu)實(shí)現(xiàn)路徑排序功能。然而這種雙堆棧結(jié)構(gòu)受到讀寫(xiě)與比較策略的限制,其路徑選擇過(guò)程效率較低并且受SNR影響。而且,堆棧存儲(chǔ)的結(jié)構(gòu)使得同一路徑的不同類型的數(shù)據(jù)必須進(jìn)行捆包打包,對(duì)于不同類型的路徑信息讀寫(xiě)不靈活。另外,對(duì)于SC類譯碼算法,文獻(xiàn)[18-19]提出的部分和更新的結(jié)構(gòu),通過(guò)寄存器存儲(chǔ)的方式可以用較少的硬件資源實(shí)現(xiàn)部分和的層內(nèi)并行、層間串行的更新。

        針對(duì)當(dāng)前SCS譯碼在路徑選擇中效率較低與路徑信息存儲(chǔ)信息不夠靈活的問(wèn)題,本文針對(duì)SCS譯碼算法提出一種基于并行比較和升調(diào)排序的路徑選擇方式,利用存儲(chǔ)器組代替堆棧結(jié)構(gòu)。相較于目前的SCS路徑存儲(chǔ)策略,該策略更具備靈活性,通過(guò)對(duì)不同路徑值(Path Value, PV) 的獨(dú)立存儲(chǔ),實(shí)現(xiàn)單條路徑中不同類型的信息單獨(dú)讀寫(xiě)。 另外,本文在部分和更新結(jié)構(gòu)上,充分利用FPGA的并行性,直接利用組合邏輯進(jìn)行運(yùn)算,能夠?qū)崿F(xiàn)多層并行,提高了部分和更新的效率。

        1 SC類譯碼算法

        1.1 SC譯碼算法

        利用接收端所接收到的信息序列y1N與部分已經(jīng)譯出的碼字序列u?i1-1對(duì)當(dāng)前比特u?i進(jìn)行判決。判決函數(shù)為

        式(3)中,當(dāng)i∈A表明該索引位屬于信息比特,根據(jù)LLR值作比特判決,當(dāng)LLR值大于等于0時(shí),比特判決為“0”,若小于0則判為“1”。而當(dāng)i∈Ac時(shí),則表明該索引位為凍結(jié)比特,凍結(jié)比特不包含任何信息,通常固定為比特“0”。

        部分和值傳遞至上一層節(jié)點(diǎn)后,上層節(jié)點(diǎn)繼續(xù)向其他未被激活的節(jié)點(diǎn)進(jìn)行LLR值遞歸運(yùn)算與比特判決,直至二叉樹(shù)中所有葉子節(jié)點(diǎn)都完成比特判決即完成譯碼。

        1.2 SCS譯碼算法

        SCS算法的主要思路是通過(guò)引入路徑度量值(Path Metric,PM)計(jì)算,通過(guò)PM值大小來(lái)對(duì)每個(gè)路徑的優(yōu)劣程度進(jìn)行度量,每次只對(duì)當(dāng)前最優(yōu)路徑進(jìn)行擴(kuò)展,其余次優(yōu)路徑存儲(chǔ)于堆棧中,一直擴(kuò)展至路徑長(zhǎng)度(Path Length, PL) 值等于碼長(zhǎng)N結(jié)束。用p表示當(dāng)前出棧的路徑。PV值與比特索引值等價(jià),可用i表示,當(dāng)前出棧路徑的LLR值遞歸運(yùn)算結(jié)果用Lip表示,PM值定義為

        式中:B={i|(-1)u?i=sign(Lip)}。

        圖2為N=4的SCS譯碼算法的譯碼過(guò)程演示圖,向左擴(kuò)展為比特“0”擴(kuò)展,向右為比特“1”擴(kuò)展,實(shí)線箭頭表示被激活的路徑,虛線則表示未被激活的路徑,節(jié)點(diǎn)下方的數(shù)值為當(dāng)前路徑的PM值。與SCL算法中通過(guò)對(duì)多條路徑同步擴(kuò)展的策略不同,SCS譯碼算法僅對(duì)堆棧中的最優(yōu)路徑進(jìn)行擴(kuò)展,其余候選路徑存于堆棧中。相當(dāng)于將整個(gè)搜索過(guò)程合理“串行化”,這樣做的最大好處在于可以節(jié)省大量的不必要的路徑搜索,降低計(jì)算復(fù)雜度。

        SCS譯碼過(guò)程中涉及兩個(gè)重要參數(shù),堆棧深度和搜索寬度,分別用D和L表示,兩者都對(duì)SCS譯碼算法的性能起到重要影響,堆棧深度D表示最多能保留下來(lái)的候選路徑數(shù)量,而搜索寬度L則表示等長(zhǎng)路徑可以保留的最大數(shù)。

        譯碼器在接收到信息矢量y1N解調(diào)后得到長(zhǎng)度為N的LLR值矢量用L1N=[L1,L2,···,LN]表示。另外,用bi1=[b1,b2,···,bi]和ci1=[c1,c2,···,ci]表示當(dāng)前譯碼的最優(yōu)路徑矢量和一個(gè)計(jì)數(shù)器矢量,用于記錄在堆棧中同等長(zhǎng)度的路徑數(shù)量。堆棧中當(dāng)前存儲(chǔ)的路徑數(shù)量為s,完整的算法流程如算法1所示。

        1.3 算法復(fù)雜度分析

        SCS譯碼算法的時(shí)間復(fù)雜度取決于當(dāng)前信道的S NR值,但是相較于SCL譯碼算法,SCS譯碼算法避免了大量的不必要的路徑擴(kuò)展,特別是在高SNR的場(chǎng)景下,時(shí)間復(fù)雜度可以減少至O(Nlog2N),而SCL的時(shí)間復(fù)雜度為O(LNlog2N)。在低SNR的情景下,SCS譯碼算法的時(shí)間復(fù)雜度至多為O(LNlog2N)。

        而對(duì)于空間復(fù)雜度來(lái)說(shuō),SC譯碼算法的空間復(fù)雜度為O(N), SCL和SCS的空間復(fù)雜度分別為O(LN)和O(DN) 。 一般情況下D>L,所以SCS相較于SCL擁有更高的空間復(fù)雜度。

        在現(xiàn)有的SCS譯碼算法的硬件實(shí)現(xiàn)架構(gòu)中,在路徑排序部分,通常使用雙堆棧結(jié)構(gòu)進(jìn)行路徑排序與路徑選擇,一個(gè)作為候選路徑存儲(chǔ)的堆棧,另一個(gè)則作為排序過(guò)程中臨時(shí)存儲(chǔ)的數(shù)據(jù),通過(guò)遍歷堆棧中原有路徑與新路徑逐一比較的方式進(jìn)行排序。這種排序方式在一個(gè)時(shí)刻內(nèi)只能進(jìn)行一次比較,效率較低,特別在堆棧存儲(chǔ)數(shù)據(jù)量大時(shí)會(huì)造成大量時(shí)延,在最壞的情況下,排序的時(shí)延等于2D。

        2SCS譯碼器的硬件架構(gòu)

        為了優(yōu)化上述所提到的問(wèn)題,本文提出一種新的SCS譯碼器硬件架構(gòu),如圖3所示,總共包含4個(gè)模塊:SC譯碼單元(SC Decode Unit) 、路徑度量單元(Path Metric Unit) 、路徑選擇單元(Path Selection Unit)和控制單元(Control Unit) 。下面對(duì)主要單元進(jìn)行進(jìn)一步詳細(xì)說(shuō)明和介紹。

        2.1 SC譯碼單元

        SC譯碼單元主要包含:LLR存儲(chǔ)器、部分和更新模塊和計(jì)算單元模塊。信道LLR值經(jīng)過(guò)定點(diǎn)量化后存入LLR存儲(chǔ)器中,在進(jìn)行遞歸運(yùn)算時(shí)根據(jù)當(dāng)前路徑長(zhǎng)度讀出相應(yīng)LLR值。根據(jù)SC譯碼算法原理,SC遞歸運(yùn)算主要包含f運(yùn)算和g運(yùn)算。在硬件實(shí)現(xiàn)中,將這兩種運(yùn)算功能合并成一個(gè)模塊,成為運(yùn)算單元(Process Element, PE) ,如圖4所示。

        圖4中,上半部分實(shí)現(xiàn)f運(yùn)算功能,下半部分實(shí)現(xiàn)g運(yùn)算功能,LA, LB為L(zhǎng)LR值輸入,P_SUM為部分和值。在進(jìn)行LLR遞歸運(yùn)算時(shí)。根據(jù)選通信號(hào)FG_SEL來(lái)決定選通具體運(yùn)算功能。在硬件實(shí)現(xiàn)中的LLR值需要經(jīng)過(guò)定點(diǎn)量化,由于量化位寬有限,在計(jì)算完成后必須對(duì)LLR值進(jìn)行溢出判斷以及數(shù)據(jù)溢出后的操作。因此在計(jì)算單元中引入飽和截?cái)喙δ埽沟肔LR值在溢出后數(shù)據(jù)固定量化為最大值,從而保證LLR值的符號(hào)不會(huì)失真。判定原則如式(8)所示,其中Lg為g運(yùn) 算后的LLR值結(jié)果,Lmax為預(yù)設(shè)最大值。

        在遞歸運(yùn)算結(jié)構(gòu)上,基于硬件開(kāi)銷與運(yùn)算時(shí)延的綜合考慮,本文使用半平行架構(gòu)實(shí)現(xiàn)遞歸運(yùn)算,其結(jié)構(gòu)示意如圖5所示。

        圖5以碼長(zhǎng)為8的遞歸運(yùn)算結(jié)構(gòu)為例,左側(cè)CH_LLR為初始LLR值,右側(cè)MID_LLR則為中間運(yùn)算的LLR值。根據(jù)SC譯碼算法的遞歸運(yùn)算原理,層內(nèi)并行運(yùn)算,所以每個(gè)周期內(nèi)最多有N/2個(gè)PE被激活。然而繼續(xù)分析可知,僅有在u?1和u?N/2時(shí)才會(huì)有N/2個(gè)PE被激活,其余比特至多激活N/4個(gè)PE。所以,N/4個(gè)PE已經(jīng)可以滿足絕大部分情況,在u?1和u?N/2索引位置上,對(duì)N/4個(gè)PE復(fù)用兩次即可實(shí)現(xiàn)相同效果。這種結(jié)構(gòu)在時(shí)延上比傳統(tǒng)平行結(jié)構(gòu)多出兩個(gè)周期的時(shí)延,卻可以將PE數(shù)量減少50%。

        傳統(tǒng)的部分和模塊都是對(duì)前一比特的部分和數(shù)據(jù)進(jìn)行暫存,在暫存的部分和數(shù)據(jù)的基礎(chǔ)上進(jìn)行更新,并且這種策略每一層數(shù)據(jù)都依賴上一層的更新結(jié)果,在策略上無(wú)法實(shí)現(xiàn)層間并行。同時(shí),根據(jù)SCS譯碼算法的特點(diǎn),SCS譯碼算法在譯碼過(guò)程中由于路徑不等長(zhǎng),存在路徑回溯的情況,所以該策略不適用于SCS譯碼。本文的部分和更新中,利用當(dāng)前最優(yōu)路徑的PV值,直接對(duì)下一索引的部分和進(jìn)行更新,不再對(duì)前一索引的部分和數(shù)據(jù)進(jìn)行暫存。同時(shí)在層間使用組合邏輯的方式進(jìn)行運(yùn)算,充分利用硬件的高并行性的特點(diǎn),實(shí)現(xiàn)層間并行運(yùn)算。圖6為N=8的部分和更新模塊,左側(cè)ESI_U0~ESI_U7為輸入PV值,PATH_LEN為路徑長(zhǎng)度值,PS_OUT為部分和輸出,部分和輸出選擇器根據(jù)當(dāng)前PL值來(lái)判斷輸出的對(duì)應(yīng)長(zhǎng)度值。

        2.2 路徑選擇單元

        在經(jīng)過(guò)路徑值度量單元對(duì)路徑進(jìn)行擴(kuò)展及計(jì)算出對(duì)應(yīng)的PM值后,兩條新路徑將被輸入至路徑選擇模塊,向“0”和“1”擴(kuò)展的兩條新路徑分別用PATH0和PATH1表示。路徑選擇單元包含候選路徑存儲(chǔ)器組和路徑選擇模塊,每條候選路徑都包含3種信息:路徑度量值PM、路徑值PV及路徑長(zhǎng)度值PL。在傳統(tǒng)的路徑選擇單元中,每條候選路徑的這3種信息會(huì)被打包然后送入堆棧中。在進(jìn)行路徑選擇時(shí),根據(jù)SCS譯碼原理,進(jìn)行路徑選擇操作僅需要使用PM值數(shù)據(jù)。然而因?yàn)閿?shù)據(jù)在堆棧中被打包的緣故,所對(duì)應(yīng)的PV值及PL值都會(huì)被讀出,造成了大量的不必要讀寫(xiě),增加了路徑選擇過(guò)程中的復(fù)雜度。針對(duì)這一問(wèn)題,本文中的路徑選擇單元對(duì)這3種不同的信息進(jìn)行單獨(dú)存儲(chǔ),通過(guò)統(tǒng)一的地址讀寫(xiě)控制來(lái)保證其信息的對(duì)應(yīng)性。而在進(jìn)行路徑選擇過(guò)程中,僅需要對(duì)PM值存儲(chǔ)器進(jìn)行單獨(dú)的操作即可,在最后完成路徑選擇后才對(duì)其余對(duì)應(yīng)的PL值和PV值進(jìn)行讀出,減少了在中間過(guò)程中大量不必要的讀寫(xiě)。

        在路徑選擇模塊中,本文采用分組單調(diào)排序與并行比較相結(jié)合的方式。這種方式相較于傳統(tǒng)的SCS譯碼器效率更高,其結(jié)構(gòu)圖如圖7所示,在完成新路徑寫(xiě)入后,將度量值存儲(chǔ)器中所有PM值讀出,讀出的PM值與所對(duì)應(yīng)的地址值拼接,送入路徑選擇模塊中。在s<D-1時(shí),路徑選擇模塊僅返回最優(yōu)路徑地址,用POP_ADDR表示。而當(dāng)存儲(chǔ)器組即將存滿或已經(jīng)存滿,即s≥D-1時(shí),地址控制模塊使能路徑值選擇模塊中的最劣路徑選擇功能,此時(shí)路徑選擇模塊返回最優(yōu)路徑地址與最劣路徑地址。最劣路徑即PM值最大的路徑,在存儲(chǔ)器存滿的情況下,最劣的路徑成為最優(yōu)先被淘汰的路徑,用DEL_ADDR表示。

        新路徑寫(xiě)入存儲(chǔ)器組的策略分為存儲(chǔ)器存滿和未存滿兩種情況,如圖8所示。圖8(a)為未存滿情況下的存儲(chǔ)策略,由于每次路徑選擇完成后,最優(yōu)路徑必然讀出,這就意味著該最優(yōu)路徑POP_ADDR地址在下一次譯碼時(shí)處于空閑狀態(tài),所以將POP_ADDR作為下輪譯碼中PATH0的寫(xiě)入地址。同時(shí)定義一個(gè)計(jì)數(shù)器指針CNT_ADDR,該指針一直指向最小的空閑地址,該地址作為PATH1的寫(xiě)入地址,將PATH1按順序存入存儲(chǔ)器,直至存儲(chǔ)器存滿。而在存儲(chǔ)器即將存滿時(shí),如圖8(b)所示,地址控制器將使能路徑選擇模塊中的最劣路徑選擇功能,此時(shí)路徑選擇模塊則會(huì)返回兩個(gè)地址值:最優(yōu)路徑地址POP_ADDR和最劣路徑地址DEL_ADDR,設(shè)上一個(gè)譯碼周期返回的最優(yōu)地址和最劣地址分別為a1和a2。PATH0依然以POP_ADDR作為寫(xiě)入地址,PATH0寫(xiě)入a1。而CNT_ADDR由于存儲(chǔ)器存滿后將失效,所以此時(shí)應(yīng)使用DEL_ADDR作為PATH1的寫(xiě)入地址,PATH0寫(xiě)入a2。通過(guò)直接覆蓋原有的最劣路徑數(shù)據(jù)的方式實(shí)現(xiàn)PATH1的寫(xiě)入與最劣路徑的淘汰。

        3 實(shí)驗(yàn)結(jié)果及分析

        在硬件實(shí)現(xiàn)上,本文所有硬件設(shè)計(jì)均在Xilinx系列xc7v585tffg的FPGA平臺(tái)中進(jìn)行,時(shí)鐘頻率Fclk設(shè)定為200 MHz。對(duì)碼長(zhǎng)結(jié)構(gòu)(N,K) =(256, 128) 進(jìn)行實(shí)現(xiàn),堆棧深度D=64和搜索寬度L=16。并對(duì)文獻(xiàn)[17]的架構(gòu)在同樣碼長(zhǎng)下在同平臺(tái)進(jìn)行復(fù)現(xiàn)對(duì)比,碼率R均為0.5。均使用高斯近似(Gaussian Approximation, GA),仿真場(chǎng)景使用加性白高斯信道模型,并使用二進(jìn)制相移鍵控(Binary Phase Shift Keying, BPSK) 調(diào)制方式。

        3.1 基于MATLAB的LLR值量化分析

        由于LLR值為浮點(diǎn)數(shù),在硬件實(shí)現(xiàn)中都需要將數(shù)據(jù)進(jìn)行定點(diǎn)量化才能進(jìn)行處理,而具體的量化方案將直接影響到硬件的性能以及硬件開(kāi)銷,所以在方案上需要做出合理的選擇,使得硬件開(kāi)銷和性能損失都在可接受的范圍內(nèi)。

        用 (Qc,Qf)表示初始LLR值和小數(shù)位的量化位寬。圖9為 SCS譯碼算法在比特信噪比(Eb/N0) 在1~3.5 dB范圍內(nèi),不同量化方案下的誤比特率(Bit Error Ratio, BER) 對(duì)比,對(duì)(8,1) 、(8,3) 、(6,1) 、(6,3) 這4種量化方案進(jìn)行性能仿真對(duì)比。通過(guò)(Qc,Qf)=(8,3)與(Qc,Qf)=(6,3)的對(duì)比,兩者小數(shù)位寬相等,而整數(shù)位寬被壓縮造成了 (Qc,Qf)=(6,3)的性能損失明顯,所以整數(shù)位寬應(yīng)當(dāng)設(shè)定為大于等于5 bits。而(Qc,Qf)=(8,3)和 (Qc,Qf)=(6,1)擁有等長(zhǎng)的整數(shù)位寬,小數(shù)位寬的壓縮并未造成明顯的性能損失。最后對(duì)比(Qc,Qf)=(8,3) 和 (Qc,Qf)=(8,1)可以說(shuō)明整數(shù)位寬大于5 bits的情況下沒(méi)有明顯增益。因此,基于性能和資源開(kāi)銷綜合考慮,本文選擇 (Qc,Qf)=(6,1)作為最后的量化方案。

        3.2 基于FPGA的硬件平臺(tái)仿真

        本文所提出的硬件結(jié)構(gòu)資源消耗如表1所示。與文獻(xiàn)[17]相比較,本文譯碼器整體資源消耗在查找表(Look Up Table, LUT)、寄存器(Register) 和塊隨機(jī)存儲(chǔ)器(Block Random Access Memory, BRAM) 上分別減少了24.06%、56.42%和39.29%。特別地,將路徑選擇模塊與部分和模塊的資源消耗進(jìn)行單獨(dú)比較,本文的方案在路徑選擇模塊上,LUT和Register平均多出40.65%和18.32%的開(kāi)銷。然而在部分和模塊中,本文的方案在LUT和Register則平均減少了7.68%與77.98%的開(kāi)銷,并且由于沒(méi)有使用到存儲(chǔ)模塊,因此BRAM消耗為0。在吞吐率方面,根據(jù)譯碼器吞吐率公式:

        表1 不同架構(gòu)的性能對(duì)比情況Table 1 The comparisons of different structures

        在200 MHz的工作頻率下,本文譯碼器的平均時(shí)延為0.046 ms,因此在此情況下吞吐率T=256/(0.046×10-3)=5.51 Mbit/s,相較于復(fù)現(xiàn)的譯碼器提高了約24.38%。

        除了硬件性能外,本文進(jìn)一步驗(yàn)證了譯碼器的糾錯(cuò)性能,圖10為本文設(shè)計(jì)的SCS譯碼器與同碼長(zhǎng)的SC譯碼器在硬件實(shí)現(xiàn)和MATLAB仿真中的誤比特率性能對(duì)比。其中黑色線為MATLAB的仿真結(jié)果,其余為FPGA實(shí)現(xiàn)結(jié)果。從結(jié)果對(duì)比圖可得知在FPGA上的實(shí)現(xiàn)與仿真結(jié)果相近,這得益于量化比特?cái)?shù)的合理選擇,從而在實(shí)現(xiàn)過(guò)程中未造成明顯性能損失。而對(duì)比SC與SCS的FPGA實(shí)現(xiàn)結(jié)果可知,相較于SC譯碼算法,本文所提出的SCS譯碼器有0.6 dB的性能增益。

        圖1 SC譯碼過(guò)程圖Fig.1 The process of SC decoding

        圖2 N=4下SCS譯碼流程圖Fig.2 The process of SCS decoding with N=4

        圖3 SCS譯碼器頂層架構(gòu)Fig.3 The top architecture of SCS decoder

        圖4 PE運(yùn)算單元Fig.4 The architecture of PE

        圖5 N=8半平行結(jié)構(gòu)Fig.5 The architecture of semi-parallel with N=8

        圖6 N=8 的部分和更新模塊Fig.6 The architecture of partial sum module with N=8

        圖7 路徑選擇模塊結(jié)構(gòu)圖Fig.7 The architecture of path selection

        圖8 路徑寫(xiě)入策略示意圖Fig.8 Examples of paths writing strategy

        圖9 在不同( Qc,Qf)下的BER比較Fig.9 The comparisons of BER with different(Qc,Qf)

        圖10 SCS譯碼器與SC譯碼器碼長(zhǎng)為(N,K) = (256,128) 性能比較Fig.10 The comparison of SCS and SC with (N,K) =(256,128)

        從硬件平臺(tái)實(shí)現(xiàn)結(jié)果看出SCS譯碼器在性能上明顯優(yōu)于SC譯碼器。同時(shí)合理的量化比特選取也使硬件實(shí)現(xiàn)中的性能損失非常小。

        4 結(jié)論

        本文主要針對(duì)SCS譯碼器的路徑選擇模塊提出了一種新的架構(gòu),從而提升路徑選擇模塊的性能。通過(guò)硬件實(shí)現(xiàn)驗(yàn)證,本文所提出的架構(gòu)通過(guò)對(duì)堆棧存儲(chǔ)策略的改善,不同種類的路徑信息讀寫(xiě)變得更加靈活。在路徑選擇上利用分組單調(diào)排序與并行比較相結(jié)合的策略使得最佳路徑搜索更加高效。另外,在部分和模塊中本文提出用路徑值實(shí)時(shí)計(jì)算部分和的方法,部分和反饋更加高效,充分利用了FPGA強(qiáng)大的并行性。實(shí)驗(yàn)結(jié)果表明,本文中所提出的硬件架構(gòu)的整體資源消耗降低且吞吐率有小幅提升,在路徑選擇模塊中需要更多的LUT和Registers,但在部分和模塊中需要更少的資源。同時(shí),本文提出的結(jié)構(gòu)糾錯(cuò)性能優(yōu)于SC譯碼器并與SCS譯碼算法的理論結(jié)果接近。

        然而,SCS譯碼器在低SNR時(shí)會(huì)頻繁出現(xiàn)路徑回溯現(xiàn)象,這一現(xiàn)象主要由LLR量化精度損失所造成。文獻(xiàn)[20]中所提出的通過(guò)算法模型來(lái)動(dòng)態(tài)調(diào)整量化參數(shù)的策略具有一定啟發(fā)性,在SCS譯碼中根據(jù)SNR與PL值通過(guò)一定算法來(lái)動(dòng)態(tài)調(diào)整量化參數(shù)也許可以進(jìn)一步提升譯碼器性能。

        亚洲日韩精品久久久久久| 疯狂的欧美乱大交| 无遮无挡爽爽免费视频| 国产福利片无码区在线观看| 在线日韩中文字幕乱码视频| 中文字幕精品一区久久| 特级毛片a级毛片100免费播放| 93精91精品国产综合久久香蕉| 性一交一乱一乱一视频| 香蕉网站在线| 黄片午夜免费观看视频国产| 国产变态av一区二区三区调教 | 亚洲午夜福利在线视频| 1769国产精品短视频| 欧美日韩免费一区中文字幕| 亚洲一区二区三区精彩视频| 中文字幕无码中文字幕有码| 男女啪啪免费体验区| 一区二区在线亚洲av蜜桃| 青青操视频手机在线免费观看| 97久人人做人人妻人人玩精品| 国产在线精品一区二区三区不卡| 久久er这里都是精品23| 久久一区二区国产精品| 日本熟妇hdsex视频| 91视频88av| 国产av一区仑乱久久精品| 91久久精品一区二区三区大全| 国产猛男猛女超爽免费视频| av蓝导航精品导航| 亚洲av永久青草无码精品| 在线观看国产激情视频| 欧美成人片在线观看| 红杏亚洲影院一区二区三区| 无遮挡很爽视频在线观看| 国产成人大片在线播放| 蜜桃无码一区二区三区| 国产美女一级做a爱视频| 伊人婷婷综合缴情亚洲五月 | 一本色综合久久| 国产三级黄色在线观看|