Polar、LDPC等編碼方案的時延和復(fù)雜度對比
Polar碼、LDPC碼、Turbo碼和(TB)卷積碼被認(rèn)為是NR的候選碼。
Polar解碼器被分類為SC(successive-cancellation)和(CA)-SCL(CRC-aided successive-cancellation list)。兩種類型的解碼器共享相同的編碼器。SC解碼器可視為SCL解碼器的特例。SC譯碼器比(CA)-SCL譯碼器復(fù)雜度低,性能差。
SC解碼器和(CA)-SCL解碼器之間的區(qū)別在于,(CA)-SCL解碼器在每個信息比特級別(列表解碼)保持給定數(shù)量的可能性(稱為路徑),而SC解碼器在每個級別總是保持最可能的可能性。在連續(xù)消除結(jié)束時,SCL解碼器有兩種選擇來從多個生存路徑中確定最佳路徑:CRC輔助選擇或基于度量的選擇。前者稱為CA-SCL解碼器,后者稱為SCL解碼器。顯然,CRC校驗階段對于CA-SCL解碼器的復(fù)雜度或時延都不在關(guān)鍵路徑上。為了限制SCL算法的計算復(fù)雜度,可能性的數(shù)目被限制在一個最大值L之下,L表示為列表大小。在下文中,表示如下:
N–兩個碼字的冪的大小
R—碼率
K——信息塊大小
L–列表大小
復(fù)雜性和時延
一個(CA)-SCL譯碼器由兩個核心部分組成:連續(xù)取消和路徑選擇。顯然,在SC解碼器中沒有路徑選擇操作,在所有階段只保留一條路徑。
連續(xù)取消下的計算復(fù)雜性:
連續(xù)取消運算的計算復(fù)雜度又可分為f和g函數(shù)的計算(加法運算)和部分和的計算(1位異或運算)。在每條路徑上,其計算復(fù)雜度如下所示:
f/g函數(shù)計算:O(N*log2(N))([4])
部分和計算:O(N-1)
單路SC解碼器的總計算復(fù)雜度為:O(N*log2(N)) + O(N-1)
?路徑選擇下的計算復(fù)雜性:
SCL解碼器需要對每個信息位即stage的路徑樹進行擴展和修剪。在每個信息階段,L父節(jié)點將生成2*L子節(jié)點。解碼器必須從這2*L子節(jié)點中選擇最可靠的L節(jié)點。路徑選擇需要根據(jù)路徑度量對這些2*L節(jié)點候選進行排序。
執(zhí)行排序操作有幾種方法。不同的排序算法具有不同的計算復(fù)雜度和時間復(fù)雜度(以及實現(xiàn)成本)。在此,使用一個快速分揀機,它要求平均O(2*L*log2(2*L))計算復(fù)雜度。
SCL解碼器的總計算復(fù)雜度為O(L*N*log2(N)) + O(L*(N-1) ) + K* O(2*L*log2(2*L))。
時延分析
在SCL解碼器的實際實現(xiàn)中,將使用N=4解碼器作為解碼器的基本單元,并以最大并行方式部署它們。下圖中的紅色虛線是每條路徑上的關(guān)鍵路徑。有L條平行的關(guān)鍵路徑。所有這些關(guān)鍵線路交叉的唯一節(jié)點是路徑選擇(RFAU,rank-flag-address-unit)。

在硬件實現(xiàn)中,除了路徑選擇外,關(guān)鍵路徑上的每個步驟都可以在一個周期內(nèi)完成。如果在路徑選擇中采用bitonic sorter和bi-group-ranker,如果它們是信息位,則L=32需要4個周期。N=4解碼單元的總周期約為27個周期(TN4)。如果它們都是凍結(jié)位,那么這個N=4解碼器的時延是11個周期。使用這個N=4解碼單元來構(gòu)建任何其他的代碼大小。例如,N=8解碼器構(gòu)建為:

一個N=8解碼器由2x N=4個解碼器構(gòu)成,額外4個步驟(周期),即TN8=2*TN4+4。同樣,N=16解碼器的階段(周期)的數(shù)量為TN16=2*TN8+4。對于給定N,階段數(shù)為TN=(N/4)*TN4+(N/4-1)*4。注意,這是最壞的情況,在這種情況下,所有的比特都被假定為信息位。對于N=2048和碼率R=0.5(L=32),循環(huán)數(shù)可估計為:TN=R*(N/4)*27+(1-R)*(N/4)*11+(N/4-1)*4,總時延為11727個周期??梢詫⒍〞r關(guān)閉到1GHz,即每循環(huán)1-ns。此時延足以支持NR URLLC的自包含低時延。
降低復(fù)雜性和時延的方法
有一些方法可以有效地降低計算復(fù)雜度和時延,而不會造成顯著的性能損失。其中一些可以降低復(fù)雜性和時延;有些通過增加計算復(fù)雜度來減少時延。根據(jù)不同的場景和應(yīng)用目標(biāo)進行權(quán)衡。
選擇性路徑擴展
由于SCL解碼器的復(fù)雜度和時延在很大程度上取決于分類器,因此選擇路徑擴展方法旨在減少排序的機會。減少的基礎(chǔ)是一個信息位的可靠性已知并且彼此不同。對于可靠性指標(biāo)較高的比特,不需要將路徑從L擴展到2*L,而是保持最強路徑。例如,在N=2048和K=1024的情況下,近75%的信息位可以被視為“良好”位,而不會降低BLER性能,因此在它們上面沒有路徑擴展和選擇。因此,計算復(fù)雜度和時延都降低了:
復(fù)雜度:O(L*N*log2(N)) + O(L*(N-1) ) + (1-0.75)*K*?O(2*L*log2(2*L))
凍結(jié)-頭-跳過?Frozen- Header-Skipping
由于信息塊的起始部分的可靠性度量遠(yuǎn)低于其余部分,因此這些位置通常被分配給凍結(jié)位,并且傾向于形成全凍結(jié)位報頭。解碼器可以直接跳過針對整個凍結(jié)報頭的任何連續(xù)取消操作和路徑選擇操作。例如,N=2048和K=1024,這個凍結(jié)的頭占用256位。因此,降低了計算復(fù)雜度和延遲。
復(fù)雜度:O(L*0.875*N*log2(N)) + O(L*(0.875*N-1) ) + (1-0.75)*K* O(2*L*log2(2*L))
其中 0.875 = (1-256/N)
Bitonic Sorter
如果設(shè)計目標(biāo)是短時延,則可以有效地實現(xiàn)一些快速分類器。Bitonic Sorter就是其中之一:O(2*L*log2(2*L)^2 )計算復(fù)雜度和O(log2(2*L)^2) 時延。例如,當(dāng)L=32時,與快速分類器相比,Bitonic Sorter的計算復(fù)雜度從O(384)增加到O(2304),而時延從O(384)減少到O(36)。
時延減少,但計算復(fù)雜度增加到:
復(fù)雜度:O(L*0.875*N*log2(N)) + O(L*(0.875*N-1) ) + (1-0.75)*K* O(2*L*log2(2*L)^2)
Bi-Grouped-Ranker
需要強調(diào)的是,SCL解碼器并不關(guān)心如何對2*L個節(jié)點進行排序,而是關(guān)心如何從2*L個候選節(jié)點(排序)中提取更可靠的L路徑節(jié)點。從這個意義上說,一個完整的2*L分揀機是多余的。此外,一個完整的2*L分類器不會假設(shè)從父節(jié)點到其子節(jié)點的增量度量關(guān)系。
為了進一步減少時延,華為提出了一種Bi-Grouped-Ranker。該方法首先根據(jù)路徑度量將父節(jié)點分為高可靠組(Hi-Group)和低可靠組(Lo-Group)。并將兩個L-children-node組分別并行排序。然后從Hi-Group中選取給定數(shù)量(T)的最低可靠節(jié)點,從Lo-Group中選取相同數(shù)量的最高可靠節(jié)點,從中選取T個最可靠的條目,并將其推送到生存集。其優(yōu)點之一是根據(jù)父節(jié)點的度量隱藏第一步排序操作的時延;另一種是Hi-Group和Lo-Group排序可以并行進行。
時延降低,計算復(fù)雜度略微降低至:
復(fù)雜的:O(L*0.875*N*log2(N)) + O(L*(0.875*N-1) ) + (1-0.75)*K* [O(L*log2(L)^2) + 2*O(L*log2(L)^2) + O(2*T*log2(2*T)^2) ]
List-Reduced Decoder
由于可靠性度量不是均勻分布在整個塊上,極化的一般趨勢是在開始部分具有較低的可靠性,而在進一步部分具有較高的可靠性。這種極化隨著碼字長度的增加而變得越來越嚴(yán)重。為了利用這個特性,可以在一個塊的中間插入幾個CRC位,這樣SCL解碼器在解碼一個塊時就可以減少列表大?。↙),而不會造成很大的性能損失。這對于較大的塊長度特別有用。例如,在N=2048和K=1024的情況下,如果將L=32應(yīng)用于信息塊的前半部分并且將L=16應(yīng)用于信息塊的后半部分,則計算復(fù)雜度和時延被降低。
復(fù)雜度:O((0.5*L+0.5*L/2)*0.875*N*log2(N)) + O((0.5*L+0.5*L/2)*(0.875*N-1) ) + (1-0.75)*K/2* [O(L*log2(L)^2) + 2*O(L*log2(L)^2) + O(2*T*log2(2*T)^2) ] + (1-0.75)*K/2* [O(L/2*log2(L/2)^2) + 2*O(L/2*log2(L/2)^2) + O(2*T*log2(2*T)^2) ]
復(fù)雜度降低方法的摘要如圖3所示。從左到右的每個方法都是增量的,這意味著該方法從其左側(cè)的上一個方法繼承。計算考慮了碼長N=2048,信息位K=1024,列表=32,選擇性路徑擴展的75%。

方案對比
?eMBB Case:Polar、Turbo和LDPC
作為一個例子,考慮turbo和LDPC的碼長N=1944,polar的碼長N=2048。

Small-Block: Polar vs TBCC
作為一個例子,假設(shè)K=55,R=0.76,N=128(極性母碼),L=32,m=6,S=64

如果TBCC-LVA解碼器和極性SCL解碼器具有相同的列表大小,則SCL解碼器的計算復(fù)雜度小于TBCC-LVA的15%?;蛘邠Q句話說,對于給定的計算復(fù)雜度,LVA-4 TBCC 的復(fù)雜度與SCL=32解碼器的復(fù)雜度相當(dāng)。然而,SCL-32譯碼器比LVA-4 TBCC 譯碼器有超過1.0dB的增益。