A low complexity forward-backward decoding method based on weighted edit distance

By establishing a lookup table to store intermediate metrics during the decoding process, the problem of high complexity in the weighted edit distance decoding algorithm is solved, thereby improving decoding speed and reducing latency.

CN115549692BActive Publication Date: 2026-01-09TIANJIN NORMAL UNIVERSITY
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202211171613.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-26
Publication Date
2026-01-09
Estimated Expiration
2042-09-26

AI Technical Summary

Technical Problem

Existing internal decoding algorithms based on weighted edit distance are too complex, resulting in large decoding delays and affecting the efficiency of communication systems.

Method used

By establishing a lookup table to store intermediate metrics during the decoding process, the repeated calculation of intermediate metrics is reduced, simplifying the forward-backward decoding operation.

Benefits of technology

This reduces the computational complexity of the decoding algorithm, decreases decoding latency, and improves decoding efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115549692B_ABST
    Figure CN115549692B_ABST
Patent Text Reader

Abstract

The application discloses a low-complexity forward-backward decoding method based on weighted edit distance, and the method comprises the following steps: b A code word sequence with a length of N L symbols is generated by an encoder of an LDPC code d A mark code w is uniformly inserted into the code word sequence d to generate a sending code word with a length of N c and output the sending code word x After the sending code word x passes through an insertion / deletion-substitution channel, a receiving sequence with a length of N y is generated; a watermark decoder decodes the receiving sequence y by using a low-complexity forward-backward decoding method and outputs a likelihood ratio sequence l ; and an LDPC decoder decodes the likelihood ratio sequence l and outputs the application stores the calculation result of an intermediate metric value in a lookup table, reduces the number of repeated calculations of the intermediate metric value, reduces the calculation complexity of the decoding algorithm and improves the decoding speed.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of digital communication error control coding, in particular to a low complexity forward-backward decoding method based on weighted edit distance. BACKGROUND

[0002] In addition to substitution errors, information will encounter insertion / deletion errors in the process of transmission. The sampling clock rate of receiver in communication system is unstable, the length of transmitted symbol is not fixed when differential pulse position modulation is used, and the write failure of storage system, all of which will cause insertion / deletion errors and lead to the failure of recovering correct data.

[0003] Davey and Mackay designed a concatenated code scheme which can correct insertion / deletion errors. The scheme uses a nonlinear watermark code as inner code and a non-binary domain LDPC (low density parity check) code as outer code. The encoding and decoding algorithm of the scheme has excellent error correction performance, but it is only suitable for watermark code and has limited flexibility. Subsequently, an inner decoding algorithm based on weighted edit distance (WED) was proposed. The algorithm introduces dynamic programming to calculate WED to represent the difference between the received and transmitted sequences, uses WED to calculate forward / backward metric values, obtains insertion / deletion position information, and provides likelihood values to the outer decoding algorithm to recover the estimate of the transmitted sequence.

[0004] However, the above-mentioned inner decoding algorithm based on WED has high complexity and large decoding delay. In the process of calculating forward / backward metrics, the calculation of intermediate metrics is complex and repetitive, which leads to long time consumption of likelihood value calculation and further affects the overall decoding speed. Therefore, it is necessary to design a method to reduce the complexity of the inner decoding algorithm, reduce system delay and improve decoding efficiency. SUMMARY

[0005] The present application provides a low complexity forward-backward decoding method based on weighted edit distance. The present application stores the calculation results of intermediate metric values in a lookup table, reduces the number of repeated calculations of intermediate metric values, thereby reducing the calculation complexity of the decoding algorithm and improving the decoding speed. Details are described below:

[0006] A low complexity forward-backward decoding method based on weighted edit distance, the method comprising:

[0007] a binary information sequence b passing through an encoder of LDPC code, a codeword sequence of length N L symbols is generated d ;

[0008] inserting the marker code w uniformly into the codeword sequence d to generate a codeword sequence of length N cSending code x And output;

[0009] Send code x After insertion / pruning-substitution channel processing, a length of [length missing] is generated. Received sequence y The watermark decoder utilizes low-complexity forward-backward decoding pairs to receive the sequence. y Perform decoding and output the likelihood ratio sequence. l ;

[0010] LDPC decoders utilize likelihood ratio sequences l Decode and output.

[0011] Among them, the tag code w Insert evenly into the codeword sequence d In the middle, generate a length of N c Sending code x The output is as follows:

[0012] The binary LDPC code is divided into N symbols, each symbol having m bits, where N = N L / m;

[0013] The internal encoder randomly generates tag codes of length N×λ. w , mark code w Divide into N subsequences of length λ, and assign the tag codes. w Each subsequence is inserted into the codeword sequence d Before each symbol, generate a sequence of length N. c Sending code x .

[0014] Furthermore, the watermark decoder utilizes low-complexity forward-backward decoding to receive the sequence. y Perform decoding and output the likelihood ratio sequence. l Specifically, this involves: calculating forward and backward metric values, and then calculating the likelihood ratio sequence based on these values. l ;

[0015] Wherein, the forward metric value is calculated as follows:

[0016] (4.1.1) Initialize the forward metric value at time i = 0;

[0017]

[0018] Initialize the lookup table; let the element β(d) in the table... i ,t i ,t i+1 , y0 ) = -1, where di ∈[0,q-1),t i ∈[-x max ,x max ]; y0 denotes the received subsequence, q denotes the symbol value; let i = 1; T = 2t max +1, T is the state number at each time, t max is the maximum drift, P d denotes the deletion probability of the channel;

[0019] (4.1.2) let the symbol probability p(d i ) = 1 / 2 m , d i is the symbol value corresponding to the i-th subsequence of m bits in the codeword sequence d ; let τ = -t max ;

[0020] (4.1.3) judge whether the value of β(d i = a, t i = c, t i+1 = τ, y0 ) is less than 0, if yes, execute step (4.1.4); if no, let M i (d i-1 = a) = β(d i , t i , t i+1 , y0 ), execute step (4.1.5); wherein t i is the drift at the i-th time, -t max ≤ c ≤ t max ;

[0021] (4.1.4) calculate the intermediate metric value M i (d i-1 = a), let β(d i , t i , t i+1 , y0 ) = M i (d i-1 = a), wherein M i (d i-1 = a) is specifically;

[0022] M i (d i-1 = a) = P( y 0 , t i | t i-1 , d i-1 = a)

[0023] = exp(WED s i-1 , y 0 )+(m+ l)log(P t (1-P s ))),

[0024] where P t is the transmission probability; d i-1 is the symbol value corresponding to the (i-1)th subsequence of length m bits in WED d ; a e [0, q-1) ; s i-1 represents the (i-1)th transmitted subsequence, w λi-1 is the (i-1)th marker bit, d m(i-1) is the (m(i-1))th LDPC code bit; WED s i-1 , y 0 ) is the weighted edit distance between the subsequence s i-1 and y 0 ;

[0025] (4.1.5) calculating the forward metric value at time t i with a drift of τ:

[0026]

[0027] where t i = τ indicates that the offset at the i-th time is τ, and t i-1 = c indicates that the offset at the (i-1)th time is c; (4.1.6) if τ ≤ t max , repeat steps (4.1.3) to (4.1.6), otherwise, jump to step (4.1.7);

[0028] (4.1.7) i = i + 1, if i ≤ N, repeat steps (4.1.2) to (4.1.7); if i > N, calculate the backward metric value.

[0029] The calculation of the backward metric value is specifically:

[0030] (4.2.1) initializing the backward metric value B N (t N = τ) of the Nth time as 1 / T, where -t max ≤ τ ≤ t max ;

[0031] (4.2.2) let i = N, b = -t max , and p(d i ) = 1 / 2m ;

[0032] (4.2.3) judge whether the value of β(d i = a, t i = τ, t i+1 = b, y0 ) is less than 0, if yes, execute step (4.2.4); otherwise, let M = β(d i , t i , t i+1 , y0 ), execute step (4.2.6), where -t max ≤ τ ≤ t max ;

[0033] (4.2.4) calculate an intermediate metric value M i+1 (d i = a), let β(d i , t i , t i+1 , y0 ) = M i+1 (d i = a), where M i+1 (d i = a) is specifically;

[0034] M i+1 (d i = a) = P( y 0 , t i+1 | t i , d i = a)

[0035] = exp(WED( s i , y 0 ) + (m + λ) log(P t (1 - P s ))),

[0036] where 0 ≤ a < 2 m , WED( s i , y 0 ) represents a weighted edit distance between the sub-sequence s i and y 0 , s i = (w λi , …, w λ×(i+1)-1 , d mi , …, d m×(i+1)-1 ) ;

[0037] (4.2.5) Calculate t i the backward metric value at time t

[0038]

[0039] where 0≤i<N, d i is d the symbol value corresponding to the ith sub-sequence of length m bits in the sequence, t i =τ indicates that the offset at the ith time is τ, t i+1 =b indicates that the offset at the i+1th time is b; (4.2.6) b=b+1, if b≤t max , repeat steps (4.2.3) to (4.2.6), otherwise, jump to step (4.2.7);

[0040] (4.2.7) i=i-1, if i≥0, repeat steps (4.2.2) to (4.2.7).

[0041] The beneficial effects of the technical solutions provided by the present application are:

[0042] 1. The present application establishes a lookup table for storing intermediate metrics on the basis of the WED mark code transmission method, reduces the repetition rate of intermediate metric calculation, reduces the complexity of forward and backward metric calculation, and speeds up the calculation speed of the likelihood value;

[0043] 2. The present application simplifies the forward-backward decoding operation, reduces the decoding complexity, reduces the decoding delay, and improves the decoding efficiency on the basis of ensuring system reliability. BRIEF DESCRIPTION OF DRAWINGS

[0044] Figure 1 is a flowchart of a low-complexity forward-backward decoding method based on weighted edit distance;

[0045] Figure 2 is a forward transmission schematic diagram of a watermark decoder. DETAILED DESCRIPTION

[0046] In order to make the purpose, technical solutions and advantages of the present application clearer, the following further describes the embodiments of the present application.

[0047] The present application embodiment designs a lookup table method on the basis of the conventional mark code transmission method, stores the calculated intermediate metric values in the table, so that the subsequent intermediate metric values will not be calculated repeatedly, but can be directly searched in the table.

[0048] The following will be combined with Figure 1 and Figure 2This invention provides a detailed description of a low-complexity weighted edit distance decoding method based on a lookup table, as provided in an embodiment of the present invention.

[0049] like Figure 2 As shown, the embodiments of the present invention include the following five steps:

[0050] (1) Binary information sequence b An encoder for LDPC codes generates a code of length N. L The codeword sequence of a symbol d ;

[0051] (2) Mark the code w Insert evenly into the codeword sequence d In the middle, generate a length of N c Sending code x And output;

[0052] Step (2) is as follows:

[0053] (2.1) Divide the binary LDPC code into N symbols, each symbol having m bits, where N = N L / m;

[0054] (2.2) The internal encoder randomly generates a tag code of length N×λ. w , mark code w Divide into N subsequences of length λ, and assign the tag codes. w Each subsequence is inserted into the codeword sequence d Before each symbol, generate a sequence of length N. c Sending code x .

[0055] (3) Send codeword x After insertion / pruning-substitution channel processing, a length of [length missing] is generated. Received sequence y ;

[0056] (4) The watermark decoder uses a low-complexity forward-backward decoding algorithm to decode the received sequence. y Perform decoding and output the likelihood ratio sequence. l ;

[0057] Step (4) specifically includes:

[0058] (4.1) Calculate the forward metric F;

[0059] (4.1.1) Initialize the forward metric value at time i = 0;

[0060]

[0061] Initialize the look-up table; let the element β(d i , i , i+1 , y0 ) = -1, where d i ∈ [0, q - 1), t i ∈ [-x max , x max ]; y0 denote the received subsequence, q denote the symbol value; let i = 1; T = 2t max + 1, T is the state number at each time, t max is the maximum drift, P d denotes the deletion probability of the channel;

[0062] (4.1.2) let the symbol probability p(d i ) = 1 / 2 m , d i be the symbol value corresponding to the i-th subsequence of m bits in the codeword sequence d ; let τ = -t max ;

[0063] (4.1.3) judge whether the value of β(d i = a, t i = c, t i+1 = τ, y0 ) is less than 0, if yes, execute step (4.1.4); if no, let M i (d i-1 = a) = β(d i , t i , t i+1 , y0 ), execute step (4.1.5); wherein t i is the drift at the i-th time, -t max ≤ c ≤ t max ;

[0064] (4.1.4) calculate the intermediate metric value M i (d i-1 = a), let β(d i , t i , t i+1 , y0 ) = M i (d i-1 = a), wherein M i (d i-1 = a) is specifically;

[0065] M i (d i-1 = a) = P( y0 ,t i |t i-1 ,d i-1 =a)

[0066] =exp(WED( s i-1 , y 0 )+(m+λ)log(P t (1-P s ))),

[0067] where P t is the transmission probability; d i-1 is the symbol value corresponding to the (i-1)th sub-sequence of length m bits in d ; a∈[0,q-1) ; s i-1 represents the (i-1)th transmitted sub-sequence, w λi-1 is the (i-1)th marker bit, d m(i-1) is the (m(i-1))th LDPC code bit; WED( s i-1 , y 0 ) is the weighted edit distance between the sub-sequence s i-1 and y 0 , which is calculated by dynamic programming (well known to those skilled in the art);

[0068] (4.1.5) Calculate the forward metric value at time t i with a drift of τ:

[0069]

[0070] where t i =τ represents that the offset at the i-th time is τ, and t i-1 =c represents that the offset at the (i-1)th time is c. (4.1.6) If τ≤t max , repeat steps (4.1.3) to (4.1.6), otherwise, go to step (4.1.7);

[0071] (4.1.7) i=i+1, if i≤N, repeat steps (4.1.2) to (4.1.7); if i>N, go to step (4.2).

[0072] (4.2) Calculate the backward metric B in detail:

[0073] (4.2.1) Initialize the backward metric value B N (t N =τ) at the Nth time =1 / T, where -tmax ≤ τ ≤ t max ;

[0074] (4.2.2) Let i = N, b = -t max , p(d i ) = 1 / 2 m ;

[0075] (4.2.3) Determine whether the value of β(d i = a, t i = τ, t i+1 = b, y0 ) is less than 0. If yes, perform step (4.2.4); otherwise, let M = β(d i , t i , t i+1 , y0 ), and perform step (4.2.6), where -t max ≤ τ ≤ t max ;

[0076] (4.2.4) Compute an intermediate metric value M i+1 (d i = a), and let β(d i , t i , t i+1 , y0 ) = M i+1 (d i = a), where M i+1 (d i = a) is given by;

[0077] M i+1 (d i = a) = P( y 0 , t i+1 | t i , d i = a)

[0078] = exp(WED( s i , y 0 ) + (m + λ) log(P t (1 - P s ))),

[0079] where 0 ≤ a < 2 m , WED( s i , y 0 ) denotes the weighted edit distance between the subsequence s i and y 0 , s i = (wλi ,…,w λ×(i+1)-1 ,d mi ,…,d m×(i+1)-1 ).

[0080] (4.2.5) Calculate t i The backward metric value with a time drift of τ;

[0081]

[0082] Where 0≤i<N, d i for d The sign value corresponding to the i-th subsequence of length m bits, t i =τ represents the offset at time i as τ, t i+1 =b represents the offset at time i+1 as b. (4.2.6) b = b+1, if b ≤ t max Repeat steps (4.2.3) to (4.2.6) if necessary; otherwise, skip to step (4.2.7).

[0083] (4.2.7) i = i-1. If i ≥ 0, repeat steps (4.2.2) to (4.2.7); if i < 0, skip to step (4.3).

[0084] (4.3) Calculate the likelihood ratio sequence based on forward and backward metrics. l ;

[0085]

[0086] i - =n×i, i + = n×(i+1), r 0 Indicates received bits

[0087] (5) LDPC decoders utilize likelihood ratio sequences l Decode and output.

[0088] The computational complexity required by traditional decoding algorithms is shown in Table 1.

[0089] Table 1 Computational complexity required for traditional and improved algorithms

[0090]

[0091]

[0092] Calculate intermediate metrics using dynamic programming, with d fixed. i , t i , t i+1 , y0The required addition times are defined as A, where A=5NI max α(α+1). In the formula, α is the symbol length, α=m+λ, N is the length of the mark code, I max is the maximum continuous insertion number. The backward metric value addition and multiplication times are the same as the forward metric value, so they are not described again.

[0093] Table 1 shows that the addition times of the forward metric value in the conventional decoding algorithm are (Xd-1)XN c A. In comparison, the addition times of the forward metric value in the inner decoding algorithm of the embodiment of the present application are reduced to (Xd-1)XN c . Similarly, the addition times of the backward metric value are also reduced from (Xd-1)XN c A to (Xd-1)XN c , all of which are reduced to 1 / A of the addition times of the conventional decoding algorithm. In comparison with the conventional decoding method, the present application simplifies the calculation of the forward-backward metric value, improves the speed of the inner decoding algorithm, shortens the decoding delay, and does not cause performance loss.

[0094] Those skilled in the art can understand that the accompanying drawings are only schematic diagrams of a preferred embodiment, and the above-mentioned embodiment numbers of the present application are only for description, and do not represent the advantages and disadvantages of the embodiments.

[0095] The above description is only a preferred embodiment of the present application, and is not intended to limit the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principles of the present application shall be included in the protection scope of the present application.

Claims

1. A low complexity forward-backward decoding method based on weighted edit distance, characterized in that, The method comprises: Binary information sequence By an encoder of the LDPC code, a codeword sequence of length symbols is generated ; inserting the label code w uniformly into the code word sequence generating a transmission code word c of length N and outputting; Transmitting codewords After passing through the insertion / deletion-substitution channel, a received sequence of length is generated ; the watermark decoder decodes the received sequence using a low complexity forward-backward decoding and outputs a sequence of likelihood ratios ; LDPC decoder utilizes likelihood ratio sequence decoding, output ; The watermark decoder decodes the received sequence using a low complexity forward-backward decoding and outputs a sequence of likelihood ratios Specifically, the forward-backward metric value is calculated, and the sequence of likelihood ratios is calculated based on the forward-backward metric value ; The calculation of the forward metric value is: (4.1.1) initializing the forward metric value at i=0 moment; , Initialize the look-up table; let the elements in the table be where , ; denote the received subsequence, q denotes the symbol value; let i = 1; , ; T is the number of states at each time, is the maximum drift, denote the deletion probability of the channel; (4.1.2) Let the symbol probability , be the symbol value corresponding to the ith subsequence of length m bits in the codeword sequence ;​ (4.1.3) determining whether the value of is less than 0, and if so, performing step (4.1.4); and if not, setting and performing step (4.1.5); wherein is the drift at the i-th time instant, ​​ (4.1.4) calculating intermediate metric values , let = wherein in particular; ; wherein, is a transmission probability; is the th symbol value corresponding to a subsequence of length m bits; a ; , denotes the th transmitted subsequence, is the th marker bit, is the th LDPC code bit; is a weighted edit distance between the subsequence and ; (4.1.5) Calculation the time drift amount is the forward metric value: ; wherein, represents the offset at the i-th time point as , represents the offset at the i-th time point as c; (4.1.6) , if , repeat steps (4.1.3) to (4.1.6), otherwise, jump to step (4.1.7); (4.1.7) , if , repeat steps (4.1.2) to (4.1.7); if , compute the backward metric value; The calculation of the backward metric value is specifically: (4.2.1) initialize the backward metric value at the Nth time instant = 0 where ; (4.2.2) Let i = N, , ; (4.2.3) determine if the value of is less than 0, if so, perform step (4.2.4); otherwise, let = 0, perform step (4.2.6), where ;​ (4.2.4) calculating intermediate metric values , let = where in particular; ; wherein , , denotes the weighted edit distance between the subsequence and , ; (4.2.5) calculating the time drift amount is the backward metric value; ; wherein, , is the symbol value corresponding to the i-th subsequence of length m bits in the sequence, t i = t denotes the offset at the i-th time instant is , denotes the offset at the i+1-th time instant is b; (4.2.6) , if repeat steps (4.2.3) to (4.2.6), otherwise, jump to step (4.2.7); (4.2.7) , if , repeat steps (4.2.2) to (4.2.7).

2. The low complexity weighted edit distance based forward-backward decoding method according to claim 1, characterized in that, The tag code w Insert evenly into the codeword sequence In the middle, generate a length of N c Sending code The output is as follows: The binary LDPC code is divided into N symbols, each symbol having m bits, where N = K x m. / m; The inner encoder randomly generates a marker code of length N x λ w The marker code w is divided into N subsequences of length λ, and each subsequence of the marker code w is inserted in front of each symbol of the codeword sequence to generate a transmission codeword of length N c .​

Citation Information

Patent Citations

  • Mark code transmission method based on weighted editing distance

    CN112929131A