Memory-Assisted Quantized LDPC Decoding

Philipp Mohr\orcidlink0000-0003-4350-9969, , and Gerhard Bauch Philipp Mohr and Gerhard Bauch are with the Institute of Communications, Hamburg University of Technology, Hamburg, 21073, Germany. E-mail: {philipp.mohr; bauch}@tuhh.de.
Abstract

We enhance coarsely quantized LDPC decoding by reusing computed check node messages from previous iterations. Typically, variable and check nodes generate and replace old messages in every iteration. We show that, under coarse quantization, discarding old messages involves a significant loss of mutual information. The loss is avoided with additional memory, improving performance up to 0.36 dB. We propose a modified information bottleneck algorithm to design node operations taking messages from the previous iteration(s) into account as side information. Finally, we reveal a 2-bit row-layered decoder that can operate within 0.25 dB w.r.t. 32-bit belief propagation.

Index Terms:
LDPC decoder, layered decoding, rate-compatible, coarse quantization, information bottleneck

I Introduction

Efficient and reliable decoding of low-density parity-check (LDPC) codes is vital in modern technologies with high data rate requirements, such as 5G[1]. Particularly the exchange of messages in iterative message passing decoding algorithms like belief propagation demands significant complexity[2]. To overcome this bottleneck many works focus on reducing the bit width of the exchanged messages in these algorithms through quantization operations, see e.g. [3, 4, 5, 6, 7, 8, 9, 10, 11].

The quantized messages represent reliability levels that encode reliability information exchanged between variable nodes (VNs) and check nodes (CNs). The choice of reliability levels is crucial for excellent decoding performance with low-resolution messages [11]. Information optimum reliability levels can be found with the information bottleneck (IB) method which is a clustering framework, that enables the design of compression operations for maximizing preserved relevant mutual information[12, 13, 8, 9, 10, 11]. Relevant mutual information measures the average amount of information between the transmitted code bits and exchanged decoding messages.

Typically, calculated messages from a previous iteration are replaced by updated messages from the current iteration [3, 8, 9, 4, 5, 10, 11, 6, 7]. One might question whether discarding previously computed and exchanged messages wastes valuable information. Indeed, under coarse quantization, this work confirms that preserving old messages of the previous iteration can significantly improve the decoding performance. For the design of a memory-assisted decoder we modify the sequential IB algorithm from [8] to be aware of the messages retained in memory. This algorithm is specifically suited for the design of deterministic compression mappings realized with symmetric thresholds. It has significantly reduced computational costs compared to more general solutions[13].

We combine the memory-assisted decoder structure with our recently proposed region-specific CN-aware quantizer design [11]. Region-specific quantization allows individual alphabets of reliability levels for subsets of exchanged messages particularly improving low-resolution decoding of highly irregular 5G-LDPC codes. A CN-aware quantizer design for the VN extends the optimization scope to maximize preserved relevant information at the output of the subsequent CN update[10]. The combination of this work and [11] yields up to 0.68 dB gain w.r.t. 2-bit decoding without those techniques.

Refer to caption
Figure 1: Tanner graph of a 5G LDPC code[11].

II Preliminaries on LDPC Decoding with Mutual Information Maximizing Quantization

Most standards define LDPC codes through a base matrix 𝐇bsubscript𝐇𝑏\bm{\mathbf{H}}_{b}bold_H start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT with entries Hijb{1,,Z}subscriptsuperscript𝐻𝑏𝑖𝑗1𝑍H^{b}_{ij}{\in}\{-1,\ldots,Z\}italic_H start_POSTSUPERSCRIPT italic_b end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ∈ { - 1 , … , italic_Z }. The base matrix  𝐇bsubscript𝐇𝑏\bm{\mathbf{H}}_{b}bold_H start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT can be represented by a Tanner graph illustrated in Fig. 1. Each column j𝑗jitalic_j turns into a variable node (VN) and each row i𝑖iitalic_i into a check node (CN). The non-negative entries Hijbsubscriptsuperscript𝐻𝑏𝑖𝑗H^{b}_{ij}italic_H start_POSTSUPERSCRIPT italic_b end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT are edges between VNs and CNs. The node degree, i.e., the number of connected edges to a node, is dv,jsubscript𝑑𝑣𝑗d_{v,j}italic_d start_POSTSUBSCRIPT italic_v , italic_j end_POSTSUBSCRIPT for a VN and dc,isubscript𝑑𝑐𝑖d_{c,i}italic_d start_POSTSUBSCRIPT italic_c , italic_i end_POSTSUBSCRIPT for a CN.

Lifting replaces every edge with Z𝑍Zitalic_Z edges that are subjected to Hijbsubscriptsuperscript𝐻𝑏𝑖𝑗H^{b}_{ij}italic_H start_POSTSUPERSCRIPT italic_b end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT-cyclic permutation. The lifted graph can be equivalently represented by a lifted parity check matrix 𝐇𝐇\bm{\mathbf{H}}bold_H. The encoder maps the information bits 𝒖𝒖\bm{u}bold_italic_u to code bits 𝒃𝒃\bm{b}bold_italic_b such that 𝐇𝒃=𝟎𝐇𝒃0\bm{\mathbf{H}}\bm{b}{=}\bm{0}bold_H bold_italic_b = bold_0[11]. The decoder in the receiver assumes a memoryless channel. For every b𝒃𝑏𝒃b{\in}\bm{b}italic_b ∈ bold_italic_b a binary channel LLR Lchsuperscript𝐿𝑐L^{ch}italic_L start_POSTSUPERSCRIPT italic_c italic_h end_POSTSUPERSCRIPT is quantized to a wchsuperscript𝑤𝑐w^{ch}italic_w start_POSTSUPERSCRIPT italic_c italic_h end_POSTSUPERSCRIPT-bit message tchsuperscript𝑡𝑐t^{ch}italic_t start_POSTSUPERSCRIPT italic_c italic_h end_POSTSUPERSCRIPT as input to the decoder. The quantization maximizes mutual information between b𝑏bitalic_b and tchsuperscript𝑡𝑐t^{ch}italic_t start_POSTSUPERSCRIPT italic_c italic_h end_POSTSUPERSCRIPT as in [11].

II-A Decoding with Arbitrary Schedules

Message passing decoding computes and exchanges messages between VNs and CNs to aggregate soft information for error correction from the parity check constraints. Each edge of the graph contains a VN and CN memory location enumerated with m𝒩={1,,jdv,j}𝑚𝒩1subscript𝑗subscript𝑑𝑣𝑗m{\in}\mathcal{N}{=}\{1,\ldots,\sum_{j}d_{v,j}\}italic_m ∈ caligraphic_N = { 1 , … , ∑ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_d start_POSTSUBSCRIPT italic_v , italic_j end_POSTSUBSCRIPT } for the VN-to-CN messages and n𝒩𝑛𝒩n{\in}\mathcal{N}italic_n ∈ caligraphic_N for the CN-to-VN messages (cf. Fig.1). A memory location stores Z𝑍Zitalic_Z messages after lifting the graph as illustrated within the orange box in Fig. 1. The sets 𝒰v𝒩superscript𝒰𝑣𝒩\mathcal{U}^{v}{\subseteq}\mathcal{N}caligraphic_U start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT ⊆ caligraphic_N and 𝒰c𝒩superscript𝒰𝑐𝒩\mathcal{U}^{c}{\subseteq}\mathcal{N}caligraphic_U start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT ⊆ caligraphic_N specify target memory locations for VN and CN updates, respectively. The decoding schedule defines the order in which memory locations are updated as

𝓤=(𝒰0v,𝒰1c,𝒰2v,𝒰3c,)𝓤superscriptsubscript𝒰0𝑣superscriptsubscript𝒰1𝑐superscriptsubscript𝒰2𝑣superscriptsubscript𝒰3𝑐\displaystyle\bm{\mathcal{U}}=(\mathcal{U}_{0}^{v},\mathcal{U}_{1}^{c},% \mathcal{U}_{2}^{v},\mathcal{U}_{3}^{c},\ldots)bold_caligraphic_U = ( caligraphic_U start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT , caligraphic_U start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT , caligraphic_U start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT , caligraphic_U start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT , … ) (1)

followed by a final hard decision update that uses the most recent updated CN messages.

II-B Node Operations

We introduce the discrete random variables Tjchsubscriptsuperscript𝑇𝑐𝑗T^{ch}_{j}italic_T start_POSTSUPERSCRIPT italic_c italic_h end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT, Tmvsuperscriptsubscript𝑇𝑚𝑣T_{m}^{v}italic_T start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT and Tncsuperscriptsubscript𝑇𝑛𝑐T_{n}^{c}italic_T start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT for modeling the channel, VN and CN messages. A realization tsubscriptsuperscript𝑡t^{\diamond}_{\triangleright}italic_t start_POSTSUPERSCRIPT ⋄ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT ▷ end_POSTSUBSCRIPT of Tsubscriptsuperscript𝑇T^{\diamond}_{\triangleright}italic_T start_POSTSUPERSCRIPT ⋄ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT ▷ end_POSTSUBSCRIPT takes values from an LLR-sorted alphabet 𝒯={±1,..,±2w1}={2w1,..,1,1,..,2w1}subscriptsuperscript𝒯plus-or-minus1..plus-or-minussuperscript2subscript𝑤1superscript2subscript𝑤1..11..superscript2subscript𝑤1\mathcal{T}^{\diamond}_{\triangleright}{=}\{\pm 1,{\mathinner{{\ldotp}{\ldotp}% }},\pm 2^{w_{\diamond}-1}\}{=}\{-2^{w_{\diamond}-1},\mathinner{{\ldotp}{\ldotp% }},-1,1,\mathinner{{\ldotp}{\ldotp}},2^{w_{\diamond}-1}\}caligraphic_T start_POSTSUPERSCRIPT ⋄ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT ▷ end_POSTSUBSCRIPT = { ± 1 , start_ATOM . . end_ATOM , ± 2 start_POSTSUPERSCRIPT italic_w start_POSTSUBSCRIPT ⋄ end_POSTSUBSCRIPT - 1 end_POSTSUPERSCRIPT } = { - 2 start_POSTSUPERSCRIPT italic_w start_POSTSUBSCRIPT ⋄ end_POSTSUBSCRIPT - 1 end_POSTSUPERSCRIPT , start_ATOM . . end_ATOM , - 1 , 1 , start_ATOM . . end_ATOM , 2 start_POSTSUPERSCRIPT italic_w start_POSTSUBSCRIPT ⋄ end_POSTSUBSCRIPT - 1 end_POSTSUPERSCRIPT } where {ch,v,c}\diamond{\in}\{ch,v,c\}⋄ ∈ { italic_c italic_h , italic_v , italic_c } and {j,m,n}\triangleright{\in}\{j,m,n\}▷ ∈ { italic_j , italic_m , italic_n }. We set wch=5subscript𝑤𝑐5w_{ch}{=}5italic_w start_POSTSUBSCRIPT italic_c italic_h end_POSTSUBSCRIPT = 5 and wv=wc=wsubscript𝑤𝑣subscript𝑤𝑐𝑤w_{v}{=}w_{c}{=}witalic_w start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT = italic_w start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT = italic_w in this paper. For the design of the decoder, we keep track of p(xm,tmv)𝑝subscript𝑥𝑚subscriptsuperscript𝑡𝑣𝑚p(x_{m},t^{v}_{m})italic_p ( italic_x start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT , italic_t start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) and p(xn,tnc)𝑝subscript𝑥𝑛subscriptsuperscript𝑡𝑐𝑛p(x_{n},t^{c}_{n})italic_p ( italic_x start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , italic_t start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) that change with every VN and CN update. Updating a VN memory location m𝒰v𝑚superscript𝒰𝑣m\in\mathcal{U}^{v}italic_m ∈ caligraphic_U start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT yields[11]

ymvsubscriptsuperscript𝑦𝑣𝑚\displaystyle y^{v}_{m}italic_y start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT =L(xm|tcol(m)ch)+nξmvL¯(tnc|xm)absent𝐿conditionalsubscript𝑥𝑚subscriptsuperscript𝑡𝑐col𝑚subscript𝑛subscriptsuperscript𝜉𝑣𝑚¯𝐿conditionalsubscriptsuperscript𝑡𝑐𝑛subscript𝑥𝑚\displaystyle=L(x_{m}|t^{ch}_{\operatorname{col}(m)})+\sum_{\mathclap{n\in\xi^% {v}_{m}}}\bar{L}(t^{c}_{n}|x_{m})= italic_L ( italic_x start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT | italic_t start_POSTSUPERSCRIPT italic_c italic_h end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_col ( italic_m ) end_POSTSUBSCRIPT ) + ∑ start_POSTSUBSCRIPT italic_n ∈ italic_ξ start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT end_POSTSUBSCRIPT over¯ start_ARG italic_L end_ARG ( italic_t start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT | italic_x start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) (2)

with extrinsic CN locations ξmv=(n:nm,col(n)=col(m))\xi_{m}^{v}{=}(n{:}n{\neq}m,\operatorname{col}(n){=}\operatorname{col}(m))italic_ξ start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT = ( italic_n : italic_n ≠ italic_m , roman_col ( italic_n ) = roman_col ( italic_m ) ). An LLR reconstruction of a message tncsubscriptsuperscript𝑡𝑐𝑛t^{c}_{n}italic_t start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT is denoted as L¯(tnc|x)=logp(T¯nc=tnc|x=0)/p(T¯nc=tnc|x=1)¯𝐿conditionalsubscriptsuperscript𝑡𝑐𝑛𝑥𝑝subscriptsuperscript¯𝑇𝑐𝑛conditionalsubscriptsuperscript𝑡𝑐𝑛𝑥0𝑝subscriptsuperscript¯𝑇𝑐𝑛conditionalsubscriptsuperscript𝑡𝑐𝑛𝑥1\bar{L}(t^{c}_{n}|x){=}\log p(\bar{T}^{c}_{n}{=}t^{c}_{n}|x{=}0)/p(\bar{T}^{c}% _{n}{=}t^{c}_{n}|x{=}1)over¯ start_ARG italic_L end_ARG ( italic_t start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT | italic_x ) = roman_log italic_p ( over¯ start_ARG italic_T end_ARG start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = italic_t start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT | italic_x = 0 ) / italic_p ( over¯ start_ARG italic_T end_ARG start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = italic_t start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT | italic_x = 1 ) using the aligned variables T¯ncsubscriptsuperscript¯𝑇𝑐𝑛\bar{T}^{c}_{n}over¯ start_ARG italic_T end_ARG start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT introduced in the next subsection II-C. The hard decision yields x^m=(1sgn(L^m))/2subscript^𝑥𝑚1sgnsubscript^𝐿𝑚2\hat{x}_{m}{=}(1{-}\operatorname{sgn}(\hat{L}_{m}))/2over^ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT = ( 1 - roman_sgn ( over^ start_ARG italic_L end_ARG start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) ) / 2 with the a-posteriori probability (APP) LLR L^m=ymv+L¯(tmc|xm)subscript^𝐿𝑚subscriptsuperscript𝑦𝑣𝑚¯𝐿conditionalsubscriptsuperscript𝑡𝑐𝑚subscript𝑥𝑚\hat{L}_{m}{=}y^{v}_{m}{+}\bar{L}(t^{c}_{m}|x_{m})over^ start_ARG italic_L end_ARG start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT = italic_y start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT + over¯ start_ARG italic_L end_ARG ( italic_t start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT | italic_x start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ). Row-layered decoder structures, such as the one in Fig. 8, typically use the APP LLR for computing (2) efficiently as ymv=L^mL¯(tmc|xm)subscriptsuperscript𝑦𝑣𝑚subscript^𝐿𝑚¯𝐿conditionalsubscriptsuperscript𝑡𝑐𝑚subscript𝑥𝑚y^{v}_{m}{=}\hat{L}_{m}{-}\bar{L}(t^{c}_{m}|x_{m})italic_y start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT = over^ start_ARG italic_L end_ARG start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT - over¯ start_ARG italic_L end_ARG ( italic_t start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT | italic_x start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ). Those decoders initialize the APP LLR with L^m=L(xm|tcol(m)ch)subscript^𝐿𝑚𝐿conditionalsubscript𝑥𝑚subscriptsuperscript𝑡𝑐col𝑚\hat{L}_{m}{=}L(x_{m}|t^{ch}_{\operatorname{col}(m)})over^ start_ARG italic_L end_ARG start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT = italic_L ( italic_x start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT | italic_t start_POSTSUPERSCRIPT italic_c italic_h end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_col ( italic_m ) end_POSTSUBSCRIPT ). Hence, the reconstruction of the channel message must be done only once for all iterations. In an implementation the reconstruction in (2) is typically carried out with integer scaled LLRs of bit width w8superscript𝑤8w^{\prime}{\approx}8italic_w start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ≈ 8 to avoid performance loss[11].

Updating a CN memory location n𝒰c𝑛superscript𝒰𝑐n{\in}\mathcal{U}^{c}italic_n ∈ caligraphic_U start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT, exploiting the minimum-approximation[3], yields[11]

tnc=Q(ync) with yncsubscriptsuperscript𝑡𝑐𝑛𝑄subscriptsuperscript𝑦𝑐𝑛 with subscriptsuperscript𝑦𝑐𝑛\displaystyle t^{c}_{n}=Q(y^{c}_{n})\text{ with }y^{c}_{n}italic_t start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = italic_Q ( italic_y start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) with italic_y start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT =mξncsgn(ymv)minmξnc|ymv|absentsubscriptproduct𝑚subscriptsuperscript𝜉𝑐𝑛sgnsubscriptsuperscript𝑦𝑣𝑚subscript𝑚subscriptsuperscript𝜉𝑐𝑛subscriptsuperscript𝑦𝑣𝑚\displaystyle=\prod_{\mathclap{m\in\xi^{c}_{n}}}\operatorname{sgn}(y^{v}_{m})% \min_{\mathclap{m\in\xi^{c}_{n}}}|y^{v}_{m}|= ∏ start_POSTSUBSCRIPT italic_m ∈ italic_ξ start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT end_POSTSUBSCRIPT roman_sgn ( italic_y start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) roman_min start_POSTSUBSCRIPT italic_m ∈ italic_ξ start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT end_POSTSUBSCRIPT | italic_y start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT | (3)

with extrinsic VN locations ξnc=(m:mn,row(m)=row(n))\xi^{c}_{n}{=}(m{:}m{\neq}n,\operatorname{row}(m){=}\operatorname{row}(n))italic_ξ start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = ( italic_m : italic_m ≠ italic_n , roman_row ( italic_m ) = roman_row ( italic_n ) ). Without performance loss, the quantizer Q𝑄Qitalic_Q can be moved before the CN update (cf. Fig. 2(a) & 2(b)) lowering complexity.

II-C Alignment Regions

The reconstruction L¯(tnc|x)¯𝐿conditionalsubscriptsuperscript𝑡𝑐𝑛𝑥\bar{L}(t^{c}_{n}|x)over¯ start_ARG italic_L end_ARG ( italic_t start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT | italic_x ) in (2) and quantization Q:𝒴nc𝒯nc:𝑄superscriptsubscript𝒴𝑛𝑐superscriptsubscript𝒯𝑛𝑐Q{:}\mathcal{Y}_{n}^{c}{\to}\mathcal{T}_{n}^{c}italic_Q : caligraphic_Y start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT → caligraphic_T start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT in (3) can be designed such that decoding messages from different memory locations n𝑛nitalic_n can share the same functions. Using the same functions reduces the overall number of parameters to be designed and implemented. Common functions are realized through an alignment operation applied to the variables Tncsuperscriptsubscript𝑇𝑛𝑐T_{n}^{c}italic_T start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT and Xnsubscript𝑋𝑛X_{n}italic_X start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT before the node design as[11]

T¯nc=1|𝒜n|n𝒜nTnc and X¯n=1|𝒜n|n𝒜nXnsubscriptsuperscript¯𝑇𝑐𝑛1subscript𝒜𝑛subscriptsuperscript𝑛subscript𝒜𝑛subscriptsuperscript𝑇𝑐superscript𝑛 and subscript¯𝑋𝑛1subscript𝒜𝑛subscriptsuperscript𝑛subscript𝒜𝑛subscript𝑋superscript𝑛\displaystyle\bar{T}^{c}_{n}=\frac{1}{|\mathcal{A}_{n}|}\sum_{n^{\prime}\in% \mathcal{A}_{n}}T^{c}_{n^{\prime}}\text{ and }\bar{X}_{n}=\frac{1}{|\mathcal{A% }_{n}|}\sum_{n^{\prime}\in\mathcal{A}_{n}}X_{n^{\prime}}over¯ start_ARG italic_T end_ARG start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = divide start_ARG 1 end_ARG start_ARG | caligraphic_A start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT | end_ARG ∑ start_POSTSUBSCRIPT italic_n start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ caligraphic_A start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_T start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT and over¯ start_ARG italic_X end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = divide start_ARG 1 end_ARG start_ARG | caligraphic_A start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT | end_ARG ∑ start_POSTSUBSCRIPT italic_n start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ caligraphic_A start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT italic_n start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT (4)

where 𝒜nsubscript𝒜𝑛\mathcal{A}_{n}caligraphic_A start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT comprises all elements from the same region. This work considers a row-alignment 𝒜n={n:row(n)=row(n)}subscript𝒜𝑛conditional-setsuperscript𝑛rowsuperscript𝑛row𝑛\mathcal{A}_{n}{=}\{n^{\prime}{:}\operatorname{row}(n^{\prime})=\operatorname{% row}(n)\}caligraphic_A start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = { italic_n start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT : roman_row ( italic_n start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) = roman_row ( italic_n ) } or matrix-alignment 𝒜n=𝒩subscript𝒜𝑛𝒩\mathcal{A}_{n}{=}\mathcal{N}caligraphic_A start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = caligraphic_N[11].

II-D Region-Specific Quantization with Check Node Awareness

A compact version of the CN messages can be obtained with threshold quantization tnc=Q(ync)subscriptsuperscript𝑡𝑐𝑛𝑄superscriptsubscript𝑦𝑛𝑐t^{c}_{n}{=}Q(y_{n}^{c})italic_t start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = italic_Q ( italic_y start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT ) (cf. Fig. 2(a)). The objective is to maximize the mutual information maxQI(X¯n;T¯nc)subscript𝑄𝐼subscript¯𝑋𝑛subscriptsuperscript¯𝑇𝑐𝑛\max_{Q}I(\bar{X}_{n};\bar{T}^{c}_{n})roman_max start_POSTSUBSCRIPT italic_Q end_POSTSUBSCRIPT italic_I ( over¯ start_ARG italic_X end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ; over¯ start_ARG italic_T end_ARG start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) preserved by any CN message in the alignment region 𝒜nsubscript𝒜𝑛\mathcal{A}_{n}caligraphic_A start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT. The optimization of Q𝑄Qitalic_Q can be performed with the sequential IB algorithm[8], also described in section IV. This algorithm requires the distribution p(x¯n,y¯nc)=n𝒜np(xn,Ync=y¯nc)/|𝒜n|𝑝subscript¯𝑥𝑛superscriptsubscript¯𝑦𝑛𝑐subscriptsuperscript𝑛subscript𝒜𝑛𝑝subscript𝑥superscript𝑛subscriptsuperscript𝑌𝑐superscript𝑛superscriptsubscript¯𝑦𝑛𝑐subscript𝒜𝑛p(\bar{x}_{n},\bar{y}_{n}^{c}){=}\sum_{n^{\prime}\in\mathcal{A}_{n}}p(x_{n^{% \prime}},Y^{c}_{n^{\prime}}{=}\bar{y}_{n}^{c})/|\mathcal{A}_{n}|italic_p ( over¯ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , over¯ start_ARG italic_y end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT ) = ∑ start_POSTSUBSCRIPT italic_n start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ caligraphic_A start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_p ( italic_x start_POSTSUBSCRIPT italic_n start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT , italic_Y start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT = over¯ start_ARG italic_y end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT ) / | caligraphic_A start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT |. In case of a layered schedule, each update points to a subset of all memory locations 𝒰𝒩𝒰𝒩\mathcal{U}{\subset}\mathcal{N}caligraphic_U ⊂ caligraphic_N. A single quantizer design suffices for each region 𝒩a={𝒜n:n𝒰}subscript𝒩𝑎conditional-setsubscript𝒜𝑛𝑛𝒰\mathcal{N}_{a}{=}\{\mathcal{A}_{n}{:}n{\in}\mathcal{U}\}caligraphic_N start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT = { caligraphic_A start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT : italic_n ∈ caligraphic_U } where a{1,,|𝒜|}𝑎1𝒜a{\in}\{1,\ldots,|\mathcal{A}|\}italic_a ∈ { 1 , … , | caligraphic_A | } enumerates the distinct regions. The notation {𝒜n:n𝒰}conditional-setsubscript𝒜𝑛𝑛𝒰\{\mathcal{A}_{n}{:}n{\in}\mathcal{U}\}{ caligraphic_A start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT : italic_n ∈ caligraphic_U } builds a set with unique elements, e.g., {{1,2},{2,1},}1221\{\{1,2\},\{2,1\},\ldots\}{ { 1 , 2 } , { 2 , 1 } , … } reduces to {{1,2},}12\{\{1,2\},\ldots\}{ { 1 , 2 } , … }. The quantizer designed for region 𝒩asubscript𝒩𝑎\mathcal{N}_{a}caligraphic_N start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT is used only for updating the locations defined by 𝒩a𝒰subscript𝒩𝑎𝒰\mathcal{N}_{a}\cap\mathcal{U}caligraphic_N start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT ∩ caligraphic_U[11].

\includestandalone

[mode=buildmissing]figs_tikz/equivalent_quant_impl/source

(a) CN-aware design of Q𝑄Qitalic_Q.
\includestandalone

[mode=buildmissing]figs_tikz/equivalent_quant_impl2/source

(b) Q𝑄Qitalic_Q is implemented before CN.
Figure 2: Structure (a) is used during the design phase and structure (b) is used in the implementation.

III Memory-Assisted Reconstruction

\includestandalone

[mode=buildmissing]figs_tikz/mem_aware_setup/source

Figure 3: Quantizer design with memory-assisted reconstruction.

A small bit width w𝑤witalic_w of the exchanged messages significantly lowers the decoder complexity for several reasons:

  • One quantization operation uses w1𝑤1w{-}1italic_w - 1 comparisons[10].

  • The routing network size scales with w𝑤witalic_w.

  • The min-CN update can be carried out much faster. For example using w=2𝑤2w{=}2italic_w = 2 instead of w=3𝑤3w{=}3italic_w = 3 bits potentially reduces the logic gate delay by a factor of 4 [10].

Unfortunately, with w=2𝑤2w{=}2italic_w = 2 bit these major complexity savings can lead to a noticeable performance degradation[11]. This section proposes a novel approach to overcome most of the degradation when using e.g. w=2𝑤2w{=}2italic_w = 2 instead of w=3𝑤3w{=}3italic_w = 3 bits. Fig. 3 extends the setup by preserving the old CN message tncsubscriptsuperscript𝑡𝑐𝑛t^{c}_{n}italic_t start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT of the previous iteration as sncsubscriptsuperscript𝑠𝑐𝑛s^{c}_{n}italic_s start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT. We remark that preserving sncsubscriptsuperscript𝑠𝑐𝑛s^{c}_{n}italic_s start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT for another iteration would give only marginal performance gains.

III-A Modification of Existing Decoder Design

Instead of aiming for maxQI(X¯;T¯nc)subscript𝑄𝐼¯𝑋subscriptsuperscript¯𝑇𝑐𝑛\max_{Q}I(\bar{X};\bar{T}^{c}_{n})roman_max start_POSTSUBSCRIPT italic_Q end_POSTSUBSCRIPT italic_I ( over¯ start_ARG italic_X end_ARG ; over¯ start_ARG italic_T end_ARG start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) we propose to take the statistics of the message sncsubscriptsuperscript𝑠𝑐𝑛s^{c}_{n}italic_s start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT into account. The message sncsubscriptsuperscript𝑠𝑐𝑛s^{c}_{n}italic_s start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT already provides a certain amount of mutual information I(Xnc;Snc)𝐼subscriptsuperscript𝑋𝑐𝑛subscriptsuperscript𝑆𝑐𝑛I(X^{c}_{n};S^{c}_{n})italic_I ( italic_X start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ; italic_S start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ). The optimization of the quantizer shall optimize preservation of additional mutual information maxQI(Xnc;Tnc|Snc)subscript𝑄𝐼subscriptsuperscript𝑋𝑐𝑛conditionalsubscriptsuperscript𝑇𝑐𝑛subscriptsuperscript𝑆𝑐𝑛\max_{Q}I(X^{c}_{n};T^{c}_{n}|S^{c}_{n})roman_max start_POSTSUBSCRIPT italic_Q end_POSTSUBSCRIPT italic_I ( italic_X start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ; italic_T start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT | italic_S start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ). The variable node update now takes into account sncsubscriptsuperscript𝑠𝑐𝑛s^{c}_{n}italic_s start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT as

ymvsubscriptsuperscript𝑦𝑣𝑚\displaystyle y^{v}_{m}italic_y start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT =L(xm|tcol(m)ch)+nξmvL¯(tnc,snc|xm)absent𝐿conditionalsubscript𝑥𝑚subscriptsuperscript𝑡𝑐col𝑚subscript𝑛superscriptsubscript𝜉𝑚𝑣¯𝐿subscriptsuperscript𝑡𝑐𝑛conditionalsubscriptsuperscript𝑠𝑐𝑛subscript𝑥𝑚\displaystyle=L(x_{m}|t^{ch}_{\operatorname{col}(m)})+\sum_{n\in\xi_{m}^{v}}% \bar{L}(t^{c}_{n},s^{c}_{n}|x_{m})= italic_L ( italic_x start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT | italic_t start_POSTSUPERSCRIPT italic_c italic_h end_POSTSUPERSCRIPT start_POSTSUBSCRIPT roman_col ( italic_m ) end_POSTSUBSCRIPT ) + ∑ start_POSTSUBSCRIPT italic_n ∈ italic_ξ start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT end_POSTSUBSCRIPT over¯ start_ARG italic_L end_ARG ( italic_t start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , italic_s start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT | italic_x start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) (5)

For the design of Q:𝒴nc𝒯nc:𝑄subscriptsuperscript𝒴𝑐𝑛subscriptsuperscript𝒯𝑐𝑛Q{:}\mathcal{Y}^{c}_{n}{\to}\mathcal{T}^{c}_{n}italic_Q : caligraphic_Y start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT → caligraphic_T start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT in (3) we measure the joint distribution p(xn,ync,snc)𝑝subscript𝑥𝑛subscriptsuperscript𝑦𝑐𝑛subscriptsuperscript𝑠𝑐𝑛p(x_{n},y^{c}_{n},s^{c}_{n})italic_p ( italic_x start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , italic_y start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , italic_s start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) which considers correlations between tncsubscriptsuperscript𝑡𝑐𝑛t^{c}_{n}italic_t start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT and sncsubscriptsuperscript𝑠𝑐𝑛s^{c}_{n}italic_s start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT. Therefore, we generate a large set of decoding messages xn,ync,sncsubscript𝑥𝑛subscriptsuperscript𝑦𝑐𝑛subscriptsuperscript𝑠𝑐𝑛x_{n},y^{c}_{n},s^{c}_{n}italic_x start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , italic_y start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , italic_s start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT under a specific design-Eb/N0subscript𝐸𝑏subscript𝑁0E_{b}/N_{0}italic_E start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT / italic_N start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT. In the next section IV we introduce a side-information aware IB algorithm which is used for optimization of the quantization thresholds. We define Xnsubscript𝑋𝑛X_{n}italic_X start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, Zncsubscriptsuperscript𝑍𝑐𝑛Z^{c}_{n}italic_Z start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, Tncsubscriptsuperscript𝑇𝑐𝑛T^{c}_{n}italic_T start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, and Sncsubscriptsuperscript𝑆𝑐𝑛S^{c}_{n}italic_S start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT as the relevant, observed, compressed and side-information variable, X𝑋Xitalic_X, Y𝑌Yitalic_Y, T𝑇Titalic_T, and S𝑆Sitalic_S, respectively. The optimization aims for maxp(t|y)I(X;T|S)subscript𝑝conditional𝑡𝑦𝐼𝑋conditional𝑇𝑆\max_{p(t|y)}I(X;T|S)roman_max start_POSTSUBSCRIPT italic_p ( italic_t | italic_y ) end_POSTSUBSCRIPT italic_I ( italic_X ; italic_T | italic_S ). We remark that the alphabet 𝒴𝒴\mathcal{Y}caligraphic_Y is not strictly LLR-sorted as defined in (7) as a result of the CN minimum approximation.

IV Information Bottleneck Algorithm with Side-Information Awareness

x𝑥{\color[rgb]{0,0.26953125,0.54296875}\definecolor[named]{pgfstrokecolor}{rgb}{% 0,0.26953125,0.54296875}x}italic_xy𝑦{\color[rgb]{0.75390625,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{% 0.75390625,0,0}y}italic_yt𝑡{\color[rgb]{0.09765625,0.4765625,0.51953125}\definecolor[named]{% pgfstrokecolor}{rgb}{0.09765625,0.4765625,0.51953125}t}italic_ts𝑠{\color[rgb]{0.0390625,0.3515625,0.3515625}\definecolor[named]{pgfstrokecolor}% {rgb}{0.0390625,0.3515625,0.3515625}s}italic_smaxp(t|y)I(X;T|S)subscript𝑝conditional𝑡𝑦𝐼𝑋conditional𝑇𝑆\max\limits_{p({\color[rgb]{0.09765625,0.4765625,0.51953125}\definecolor[named% ]{pgfstrokecolor}{rgb}{0.09765625,0.4765625,0.51953125}t}|{\color[rgb]{% 0.75390625,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{0.75390625,0,0}y})}I({% \color[rgb]{0,0.26953125,0.54296875}\definecolor[named]{pgfstrokecolor}{rgb}{% 0,0.26953125,0.54296875}X};{\color[rgb]{0.09765625,0.4765625,0.51953125}% \definecolor[named]{pgfstrokecolor}{rgb}{0.09765625,0.4765625,0.51953125}T}|{% \color[rgb]{0.0390625,0.3515625,0.3515625}\definecolor[named]{pgfstrokecolor}{% rgb}{0.0390625,0.3515625,0.3515625}S})roman_max start_POSTSUBSCRIPT italic_p ( italic_t | italic_y ) end_POSTSUBSCRIPT italic_I ( italic_X ; italic_T | italic_S )
Figure 4: Information bottleneck setup with side information.

Typically, an IB setup is defined by a relevant, observed and compressed random discrete variable X,x𝒳={0,1}𝑋𝑥𝒳01X,x{\in}\mathcal{X}{=}\{0,1\}italic_X , italic_x ∈ caligraphic_X = { 0 , 1 }, Y,y𝒴{1,,|𝒴|}𝑌𝑦𝒴1𝒴Y,y{\in}\mathcal{Y}{\in}\{1,\ldots,|\mathcal{Y}|\}italic_Y , italic_y ∈ caligraphic_Y ∈ { 1 , … , | caligraphic_Y | } and T,t𝒯={1,,|𝒯|}𝑇𝑡𝒯1𝒯T,t{\in}\mathcal{T}{=\{1,\ldots,|\mathcal{T}|\}}italic_T , italic_t ∈ caligraphic_T = { 1 , … , | caligraphic_T | } that form a Markov chain XYT𝑋𝑌𝑇X{\to}Y{\to}Titalic_X → italic_Y → italic_T. The IB method is a generic clustering framework for designing compression operations p(t|y)𝑝conditional𝑡𝑦p(t|y)italic_p ( italic_t | italic_y ) with optimization objective maxp(t|y)I(X;T)β1I(Y;T)subscript𝑝conditional𝑡𝑦𝐼𝑋𝑇superscript𝛽1𝐼𝑌𝑇\max_{p(t|y)}I(X;T)-\beta^{-1}I(Y;T)roman_max start_POSTSUBSCRIPT italic_p ( italic_t | italic_y ) end_POSTSUBSCRIPT italic_I ( italic_X ; italic_T ) - italic_β start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT italic_I ( italic_Y ; italic_T ). The choice of β0𝛽0\beta\geq 0italic_β ≥ 0 allows to trade preservation of relevant information I(X;T)𝐼𝑋𝑇I(X;T)italic_I ( italic_X ; italic_T ) for compression. Of very high practical interest is the case where β𝛽\beta{\to}\inftyitalic_β → ∞ because it can be achieved with a deterministic mapping through threshold quantization

t=Q(y)=𝒯[k]τky<τk+1,0k<|𝒯|formulae-sequence𝑡𝑄𝑦𝒯delimited-[]𝑘subscript𝜏𝑘𝑦subscript𝜏𝑘10𝑘𝒯\displaystyle t=Q(y)=\mathcal{T}[k]\quad\tau_{k}{\leq}y{<}\tau_{k+1},0{\leq}k{% <}|\mathcal{T}|italic_t = italic_Q ( italic_y ) = caligraphic_T [ italic_k ] italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ≤ italic_y < italic_τ start_POSTSUBSCRIPT italic_k + 1 end_POSTSUBSCRIPT , 0 ≤ italic_k < | caligraphic_T | (6)

with outer thresholds τ0=0subscript𝜏00\tau_{0}{=}0italic_τ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT = 0 and τ|𝒯|=|𝒴|subscript𝜏𝒯𝒴\tau_{|\mathcal{T}|}{=}|\mathcal{Y}|italic_τ start_POSTSUBSCRIPT | caligraphic_T | end_POSTSUBSCRIPT = | caligraphic_Y |, and 𝒯[k]𝒯delimited-[]𝑘\mathcal{T}[k]caligraphic_T [ italic_k ] identifying the k𝑘kitalic_kth element of the ordered set 𝒯𝒯\mathcal{T}caligraphic_T. The mapping with thresholds can be information-optimum if [14]

L(x|y=1)L(x|y=2)L(x|y=|𝒴|).𝐿conditional𝑥𝑦1𝐿conditional𝑥𝑦2𝐿conditional𝑥𝑦𝒴\displaystyle L(x|y{=}1){\leq}L(x|y{=}2){\leq}{\ldots}{\leq}L(x|y{=}|\mathcal{% Y}|).italic_L ( italic_x | italic_y = 1 ) ≤ italic_L ( italic_x | italic_y = 2 ) ≤ … ≤ italic_L ( italic_x | italic_y = | caligraphic_Y | ) . (7)

This section extends the conventional setup with a fourth variable S𝑆Sitalic_S which provides side-information about X𝑋Xitalic_X[13], see Fig. 4. Prior works[12, 13] also consider a setup with side information, however, those works do not explicitly provide a low-complexity solution for optimizing a threshold quantizer in the context of LDPC decoding. We propose Algorithm 1 which is a modified variant of the sequential IB algorithm from [8] taking into account the side information S𝑆Sitalic_S. The algorithm exploits (7) to sequentially optimize initial random boundaries τksubscript𝜏𝑘\tau_{k}italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT defining the target clusters 𝒴t={y:τty<τt+1}𝒴subscript𝒴𝑡conditional-set𝑦subscript𝜏𝑡𝑦subscript𝜏𝑡1𝒴\mathcal{Y}_{t}{=}\{y{:}\tau_{t}{\leq}y{<}\tau_{t+1}\}{\subset}\mathcal{Y}caligraphic_Y start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT = { italic_y : italic_τ start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ≤ italic_y < italic_τ start_POSTSUBSCRIPT italic_t + 1 end_POSTSUBSCRIPT } ⊂ caligraphic_Y. To avoid local optima, we run 500 different initializations in parallel. We enforce symmetric thresholds τk=|𝒯|τ|𝒯|ksubscript𝜏𝑘𝒯subscript𝜏𝒯𝑘\tau_{k}{=}|\mathcal{T}|{-}\tau_{|\mathcal{T}|-k}italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = | caligraphic_T | - italic_τ start_POSTSUBSCRIPT | caligraphic_T | - italic_k end_POSTSUBSCRIPT, reducing the number of design and implementation parameters.

Algorithm 1 A sequential IB algorithm from [8] considering side information s𝑠sitalic_s in the merger cost computation (line 18).
1:p(x,y,s),|𝒯|𝑝𝑥𝑦𝑠𝒯p(x,y,s),|\mathcal{T}|italic_p ( italic_x , italic_y , italic_s ) , | caligraphic_T |
2:p(t|y)𝑝conditional𝑡𝑦p(t|y)italic_p ( italic_t | italic_y ), p(x,t,s)𝑝𝑥𝑡𝑠p(x,t,s)italic_p ( italic_x , italic_t , italic_s )
3:Create random symmetric clustering p(t|y)𝑝conditional𝑡𝑦p(t|y)italic_p ( italic_t | italic_y );
4:Compute p(x,t,s)=yp(t|y)p(x,y,s)𝑝𝑥𝑡𝑠subscript𝑦𝑝conditional𝑡𝑦𝑝𝑥𝑦𝑠p(x,t,s)=\sum_{y}p(t|y)p(x,y,s)italic_p ( italic_x , italic_t , italic_s ) = ∑ start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT italic_p ( italic_t | italic_y ) italic_p ( italic_x , italic_y , italic_s );
5:Extend clusters 𝒴1,,𝒴|𝒯|subscript𝒴1subscript𝒴𝒯\mathcal{Y}_{1},\ldots,\mathcal{Y}_{|\mathcal{T}|}caligraphic_Y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , caligraphic_Y start_POSTSUBSCRIPT | caligraphic_T | end_POSTSUBSCRIPT with empty singleton clusters 𝒴|𝒯|+1subscript𝒴𝒯1\mathcal{Y}_{|\mathcal{T}|{+}1}caligraphic_Y start_POSTSUBSCRIPT | caligraphic_T | + 1 end_POSTSUBSCRIPT and 𝒴|𝒯|+2subscript𝒴𝒯2\mathcal{Y}_{|\mathcal{T}|{+}2}caligraphic_Y start_POSTSUBSCRIPT | caligraphic_T | + 2 end_POSTSUBSCRIPT;
6:repeat
7:  Save p(t|y)𝑝conditional𝑡𝑦p(t|y)italic_p ( italic_t | italic_y ) as pold(t|y)superscript𝑝oldconditional𝑡𝑦p^{\mathrm{old}}(t|y)italic_p start_POSTSUPERSCRIPT roman_old end_POSTSUPERSCRIPT ( italic_t | italic_y );
8:  for t{1,,|𝒯|/21}𝑡1𝒯21t\in\{1,\ldots,|\mathcal{T}|/2{-}1\}italic_t ∈ { 1 , … , | caligraphic_T | / 2 - 1 } do
9:    for (t1,t2){(t,t+1),(t+1,t)}subscript𝑡1subscript𝑡2𝑡𝑡1𝑡1𝑡(t_{1},t_{2})\in\{{\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{% 1,0,0}(t,t{+}1)},{\color[rgb]{0,0,1}\definecolor[named]{pgfstrokecolor}{rgb}{% 0,0,1}(t{+}1,t)}\}( italic_t start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_t start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ∈ { ( italic_t , italic_t + 1 ) , ( italic_t + 1 , italic_t ) } do
10:     repeat
11:       if t1==tt_{1}==titalic_t start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = = italic_t then
12:         y𝑦yitalic_y is rightmost element in cluster 𝒴t1subscript𝒴subscript𝑡1\mathcal{Y}_{t_{1}}caligraphic_Y start_POSTSUBSCRIPT italic_t start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT;
13:       else if t1==t+1t_{1}==t{+}1italic_t start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = = italic_t + 1 then
14:         y𝑦yitalic_y is leftmost element in cluster 𝒴t1subscript𝒴subscript𝑡1\mathcal{Y}_{t_{1}}caligraphic_Y start_POSTSUBSCRIPT italic_t start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT;
15:       end if
16:       Move y𝑦yitalic_y into 𝒴|𝒯|+1subscript𝒴𝒯1\mathcal{Y}_{|\mathcal{T}|{+}1}caligraphic_Y start_POSTSUBSCRIPT | caligraphic_T | + 1 end_POSTSUBSCRIPT, and y=|𝒴|+1ysuperscript𝑦𝒴1𝑦y^{\prime}{=}|\mathcal{Y}|{+}1{-}yitalic_y start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = | caligraphic_Y | + 1 - italic_y into 𝒴|𝒯|+2subscript𝒴𝒯2\mathcal{Y}_{|\mathcal{T}|{+}2}caligraphic_Y start_POSTSUBSCRIPT | caligraphic_T | + 2 end_POSTSUBSCRIPT;
17:       Update p(x,t,s)𝑝𝑥𝑡𝑠p(x,t,s)italic_p ( italic_x , italic_t , italic_s );
18:       Compute optimal cluster using (12):
k=argmink{1,2}Csym(y,k)𝑘subscriptsuperscript𝑘12subscript𝐶𝑠𝑦𝑚𝑦superscript𝑘\displaystyle k=\arg\min_{k^{*}\in\{1,2\}}C_{sym}(y,k^{*})italic_k = roman_arg roman_min start_POSTSUBSCRIPT italic_k start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ∈ { 1 , 2 } end_POSTSUBSCRIPT italic_C start_POSTSUBSCRIPT italic_s italic_y italic_m end_POSTSUBSCRIPT ( italic_y , italic_k start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ) (8)
\includestandalone[mode=buildmissing]figs_tikz/side_info_aware_ib_algo/source
19:       Merge 𝒴|𝒯|+1subscript𝒴𝒯1\mathcal{Y}_{|\mathcal{T}|{+}1}caligraphic_Y start_POSTSUBSCRIPT | caligraphic_T | + 1 end_POSTSUBSCRIPT into 𝒴tksubscript𝒴subscript𝑡𝑘\mathcal{Y}_{t_{k}}caligraphic_Y start_POSTSUBSCRIPT italic_t start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT, and 𝒴|𝒯|+2subscript𝒴𝒯2\mathcal{Y}_{|\mathcal{T}|{+}2}caligraphic_Y start_POSTSUBSCRIPT | caligraphic_T | + 2 end_POSTSUBSCRIPT into 𝒴|𝒯|+1tksubscript𝒴𝒯1subscript𝑡𝑘\mathcal{Y}_{|\mathcal{T}|{+}1{-}t_{k}}caligraphic_Y start_POSTSUBSCRIPT | caligraphic_T | + 1 - italic_t start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT;
20:       Update p(x,t,s)𝑝𝑥𝑡𝑠p(x,t,s)italic_p ( italic_x , italic_t , italic_s ) and p(t|y)𝑝conditional𝑡𝑦p(t|y)italic_p ( italic_t | italic_y );
21:     until tk==t1t_{k}==t_{1}italic_t start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = = italic_t start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT
22:    end for
23:  end for
24:until p(t|y)==pold(t|y)p(t|y)==p^{\mathrm{old}}(t|y)italic_p ( italic_t | italic_y ) = = italic_p start_POSTSUPERSCRIPT roman_old end_POSTSUPERSCRIPT ( italic_t | italic_y )
25:return p(t|y)𝑝conditional𝑡𝑦p(t|y)italic_p ( italic_t | italic_y ), p(x,t,s)𝑝𝑥𝑡𝑠p(x,t,s)italic_p ( italic_x , italic_t , italic_s )

IV-A Merger Costs with Side Information

In line 16, the element y𝑦yitalic_y and counterpart element ysuperscript𝑦y^{\prime}italic_y start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT are moved into singleton clusters 𝒴|𝒯|+1subscript𝒴𝒯1\mathcal{Y}_{|\mathcal{T}|{+}1}caligraphic_Y start_POSTSUBSCRIPT | caligraphic_T | + 1 end_POSTSUBSCRIPT and 𝒴|𝒯|+2subscript𝒴𝒯2\mathcal{Y}_{|\mathcal{T}|{+}2}caligraphic_Y start_POSTSUBSCRIPT | caligraphic_T | + 2 end_POSTSUBSCRIPT, respectively. The temporary decompression is modeled with a discrete random variable T¨,t¨𝒯¨=𝒯{|𝒯|+1,|𝒯|+2}¨𝑇¨𝑡¨𝒯𝒯𝒯1𝒯2\ddot{T},\ddot{t}{\in}\ddot{\mathcal{T}}{=}\mathcal{T}\cup\{|\mathcal{T}|{+}1,% |\mathcal{T}|{+}2\}over¨ start_ARG italic_T end_ARG , over¨ start_ARG italic_t end_ARG ∈ over¨ start_ARG caligraphic_T end_ARG = caligraphic_T ∪ { | caligraphic_T | + 1 , | caligraphic_T | + 2 }. Line 18 optimizes the deterministic mapping p(t|t¨)=δ(tfk(t¨))𝑝conditional𝑡¨𝑡𝛿𝑡subscript𝑓𝑘¨𝑡p(t|\ddot{t}){=}\delta(t{-}f_{k}(\ddot{t}))italic_p ( italic_t | over¨ start_ARG italic_t end_ARG ) = italic_δ ( italic_t - italic_f start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( over¨ start_ARG italic_t end_ARG ) ) with fk:𝒯¨𝒯:subscript𝑓𝑘¨𝒯𝒯f_{k}:\mathcal{\ddot{T}}{\to}\mathcal{T}italic_f start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT : over¨ start_ARG caligraphic_T end_ARG → caligraphic_T. The algorithm restricts merging y𝑦yitalic_y into an adjacent cluster t1subscript𝑡1t_{1}italic_t start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT or t2subscript𝑡2t_{2}italic_t start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. Thus, two mapping options exist k{1,2}𝑘12k{\in}\{1,2\}italic_k ∈ { 1 , 2 } with

fk(t¨)={t¨t¨𝒯tkt¨=|𝒯|+1tkt¨=|𝒯|+2 with tk=|𝒯|+1tk.subscript𝑓𝑘¨𝑡cases¨𝑡¨𝑡𝒯subscript𝑡𝑘¨𝑡𝒯1superscriptsubscript𝑡𝑘¨𝑡𝒯2 with tk=|𝒯|+1tk.\displaystyle f_{k}(\ddot{t}){=}\begin{dcases}\ddot{t}&\ddot{t}{\in}\mathcal{T% }\\ t_{k}&\ddot{t}{=}|\mathcal{T}|{+}1\\ t_{k}^{\prime}&\ddot{t}{=}|\mathcal{T}|{+}2\end{dcases}\quad\text{ with $t_{k}% ^{\prime}{=}|\mathcal{T}|{+}1{-}t_{k}$.}italic_f start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( over¨ start_ARG italic_t end_ARG ) = { start_ROW start_CELL over¨ start_ARG italic_t end_ARG end_CELL start_CELL over¨ start_ARG italic_t end_ARG ∈ caligraphic_T end_CELL end_ROW start_ROW start_CELL italic_t start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_CELL start_CELL over¨ start_ARG italic_t end_ARG = | caligraphic_T | + 1 end_CELL end_ROW start_ROW start_CELL italic_t start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_CELL start_CELL over¨ start_ARG italic_t end_ARG = | caligraphic_T | + 2 end_CELL end_ROW with italic_t start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = | caligraphic_T | + 1 - italic_t start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT . (9)

The mutual information loss from merging is

Csym(y,k)=subscript𝐶𝑠𝑦𝑚𝑦𝑘absent\displaystyle C_{sym}(y,k)=italic_C start_POSTSUBSCRIPT italic_s italic_y italic_m end_POSTSUBSCRIPT ( italic_y , italic_k ) = I(X;T¨|S)I(X;T|S)𝐼𝑋conditional¨𝑇𝑆𝐼𝑋conditional𝑇𝑆\displaystyle I(X;\ddot{T}|S)-I(X;T|S)italic_I ( italic_X ; over¨ start_ARG italic_T end_ARG | italic_S ) - italic_I ( italic_X ; italic_T | italic_S ) (10)
=\displaystyle== t¨,sp(t¨,s)DKL(p(x|t¨,s)||p(x|fk(t¨),s))\displaystyle\sum_{\ddot{t},s}p(\ddot{t},s)\operatorname{D_{KL}}(p(x|\ddot{t},% s)||p(x|f_{k}(\ddot{t}),s))∑ start_POSTSUBSCRIPT over¨ start_ARG italic_t end_ARG , italic_s end_POSTSUBSCRIPT italic_p ( over¨ start_ARG italic_t end_ARG , italic_s ) start_OPFUNCTION roman_D start_POSTSUBSCRIPT roman_KL end_POSTSUBSCRIPT end_OPFUNCTION ( italic_p ( italic_x | over¨ start_ARG italic_t end_ARG , italic_s ) | | italic_p ( italic_x | italic_f start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( over¨ start_ARG italic_t end_ARG ) , italic_s ) ) (11)
=\displaystyle== sp(s)(C(y,tk|s)+C(y,tk|s))subscript𝑠𝑝𝑠𝐶𝑦conditionalsubscript𝑡𝑘𝑠𝐶superscript𝑦conditionalsuperscriptsubscript𝑡𝑘𝑠\displaystyle\sum_{s}p(s)(C(y,t_{k}|s){+}C(y^{\prime},t_{k}^{\prime}|s))∑ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT italic_p ( italic_s ) ( italic_C ( italic_y , italic_t start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT | italic_s ) + italic_C ( italic_y start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_t start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT | italic_s ) ) (12)

where the individual merger costs are

C(y,t|s)=p(T¨=t|s)DKL{p(x|T¨=t,s)||p(x|T=t,s)}+p(Y=y|s)DKL{p(x|Y=y,s)||p(x|T=t,s)}\displaystyle\begin{split}C(y,t|s)&{=}p(\ddot{T}{=}t|s)\operatorname{D_{KL}}% \left\{p(x|\ddot{T}{=}t,s)||p(x|T{=}t,s)\right\}\\ +&p(Y{=}y|s)\operatorname{D_{KL}}\left\{p(x|Y{=}y,s)||p(x|T{=}t,s)\right\}\end% {split}start_ROW start_CELL italic_C ( italic_y , italic_t | italic_s ) end_CELL start_CELL = italic_p ( over¨ start_ARG italic_T end_ARG = italic_t | italic_s ) start_OPFUNCTION roman_D start_POSTSUBSCRIPT roman_KL end_POSTSUBSCRIPT end_OPFUNCTION { italic_p ( italic_x | over¨ start_ARG italic_T end_ARG = italic_t , italic_s ) | | italic_p ( italic_x | italic_T = italic_t , italic_s ) } end_CELL end_ROW start_ROW start_CELL + end_CELL start_CELL italic_p ( italic_Y = italic_y | italic_s ) start_OPFUNCTION roman_D start_POSTSUBSCRIPT roman_KL end_POSTSUBSCRIPT end_OPFUNCTION { italic_p ( italic_x | italic_Y = italic_y , italic_s ) | | italic_p ( italic_x | italic_T = italic_t , italic_s ) } end_CELL end_ROW (13)

with DKL(p||q)=xp(x)log2(p(x)/q(x))\operatorname{D_{KL}}(p||q){=}\sum_{x}p(x)\log_{2}(p(x)/q(x))start_OPFUNCTION roman_D start_POSTSUBSCRIPT roman_KL end_POSTSUBSCRIPT end_OPFUNCTION ( italic_p | | italic_q ) = ∑ start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT italic_p ( italic_x ) roman_log start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_p ( italic_x ) / italic_q ( italic_x ) ).

V Evaluation with 5G Codes

This section investigates the performance of the proposed decoders with memory-assistance. As in [11] we use a 5G-LDPC code with length 8448844884488448, base graph 1 and various code rates[1]. Furthermore, we consider an AWGN channel with BPSK modulation. All decoders use the initialization schedule described in [11] to avoid useless CN updates resulting from processing punctured messages. If not mentioned otherwise, the remaining schedule follows the flooding scheme with a maximum of 30 decoder iterations. Each decoder design uses a large set of training data with 10000 transmitted and received code words generated for a specific design Eb/N0subscript𝐸𝑏subscript𝑁0E_{b}/N_{0}italic_E start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT / italic_N start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT. Analytical tracking of joint probabilities for the design of memory-assisted decoders seems infeasible. For a fair comparison, also the conventional decoders are designed with the training data, leading to slightly different results compared to our work[11].

V-A Evolution of Mutual Information

Fig. 5 depicts the evolution of mutual information between code bit X𝑋Xitalic_X and the corresponding hard decision X^^𝑋\hat{X}over^ start_ARG italic_X end_ARG for every iteration. The quantized messages are matrix-aligned such that all messages use the same alphabet of reliability levels in one iteration. The design process is initialized with the same design Eb/N0subscript𝐸𝑏subscript𝑁0E_{b}/N_{0}italic_E start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT / italic_N start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT. Particularly under 2-bit decoding, the mutual information gains per iteration are significantly improved with the proposed memory-assistance. For 3-bit decoding those gains appear smaller. Nevertheless, the proposed 3-bit decoding almost achieves the same performance as the conventional 4-bit decoding.

V-B Boundary Placement for Memory-Assisted Reconstruction

This section analyzes the placement of quantizer boundaries τksubscript𝜏𝑘\tau_{k}italic_τ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT for every iteration to explain the performance gains achieved with the proposed structure. Now, all decoders use an individual design-Eb/N0subscript𝐸𝑏subscript𝑁0E_{b}/N_{0}italic_E start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT / italic_N start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT so that the mutual information converges after 30 iterations I(X,X^)(30)0.9999𝐼𝑋^𝑋300.9999I(X,\hat{X})(30)\approx 0.9999italic_I ( italic_X , over^ start_ARG italic_X end_ARG ) ( 30 ) ≈ 0.9999. A careful optimization is very important to ensure minimum frame error rate for a given budget of decoding iterations.

Fig. 6 shows boundary levels which increase for higher iterations as the reliability of messages improves. One key observation is that boundary magnitudes for the proposed 2-bit decoder show up an alternating rising and falling trend. Thus, memory-assistance enhances the resolution by using different quantizers in successive iterations. This behavior clearly shows the effectiveness of the side-information aware IB algorithm: A CN message t𝑡titalic_t is a compressed version of the non-quantized LLR yncsubscriptsuperscript𝑦𝑐𝑛y^{c}_{n}italic_y start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT in (3) from the current iteration. A CN message s𝑠sitalic_s is a compressed version of y¯ncsubscriptsuperscript¯𝑦𝑐𝑛\underline{y}^{c}_{n}under¯ start_ARG italic_y end_ARG start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT from the previous iteration. The difference Δync=yncy¯ncΔsubscriptsuperscript𝑦𝑐𝑛subscriptsuperscript𝑦𝑐𝑛subscriptsuperscript¯𝑦𝑐𝑛\Delta y^{c}_{n}{=}y^{c}_{n}{-}\underline{y}^{c}_{n}roman_Δ italic_y start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = italic_y start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT - under¯ start_ARG italic_y end_ARG start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT is sufficiently small on average, such that s𝑠sitalic_s can approximately resolve yncsubscriptsuperscript𝑦𝑐𝑛y^{c}_{n}italic_y start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT. Different boundaries for s𝑠sitalic_s and t𝑡titalic_t improve their combined capability to resolve ycsuperscript𝑦𝑐y^{c}italic_y start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT in relevant ranges. The combined resolution approaches the 3-bit quantizer in Fig. 6.

We remark that the side information s𝑠sitalic_s is only actively used during reconstruction L(t,s|x)𝐿𝑡conditional𝑠𝑥L(t,s|x)italic_L ( italic_t , italic_s | italic_x ). For example, consider a sign-magnitude alphabet sorted by underlying LLR with t𝒯={2,1,+1,+2}𝑡𝒯2112t{\in}\mathcal{T}{=}\{-2,-1,+1,+2\}italic_t ∈ caligraphic_T = { - 2 , - 1 , + 1 , + 2 }. For t=+2𝑡2t{=}{+}2italic_t = + 2 the reconstructed LLR L(t=+2,s|x)𝐿𝑡2conditional𝑠𝑥L(t{=}{+}2,s|x)italic_L ( italic_t = + 2 , italic_s | italic_x ) is more reliable if the message in memory is matching, e.g., s=+2𝑠2s{=}{+}2italic_s = + 2. It is less reliable if s𝑠sitalic_s does not agree, e.g., s=2𝑠2s{=}{-}2italic_s = - 2. Thus, L(t=+2,s=+2|x)>L(t=+2,s=2|x)𝐿formulae-sequence𝑡2𝑠conditional2𝑥𝐿formulae-sequence𝑡2𝑠conditional2𝑥L(t{=}{+}2,s{=}{+}2|x){>}L(t{=}{+}2,s{=}{-}2|x)italic_L ( italic_t = + 2 , italic_s = + 2 | italic_x ) > italic_L ( italic_t = + 2 , italic_s = - 2 | italic_x ). Combined knowledge about the message s𝑠sitalic_s and t𝑡titalic_t allows better inference of the non-quantized LLR yncsubscriptsuperscript𝑦𝑐𝑛y^{c}_{n}italic_y start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT.

\includestandalone

[mode=buildmissing]figs_tikz/alignments_cd_ms_flooding_cn_aware_mi_evolution_1_3/source_miapp

Figure 5: Evolution of mutual information with code rate 1/3131/31 / 3. All results obtained with same design Eb/N0=1.0subscript𝐸𝑏subscript𝑁01.0E_{b}/N_{0}{=}1.0italic_E start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT / italic_N start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT = 1.0 dB.
\includestandalone

[mode=buildmissing]figs_tikz/alignments_cd_ms_flooding_cn_aware_mi_evolution_1_3/source_bounds

Figure 6: Evolution of boundary placement each with code rate 1/3131/31 / 3 and individual design Eb/N0=.55subscript𝐸𝑏subscript𝑁0.55E_{b}/N_{0}=.55italic_E start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT / italic_N start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT = .55, .73.73.73.73 and 1.01.01.01.0 dB.

V-C Reduced Complexity with Merged Check Node Messages

In the previous sections the side information scsuperscript𝑠𝑐s^{c}italic_s start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT is equal to tcsuperscript𝑡𝑐t^{c}italic_t start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT from the previous iteration and is discarded after it has been used. Instead of discarding scsuperscript𝑠𝑐s^{c}italic_s start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT, this section considers a side information sΨ{±1,..,±2wΨ1}superscript𝑠Ψplus-or-minus1..plus-or-minussuperscript2subscript𝑤Ψ1s^{\Psi}{\in}\{\pm 1,{\mathinner{{\ldotp}{\ldotp}}},\pm 2^{w_{\Psi}-1}\}italic_s start_POSTSUPERSCRIPT roman_Ψ end_POSTSUPERSCRIPT ∈ { ± 1 , start_ATOM . . end_ATOM , ± 2 start_POSTSUPERSCRIPT italic_w start_POSTSUBSCRIPT roman_Ψ end_POSTSUBSCRIPT - 1 end_POSTSUPERSCRIPT } which is merged with tcsuperscript𝑡𝑐t^{c}italic_t start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT into a compressed message tΥ=Υ(sΨ,tc){±1,..,±2wΥ1}superscript𝑡ΥΥsuperscript𝑠Ψsuperscript𝑡𝑐plus-or-minus1..plus-or-minussuperscript2subscript𝑤Υ1t^{\Upsilon}{=}\Upsilon(s^{\Psi},t^{c}){\in}\{\pm 1,{\mathinner{{\ldotp}{% \ldotp}}},\pm 2^{w_{\Upsilon}-1}\}italic_t start_POSTSUPERSCRIPT roman_Υ end_POSTSUPERSCRIPT = roman_Υ ( italic_s start_POSTSUPERSCRIPT roman_Ψ end_POSTSUPERSCRIPT , italic_t start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT ) ∈ { ± 1 , start_ATOM . . end_ATOM , ± 2 start_POSTSUPERSCRIPT italic_w start_POSTSUBSCRIPT roman_Υ end_POSTSUBSCRIPT - 1 end_POSTSUPERSCRIPT } obtained through a compression table ΥΥ\Upsilonroman_Υ. The table is designed using the IB method with a measured joint distribution p(x,sΨ,tc)𝑝𝑥superscript𝑠Ψsuperscript𝑡𝑐p(x,s^{\Psi},t^{c})italic_p ( italic_x , italic_s start_POSTSUPERSCRIPT roman_Ψ end_POSTSUPERSCRIPT , italic_t start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT ). The reconstruction in (5) now uses L¯(tΥ|x)¯𝐿conditionalsuperscript𝑡Υ𝑥\bar{L}(t^{\Upsilon}|x)over¯ start_ARG italic_L end_ARG ( italic_t start_POSTSUPERSCRIPT roman_Υ end_POSTSUPERSCRIPT | italic_x ) instead of L¯(sΨ,tc|x)¯𝐿superscript𝑠Ψconditionalsuperscript𝑡𝑐𝑥\bar{L}(s^{\Psi},t^{c}|x)over¯ start_ARG italic_L end_ARG ( italic_s start_POSTSUPERSCRIPT roman_Ψ end_POSTSUPERSCRIPT , italic_t start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT | italic_x ). The side information can propagate over many iterations as sψ=Ψ(Υ(s¯ψ,t¯c))superscript𝑠𝜓ΨΥsuperscript¯𝑠𝜓superscript¯𝑡𝑐{\color[rgb]{0,0,1}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,1}s^{\psi}}{=}% \Psi(\Upsilon({\color[rgb]{0,0,1}\definecolor[named]{pgfstrokecolor}{rgb}{% 0,0,1}\underline{s}^{\psi}},\underline{t}^{c}))italic_s start_POSTSUPERSCRIPT italic_ψ end_POSTSUPERSCRIPT = roman_Ψ ( roman_Υ ( under¯ start_ARG italic_s end_ARG start_POSTSUPERSCRIPT italic_ψ end_POSTSUPERSCRIPT , under¯ start_ARG italic_t end_ARG start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT ) ) where ΨΨ\Psiroman_Ψ is another compression for reducing the table size of ΥΥ\Upsilonroman_Υ.

The compression reduces the memory demand from |𝒩|(wΨ+wc)𝒩subscript𝑤Ψsubscript𝑤𝑐|\mathcal{N}|(w_{\Psi}{+}w_{c})| caligraphic_N | ( italic_w start_POSTSUBSCRIPT roman_Ψ end_POSTSUBSCRIPT + italic_w start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT ) to |𝒩|wΥ𝒩subscript𝑤Υ|\mathcal{N}|w_{\Upsilon}| caligraphic_N | italic_w start_POSTSUBSCRIPT roman_Υ end_POSTSUBSCRIPT bits in a row-layered decoder structure depicted in Fig. 8. The row-layered schedule sequentially updates orthogonal sets of rows of 𝐇𝐇\bm{\mathbf{H}}bold_H[11]. One layer update consists of partial VN and a full CN update (see section II-B). A partial VN update computes the VN-to-CN message as tv=Q(Lv)superscript𝑡𝑣𝑄superscript𝐿𝑣t^{v}{=}Q(L^{v})italic_t start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT = italic_Q ( italic_L start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT ) with Lv=L¯^L¯csuperscript𝐿𝑣¯^𝐿superscript¯𝐿𝑐L^{v}{=}\underline{\hat{L}}{-}\underline{L}^{c}italic_L start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT = under¯ start_ARG over^ start_ARG italic_L end_ARG end_ARG - under¯ start_ARG italic_L end_ARG start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT. The reconstruction L¯c=ϕ¯(t¯Υ)superscript¯𝐿𝑐¯italic-ϕsuperscript¯𝑡Υ\underline{L}^{c}{=}\underline{\phi}(\underline{t}^{\Upsilon})under¯ start_ARG italic_L end_ARG start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT = under¯ start_ARG italic_ϕ end_ARG ( under¯ start_ARG italic_t end_ARG start_POSTSUPERSCRIPT roman_Υ end_POSTSUPERSCRIPT ) translates t¯Υsuperscript¯𝑡Υ\underline{t}^{\Upsilon}under¯ start_ARG italic_t end_ARG start_POSTSUPERSCRIPT roman_Υ end_POSTSUPERSCRIPT from the previous iteration to a wsuperscript𝑤w^{\prime}italic_w start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT-bit integer representations of L¯(t¯Υ|x)¯𝐿conditionalsuperscript¯𝑡Υ𝑥\bar{L}(\underline{t}^{\Upsilon}|x)over¯ start_ARG italic_L end_ARG ( under¯ start_ARG italic_t end_ARG start_POSTSUPERSCRIPT roman_Υ end_POSTSUPERSCRIPT | italic_x ). Significant loss is avoided if w7superscript𝑤7w^{\prime}{\geq}7italic_w start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ≥ 7 bits[11]. A permutation performs a cyclic shift of Z𝑍Zitalic_Z parallel messages. A full CN update computes CN-to-VN messages for all connected VNs according to (3). After an inverse permutation, a CN-to-VN message tvsuperscript𝑡𝑣t^{v}italic_t start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT is merged with the side information sΨsuperscript𝑠Ψs^{\Psi}italic_s start_POSTSUPERSCRIPT roman_Ψ end_POSTSUPERSCRIPT. Finally, L^=Lv+ϕ(tΥ)^𝐿superscript𝐿𝑣italic-ϕsuperscript𝑡Υ\hat{L}{=}L^{v}{+}\phi(t^{\Upsilon})over^ start_ARG italic_L end_ARG = italic_L start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT + italic_ϕ ( italic_t start_POSTSUPERSCRIPT roman_Υ end_POSTSUPERSCRIPT ).

V-D Frame Error Rate Performance

The decoding performance with different resolutions, code rates and schedules is depicted in Fig. 7. If not indicated otherwise all quantized decoders apply CN-aware quantization with row-alignment as in [11]. For rate 1/3131/31 / 3, the proposed w=2𝑤2w{=}2italic_w = 2-bit (w=3𝑤3w{=}3italic_w = 3) memory-assisted decoder improves performance by 0.36 dB (0.1 dB) compared to the conventional decoders. Relative to a decoder with matrix alignment, no CN-aware quantization and no memory-assistance the performance gain is 0.68 dB. The w=3𝑤3w{=}3italic_w = 3-bit memory-assisted decoder is able to slightly outperform a w=4𝑤4w{=}4italic_w = 4-bit decoder. The labels (3 4 2) and (2 3 2) specify the bit widths (w𝑤witalic_wwΥsubscript𝑤Υw_{\Upsilon}italic_w start_POSTSUBSCRIPT roman_Υ end_POSTSUBSCRIPTwΨsubscript𝑤Ψw_{\Psi}italic_w start_POSTSUBSCRIPT roman_Ψ end_POSTSUBSCRIPT) of the decoders with merged old and new CN message (see section V-C), respectively. They reduce the memory demand from 6 to 4 and 4 to 3 bits without losing performance compared to the non-merged decoders. The row-layered schedule with 15 iterations can achieve almost similar performance as the flooding schedule with 30 iterations. The improvements also translate to other code rates 2/3232/32 / 3 to 11/12111211/1211 / 12. Remarkably, under high rate 11/12111211/1211 / 12, the (2 3 2)-bit decoder operates within 0.250.250.250.25 dB compared to a belief propagation decoder with accurate box-plus operation and 32-bit LLR messages[3].

\includestandalone

[mode=buildmissing]figs_tikz/alignments_cd_ms_flooding_cn_aware_low_to_high_rate/source

Figure 7: Performance for rates 1/3131/31 / 3, 2/3232/32 / 3, 5/6565/65 / 6 and 11/12111211/1211 / 12 with and without memory assistance.
\includestandalone

[mode=buildmissing]figs_tikz/hardware/horizontal

Figure 8: Efficient structure of a row-layered decoder with memory-assistance and merged reconstruction messages tΥsuperscript𝑡Υt^{\Upsilon}italic_t start_POSTSUPERSCRIPT roman_Υ end_POSTSUPERSCRIPT.

VI Conclusions

This letter proposed coarsely quantized decoding which is assisted through messages retained in memory. We extended an existing IB algorithm for the design of threshold quantization which is aware of side information provided by the memory. Further, we proposed a new structure which merges the side information with a newly generated CN message to reduce the memory overhead. In summary, 2-bit (layered) decoding is improved up to 0.36 dB by increasing the memory from 2 to 3 bits, but preserving high speed 2-bit operations for quantization, routing network and the CN update.

References

  • [1] 3GPP, “5G NR: Multiplexing and Channel Coding, TS 38.212,” 2018.
  • [2] R. Gallager, “Low-Density Parity-Check Codes,” IRE Transactions on Information Theory, vol. 8, no. 1, pp. 21–28, 1962.
  • [3] J. Chen, A. Dholakia et al., “Reduced-complexity decoding of LDPC codes,” IEEE Trans. on Commu., vol. 53, no. 8, pp. 1288–1299, 2005.
  • [4] P. Kang, K. Cai et al., “Generalized Mutual Information-Maximizing Quantized Decoding of LDPC Codes With Layered Scheduling,” IEEE Trans. on Vehicular Technology, vol. 71, no. 7, pp. 7258–7273, 2022.
  • [5] L. Wang, C. Terrill et al., “Reconstruction-Computation-Quantization (RCQ): A Paradigm for Low Bit Width LDPC Decoding,” IEEE Trans. on Communications, vol. 70, no. 4, pp. 2213–2226, 2022.
  • [6] M. Geiselhart, A. Elkelesh et al., “Learning quantization in LDPC decoders,” in 2022 IEEE Globecom Workshops, 2022, pp. 467–472.
  • [7] Y. Ren, H. Harb et al., “A Generalized Adjusted Min-Sum Decoder for 5G LDPC Codes: Algorithm and Implementation,” 2024.
  • [8] J. Lewandowsky and G. Bauch, “Information-Optimum LDPC Decoders Based on the Information Bottleneck Method,” IEEE Access, vol. 6, pp. 4054–4071, 2018.
  • [9] M. Stark, L. Wang et al., “Decoding Rate-Compatible 5G-LDPC Codes With Coarse Quantization Using the Information Bottleneck Method,” IEEE Open Journal of the Comm. Society, vol. 1, pp. 646–660, 2020.
  • [10] P. Mohr and G. Bauch, “A Variable Node Design with Check Node Aware Quantization Leveraging 2-Bit LDPC Decoding,” in GLOBECOM 2022 - 2022 IEEE Global Communications Conf., 2022, pp. 3484–3489.
  • [11] ——, “Region-Specific Coarse Quantization with Check Node Awareness in 5G-LDPC Decoding,” arXiv:2406.14233, 2024.
  • [12] G. Chechik and N. Tishby, “Extracting Relevant Structures with Side Information,” in Advances in Neural Inf. Proc. Sys.   MIT Press, 2002.
  • [13] S. Steiner and V. Kuehn, “Distributed compression using the information bottleneck principle,” in ICC 2021 - IEEE International Conference on Communications, 2021, pp. 1–6.
  • [14] B. M. Kurkoski and H. Yagi, “Quantization of Binary-Input Discrete Memoryless Channels,” IEEE Transactions on Information Theory, vol. 60, no. 8, pp. 4544–4552, Aug. 2014.