• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      5G LDPC碼譯碼器實現(xiàn)

      2021-04-25 01:47:36胡東偉
      電子與信息學報 2021年4期
      關鍵詞:譯碼器譯碼校驗

      胡東偉

      (中國電子科技集團公司第五十四研究所 石家莊 050080)

      1 引言

      2017年12月,第5代移動通信新無線(5G New Radio, 5G NR)標準[1]的發(fā)表,標志著第5代移動通信(5G)的正式誕生。相比于第4代移動通信標準--長期演進(Long Term Evolution, LTE)而言,5G采納了很多的新技術。調制和編碼是無線通信的兩大支柱性技術。相比于LTE,5G的編碼技術亦有著很多的看點。

      5G的編碼采用LDPC碼和Polar碼[2]。LDPC碼具有較長的編碼塊長度,主要用于數(shù)據的傳輸;Polar碼具有較短的編碼塊長度,主要用于信令的傳輸。Polar碼作為一種全新的編碼方式,受到了較大的關注。然而,5G的LDPC碼具有更大的靈活性--它的最短信息比特塊長度只有20 bit,最長可達8448 bit。如果將5G LDPC碼應用在其他場合,則它不但可用于長碼塊的數(shù)據傳輸,亦可用于短碼塊的信令傳輸。

      其次,5G LDPC碼最低碼率可低至1/5。這是目前進入實際使用的、最低碼率的編碼,具有非常接近香農極限的性能。這在深空通信、衛(wèi)星通信中,具有重要意義。在深空通信中,性能的提高意味著更遠的傳輸距離,或無需昂貴的低溫射頻前端[3,4]。

      再次,5G LDPC碼具有速率自適應的特點[5]。這是LDPC編碼史上一次巨大的進步。傳統(tǒng)上,由于LDPC碼為分組編碼,被視為難以實現(xiàn)速率自適應[6]。這是LDPC碼相對于卷積碼、Turbo碼的一大劣勢。5G LDPC碼以其獨特的編碼方式,實現(xiàn)了速率自適應。這給了該碼使用上的極大便利性和靈活性。

      由于5G NR標準頒布的時間還不長,直接針對5G NR標準的LDPC譯碼器研究尚不多。文獻[7]主要在譯碼的調度算法上進行了改進;文獻[8]是一個采用歸一化最小和(Normalized Minimum Sum,NMS)算法和分層調度的譯碼器完整ASIC實現(xiàn)方案;文獻[9]給出了塊并行架構和行并行架構的實現(xiàn)細節(jié)。與這些文獻相比,本文所提架構具有以下特點:第一,基于SoC架構,采用基于處理器的調度方案,可實現(xiàn)更靈活的調度;第二,支持多種譯碼算法,特別地,本文硬件實現(xiàn)了log-bp譯碼算法;第三,在移位器的實現(xiàn)方法上,本文別具一格。

      本文首先介紹5G LDPC碼的編碼器結構,然后比較該碼在各種譯碼算法下的性能,并進一步分析各種譯碼算法的校驗子通道實現(xiàn)結構和復雜度。在此基礎上,提出了5G LDPC碼譯碼器的整體實現(xiàn)結構,并給出了FPGA實現(xiàn)結果。

      2 5G LDPC碼的結構

      5G LDPC碼在一個基本編碼器基礎上,通過速率自適應打孔得來。

      2.1 基本編碼器結構

      5G的基本編碼器結構分為兩種,分別由兩個基本圖(Base Graph, BG)來定義。兩種基本編碼器都是準循環(huán)編碼。準循換子碼塊大小 Zc如表1所示。表1中 Z 即為可選擇的準循換子碼塊長度Zc。在編碼過程中,需要用到循環(huán)右移單位矩陣。 n階循環(huán)右移單位矩陣為將Zc×Zc的單位矩陣的每一行,循環(huán)右移 n 位所得。如圖1給出了Zc=4時,1階和2階的循環(huán)右移單位矩陣的取值。

      當采用基本圖1時,信息碼塊長度為 2 2Zc,編碼字長度為 66Zc,編碼碼率為1/3;當采用基本圖2時,信息碼塊長度為1 0Zc, 編碼字長度為5 0Zc,編碼碼率為1/5。 Zc為表1中,使得2 2Zc或 1 0Zc大于待編碼信息碼塊長度的最小值。當信息碼塊的長度不是剛好為2 2Zc或 1 0Zc時,在信息碼塊后補填充位0,并在編碼完成后去除。填充后的信息碼塊記為c。

      表1 準循換子碼塊長度取值

      2.2 速率自適應打孔

      5G的自適應打孔,可根據物理層幀結構可承載的比特數(shù)目,自適應截取編碼后碼字的發(fā)送比特數(shù)目,并可根據混合差錯重傳(HARQ)要求,截取編碼后碼字的不同段。記基本編碼器完成后的碼字長度為 N ,下層幀結構可承載的比特數(shù)目為NE,版本號為r vid∈{0,1,2,3}。將編碼后碼字放入一個長度為Nc的 循環(huán)緩沖區(qū)內。如圖3所示。Nc的長度由上層信令指定, Nc≤N 。當Nc<N時,只截取編碼塊的前 Nc個比特放入循環(huán)緩沖區(qū)。最后速率自適應打孔的輸出,就是從該循環(huán)緩沖區(qū)內,從第Ns比特開始,取出NE個比特。Ns由版本號r vid指定。 Nc和Ns具體取值請參閱5G NR標準[1]。由這種速率自適應打孔方式可見,我們可實現(xiàn)任意速率的最 終編碼。這給我們的應用提供了極大的靈活性。

      圖1 n階循環(huán)右移單位矩陣示意圖

      圖2 基本圖1和基本圖2的圖形顯示

      3 5G LDPC碼的譯碼算法和性能分析

      圖3 速率自適應打孔示意圖

      表2 譯碼算法

      基本譯碼方式為,首先對打孔后的接收信號進行解打孔,然后利用標準的LDPC譯碼方式進行譯碼。表2的偽代碼給出了譯碼過程[10-13]。其中 yi為接收數(shù)據, L(qi)為 變量節(jié)點對數(shù)似然比,L(rji)為校驗節(jié)點j 向變量節(jié)點i傳遞的外信息,σ2為信道噪聲方差。

      上述計算過程的核心在于變量節(jié)點對校驗節(jié)點的更新算法A lg orithm(·)。不同的更新算法有不同的性能[14]。表3給出了4種不同的更新方式。表中Vji表 示與校驗節(jié)點j 相連的所有的、除去變量節(jié)點i以 外的所有變量節(jié)點。α 和 β 為常數(shù),s gn(·)為符號函數(shù)。 tanh(x)=(ex-e-x)/(ex+e-x) , tanh-1(·)為t anh(·)的逆函數(shù)。

      圖4給出了5G LDPC碼在兩種基本圖下,在這4種譯碼算法下的性能。由圖4可見,在所有碼率下,log-bp(BP)譯碼算法的性能非常好,且較MSA, Offset MSA(OMSA), Normalized MSA(NMSA)的性能要好得多。MSA算法的性能最差,較log-bp算法有接近2 dB的差別。OMSA和NMSA算法性能介于BP算法和MSA算法性能之間。低碼率時,OMSA算法性能較NMSA好;高碼率時,NMSA算法性能較OMSA好。1/5碼率時,log-bp算法譯碼門限可以達到Eb/N0≈0 dB(SNR ≈-4 dB)。低碼率時,OMSA算法性能較log-bp算法要差0.5 dB左右。這在深空通信、衛(wèi)星通信等極限通 信條件下,是不可忽略的。

      4 校驗子通道結構和復雜度

      典型的準循換LDPC碼譯碼器為很多并行通道,每個通道執(zhí)行一個校驗子的計算,即表3中的計算。本節(jié)主要分析以上4種算法的通道結構和復雜度。

      MSA, Offset MSA和Normalized MSA算法只涉及到取絕對值和大小比較操作,較簡單。根據以上HBG1和HBG2的定義,5G LDPC碼的每個校驗子,最多與19個變量節(jié)點相連。因此,可設計這3種算法的校驗子計算通道結構如圖5所示。圖5中,校驗子通道連接在處理器的數(shù)據總線上。當計算某校驗子時,處理器依次寫入與該校驗子相連的各個變量節(jié)點值。當寫入第1個(地址為0)變量節(jié)點時,通道復位。在寫入的過程中,通道內部依次比較得出絕對值最小變量節(jié)點、絕對值次小變量節(jié)點以及他們的地址;并且,通道內計算所有節(jié)點的符號乘積,保存每個變量節(jié)點的符號。由于最多只有19個變量節(jié)點,符號位使用19個寄存器保存即可。當輸入完畢后,處理器開始讀出計算結果,即每個變量節(jié)點的外信息。讀出時,根據地址選擇符號位,選擇絕對值最小或次小值,相乘合并為輸出外信息值。與MSA算法相比,Offset MSA和Normalized MSA只是在輸出時,做一點特別計算。通道結構可設計成可配置實現(xiàn)這3種算法,且α 和 β 值可配置。

      表3 變量節(jié)點對校驗節(jié)點更新方式

      圖4 不同算法的性能

      圖5 MSA, Offset MSA和Normalized MSA算法的校驗子計算通道結構

      根據表3中的公式,log-bp算法計算較復雜。但是,仔細分析該計算公式可發(fā)現(xiàn),log-bp算法的計算,具有迭代的性質。也就是,假如定義兩個輸入節(jié)點的log-bp計算為B P(l1,l2),即[15]

      則有

      于是,如果以B P(l1,l2)為基本計算節(jié)點,則可構造如圖6所示的計算過程。圖中每個圓圈代表一個BP(l1,l2)計算節(jié)點。計算分為前向迭代計算(記結果為)和反向迭代計算(記結果為)。最后校驗節(jié)點對變量節(jié)點產生的外信息輸出為前向、反向計算相遇處的計算結果,即

      根據 t anh(·)函 數(shù)的定義,式(1)中B P(l1,l2)的計算可進一步簡化為

      其中,

      結合式(4)和式(5),即得到基本計算節(jié)點BP(l1,l2)的計算。式(5)中的后兩項對數(shù)部分,可通過查表實現(xiàn)。由于函數(shù) ln(1+exp(-x))下降較快,仿真發(fā)現(xiàn),這兩個表格只需8個條目大小就足夠。因此,這兩個查找表可直接用組合邏輯實現(xiàn)。式(5)的實現(xiàn)復雜度不高。

      然而,在式(3)的計算過程中,需要存儲輸入對數(shù)似然比值和前向迭代的計算結果。根據5G NR標準,每個校驗子最多與19個變量節(jié)點相連,因此至少需要38個8位(假設每個變量位寬為8位)存儲器來保存輸入數(shù)據和前向計算結果。這造成了log-bp的實現(xiàn)復雜度較高。圖7給出了log-bp算法的通道實現(xiàn)結構。圖中Mem即為存儲輸入對數(shù)似然比和前向迭代計算結果的存儲器。為方便處理器讀取計算結果,輸出采用一個存儲器進行緩沖。表4給出了log-bp算法與MSA, Offset MSA和Normalized MSA算法的通道實現(xiàn)復雜度。表中的數(shù)值為在Altera Stratix IV EP4SGX290HF35C2 FPGA上的實現(xiàn)結果。

      5 5G LDPC碼譯碼器的整體架構設計和實現(xiàn)

      5.1 架構設計的考量依據及設計方案

      (1) 從圖4的仿真性能來觀察,在低信噪比時,MSA, Offset MSA和Normalized MSA算法性能較log-bp算法性能相差較大,因此log-bp算法的實現(xiàn)不可缺少,主要用于信噪比極低的極限情況下。

      (2) Log-bp算法的前向、反向迭代過程計算較慢,因此,log-bp算法譯碼的吞吐率較低;相比較而言,采用MSA, Offset MSA和Normalized MSA算法的譯碼器,計算過程較快。所幸的是,從應用的角度來說,log-bp算法主要處理極限通信的情況,對吞吐率要求不高;而采用MSA, Offset MSA和Normalized MSA算法的譯碼器對吞吐率要求較高,但他們的通道結構簡單,可采用更多的并行通道。

      (3) 倘若一個變量節(jié)點被打孔,它的Lin(qi′j)為零,根據表3中的計算公式,則該行校驗子對所有變量節(jié)點產生的外信息均為零,因此該校驗子的計算不用執(zhí)行。由于5G LDPC可通過打孔實現(xiàn)任意速率的編碼,因此譯碼時,需要有靈活地控制調度方案,適應不同碼率下的譯碼。

      根據以上設計考量依據,本文提出圖8所示的譯碼器總體架構。圖中虛線框內即為LDPC譯碼器,他們連接到一個處理器(DSP)的總線上。譯碼器內分為3大部分,log-bp譯碼加速器、高速譯碼加速器和數(shù)據存儲器。其中l(wèi)og-bp譯碼加速器與其他兩部分相互獨立。Log-bp譯碼加速器為24個圖7所示的并行通道。設置24個通道是因為,總線寬度為64位,每個通道輸入輸出數(shù)據位寬為8位。24個通道分為3組,每組8個通道。根據圖7所示架構及延時,3組交錯執(zhí)行,剛好能保證數(shù)據不間斷地寫入,不間斷地讀出。

      圖6 Log-bp算法的計算過程

      圖7 Log-bp算法通道實現(xiàn)結構

      表4 通道實現(xiàn)復雜度

      高速譯碼加速器可執(zhí)行MSA, Offset MSA和Normalized MSA算法的譯碼,主要包括移位器和384個圖5所示的并行通道[16,17]。圖9給出了高速譯碼器的詳細結構。在處理器調用高速譯碼之前,處理器首先(或通過外部DMA)將待譯碼數(shù)據放在數(shù)據存儲器內,然后配置高速譯碼器循環(huán)塊大小 Zc。Zc的配置將使得高速譯碼器內只有Zc個通道開啟工作。然后,處理器向高速譯碼器寫入一個控制命令,啟動一個循環(huán)塊的校驗子計算。該控制命令包含的信息為數(shù)據存儲器地址和移位器偏移量。高速譯碼器收到該命令后,按照控制命令的地址,一個時鐘從數(shù)據存儲器內讀出Zc個通道的輸入數(shù)據對數(shù)似然比和外信息,進行循環(huán)移位、計算、反移位,然后將外信息結果寫回該地址。整個過程耗費12+2d 個時鐘。d 為校驗子上連接的變量節(jié)點個數(shù)。寫回完成后,處理器可控制進行下一塊Zc個校驗子的譯碼。如此完成一次譯碼和多次譯碼迭代。在上述過程中,處理器很容易判斷哪些數(shù)據已被打孔,從而直接忽略。數(shù)據存儲器分為輸入數(shù)據存儲器和外信息存儲器兩組,每組的位寬均為3072 bit,可以保證一個時鐘同時讀取(或寫入)384個通道的輸入數(shù)據和(或)外信息。

      圖8 譯碼器總體架構

      圖9 高速譯碼加速器架構

      圖9中,384個通道的加速器只有 Zc個通道開啟。移位器必須實現(xiàn)Zc個通道數(shù)據的循環(huán)移位。根據表1, Zc可以有多達51個取值,最大取值384。要實現(xiàn)51種情形下的任意循環(huán)移位,且循環(huán)移位范圍可達到384,移位器的實現(xiàn)較復雜。本文推薦以下圖10(a)所示的移位器實現(xiàn)方案。圖10(a)中,假設Zc<384, 輸入數(shù)據din的 下部Zc個數(shù)據有效,上部384-Zc個數(shù)據無效。輸入數(shù)據首先同時輸入子循環(huán)移位器和一個延遲器。子循環(huán)移位器向上移位384-Zc個數(shù)據,將din的有效數(shù)據抵到最頂端。然后,在第2級,移位后的 din和 延遲后的din聯(lián)動,進行指定的 n階循環(huán)移位。這里的循環(huán),是將圖10中上部子循環(huán)移位器移出的數(shù)據,移入下部的子循環(huán)移位器的輸入。最后,整個移位器的輸出為下部子循環(huán)移位器的輸出,其最低Zc個數(shù)據有效。圖10(b)給出了子循環(huán)移位器的實現(xiàn)。由于子循環(huán)移位器最大需要移位384位,這需要通過3級流水的多路器實現(xiàn),每一級中間通過寄存器隔開(圖中未示出寄存器)。3級流水多路器分別為6選1、8選1和8選1多路器。多路器的選擇參數(shù) n0, n1和 n2通 過n 變換得來。n=64n0+8n1+n2。圖10所示的移位器,在控制器的控制下,既執(zhí)行讀出數(shù)據的正向移位,也執(zhí)行寫 回數(shù)據的反向移位。

      5.2 FPGA實現(xiàn)結果

      圖10 移位器架構

      表5 譯碼器的FPGA實現(xiàn)結果

      表6 譯碼器吞吐率(Mbps)

      表5給出了圖8所示架構在FPGA上的實現(xiàn)結果,不包括DSP。從這些數(shù)據可以看到,高速譯碼加速器(含數(shù)據存儲器)耗費的資源非常多,達到了EP4SGX290HF35C2 FPGA資源的74%。高速譯碼加速器耗費的資源是log-bp譯碼加速器的大約15倍。二者可達到的時鐘速率均較高,可達到100 MHz左右。

      5.3 吞吐率分析

      表6給出了不同碼率下,采用基本圖2,譯碼器時鐘為100 MHz,譯碼器平均迭代15次時的吞吐率。如果將譯碼器做成ASIC芯片,時鐘速率可以成倍提高,相應地吞吐率也成倍提高。例如,當碼率為9/10時,100 MHz時鐘已經可以達到1 Gbps吞吐率。假若采用1 GHz時鐘,則吞吐率將達到10 Gbps。這個吞吐率很高,甚至可以在光纖通信系統(tǒng)中使用[18]。

      6 結束語

      5G LDPC碼具有低碼率、高性能和速率自適應的特點,具有非常大的靈活性。除了用在地面移動通信系統(tǒng)中外,亦可以用在深空通信、衛(wèi)星通信甚至光纖通信中。本文分析了5G LDPC碼的構造和性能之后,提出其譯碼器的總體架構:將譯碼器分為高速譯碼器和低信噪比譯碼器,并進行了設計實踐,給出了譯碼器的FPGA綜合結果和吞吐率分析結果。本文的工作將對從事5G研發(fā),或更廣泛地,從事通信系統(tǒng)研發(fā)的人員,有一定的參考意義。

      猜你喜歡
      譯碼器譯碼校驗
      基于校正搜索寬度的極化碼譯碼算法研究
      糾錯模式可配置的NAND Flash BCH譯碼器設計
      爐溫均勻性校驗在鑄鍛企業(yè)的應用
      跟蹤導練(一)5
      從霍爾的編碼譯碼理論看彈幕的譯碼
      新聞傳播(2016年3期)2016-07-12 12:55:27
      LDPC 碼改進高速譯碼算法
      遙測遙控(2015年2期)2015-04-23 08:15:19
      大型電動機高阻抗差動保護穩(wěn)定校驗研究
      電測與儀表(2015年1期)2015-04-09 12:03:02
      基于加窗插值FFT的PMU校驗方法
      鍋爐安全閥在線校驗不確定度評定
      HINOC2.0系統(tǒng)中高速LDPC譯碼器結構設計
      電視技術(2014年17期)2014-09-18 00:15:48
      邵阳市| 永胜县| 邵武市| 古田县| 中阳县| 五原县| 宁远县| 金沙县| 肃宁县| 阳新县| 射洪县| 东城区| 鹰潭市| 金阳县| 五峰| 隆回县| 周宁县| 秦安县| 原平市| 临邑县| 灵璧县| 芦山县| 山丹县| 云和县| 即墨市| 郴州市| 建德市| 海安县| 铁岭市| 卓资县| 连云港市| 阜阳市| 炎陵县| 东光县| 西贡区| 井研县| 武陟县| 萨迦县| 濮阳县| 上思县| 阳泉市|