Braided self-orthogonal code decoding method based on double sliding window strategy

CN116707549BActive Publication Date: 2026-10-30XIDIAN UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310519820.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-09
Publication Date
2026-10-30
Estimated Expiration
2043-05-09

AI Technical Summary

Technical Problem

Braided码可以采用流水线结构和滑窗算法进行译码,自正交码是一类特殊的卷积码,可以采用BCJR算法,但BCJR算法的复杂度与约束长度呈指数关系,分量码约束长度较大时,复杂度较高

Benefits of technology

[0012]通过本发明提供的基于双滑窗策略的Braided自正交码译码方法,在接收到w个码字块时便可开始译码,并且在译码时通过滑窗策略进行滑动译码,不仅减少了译码延迟,还降低了译码的误码率,从而提高了译码效率和准确率。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116707549B_ABST
    Figure CN116707549B_ABST
Patent Text Reader

Abstract

The application discloses a Braided self-orthogonal code decoding method based on a double sliding window strategy, which comprises the following steps: when w code word blocks corresponding to w continuous time points are received, the w code word blocks are put into a current decoding window, the first code word block in the w code word blocks is taken as a current target code word block, and the information of the w code word blocks is initialized; the w continuous time points are t time point to t+w-1 time point; the w code word blocks are code word block t to code word block t+w-1; the current target code word block is decoded according to the initialized information of the w code word blocks and the current decoding window, and after the decoding is completed, code word block t+w corresponding to t+w time point is received, the next decoding window and the next target code word block are determined, and the information of code word block t+w is initialized; the next target code word block is decoded according to the initialized information of code word block t+w and the next decoding window, and the sliding window decoding is continued until the last received code word block is decoded.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of encoding and decoding technology, specifically relating to a Braided self-orthogonal code decoding method based on a dual sliding window strategy. Background Technology

[0002] Spatial coupled codes are a class of methods for constructing new codes using traditional coding techniques. They obtain long codes with convolutional structures through interleaving and superposition of component codes, combining block coding and recursive convolutional coding principles. Due to their superior performance compared to component codes and the ability to use sliding window algorithms for low-latency decoding, spatial coupled codes have attracted widespread attention in academia. Braided block codes, proposed by Truhachev et al., are a type of spatial coupled code that can be viewed as a convolutional form of product codes. Zhang et al. proposed Braided convolutional codes, using convolutional codes as component codes, with shorter constraint lengths and an encoding process similar to Turbo codes. Braided self-orthogonal codes are a class of spatial coupled codes that employ the Braided coding concept and use self-orthogonal codes as component codes. Braided codes can be decoded using pipelined structures and sliding window algorithms. Self-orthogonal codes are a special type of convolutional code that can use the BCJR algorithm; however, the complexity of the BCJR algorithm is exponentially related to the constraint length, resulting in high complexity when the component code constraint length is large.

[0003] Currently, due to the coupling relationship between codewords at different times in weaving self-orthogonal codes, traditional decoding strategies wait for the receiver to receive all information blocks before decoding, resulting in a large delay and reduced decoding efficiency. Summary of the Invention

[0004] To address the aforementioned problems in related technologies, this invention provides a Braided self-orthogonal code decoding method based on a dual sliding window strategy. The technical problem to be solved by this invention is achieved through the following technical solution:

[0005] This invention provides a Braided self-orthogonal code decoding method based on a dual sliding window strategy, comprising:

[0006] Receive codeword blocks sent by the sending end;

[0007] When w codeword blocks corresponding one-to-one with w consecutive time points are received, the w codeword blocks are placed into the current decoding window, the first codeword block among the w codeword blocks is taken as the current target codeword block, and the channel log-likelihood ratio, prior log-likelihood ratio, and extrinsic information log-likelihood ratio of the w codeword blocks are initialized; the w consecutive time points are from time t to time t+w-1; the w codeword blocks are from codeword block t to codeword block t+w-1; w is an integer greater than 1, and t is an integer greater than or equal to 0;

[0008] Based on the initial channel log-likelihood ratio, prior log-likelihood ratio, and extrinsic information log-likelihood ratio of w codeword blocks, the current target codeword block and the remaining codeword blocks in the current decoding window are decoded by a decoder to obtain the decoding result of the current target codeword block.

[0009] Receive the codeword block t+w corresponding to time t+w, and use codeword blocks t+1 to t+w as the next decoding window, use codeword block t+1 as the next target codeword block, and initialize the channel log-likelihood ratio, prior log-likelihood ratio and extrinsic information log-likelihood ratio of the codeword block t+w.

[0010] Based on the initial channel log-likelihood ratio, prior log-likelihood ratio, and extrinsic information log-likelihood ratio of codeword block t+w, the next target codeword block, and the remaining codeword blocks in the next decoding window, are decoded using a decoder to obtain the decoding result of the next target codeword block. This sliding window decoding continues until the last received codeword block is decoded and the decoding result is obtained, at which point the decoding ends.

[0011] The present invention has the following beneficial technical effects:

[0012] The Braided self-orthogonal code decoding method based on a dual sliding window strategy provided by this invention can start decoding when w codeword blocks are received. Furthermore, the sliding window strategy is used for sliding decoding during decoding, which not only reduces decoding delay but also lowers the decoding error rate, thereby improving decoding efficiency and accuracy.

[0013] The present invention will be further described in detail below with reference to the accompanying drawings and embodiments. Attached Figure Description

[0014] Figure 1 An exemplary block-by-block Braided self-orthogonal code encoding structure diagram provided for embodiments of the present invention;

[0015] Figure 2 A flowchart of a Braided self-orthogonal code decoding method based on a dual sliding window strategy provided in an embodiment of the present invention;

[0016] Figure 3 A schematic diagram illustrating an exemplary sliding window decoding strategy for Braided self-orthogonal codes provided in this embodiment of the invention;

[0017] Figure 4 This is an exemplary schematic diagram of the information exchange process between decoder 1 and decoder 2 during each vertical iteration of codeword block s or codeword block s+1, provided for embodiments of the present invention.

[0018] Figure 5 A schematic diagram illustrating the information exchange process between codeword block s and codeword block s+1 in an exemplary horizontal iteration process provided in an embodiment of the present invention;

[0019] Figure 6 A schematic diagram illustrating the information exchange process between codeword block s+1 and code block s during an exemplary horizontal iteration process provided in an embodiment of the present invention;

[0020] Figure 7 Performance graphs of exemplary Braided self-orthogonal codes under different block sizes, provided for embodiments of the present invention. Detailed Implementation

[0021] The present invention will be further described in detail below with reference to specific embodiments, but the implementation of the present invention is not limited thereto.

[0022] In the description of this invention, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of this invention, "a plurality of" means two or more, unless otherwise explicitly specified.

[0023] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of the invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. In addition, those skilled in the art can combine and integrate the different embodiments or examples described in this specification.

[0024] Although the invention has been described herein in conjunction with various embodiments, those skilled in the art will understand and implement other variations of the disclosed embodiments by reviewing the accompanying drawings, disclosure, and appended claims in carrying out the claimed invention. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude multiple components. A single processor or other unit can implement several functions listed in the claims. Different dependent claims may recite certain measures, but this does not mean that these measures cannot be combined to produce good results. Each information symbol in a Braided self-orthogonal code is protected by two component self-orthogonal codes. The two component encoders are linked together by a parity bit. Depending on whether the information symbol is bit-input or block-input, braided self-orthogonal codes can be divided into bit-by-bit Braided self-orthogonal codes and block-input Braided self-orthogonal codes.

[0025] If the component codes of a Braided self-orthogonal code use C[K+1,K] self-orthogonal codes, the code rate is... For bit-by-bit Braided self-orthogonal codes, the encoding process of the component encoder is described as follows: At a fixed time, K bits of information are input to the component encoder, and the encoder will output K+1 bits, where K bits are the input information bits and the other bit is the parity bit. The encoding process of block-by-block Braided self-orthogonal codes is described as follows: At a fixed time, K information blocks of size T are input to the component encoder, and the encoder will output K+1 blocks of size T, where K-1 blocks are the input information bits, one block is the input parity bit, and the other block is the generated parity bit. The encoding structure of block-by-block Braided self-orthogonal codes is as follows: Figure 1 ,like Figure 1 As shown, the encoding structure includes: a self-orthogonal encoder 1, a self-orthogonal encoder 2, and K+1 interleavers of size T (∏0,...,∏). K-2 ,∏ K-1 ,∏ K ), two registers D of length T. (t) The encoded bit sequence, There are K-1 information blocks (i.e., K-1 groups of information blocks of size T).

[0026] Specifically, the encoding process of Braided self-orthogonal codes is described as follows:

[0027] First, the information sequence is divided into multiple information groups, i.e., u = (u (1) ,u (2) ,...,u (t) Each information group consists of K-1 information blocks of size T, i.e. Each information block is:

[0028] At the initial time t=0, the information sequence in the two registers is initialized to a sequence of all zeros, that is... At a fixed time t, first consider the first K-1 input groups of the two encoders, the information groups. The inputs are fed to the first K-1 input ports of the self-orthogonal encoder 1, where the input of the i-th port is: For the self-orthogonal encoder 2, the information group The input is fed to the first K-1 ports of the self-orthogonal encoder 2. Correspondingly, the input to the i-th port is: in, It uses the i-th interleaver ∏ i right The result of interlacing, i.e.

[0029] At time t, the input information of the last input port (i.e., the (K-1th) of the quadrature encoder 1. The verification output of the quadrature encoder 2 at time t-1. After the Kth interleaver ∏ K The result after interleaving, i.e. Thus, for the K input groups of the quadrature encoder 1, groups 0 to K-2 are the information bit inputs at time t, and group K-1 is the check bit output at time t-1. Similarly, the input information of the last input port (i.e., the K-1th input) of the quadrature encoder 2 is the check output of the quadrature encoder 1 at time t-1. After passing through the (K-1)th interleaver ∏ K-1 The result after interleaving, i.e.

[0030] The block-by-block component code encoding operation is described as follows:

[0031] For a C[K+1,K] self-orthogonal code, its encoded output is in systematic form. Of the K+1 output information blocks of length T, the first K-1 information blocks are the input information blocks, and the last two information blocks are the parity blocks. Based on this characteristic, in a Braided self-orthogonal code, only the parity bit is stored. The parity bit generated by self-orthogonal encoder 1 is denoted as... The check bit generated by the quadrature encoder 2 is denoted as... in, Encoded A (K+1)*T bit sequence, consisting of information groups Check bit of self-quadrature encoder 1 Parity bit of self-orthogonal encoder 2 composition.

[0032] In data stream transmission mode, the code rate of Braided self-orthogonal codes To protect the last information block, the codeword can be terminated by transmitting J information blocks and an additional Λ all-zero information blocks. The terminated all-zero information blocks are not transmitted in the channel, but the resulting checksum is transmitted in the channel. Therefore, the code rate of the Braided self-orthogonal code including the termination is... When the number of message groups is large enough, the impact of end processing on the bit rate is negligible.

[0033] The transmission process of Braided self-orthogonal codes is as follows: For time s, the codeword obtained by braiding the self-orthogonal code is: The codeword sequence is obtained after BPSK modulation: Transmitted via the AWGN channel, the sequence received by the receiver is as follows: The channel log-likelihood ratio obtained after demodulating the received sequence is: in, For the encoding process The corresponding channel log-likelihood ratio, For the parity bit output of quadrature encoder 1 The corresponding channel log-likelihood ratio, For the parity bit output of the self-quadrature encoder 2 The corresponding channel log-likelihood ratio.

[0034] Figure 2 This is a flowchart of a Braided self-orthogonal code decoding method based on a dual sliding window strategy provided in an embodiment of the present invention, as shown below. Figure 2 As shown, the method includes the following steps:

[0035] S101, Receive the codeword block sent by the sending end.

[0036] S102. When w codeword blocks corresponding one-to-one with w consecutive time points are received, the w codeword blocks are placed into the current decoding window, the first codeword block among the w codeword blocks is taken as the current target codeword block, and the channel log-likelihood ratio, prior log-likelihood ratio and extrinsic information log-likelihood ratio of the w codeword blocks are initialized; the w consecutive time points are from time t to time t+w-1; the w codeword blocks are from codeword block t to codeword block t+w-1; w is an integer greater than 1, and t is an integer greater than or equal to 0.

[0037] In this embodiment of the invention, a codeword block is received at each time point. Each time point can be every 1 millisecond or every few milliseconds, etc., and can be set according to actual needs. This application embodiment does not limit this.

[0038] In this embodiment of the invention, s is any time from t to t+w-1; the value of w can be set according to actual needs and is not limited thereto; for example, w = J+Λ, thus, s∈[1,J+Λ].

[0039] In this embodiment of the invention, decoder 1 and decoder 2 are used to decode the received codeword block.

[0040] Here, each codeword block is a (K+1)*T bit sequence, consisting of an information group, parity bits of self-orthogonal encoder 1, and parity bits of self-orthogonal encoder 2. For the codeword block received at time s, the information group is:

[0041] For each codeword block (the codeword block received at time s), the channel log-likelihood ratio of the information group input to decoder 1 is expressed as: in Indicates information group The i-th term The corresponding channel log-likelihood ratio is then: The prior log-likelihood ratio corresponding to the information group input to decoder 1 is expressed as: The external information log-likelihood ratio corresponding to the input information group in decoder 1 is expressed as: The channel log-likelihood ratio of the input parity bit of decoder 1 is denoted as . The prior log-likelihood ratio is denoted as The external information log-likelihood ratio is denoted as The channel log-likelihood ratio of the parity bit input to decoder 1 It is the parity bit output by encoder 2 at time s-1. The corresponding channel log-likelihood ratio After the Kth interleaver Π K The result of interweaving, i.e. The channel log-likelihood ratio corresponding to the parity bit output by decoder 1 is denoted as... The prior log-likelihood ratio is denoted as The external information log-likelihood ratios are denoted as follows: Among them, the channel log-likelihood ratio of the output parity bit The parity bit output by encoder 1 The corresponding channel log-likelihood ratio Right now

[0042] For each codeword block, the channel log-likelihood ratio corresponding to the information group input to decoder 2 is expressed as: in, Indicates information group The i-th term After passing through the i-th interleaver ∏i Interleaved sequence The corresponding channel log-likelihood ratio is then: The prior log-likelihood ratio corresponding to the input information group in decoder 2 is expressed as: The external information log-likelihood ratio corresponding to the input information group in decoder 2 is expressed as: The channel log-likelihood ratio of the parity bit input to decoder 2 is denoted as... The prior log-likelihood ratio is denoted as The external information log-likelihood ratio is denoted as The channel log-likelihood ratio of the parity bit input to decoder 2 The parity bit output by encoder 1 at time s-1 The corresponding channel log-likelihood ratio After the (K-1)th interleaver Π K-1 The result of interweaving, i.e. The channel log-likelihood ratio corresponding to the parity bit output in decoder 2 is denoted as... The prior log-likelihood ratio is denoted as The external information log-likelihood ratio is denoted as Among them, the channel log-likelihood ratio It is the parity bit output by encoder 2. The corresponding channel log-likelihood ratio Right now

[0043] Here, when w codeword blocks are received, decoder 1 and decoder 2 start working. At this time, it is necessary to initialize the channel log-likelihood ratio, prior log-likelihood ratio and extrinsic information log-likelihood ratio of the first decoding window (i.e., these w codeword blocks).

[0044] For each codeword block received at time s∈[1,w], decoder 1 provides input information group u (s) The i-th term The channel log-likelihood ratio The initialization operation is as follows: This represents the channel log-likelihood ratio received by the i-th port of the receiver at time s (compared to the information input of the i-th port during the encoding process). (Corresponding). Decoder 1's channel log-likelihood ratio for the input parity bit. The initialization operation is as follows: Ψ is a constant vector of length T, and the value of Ψ is a negative constant with a large absolute value, for example, -20; The parity bit output by encoder 1 at time s-1 The corresponding channel log-likelihood ratio. Channel log-likelihood ratio of decoder 1 for the output parity bit. The initialization operation is as follows: Let be the channel log-likelihood ratio corresponding to the parity bit output by encoder 1 at time s. The initialization operation of decoder 2 for the channel log-likelihood ratio of the input information group is as follows: The initialization operation of decoder 2 for the channel log-likelihood ratio of the input parity bit is as follows: Let be the channel log-likelihood ratio corresponding to the parity bit output by encoder 2 at time s-1. The initialization operation of decoder 2 for the channel log-likelihood ratio of the output parity bit is as follows: The parity bit output by encoder 2 at time s The corresponding channel log-likelihood ratio.

[0045] For time s=1, since the sequence of check bits input to the input ports of encoders 1 and 2 at time s=0 is an all-zero sequence, that is... Therefore, when s = 1, decoder 1 and decoder 2 initialize the channel log-likelihood ratios of the two parity bit input ports to constant vectors of length T. For s ∈ (1, w], decoder 1 and decoder 2 set the channel log-likelihood ratios of the two parity bit input ports to... (represents the result of interleaving after the Kth interleaver) (This represents the result of interleaving after the (K-1)th interleaver).

[0046] For each codeword block received in s∈[1,w], the prior log-likelihood ratio of decoder 1 to the input information block is... Prior log-likelihood ratio of the input check bits Prior log-likelihood ratio of the output parity bit And, the prior log-likelihood ratio of decoder 2 for the input information group Prior log-likelihood ratio of the input check bits Prior log-likelihood ratio of the output parity bit All are initialized to a sequence of all zeros. Similarly, decoder 1's extrinsic log-likelihood ratio for the input information group is... The extrinsic information log-likelihood ratio of the input check bits The extrinsic log-likelihood ratio of the output parity bit And the log-likelihood ratio of the external information of decoder 2 for the input information group The extrinsic information log-likelihood ratio of the input check bits The extrinsic log-likelihood ratio of the output parity bit All are initialized to a sequence of all zeros.

[0047] S103. Based on the initial channel log-likelihood ratio, prior log-likelihood ratio, and extrinsic information log-likelihood ratio of w codeword blocks, the current target codeword block, and the remaining codeword blocks in the current decoding window, the decoder is used to decode the current target codeword block to obtain the decoding result of the current target codeword block.

[0048] S104. Receive the codeword block t+w corresponding to time t+w, and use codeword blocks t+1 to t+w as the next decoding window, use codeword block t+1 as the next target codeword block, and initialize the channel log-likelihood ratio, prior log-likelihood ratio and extrinsic information log-likelihood ratio of codeword block t+w.

[0049] S105. Based on the initial channel log-likelihood ratio, prior log-likelihood ratio, and extrinsic information log-likelihood ratio of codeword block t+w, the next target codeword block, and the remaining codeword blocks in the next decoding window, the decoder is used to decode the next target codeword block to obtain the decoding result of the next target codeword block. This sliding window decoding is continued until the last received codeword block is decoded and the decoding result is obtained, then the decoding ends.

[0050] For example, Figure 3 This is a schematic diagram of the sliding window decoding strategy for Braided self-orthogonal codes. (Example:) Figure 3 As shown, the codeword block t received at time t up to the codeword block t+w-1 received at time t+w-1 constitutes the current decoding window containing w codeword blocks, i.e., the first decoding window, with codeword block t being the current target codeword in this first decoding window. The codeword block t+1 received at time t+1 up to the codeword block t+w received at time t+w constitutes the next decoding window containing w codeword blocks, with codeword block t+1 being the current target codeword in the next decoding window. Within the current decoding window, after decoder 1 and decoder 2 obtain the decoding result of codeword block t, they slide one codeword block to the right, thereby determining the next decoding window and the new current target codeword to continue decoding. This sliding decoding continues until the decoding result of the last received codeword block is obtained, at which point the entire decoding process ends.

[0051] Here, step S103 can be achieved through the following steps S1031 to S1033:

[0052] S1031. Based on the initial channel log-likelihood ratio, prior log-likelihood ratio, and extrinsic information log-likelihood ratio of w codeword blocks, the current target codeword block, and the remaining codeword blocks in the current decoding window, perform the first horizontal iteration on the current decoding window to obtain the first horizontal iteration result.

[0053] S1032. Based on the results of the first horizontal iteration, the current target codeword block, and the remaining codeword blocks in the current decoding window, perform a second horizontal iteration on the current decoding window. Repeat this process until I1 horizontal iterations are performed on the current decoding window, and then obtain the posterior probability log-likelihood ratio of each information bit in the information group of the current target codeword block; I1 is an integer greater than 0.

[0054] S1033. Based on the preset decoding conditions and the posterior probability log-likelihood ratio of each information bit in the information group of the current target code block, obtain the decoding result of each information bit in the information group of the current target code block.

[0055] Specifically, when the current target codeword block is codeword block t; and the codeword blocks in the current decoding window are codeword blocks t to codeword blocks t+w-1, S1031 can be implemented through steps S10311 to S10314.

[0056] S10311. Based on the initial channel log-likelihood ratio, prior log-likelihood ratio, and extrinsic information log-likelihood ratio of w codeword blocks, the codeword block t is subjected to I2 vertical iterations through the decoder to obtain the first result of codeword block t; I2 is an integer greater than 0.

[0057] Here, during the first vertical iteration of codeword block t, based on the initial channel log-likelihood ratio, prior log-likelihood ratio, and extrinsic information log-likelihood ratio of w codeword blocks, the first decoder (i.e., decoder 1) performs I3 iterations of decoding on codeword block t to obtain the first decoding result; I3 is an integer greater than 0. The first decoding result is interleaved by an interleaver and then passed to the second decoder. Based on the data passed to the second decoder, the second decoder (i.e., decoder 2) performs I3 iterations of decoding on codeword block t to obtain the first decoding result. The first decoding result is deinterleaved by an interleaver and then passed to the first decoder. At this point, the first vertical iteration of codeword block t is completed. During the second vertical iteration of codeword block t, the codeword block t is decoded I3 times through the first decoder based on the data passed to the first decoder, resulting in the second first decoding result. The second first decoding result is then interleaved and passed to the second decoder. The codeword block t is then decoded I3 times through the second decoder based on the data passed to the second decoder, resulting in the second second decoding result. The second second decoding result is then deinterleaved and passed to the first decoder. At this point, the second vertical iteration of codeword block t is completed. This process is repeated until the I2th vertical iteration of codeword block t is completed, resulting in the I2th first decoding result and the I2th second decoding result of codeword block t. The I2th first decoding result and the I2th second decoding result of codeword block t are taken as the first result of codeword block t.

[0058] Specifically, taking codeword block t as an example, the steps for each vertical iteration are explained as follows:

[0059] S1. Based on the prior log-likelihood ratio of the input information group of decoder 1 obtained in the previous vertical iteration, decoder 1 is used to perform I3 iterations of decoding on codeword block t to obtain the external information log-likelihood ratio of the input information group of decoder 1, the external information log-likelihood ratio of the output parity bit of decoder 1, and the external information log-likelihood ratio of the input parity bit of decoder 1; wherein, when this vertical iteration is the first vertical iteration, based on the prior log-likelihood ratio of the input information group of decoder 1 and the prior log-likelihood ratio of the input information group of decoder 2 obtained in the initialization, codeword block t is decoded I3 times.

[0060] S2. The extrinsic log-likelihood ratio of the input information group of decoder 1 obtained in S1 is interleaved by an interleaver and then used as the prior log-likelihood ratio of the input information group of decoder 2 before being passed to decoder 2.

[0061] S3. Based on the prior log-likelihood ratio of the input information group of decoder 2 obtained in S2, decoder 2 is used to perform I3 iterations of decoding on codeword block t to obtain the external information log-likelihood ratio of the input information group of decoder 2, the external information log-likelihood ratio of the output parity bit of decoder 2, and the external information log-likelihood ratio of the input parity bit of decoder 2.

[0062] S4. The extrinsic log-likelihood ratio of the input information group of decoder 2 obtained in S3 is de-interleaved by the interleaver and then used as the prior log-likelihood ratio of the input information group of decoder 1, which is then passed to decoder 1. (∏ i ) -1 This indicates that the i-th interleaver is used for deinterleaving; at this point, one vertical iteration is completed.

[0063] For example, Figure 4 This describes the information exchange process between decoder 1 and decoder 2 during each vertical iteration of codeword block s (one of codeword blocks t to t+w-1) received at time s, or codeword block s+1 (another codeword block from t to t+w-1) received at time s+1. For example, during the vertical iteration of codeword block s, decoder 1 generates... After interleaving, it becomes decoder 2. The data is passed to decoder 2, which then processes it according to the data received. Generate decoder 2 Decoder 2 After being de-interleaved by the interleaver, it becomes the new decoder 1. The information exchange during the vertical iteration process of codeword block s+1 is similar.

[0064] Here, after each decoder performs one decoding iteration on a codeword block, it can obtain the external information log-likelihood ratio of the input information group, the external information log-likelihood ratio of the output parity bit, and the external information log-likelihood ratio of the input parity bit. For example, for codeword block t, after decoder 1 and decoder 2 complete the I2th vertical iteration of codeword block t, the I2th first decoding result of codeword block t is obtained (i.e., the external information log-likelihood ratio of the input information group of decoder 1 in the I2th iteration, the external information log-likelihood ratio of the output parity bit of decoder 1 in the I2th iteration, and the external information log-likelihood ratio of the input parity bit of decoder 1 in the I2th iteration) and the I2th second decoding result of codeword block t (i.e., the external information log-likelihood ratio of the input information group of decoder 2 in the I2th iteration, the external information log-likelihood ratio of the output parity bit of decoder 2 in the I2th iteration, and the external information log-likelihood ratio of the input parity bit of decoder 2 in the I2th iteration).

[0065] Specifically, each codeword block consists of T bit sequences, each with a length of K+1. The first K-1 bits of each bit sequence are information bits, the Kth bit sequence is the input parity bit, and the K+1th bit sequence is the output parity bit. (K-1)*T information bits constitute the information group in this codeword block, T input parity bits constitute the input parity bit, and T output parity bits constitute the output parity bit. K and T are both integers greater than 1. Taking the codeword block s received at time s as an example, the steps for each decoding iteration are explained as follows:

[0066] S11. Use the first bit sequence as the bit sequence within the current sliding BP window;

[0067] S12. Based on the channel log-likelihood ratio of the information bit sequence within the current sliding BP window. Compared with the prior log-likelihood Calculate the soft input information of the information bit sequence within the current sliding BP window. Right now

[0068] S13. Based on the channel log-likelihood ratio of the input parity bit within the current sliding BP window. Compared with the prior log-likelihood Calculate the soft input information of the input parity bit within the current sliding BP window. Right now

[0069] S14. Based on the channel log-likelihood ratio of the output parity bit within the current sliding BP window. Compared with the prior log-likelihood Calculate the soft input information of the output parity bit within the current sliding BP window. Right now

[0070] S15. Determine the posterior probability log-likelihood ratio λ of the information bit sequence within the current sliding BP window using the BP algorithm. Inf,i (s) The posterior probability log-likelihood ratio of the output check bits within the current sliding BP window. The posterior probability log-likelihood ratio of the input parity bit within the current sliding BP window

[0071] S16. The posterior probability log-likelihood ratio λ of the information bit sequence within the current sliding BP window. Inf,1 (s) and the soft input information of the information bit sequence within the current sliding BP window. The difference is used as the extrinsic information log-likelihood ratio of the information bit sequence within the current sliding BP window. Right now

[0072] S17. Calculate the posterior probability log-likelihood ratio of the output check bits within the current sliding BP window. Soft input information of the output parity bit within the current sliding BP window The difference is used as the extrinsic log-likelihood ratio of the output parity bits within the current sliding BP window. Right now

[0073] S18. Calculate the posterior probability log-likelihood ratio of the input check bits within the current sliding BP window. The difference between the soft input information of the input check bit in the current sliding BP window and the input check bit. The extrinsic information log-likelihood ratio of the input check bit within the current sliding BP window Right now

[0074] S19. Slide the window to the right, using the second bit sequence as the bit sequence in the next sliding BP window, and determine the extrinsic information log-likelihood ratio of the information bit sequence in the next sliding BP window. The extrinsic log-likelihood ratio of the output parity bit in the next sliding BP window The extrinsic log-likelihood ratio of the input parity bit in the next sliding BP window This sliding window BP decoding continues until the information bit sequence of the T-th bit sequence is obtained, along with the extrinsic log-likelihood ratio of the bit sequence. The extrinsic information log-likelihood ratio of the output parity bit of the T-th bit sequence The extrinsic information log-likelihood ratio of the input parity bit of the T-th bit sequence At that time, one iteration of decoding of codeword block s is completed.

[0075] S10312. The first result of codeword block t is interleaved by the interleaver and then passed to codeword block t+1. Based on the passed data, codeword block t+1 is subjected to I2 vertical iterations to obtain the first result of codeword block t+1. This process is repeated until the first result of codeword block t+w-2 is interleaved by the interleaver and then passed to codeword block t+w-1. Based on the passed data, codeword block t+w-1 is subjected to I2 vertical iterations to obtain the first result of codeword block t+w-1. At this point, the forward process of the first horizontal iteration is completed.

[0076] Here, the extrinsic log-likelihood ratio of the output parity bit in the I2th first decoding result of codeword block t is interleaved and passed to decoder 2, and the extrinsic log-likelihood ratio of the output parity bit in the I2th second decoding result of codeword block t is interleaved and passed to decoder 1. Based on the data passed to decoder 1 and decoder 2, codeword block t+1 is subjected to I2 vertical iterations by decoder 1 and decoder 2 to obtain the I2th first decoding result and the I2th second decoding result of codeword block t+1. The I2th first decoding result and the I2th second decoding result of codeword block t+1 are used as the first result of codeword block t+1.

[0077] Specifically, in the forward process of each horizontal iteration, after decoder 1 and decoder 2 perform I2 vertical iterations on the codeword block s corresponding to time s, decoder 1 and decoder 2 perform I2 vertical iterations on the codeword block s+1 corresponding to time s+1. Furthermore, before performing I2 vertical iterations on codeword block s+1, the log-likelihood ratio of the extrinsic information of the output check symbol of decoder 1 is obtained after performing I2 vertical iterations on codeword block s. The log-likelihood ratio of the extrinsic information of the I2th output parity bit of decoder 2 Therefore, the log-likelihood ratio of the extrinsic information of the output verification symbol of decoder 1 at the I2th iteration can be used. After interleaving, the prior log-likelihood ratio, used as the input parity bit of decoder 2 during vertical iteration of codeword block s+1, is obtained. And pass it to decoder 2, that is: And, the extrinsic information log-likelihood ratio of the I2th output parity bit of decoder 2 After interleaving, the prior log-likelihood ratio of the input parity bit of decoder 1 during vertical iteration of codeword block s+1 is used. And pass it to decoder 1, that is: Afterwards, decoder 1 and decoder 2, based on the transmitted data, use the same principle to perform I2 vertical iterations on codeword block s+1 to obtain the first result of codeword block s+1 (i.e., the I2th first decoding result and the I2th second decoding result of codeword block s+1), and so on, until the first result of codeword block t+w-1 is obtained, thus completing the forward process of the first horizontal iteration.

[0078] For example, Figure 5 This refers to the information exchange process between codeword block s and codeword block s+1 during a horizontal iteration; for example... Figure 5 As shown, after performing I2 vertical iterations on the codeword block s, decoder 1 obtains the I2th iteration... After interleaving, it serves as decoder 2 during vertical iteration of codeword block s+1. And pass it to decoder 2, and decoder 2, after performing I2 vertical iterations on codeword block s, obtains the I2th iteration. After interleaving, it serves as decoder 1 during vertical iteration of codeword block s+1. And pass it to decoder 1.

[0079] S10313. After the forward process of the first horizontal iteration is completed, the second result of codeword block t+w-1 is de-interleaved by the interleaver and then passed to codeword block t+w-2. Based on the passed data, codeword block t+w-2 is subjected to I2 vertical iterations to obtain the second result of codeword block t+w-2. The second result of codeword block t+w-1 is obtained when the first result of codeword block t+w-1 is obtained.

[0080] Here, after the first horizontal iteration forward process is completed, the I2th first decoding result of decoder 1 of codeword block t+w-1 is deinterleaved by the interleaver and then passed to decoder 2. Also, the I2th second decoding result of decoder 2 of codeword block t+w-1 is deinterleaved by the interleaver and then passed to decoder 1. Based on the data passed to decoder 1 and the data passed to decoder 2, I2 vertical iterations are performed on codeword block t+w-2 by decoder 1 and decoder 2 to obtain the second result of codeword block t+w-2.

[0081] Specifically, after the forward process in a horizontal iteration is completed, the backward process of this horizontal iteration begins. Since the log-likelihood ratio of the extrinsic information of the input check symbol of decoder 1 after decoding the codeword block t+w-1 is obtained after the forward process of this horizontal iteration... The log-likelihood ratio of the extrinsic information of the I2th input parity bit of decoder 2 Therefore, in the I2th iteration of decoder 1... The prior log-likelihood ratio of the output parity bit of decoder 2 after deinterleaving is used when decoding codeword block t+w-2. And pass it to decoder 2, that is:

[0082] The deinterleaving operation of the (K-1)th interleaver is represented as (∏ K-1 ) -1 ; and, in the I2th iteration of decoder 2 The prior log-likelihood ratio of the output parity bit of decoder 1 after deinterleaving is used when decoding codeword block t+w-2. And pass it to decoder 1, that is: The deinterleaving operation of the Kth interleaver is represented as (∏ K ) -1 After that, decoder 1... And decoder 2 according to Perform I2 vertical iterations on codeword block t+w-2 to obtain the second result of codeword block t+w-2 (i.e., the I2th iteration of decoder 1 corresponding to codeword block t+w-2). And the I2th decoding step of decoder 2 corresponding to codeword block t+w-2

[0083] For example, Figure 6 This refers to the information exchange process between codeword block s+1 and code block s during a horizontal iteration; for example... Figure 6 As shown, when the I2th decoder of decoder 2 corresponding to codeword block s+1 is obtained... Then, an interleaver can be used for the I2th iteration of decoder 2. Perform deinterleaving, and use the deinterleaved data as the decoder 1 corresponding to codeword block s. And, when the I2th decoder of decoder 1 corresponding to codeword block s+1 is obtained... Then, an interleaver can be used for the I2th iteration of decoder 1. Perform deinterleaving, and use the deinterleaved data as the decoder 2 corresponding to codeword block s. Then, decoder 1 according to And decoder 2 according to Perform I² vertical iterations on codeword block s to obtain the second result of codeword block s.

[0084] S10314. The second result of codeword block t+w-2 is de-interleaved by the interleaver and then passed to codeword block t+w-3. Based on the passed data, codeword block t+w-3 is subjected to I2 vertical iterations to obtain the second result of codeword block t+w-3. This process is repeated until the second result of codeword block t is obtained, at which point the backward process of the first horizontal iteration is completed. At this point, the first horizontal iteration of the current decoding window is completed, and the result of the first horizontal iteration is obtained.

[0085] Here, after each horizontal iteration of the current decoding window, the corresponding horizontal iteration results are: the prior log-likelihood ratio, external information log-likelihood ratio, and posterior probability log-likelihood ratio of decoder 1 and decoder 2 corresponding to the information group of the target codeword block (current target codeword block) in the current decoding window; the prior log-likelihood ratio, external information log-likelihood ratio, and posterior probability log-likelihood ratio of decoder 1 and decoder 2 corresponding to the output parity bit in the target codeword block in the current decoding window; and the prior log-likelihood ratio, external information log-likelihood ratio, and posterior probability log-likelihood ratio of decoder 1 and decoder 2 corresponding to the input parity bit in the target codeword block in the current decoding window.

[0086] Here, after completing the first horizontal iteration of the current decoding window, based on the corresponding result of the first horizontal iteration, the above principle is used to continue to complete the second horizontal iteration of the current decoding window. This process is repeated until the current decoding window has undergone I1 horizontal iterations. Then, the posterior probability log-likelihood ratio of decoder 2 corresponding to each information bit in the information group of the current target code block (i.e., the posterior probability log-likelihood ratio of the input information group of decoder 2 corresponding to the current code block) can be obtained.

[0087] For example, the preset decoding condition can be: whether the posterior probability log-likelihood ratio of the information bit is greater than 0; based on this, the above S1033 can be implemented as follows: for each information bit in the information group of the current target codeword block, when the posterior probability log-likelihood ratio of the information bit is greater than 0, the information bit is hard-determined to be 1; otherwise, it is determined to be 0; after deinterleaving, the decoding result of each information bit is obtained.

[0088] It should be noted that the above description is only an exemplary description of the preset decoding conditions, and the specific preset decoding conditions are determined according to the modulation method of the encoded sequence.

[0089] Here, after obtaining the decoding result of the target codeword block in the current decoding window, the process proceeds to step S104. In step S104, the codeword block t+w corresponding to time t+w is received. Then, the decoding window is shifted to the right to obtain a new decoding window (i.e., codeword blocks t+1 to t+w are used as the next decoding window) and a new target codeword block (i.e., codeword block t+1). At this time, the channel log-likelihood ratio, prior log-likelihood ratio, and extrinsic information log-likelihood ratio corresponding to codeword block t+w need to be initialized. Then, based on the initial channel log-likelihood ratio, prior log-likelihood ratio, and extrinsic information log-likelihood ratio of codeword block t+w, and all codeword blocks within the new decoding window, the new target codeword block is decoded to obtain the decoding result of the new target codeword block. After that, new codeword blocks at new times are received, and the decoding window is shifted to the right to obtain new decoding windows and new target codeword blocks. This sliding window decoding continues until the last received codeword block is decoded and the decoding result is obtained, at which point the decoding ends.

[0090] Specifically, the initialization process for the channel log-likelihood ratio, prior log-likelihood ratio, and extrinsic information log-likelihood ratio corresponding to codeword block t+w is as follows: The channel log-likelihood ratio of decoder 1 is initialized as follows: The channel likelihood log ratio of decoder 2 is initialized to in, This represents the channel log-likelihood ratio received at the i-th port of the receiver at time t+w, compared to the information input at the i-th port during the encoding process. Corresponding to the information bits in the input information group of decoder 1. The prior log-likelihood ratio of the output parity bit of decoder 1 to the output parity bit of decoder 1 All are initialized to an all-zero sequence; the information bits in the input information group of decoder 2 The prior log-likelihood ratio of the output parity bit of decoder 2 All are initialized to an all-zero sequence; the prior log-likelihood ratio of the input parity bits of decoder 1 Initialized to the extrinsic log-likelihood ratio of the output parity bit of decoder 2 at the previous time step. The result of the interweaving, namely Prior log-likelihood of the input parity bit of decoder 2 Initialized to the extrinsic log-likelihood ratio of the output parity bit of decoder 1 at the previous time step. The result of the interweaving, namely The external information log-likelihood ratio of the input information group of decoder 1 extrinsic information log-likelihood ratio of input parity bit Log-likelihood ratio of extrinsic information to output parity bit And the external information log-likelihood ratio of the input information group of decoder 2 extrinsic information log-likelihood ratio of input parity bit Log-likelihood ratio of extrinsic information to output parity bit All are initialized to a sequence of all zeros.

[0091] The Braided self-orthogonal code decoding method based on a dual sliding window strategy provided by this invention can start decoding when w codeword blocks are received. Furthermore, the sliding window strategy is used for sliding decoding during decoding, which not only reduces decoding delay but also lowers the decoding error rate, thereby improving decoding efficiency and accuracy.

[0092] The following example illustrates the steps of the Braided self-orthogonal code decoding method based on a dual sliding window strategy:

[0093] The first step is initialization. Set the window size w, the horizontal iteration count I1, the vertical iteration count I2, and the codeword block decoding iteration count I3;

[0094] Step 2, in-window decoding: for t>0

[0095] 1. Local initialization: Initialize the channel value, prior value, and extrinsic information value of the codeword block in time unit s∈[t,t+w-1] within the window. The target codeword block is the codeword block in time unit s=t.

[0096] 2. Horizontal iteration: For l1 = 0, 1, ..., I1-1,

[0097] (a) Forward process: For time units s = t, t+1, ..., t+w-1:

[0098] i. Vertical iteration: For l2 = 0, 1, ..., I2-1,

[0099] A. Component code decoding iteration: Decoder 1 uses the I3th sliding window BP algorithm for decoding;

[0100] B. Information exchange: Update the information bits of decoder 2 according to formula (1.7);

[0101] C. Component code decoding iteration: Decoder 2 uses the I3th sliding window BP algorithm for decoding;

[0102] D. Information exchange: Update the information bits of decoder 1 according to formula (1.8);

[0103] (b) Information exchange: Update the input check bits according to formulas (1.9) and (1.10);

[0104] (c) Backward process: For s = t + w - 1, ..., t + 1, t,

[0105] i. Vertical iteration: For l2 = 0, 1, ..., I2-1

[0106] A. Component code decoding iteration: Decoder 1 uses the I3th sliding window BP algorithm for decoding;

[0107] B. Information exchange: Update the information bits of decoder 2 according to formula (1.7);

[0108] C. Component code decoding iteration: Decoder 2 uses the I3th sliding window BP algorithm for decoding;

[0109] D. Information exchange: Update the information bits of decoder 1 according to formula (1.8);

[0110] (d) Information exchange: Update the input check bits according to formulas (1.11) and (1.12);

[0111] 3. Hard decision: Perform hard decision on the posterior probability log-likelihood ratio stored in component decoder 2, and use the deinterleaved sequence as the decoding output of the target code block;

[0112] The third step is to slide the window. The window moves to the right, and the codeword block t+w corresponding to the time unit s=t+w is added to the current decoding window to obtain a new current decoding window. Set t=t+1 and return to the window to decode.

[0113] The following simulation experimental data further illustrates the effects achieved by the embodiments of the present invention.

[0114] For a Braided self-orthogonal code with (3,2,13) ​​self-orthogonal code as its component code, the component code rate is R. C =2 / 3. The two corresponding encoding polynomials are g. (1) (D)=1+D 8 +D 9 +D 12 and g (2) (D)=1+D 6 +D 11 +D 13 The block size of the block encoder is set to T. The simulation uses an AWGN channel, BPSK modulation, and data stream transmission mode. The code rate of the Braided self-orthogonal code is R = 1 / 3. The decoding window size is set to w = 5, the horizontal iteration count I1 = 5, the vertical iteration count I2 = 1, and the component code iteration count I3 = 2. Simulation results for different values ​​of T are shown below. Figure 7 .according to Figure 7 It can be seen that, under the same signal-to-noise ratio, the larger the block size of the block encoder, the lower the bit error rate and the better the performance.

[0115] The above description, in conjunction with specific preferred embodiments, provides a further detailed explanation of the present invention. It should not be construed that the specific implementation of the present invention is limited to these descriptions. For those skilled in the art, various simple deductions or substitutions can be made without departing from the concept of the present invention, and all such modifications and substitutions should be considered within the scope of protection of the present invention.

Claims

1. A Braided self-orthogonal code decoding method based on a dual sliding window strategy, characterized in that, include: Receive codeword blocks sent by the sending end; When w codeword blocks corresponding one-to-one with w consecutive time points are received, the w codeword blocks are placed into the current decoding window, the first codeword block among the w codeword blocks is taken as the current target codeword block, and the channel log-likelihood ratio, prior log-likelihood ratio, and extrinsic information log-likelihood ratio of the w codeword blocks are initialized; the w consecutive time points are from time t to time t+w-1; the w codeword blocks are from codeword block t to codeword block t+w-1; w is an integer greater than 1, and t is an integer greater than or equal to 0; Based on the initial channel log-likelihood ratio, prior log-likelihood ratio, and extrinsic information log-likelihood ratio of w codeword blocks, the current target codeword block and the remaining codeword blocks in the current decoding window are decoded by a decoder to obtain the decoding result of the current target codeword block. Receive the codeword block t+w corresponding to time t+w, and use codeword blocks t+1 to t+w as the next decoding window, use codeword block t+1 as the next target codeword block, and initialize the channel log-likelihood ratio, prior log-likelihood ratio and extrinsic information log-likelihood ratio of the codeword block t+w. Based on the initial channel log-likelihood ratio, prior log-likelihood ratio, and extrinsic information log-likelihood ratio of codeword block t+w, the next target codeword block, and the remaining codeword blocks in the next decoding window, are decoded using a decoder to obtain the decoding result of the next target codeword block. This sliding window decoding continues until the last received codeword block is decoded and the decoding result is obtained, at which point the decoding ends. The current target codeword block is codeword block t; the codeword blocks within the current decoding window are codeword blocks t to t+w-1; the decoder includes: a first decoder and a second decoder; the decoding of the current target codeword block using the decoder, based on the initialized channel log-likelihood ratio, prior log-likelihood ratio, and extrinsic information log-likelihood ratio of w codeword blocks, the current target codeword block, and the remaining codeword blocks in the current decoding window, to obtain the decoding result of the current target codeword block, includes: During the first vertical iteration of codeword block t, based on the initial channel log-likelihood ratio, prior log-likelihood ratio, and extrinsic information log-likelihood ratio of w codeword blocks, the codeword block t is processed by the first decoder. The next iteration of decoding yields the first decoding result. It is an integer greater than 0; The first decoding result is interleaved by an interleaver and then passed to a second decoder. Based on the data passed to the second decoder, the codeword block t is processed by the second decoder. The second decoding iteration yields the first second decoding result; The first second decoding result is de-interleaved by the interleaver and then passed to the first decoder. At this time, the first vertical iteration of codeword block t is completed. During the second vertical iteration of codeword block t, the codeword block t is processed by the first decoder based on the data passed to the first decoder. The second iteration of decoding yields the second first decoding result; The second first decoding result is interleaved and then transmitted to the second decoder. Based on the data transmitted to the second decoder, the codeword block t is processed by the second decoder. The second iteration of decoding yields the second decoding result. The second decoding result is de-interleaved by the interleaver and then passed to the first decoder. At this point, the second vertical iteration of codeword block t is completed. This process is repeated until the second vertical iteration of codeword block t is completed. After the nth vertical iteration, the codeword block t is obtained. The first decoding result and the second The second decoding result will be the first codeword block t. The first decoding result and the second The second decoding result is used as the first result of codeword block t; It is an integer greater than 0; The first result of codeword block t is interleaved by the interleaver and then passed to codeword block t+1. Codeword block t+1 is then processed based on the passed data. After several vertical iterations, the first result of codeword block t+1 is obtained. This process is repeated until the first result of codeword block t+w-2 is interleaved and passed to codeword block t+w-1. Then, codeword block t+w-1 is processed based on the passed data. When the first result of code block t+w-1 is obtained in the second vertical iteration, the forward process of the first horizontal iteration is completed. After the forward process of the first horizontal iteration is completed, the second result of codeword block t+w-1 is de-interleaved by the interleaver and then passed to codeword block t+w-2. Codeword block t+w-2 is then processed based on the passed data. The second result of code block t+w-2 is obtained through vertical iteration; the second result of code block t+w-1 is obtained when the first result of code block t+w-1 is obtained. The second result of codeword block t+w-2 is deinterleaved by the interleaver and then passed to codeword block t+w-3. Codeword block t+w-3 is then processed based on the passed data. After the vertical iteration, the second result of code block t+w-3 is obtained. This process is repeated until the second result of code block t is obtained, at which point the backward process of the first horizontal iteration is completed. At this point, the first horizontal iteration of the current decoding window is completed, and the result of the first horizontal iteration is obtained. Based on the result of the first horizontal iteration, the current target codeword block, and the remaining codeword blocks in the current decoding window, the current decoding window undergoes a second horizontal iteration. This process is repeated until the current decoding window is... After the next level iteration, the posterior probability log-likelihood ratio of each information bit in the information group of the current target codeword block is obtained; It is an integer greater than 0; Based on the preset decoding conditions and the posterior probability log-likelihood ratio of each information bit in the current target code block, the decoding result of each information bit in the information group of the current target code block is obtained. Each codeword block consists of T bit sequences, each with a length of K+1. The first K-1 bits of each bit sequence are information bits, the Kth bit is the input parity bit, and the K+1th bit is the output parity bit. (K-1)*T information bits constitute the information group in the codeword block, T input parity bits constitute the input parity bits, and T output parity bits constitute the output parity bits. K and T are both integers greater than 1. The steps for decoding each codeword block in each iteration include: Use the first bit sequence as the bit sequence within the current sliding BP window; Based on the channel log-likelihood ratio and prior log-likelihood ratio of the information bit sequence within the current sliding BP window, calculate the soft input information of the information bit sequence within the current sliding BP window; Based on the channel log-likelihood ratio and prior log-likelihood ratio of the input parity bit in the current sliding BP window, calculate the soft input information of the input parity bit in the current sliding BP window; Based on the channel log-likelihood ratio and prior log-likelihood ratio of the output parity bit within the current sliding BP window, calculate the soft input information of the output parity bit within the current sliding BP window; The posterior log-likelihood ratio of the information bit sequence, the posterior log-likelihood ratio of the output parity bit, and the posterior log-likelihood ratio of the input parity bit within the current sliding BP window are determined using the BP algorithm. The difference between the posterior probability log-likelihood ratio of the information bit sequence within the current sliding BP window and the soft input information of the information bit sequence within the current sliding BP window is taken as the extrinsic information log-likelihood ratio of the information bit sequence within the current sliding BP window. The difference between the posterior probability log-likelihood ratio of the output parity bit in the current sliding BP window and the soft input information of the output parity bit in the current sliding BP window is taken as the extrinsic information log-likelihood ratio of the output parity bit in the current sliding BP window. The difference between the posterior probability log-likelihood ratio of the input check bit in the current sliding BP window and the soft input information of the input check bit in the current sliding BP window is taken as the extrinsic information log-likelihood ratio of the input check bit in the current sliding BP window. Slide the window to the right, taking the second bit sequence as the bit sequence in the next sliding BP window, and determine the extrinsic log-likelihood ratio of the information bit sequence, the extrinsic log-likelihood ratio of the output parity bit, and the extrinsic log-likelihood ratio of the input parity bit in the next sliding BP window. Continue sliding window BP decoding in this way until the extrinsic log-likelihood ratio of the information bit sequence, the extrinsic log-likelihood ratio of the output parity bit, and the extrinsic log-likelihood ratio of the input parity bit of the Tth bit sequence are obtained, thus completing one iteration of decoding the codeword block.

2. The Braided self-orthogonal code decoding method based on a dual sliding window strategy according to claim 1, characterized in that, The first result for codeword block t is interleaved by an interleaver and then passed to codeword block t+1. The codeword block t+1 is then processed based on the passed data. The first result of the codeword block t+1 is obtained after the second vertical iteration, including: The first code block t The extrinsic information log-likelihood ratio of the output parity bits in the first decoding result is interleaved by an interleaver and then passed to the second decoder. Additionally, the codeword block t is... The extrinsic log-likelihood ratio of the output parity bit in the second decoding result is passed to the first decoder after being interleaved by an interleaver. Based on the data transmitted to the first decoder and the data transmitted to the second decoder, the codeword block t+1 is processed by the first decoder and the second decoder. The vertical iteration yields the codeword block t+1 of the th iteration. The first decoding result and the second The second decoding result will be the codeword block t+1's first... The first decoding result and the second The second decoding result is used as the first result of codeword block t+1.

3. The Braided self-orthogonal code decoding method based on a dual sliding window strategy according to claim 1, characterized in that, The first result of code block t+w-1 is: the first result of code block t+w-1. The first decoding result and the second The second decoding result; After the forward process of the first horizontal iteration is completed, the second result of codeword block t+w-1 is de-interleaved by the interleaver and then passed to codeword block t+w-2. The codeword block t+w-2 is then processed based on the passed data. The second result of the vertical iteration is obtained for codeword block t+w-2, including: After the forward process of the first horizontal iteration is completed, the codeword block t+w-1 will be... The first decoding result is de-interleaved by the interleaver and then passed to the second decoder. Additionally, the codeword block t+w-1 is... The second decoding result is de-interleaved by the interleaver and then passed to the first decoder; Based on the data transmitted to the first decoder and the data transmitted to the second decoder, the codeword block t+w-2 is processed by the first and second decoders. After several vertical iterations, the second result of codeword block t+w-2 is obtained.

4. The Braided self-orthogonal code decoding method based on a dual sliding window strategy according to claim 1, characterized in that, The first code block t The first decoding result is: the external information log-likelihood ratio of the information group of the first decoder corresponding to codeword block t, the external information log-likelihood ratio of the output parity bit of the first decoder, and the external information log-likelihood ratio of the input parity bit of the first decoder; the first decoding result of codeword block t is... The second decoding result is: the external information log-likelihood ratio of the information group of the second decoder corresponding to codeword block t, the external information log-likelihood ratio of the output parity bit of the second decoder, and the external information log-likelihood ratio of the input parity bit of the second decoder.

Citation Information

Patent Citations

  • Sliding window decoding method and system with retransmission mechanism

    CN112152642A

  • Turbo Product Polar Coding with Hard Decision Cleaning

    US20190036550A1