



中圖分類號:TN911.22 文獻標志碼:A 文章編號: 1000-5013(2025)04-0448-(
Improvement of Sliding Window Decoding Algorithm for Double Spatially Coupled LDPC Codes
LIAN Qiufang, SUN Xiaofang,CHEN Qiwang,LU Zijun,ZHOU Lin
(College of Information Science and Engineering,Huaqiao University,Xiamen 361O21,China)
Abstract:With regard to the decoding performance optimization issue of double spatially coupled low-density parity-check (LDPC) codes in a joint source-channel coding system,a supervised sliding-window decoding algorithm is proposed. First,supervisor bits are incorporated within the current decoding window.Then,the supervisor bits supervise the most reliable log-likelihood values and the minimum average error probabilities within the current window, they are placed into the corresponding positions in the memory, respectively. Next,the codewords within the window undergo the next round of iteration until the decoding termination conditions are met. Finally,the decoder estimates the decoding result based on the stored log-likelihood values. Simulation results show that under both additive Gaussian white noise and Rayleigh fading channels,the performance of the supervision sliding-window decoding algorithm is significantly improved in both the eror floor and waterfall regions.
Keywords:joint source-channel coding;double spatially coupled LDPC code; sliding window decoding algorithm;supervision
香農的分離定理一直是通信系統設計的準則,未來6G通信系統具備更高可靠性、超低時延、高吞吐量的特點。傳統的分離系統因其固有局限,難以滿足日益嚴苛的通信需求。因此,聯合信源信道編碼(JSCC)系統應時而生。Sayood等[將JSCC技術應用于圖像傳輸領域,JSCC 系統的信道譯碼器可以充分利用信源中殘留的冗余信息。Hagenauer[2]提出軟輸出維特比譯碼算法,該算法通過信源序列的后驗概率來控制信道譯碼器。2009 年,Fresia 等[3提出信源和信道都是低密度奇偶校驗(LDPC)碼的JSCC 系統。若信源熵低于信道容量,碼字無限長的分離系統可以高可靠傳輸,但復雜度激增。相較之下,JSCC 系統在低復雜度環境下展現更優性能。JSCC系統譯碼端利用信源壓縮編碼冗余,實現顯著性能提升[4]。1999年,Felstrom 等[5]率先引入卷積LDPC(CC-LDPC)碼的概念,CC-LDPC 碼的結構更加規則,易于硬件實現。LDPC碼經耦合形成卷積結構的LDPC碼,此類碼稱空間耦合LDPC(SC-LD-PC)碼[6]。當 SC-LDPC碼的碼長足夠長時,置信傳播(BP)譯碼閾值可達到最大后驗譯碼閾值[7],但會導致較大的譯碼延遲。SC-LDPC 碼特殊的耦合結構促使譯碼算法可在固定窗口內執行,此算法稱為滑窗譯碼(SWD)算法[8,SWD算法以犧牲部分譯碼性能來換取減小譯碼延遲。為提升 SWD算法的譯碼性能,許多學者提出了引人監督[9]、窗口可變[10]等優化思想。Ali等[11提出3種改善滑窗譯碼算法的方法,即有效的譯碼終止、邊信息的重利用和有用信息的放大方法。Golmohammadi等[12」提出雙 SC-LDPC(DSC-LDPC)碼的JSCC系統,譯碼器能充分利用信源壓縮后的冗余信息進一步提高性能。滑可變窗譯碼(SVWD)算法被證明在 DSC-LDPC 碼的 JSCC 系統中能有效改善譯碼性能[13]。基于此,本文設計了一種改進的滑窗譯碼(iSWD)算法。
1基于DSC-LDPC碼的JSCC系統
1. 1 DSC-LPDC碼的構造
SC-LDPC碼的構造過程,如圖1所示。圖1中: L 為耦合長度; Ψt 為第 t 個位置上的LDPC碼。SC-LDPC碼的原模圖由 bv 個變量節點(圖1中圓形節點,VNs)
個校驗節點(圖1中方形節點,CNs)和連接兩種節點的邊組成。SC-LDPC 碼是由規則 LDPC 碼復制、邊擴展和耦合得到[1415]。

SC-LDPC碼的原模圖單元可用基矩陣 B=[33] 表示,
的元素表示連接邊的數量。通過邊擴展[15](圖1(b)),將第 t(0?t 劃分為 m+1 個子基矩陣 Bi=[1 1], i={0,1,…,m} ,并且滿足 B=B0+B1+…+Bm,m 稱為耦合寬度。
用矩陣表示為

將基矩陣擴展 M 次,即可得到校驗矩陣, M 被稱為擴展因子。DSC-LDPC碼的信源是(3,12)SC-LDPC 碼,信道是(3,6)SC-LDPC碼。為了讓系統正常工作,信源和信道需滿足尺寸匹配條件 bcsc=bvcc- bccc 和 Lsc+m=Lcc-m, Lsc 和 Lcc 分別是信源耦合長度和信道耦合長度。信道和信源的參數分別用上標cc 和 sc標識區分。DSC-LDPC碼的原模圖,如圖2所示。圖2中:陰影填充的節點為信源的CNs 連接到信道的VNs部分。
因為DSC-LDPC碼的參數滿足 bvcc-bccc-bcsc=0 ,所以基矩陣可用聯合基矩陣 BJ 表示,即


式(2)中: BL 是大小為 (Lsc+m)bcsc×Lccbvcc 的連接矩陣,表示信源校驗節點與信道變量節點的連接關系。1.2DSC-LPDC碼的編碼
SC-LDPC碼的校驗矩陣 H 轉置為

子矩陣 Hi(t),0?i?m 定義為

比特為“1”,概率為 P1lt;1/2 的二進制無記憶伯努利信源可以直接將接收到信息序列 s 用校驗矩陣Hsc 進行壓縮,編碼后得到序列
,即 u=s(Hsc)T 。信道SC-LDPC 碼編碼采用校驗和編碼算法[16]。信道編碼器是一個系統編碼器,編碼后的碼字可以表示為
小, 0?icc , vi(0) 是信息位(圖2中陰影填充的VNs), vi(1) 是校驗位(圖2中無填充的VNs)。 vi(0),vi(1) 具體編碼為
vij=uij,1?j?(bvcc-bccc)M,

(bvcc-bccc)M+1?j?bvccM
為匹配信源碼特性而額外引入不參與信道編碼的VNs稱為刪余節點(圖2中虛線)。
1.3 DSC-LPDC碼的譯碼
DSC-LDPC碼編碼端是用 Hsc 和 Hcc 單獨編碼,譯碼端(SWD算法)同時對信源和信道進行聯合譯碼。DSC-LDPC碼的SWD算法,如圖3所示。圖3中: ?P 表示目標符號(綠色橫線區域)的位置。一個窗口內有bvWM 個VNs 和 bcWM 個CNs,W表示窗口大小。因為目標符號和上一個窗口有直連的邊,所以上一個窗口對數似然值直接傳遞到當前窗口。當目標符號譯碼完成,窗口向右移動,譯碼下一個目標符號,直到整幀碼字譯碼完成。

以加性高斯白噪聲信道(AWGN)為例,DSC-LDPC碼的SWD算法信息傳遞過程有如下4個步驟。1)初始化。信源端的初始化可用 Zvsc=log((1-p1)/p1) 計算,信源初始化只與信源統計特性有關。信道初始化可表示為 Zvcc=2y/σn2,y 為經過信道后的觀測值, σn2 為信道噪聲的方差。
2)迭代。迭代僅發生在窗口內的節點,且包含水平步驟和垂直步驟。 Lcvsc,(k) 和
分別為信源和 信道中第 c 個CNs傳遞給第 υ 個 VNs的對數似然值; Lcvsccc,(k) 和
分別為信源中第 Ψc 個CNs傳遞給信道中第 v 個VNs的對數似然值和信道中第 v 個VNs傳遞給信源中第 c 個CNs的對數似然值;Lvcsc,(k) 和
分別為信源和信道中第 v 個VNs傳遞給第 c 個CNs的對數似然值。
用CNs傳遞給VNs的對數似然比公式(水平步驟)為

用VNs傳遞給CNs的對數似然比(垂直步驟)為

v=(2iM+1,2iM+2,…,2iM+M),
式 (9)~(12) 中:
。式(10)是計算與信源相連的信道VNs 的對數似然值,而式(11)是計算不與信源相連的信道VNs的對數似然值。
3)譯碼判決。迭代步驟完成后,先計算目標符號的對數似然值,即

隨后,根據目標符號的對數似然值估計譯碼結果,當 L(sv)?0 時,譯為0,否則,譯為1。
4)窗口滑動。若當前窗口滿足目標符號的錯誤概率小于閾值 ?β=10-6 )或迭代次數等于最大值,則表示譯碼完成,保存譯碼結果和與下一個窗口內的校驗節點相連邊(圖3藍色豎線區域)的信息,窗口向右滑動一個位置,重復步驟 1~3 ,直到整個碼字譯碼完成。否則,返回步驟2,迭代次數 k+1 ,重新迭代譯碼。
2 改進的SWD算法
為改善JSCC系統的DSC-LDPC碼的譯碼性能,窗口內引人監督,監控譯碼過程中平均錯誤概率
可達到的最小值,并保存
和
為最小值時信源目標符號的對數似然值。
2.1平均錯誤概率計算
在 SWD算法中,譯碼結果都是根據譯碼終止時產生的對數似然值來估算碼字s。但研究表明,目標符號的平均錯誤概率
不隨迭代次數增加而單調減小。因此,當目標符號滿足譯碼停止條件時,平均錯誤概率
未必是這一幀碼字譯碼過程中的最小值,即譯碼結果不一定是最優的。基于這一譯碼現象,設計一種改進的 SWD(iSWD)算法。iSWD算法在窗口內引人監督,監控窗口可達到的最小平均錯誤概率 Pmin 和對應的目標符號對數似然值。監督機制可以優化算法的譯碼性能,使其更加適用于各種噪聲和干擾環境。
由式(13)可以得到碼字 sv 的后驗似然估計值 L(sv) ,則分別計算 sv 為1和0的后驗概率 P1(sv) 和P0(sv) 。即

此次迭代的錯誤概率取 P1(sv) 和 P0(sv) 的最小值,即
Pe(sv)=min{P1(sv),P0(sv)}c
第 ?P 個窗口的信源目標符號的平均錯誤概率
為

在iSWD算法中,窗口內的碼字在進行BP譯碼時都會被監督。每個窗口內信源目標符號的個數是 bvscM 。存儲器C的長度為 bvscM ,用來存儲平均錯誤概率
達到最小值時的目標符號似然估計值。存儲器C只是存儲信源目標符號的似然估計值,因此,其長度與窗口大小無關,從而節省存儲空間。當譯碼終止時,根據存儲器C中的內容進行譯碼。存儲器C里存的具體內容為
L(s(ρ+1)bvscM-1) 。
2.2 iSWD算法
iSWD算法重點在于監測信源目標符號的平均錯誤概率
達到最小值時的似然估計值。首先,初始化 Pmin=1 ,存儲器C的內存清空。譯碼第 ?P 個窗口,接收窗口內的碼字,并進行BP譯碼后,算出信源目標符號的
。如果此次迭代的平均錯誤概率滿足
。最小平均錯誤概率將會被更新,即
。此次迭代得到的每個信源目標符號似然估計值也會被更新存儲在存儲器C中的對應位置。如果此次迭代的平均錯誤概率不滿足
,則 Pmin 和存儲器C中的內容都不進行更新,迭代次數加1,直接執行下一輪迭代。
iSWD算法監控的是信源目標符號的平均錯誤概率,不需要分別監控信源和信道的平均錯誤概率,從而減小算法復雜度和所需存儲器的容量。DSC-LDPC碼中信源和信道直接有信息傳遞,進行聯合譯碼,所以iSWD算法監督信源目標符號就可以提高系統整體性能。
iSWD算法
1:for p=0Lcc do
2: Pmin=1 ,存儲器C內存清空;
3: 開始迭代,并將迭代次數 k 設為0;
4: while kmax do
5: 在窗口內執行BP算法, k=k+1 :
6: if
then
7:
,更新存儲器C;
8: end if
9: if
then
10: 停止此次譯碼,并跳轉至步驟13;
11: end if
12: end while
13: 基于存儲器C中的似然估計值估計譯碼目標符號;
14:end for。
3 仿真性能分析
在iSWD算法的仿真實驗采用
碼率的信源碼和
的信道碼,基矩陣分別為

耦合寬度 m=2 。此外,耦合長度分別為 Lsc=20 和 Lcc=16 ,最大迭代次數 Imax=30 。
每一個碼字需要仿2OOOO幀,仿真的碼字采用二進制相移鍵控(BPSK)調制方式。在實驗仿真中,為測試iSWD算法的性能,分別測試了AWGN信道和瑞利衰落信道中不同信噪比 (RSN )下的誤碼率(R) 。通過這兩種不同信道的測試,可以更全面地評估算法的性能和穩定性,并確定其在不同環境下的應用潛力。因此,獲得的實驗結果可以為算法優化和改進提供重要的參考依據。
AWGN信道下 W=6,W=10 的誤碼率,分別如圖4、5所示。由圖4、5可知:誤碼率性能最差的是擴展因子為80的SWD算法,而誤碼率性能最好的是擴展因子為16O的iSWD算法,即擴展因子越大,誤碼率性能越好,這是因為擴展因子的大小與碼長成正相關,擴展因子為80、120和160時,DSC-LDPC碼的信息碼長分別為5120、7680 和10 240;iSWD算法在AWGN信道下傳輸,不同參數條件下,均能改善譯碼性能,在窗口大小為6、擴展因子為120、誤碼率為 4×10-4 時,iSWD算法相較于SWD算法的譯碼增益約為 0.69dB ,iSWD算法的改進有限,在窗口大小為10,擴展因子為160時,iSWD算法的譯碼增益與SWD算法較為接近,這是因為窗口較大和DSC-LDPC碼的碼長較長時,SWD算法的錯誤概率在迭代過程中更易收斂到最小值,有更優的譯碼性能,改進的空間更小。


為驗證iSWD算法在不同信道中的普適性,iSWD算法在瑞利衰落信道中也進行了仿真實驗。瑞利衰落信道下 M=80 M=160 的誤碼率,分別如圖6、7所示。


由圖6、7可知:當窗口大小為9、擴展因子為80、誤碼率為 1×10-4 時,iSWD算法相較于SWD算法,其譯碼性能有顯著的提升,譯碼增益高達 2.5dB ;而當窗口大小為6、擴展因子為80、誤碼率為 1× 10-3 時,iSWD算法的譯碼增益約為 0.5dB ,這意味著iSWD算法可以更有效地對噪聲和干擾進行抑制,提高數據傳輸的可靠性;在瑞利衰落信道中,iSWD 算法對不同參數的 DSC-LDPC 碼系統性能均有改善。
4結束語
針對目標符號錯誤概率不隨迭代次數而單調減小的問題,設計了一種適用于DSC-LDPC 碼的iSWD算法。該算法的主要思想是監督窗口目標符號錯誤概率可達到的最小值,并保存對應目標符號的對數似然值。譯碼終止時,根據保存的對數似然值估算譯碼結果。改進的算法未增加額外的迭代運算,因此,不會提高譯碼復雜度。由仿真實驗可知,在AWGN信道和瑞利衰落信道下,iSWD 算法在瀑布區和平層區的性能均得到改善,有望應用到未來低延遲、高可靠的流媒體傳輸中。
參考文獻:
[1]SAYOOD K,BORKENHAGEN JC. Use of residual redundancy in the design of joint source/channel coders[J]. IEEE Transactions on Communications,1991,39(6) :838-846.DO1:10.1109/26.87173.
[2]HAGENAUER J. Source-controled channel decoding[J]. IEEE Transactions on Communications,1995,43(9): 2449-2457.DO1:10.1109/26.412719.
[3]FRESIA M,PEREZ-CRUZ F,POOR H V. Optimized concatenated LDPC codes for joint source-channel coding [C]/ IEEE International Symposium on Information Theory. Seoul: IEEE Press,2009:2131-2135.
[4]王琳,劉三亞,陳辰,等.工業互聯網低功耗數據鏈算法設計綜述:聯合信源信道編碼設計的必要性、現實與前景 [J].電子與信息學報,2020,42(1):249-262.DOI:10.11999/JEIT190762.
[5]FELSTROM A J,ZIGANGIROV K S.Time-varying periodic convolutional codes with low-density parity-check matrix[J].IEEE Transactions on Information Theory,1999,45(6):2181-2191.DOI:10.1109/18.782171.
[6]KUDEKAR S,RICHARDSON T J,URBANKE R L. Threshold saturation via spatial coupling: Why convolutional LDPC ensembles perform so wellover the BEC[J]. IEEE Transactions on Information Theory,2011,57(2):803- 834.DOI:10.1109/TIT.2010.2095072.
[7]LENTMAIER M,SRIDHARAN A,COSTELLO D,et al. Iterative decoding threshold analysis for LDPC convolutional codes[J].IEEE Transactions on Information Theory,2010,56(10):5274-5289.DOI:10.1109/TIT. 2010. 2059490.
[8]IYENGAR A R,PAPALEO M,SIEGEL P H,et al. Windowed decoding of protograph-based LDPC convolutional codes over erasure channels[J].IEEE Transactions on Information Theory,20l2,58(4):2303-2320.DOI:10.1109/ TIT.2011.2177439.
[9]MO Shiyuan,CHENLi. Improved sliding window decoding of spatially coupled low-density parity-check codes[C]// IEEE Information Theory Workshop.Taiwan:IEEE Press,2017:126-130.DOI:10.1109/ITW.2017.8277945.
[10]張婭妹,周林,陳辰,等.窗口可變的空間耦合 LDPC 碼滑窗譯碼算法[J].西安電子科技大學學報,2020,47(3): 128-134.DOI:10.11999/JEIT190762.
[11]ALI 1,KIM JH,KIM S H,et al. Improving windowed decoding of SC LDPC codes by effective decoding termination,message reuse, and amplification[J]. IEEE Access,2018,6:9336-9346. DOI: 10.1109/ACCESS. 2017. 2771375.
[12]GOLMOHAMMADI A,MITCHELL D G M. Concatenated spatiall coupled LDPC codes with sliding window decoding for joint source-channel coding[J].IEEE Transactions on Communication,2022,70(2):851-864.DOI:10. 1109/TCOMM. 2021. 3126750.
[13]LIAN Qiufang,CHEN Qiwang,ZHOU Lin,et al. Adaptive decoding algorithm with variable sliding window for double SC-LDPC coding system[J].IEEE Communications Letters,2023,27(2):404-408.DOI:10.1109/LCOMM. 2022.3222560.
[14]DIVSALAR D,DOLINAR S,JONES C R,et al. Capacity approaching protograph codes[J]. IEEE Journal on Selected Areas in Communications,2009,27(6):876-888. DOI:10.1109/JSAC.2009.090806.
[15]MITCHELL D G M,LENTMAIER M,COETELLO D J. Spatially coupled LDPC codes constructed fromprotographs[J].IEEE Transactions on Information Theory,2015,61(9):4866-4889.DOI:10.1109/TIT.2015.2453267.
[16]PUSANEA E,FELTSTROM A J,SRIDHARAN A,et al. Implementation aspects of LDPC convolutional codes [J].IEEE Transactions on Communications,2008,56(7):1060-1069.DO1:10.1109/TCOMM. 2008.050519.
(責任編輯:陳志賢 英文審校:陳婧)