Encoding and decoding method and device based on improved depth polarization
Through the deep polarization encoding method of multi-layer polar core matrix and backpropagation decoding, the problem of high error rate and high complexity of polarization code at short-length information bit decoding is solved, and low complexity and efficient decoding effect is achieved.
Patent Information
- Application Number
- CN202380083990.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-08-23
- Filing Date
- 2023-12-04
- Publication Date
- 2025-07-11
AI Technical Summary
The existing polarized code has high error rate and decoding complexity problems in the decoding process of short-length information bits.
Deep polarization encoding is used for multiple pole core matrices of multiple layers, and combined with backpropagation decoding, the belief propagation algorithm and long-likelihood ratio are used for decoding by freezing bits layer by layer as parity bits.
The decoding error rate of short-length information bits is reduced and the decoding complexity is reduced, which improves encoding efficiency and reliability.
Smart Images

Figure CN120303881A_ABST
Abstract
Description
Technical Field
[0001] The following embodiments relate to techniques for encoding and decoding methods and apparatuses based on improved deep polarization. Background Art
[0002] In a communication system or a storage system, data to be transmitted can be transferred through a physical channel (such as a wired communication channel, a wireless communication channel, or a storage medium). During the process of transferring data through the physical channel, noise may be mixed in or data may be lost, resulting in difficulties in recovery.
[0003] As a technique for detecting and correcting errors that occur during the transmission of such data, error correcting codes are being studied. As an example, an encoding technique using a Polar code, which is one of the error correcting codes, has been developed. A Polar code is a code for error correction based on the channel polarization or channel polarization phenomenon in the physical channel through which data is transmitted.
[0004] Existing encoding methods using Polar codes have the disadvantage that decoding errors occur for short-length information bits because the encoding apparatus is composed of a single layer and a Polar kernel matrix connected to the single layer is used.
[0005] Therefore, a technique for solving the disadvantage of decoding errors occurring for short-length information bits needs to be proposed. Summary of the Invention
[0006] (Problems to be Solved by the Invention)
[0007] In order to ensure low decoding complexity and solve the disadvantage of decoding errors occurring for short-length information bits, an embodiment proposes an encoding apparatus that performs deep polarization encoding using a plurality of Polar kernel matrices respectively connected to a plurality of layers, and a decoding apparatus that correspondingly performs deep polarization decoding based on backpropagation.
[0008] However, the technical problems to be solved by the present invention are not limited to the above problems, and can be extended in various ways without departing from the technical idea and scope of the present invention.
[0009] (Measures for Solving the Problems)
[0010] According to an embodiment, an encoding apparatus for performing code encoding generates a code word using a plurality of Polar kernel matrices respectively connected to a plurality of layers.
[0011] According to one embodiment, the features of the present invention may lie in that a plurality of kernel matrices respectively connected to the plurality of layers have different matrix sizes.
[0012] According to another embodiment, the features of the present invention may lie in that the matrix sizes of the plurality of kernel matrices respectively connected to the plurality of layers gradually decrease along the upper layers from the output end of the encoding device towards the input end.
[0013] According to another embodiment, the features of the present invention may lie in that, among the plurality of layers, except for the bottom layer provided at the output end of the encoding device, the plurality of kernel matrices respectively connected to the remaining plurality of layers have a transpose relationship with the kernel matrix connected to the bottom layer.
[0014] According to another embodiment, the features of the present invention may lie in that each layer among the plurality of layers is connected to at least one kernel matrix included in the plurality of kernel matrices.
[0015] According to still another embodiment, the features of the present invention may lie in that the encoding device successively and alternately uses an upper triangular matrix and a lower triangular matrix as the plurality of kernel matrices respectively connected to the plurality of layers.
[0016] According to yet another embodiment, the features of the present invention may lie in that when the kernel matrix used by the bottom layer is a lower triangular matrix, the kernel matrix used by the layer immediately preceding the bottom layer provided at the output end of the encoding device among the plurality of layers is an upper triangular matrix, and when the kernel matrix used by the bottom layer is an upper triangular matrix, the kernel matrix used by the layer immediately preceding the bottom layer provided at the output end of the encoding device among the plurality of layers is a lower triangular matrix.
[0017] According to yet another embodiment, the features of the present invention may lie in that the encoding device generates the codeword through a successive encoding method based on a linear or non - linear function, and the linear or non - linear function utilizes the partial connections between the plurality of layers.
[0018] According to yet another embodiment, the features of the present invention may lie in that the encoding device generates the codeword in a successive encoding manner by using cyclic redundancy check precoding for at least a part of the information bits.
[0019] According to another embodiment, the present invention may be characterized in that the encoding device uses at least one bit among an information bit, a connection bit, or a frozen bit as an encoding input bit for each of the plurality of layers, and input positions of the information bit, the input bit, and the frozen bit are configured not to overlap with each other.
[0020] According to another embodiment, the present invention may be characterized in that a codeword output as an output value of encoding in each of the plurality of layers is determined based on a polar kernel matrix, the connection bit, and the information bit used in each of the plurality of layers, and is used as an input for the connection bit of encoding in a subsequent layer.
[0021] According to another embodiment, the present invention may be characterized in that, based on the polar kernel matrix used in each of the plurality of layers and the channel state, a position with a bit channel capacity equal to or greater than a preset value is selected as an input position of the information bit of encoding in each of the plurality of layers, and at least one position with a bit channel capacity equal to or greater than a preset value among row positions of the polar kernel matrix used in each of the plurality of layers, where the row weight size is equal to or greater than a preset value and excluding the position assigned with the information bit, is selected as an input position of the connection bit of encoding in each of the plurality of layers.
[0022] According to another embodiment, the present invention may be characterized in that when retransmission is required in a communication environment, the encoding device retransmits at least a part of the output values encoded in each of the plurality of layers.
[0023] According to an embodiment, the present invention may be characterized in that when decoding, a layer-by-layer frozen bit used for encoding in each of the plurality of layers included in the encoding device serves as a parity bit.
[0024] According to another embodiment, the present invention may be characterized in that the decoding device decodes the connection bit for encoding the bottom layer based on the frozen bit for encoding the bottom layer provided at the output end of the encoding device among the plurality of layers, and uses a plurality of frozen bits for encoding the remaining plurality of layers other than the bottom layer among the plurality of layers as parity bits.
[0025] According to another embodiment, the present invention may be characterized in that the decoding device continuously confirms parity bits through a backpropagation structure.
[0026] According to another embodiment, the decoding device may be characterized in that the decoding device decodes by using at least a part of the output values encoded in each of the plurality of layers previously received from the encoding device and at least a part of the output values encoded in each of the plurality of layers received again from the encoding device.
[0027] According to another embodiment, the decoding device may be characterized in that the decoding device uses, as additional frozen bits, a pattern of connection bits that can be used to encode the bottom layer provided at the output end of the encoding device in the plurality of layers to decode the connection bits for encoding the bottom layer.
[0028] According to another embodiment, the decoding device may be characterized in that the decoding device pre-generates a pattern of connection bits that can be used to encode the bottom layer, simultaneously decodes a plurality of information bits in parallel using the generated connection bits and the frozen bits, and selects, from the decoded plurality of information bits, the information bit with the highest belief and the connection bit corresponding to the information bit with the highest belief for decoding.
[0029] According to another embodiment, the decoding device may be characterized in that, based on the decoded connection bits as the connection bits for encoding the bottom layer, the decoding device decodes the information bits and connection bits for encoding the previous layer through the inverse matrix of the encoding matrix of the previous layer for encoding the bottom layer, and decodes the information bits for encoding the previous layer.
[0030] According to another embodiment, the decoding device may be characterized in that, based on the connection bits for encoding the L-th layer in the plurality of layers, the decoding device decodes the information bits and connection bits for encoding the (L - 1)-th layer, which is the previous layer of the L-th layer, through the inverse matrix of the encoding matrix of the (L - 1)-th layer for encoding the L-th layer, and decodes the information bits for encoding the (L - 1)-th layer.
[0031] According to another embodiment, the long likelihood ratio (LLR) of the received signal received from the encoding device may be calculated according to the Guessing random additive noise decoding (GRAND) rule, the bits of the received signal are inverted in descending order of the long likelihood ratio to estimate the transmitted codeword, the estimated transmitted codeword and the inverse matrices of the polar kernel matrices respectively encoded in the plurality of layers included in the encoding device are used, and the layer-by-layer parity check bits of each of the plurality of layers are sequentially confirmed through a backpropagation structure, and the estimated transmitted codeword is determined as the codeword transmitted by the encoding device.
[0032] According to an embodiment, the decoding device may calculate the log-likelihood ratios of respective connection bits of each of the plurality of layers, and after estimating the per-layer connection bits in descending order, when the per-layer parity check bits are successfully confirmed, continuously backpropagate the log-likelihood ratios of the connection bits of the previous layer.
[0033] According to an embodiment, a decoding device for performing code decoding may perform backpropagation of log-likelihood ratios, and based on a received signal received from an encoding device and a successive encoding structure of a plurality of layers included in the encoding device, sequentially calculate the log-likelihood ratios of connection bits of each of the plurality of layers by using a belief propagation (BP) algorithm.
[0034] According to one embodiment, the present invention may be characterized in that, in the process of backpropagating the per-layer log-likelihood ratios of each of the plurality of layers, the decoding device sequentially applies the belief propagation algorithm by using a parity check matrix existing in a null space of an encoding matrix for encoding each of the plurality of layers.
[0035] According to still another embodiment, the present invention may be characterized in that the decoding device performs backpropagation of the per-layer log-likelihood ratios, and performs successive encoding by using information bits estimated for each of the plurality of layers and log-likelihood ratios corresponding to the estimated information bits, thereby performing log-likelihood ratio forward propagation for updating the log-likelihood ratios of connection bits of each of the plurality of layers.
[0036] According to another embodiment, the present invention may be characterized in that the decoding device alternately and repeatedly performs backpropagation of the log-likelihood ratios and forward propagation of the log-likelihood ratios.
[0037] (Advantages of the Invention)
[0038] An embodiment provides an encoding device that performs deep polarization encoding by using a plurality of kernel matrices respectively connected to a plurality of layers, and a decoding device that correspondingly performs deep polarization decoding based on backpropagation, thereby making it possible to ensure low decoding complexity and solve the drawback of decoding errors occurring for short-length information bits.
[0039] However, the advantages of the present invention are not limited to the above advantages, and can be extended in various ways without departing from the technical idea and scope of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] Figure 1 FIG. is a block diagram of an encoding device based on improved deep polarization according to an embodiment.
[0041] Figure 2Flowchart showing an embodiment of an improved deep polarization-based encoding method.
[0042] Figures 3a to 3g Example diagram showing the structure of an embodiment of an improved deep polarization-based encoding apparatus.
[0043] Figure 4 Block diagram showing an embodiment of an improved deep polarization-based decoding apparatus.
[0044] Figure 5 Flowchart showing an embodiment of an improved deep polarization-based decoding method.
[0045] Figures 6a to 6f Example diagram showing the structure of an embodiment of an improved deep polarization-based decoding apparatus.
[0046] Figure 7 Graph showing the bit-channel capacity for a binary erasure channel (BEC).
[0047] Figure 8 Graph showing an illustration that when K = 11, the block error rate (BLER) is significantly improved compared to Reed-Muller code (RM) and polar code.
[0048] Figure 9 Graph showing an illustration that the deep polar code with construction B is superior to all other codes in terms of block error rate. Detailed implementation
[0049] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited or restricted to the embodiments of the present invention. Also, the same reference numerals in the respective drawings denote the same components.
[0050] Also, in this specification, the terminology used is only for appropriately expressing the preferred embodiments of the present invention, and this may vary depending on the intentions of the users, operators, or the conventions in the field to which the present invention pertains. Therefore, the terms of the present invention should be defined based on the entire content of this specification. For example, in this specification, unless otherwise defined in the text, the singular may also include the plural. Also, in this specification, the terms "comprises" and / or "comprising" do not imply the exclusion of the existence or addition of one or more other structural elements, steps, operations, and / or devices to the mentioned structural elements, steps, operations, and / or devices. Also, in this specification, terms such as "first" and "second" are used to express various regions, directions, shapes, etc., and the above regions, directions, and shapes are not limited to such terms. Such terms are only used to distinguish a specified region, direction, or shape from other regions, directions, or shapes. Therefore, a part referred to as the first part in one embodiment may also be referred to as the second part in other embodiments.
[0051] Also, it should be understood that although the multiple embodiments of the present invention are different from each other, they do not need to be mutually exclusive. For example, the characteristic shapes, structures, and characteristics described herein are associated with one embodiment and can be implemented through other embodiments without departing from the technical idea of the present invention. Also, it should be understood that without departing from the scope of the technical idea of the present invention, the positions, configurations, or structures of each structural element can be changed within the scope of each disclosed embodiment.
[0052] The encoding method and decoding method based on improved deep polarization described below perform deep polarization encoding using multiple polar kernel matrices respectively connected to multiple layers and perform deep polarization decoding based on backpropagation correspondingly, thereby ensuring low decoding complexity and solving the drawback of decoding errors occurring for short-length information bits. At the same time, by allocating multiple information bits and multiple frozen bits based on the weights of each of the multiple channels, the performance of each of the multiple channels can be considered at low complexity, and the problem of reduced transmission rate performance can be solved.
[0053] Figure 1 FIG. is a block diagram of an encoding apparatus based on improved deep polarization according to an embodiment. Figure 2 FIG. is a flowchart of an encoding method based on improved deep polarization according to an embodiment.
[0054] Referring to Figure 1 and Figure 2 , an encoding apparatus 100 according to an embodiment can perform deep polarization-based encoding that generates a code word using multiple polar kernel matrices respectively connected to multiple layers. For example, as described below Figure 3bAs shown, the encoding device 100 can be implemented as being composed of the first layer (Layer 1), the second layer (Layer 2), ……, the (L - 1)th layer (Layer L - 1), and the Lth layer (Layer L). Among them, the first polar kernel matrix is connected to the first layer (Layer 1), the second polar kernel matrix is connected to the second layer (Layer 2), the (L - 1)th polar kernel matrix is connected to the (L - 1)th layer (Layer L - 1), and the Lth polar kernel matrix is connected to the Lth layer (Layer L).
[0055] Among them, multiple polar kernel matrices respectively connected to multiple layers can achieve partial continuous connection between layers in a state with different matrix sizes. For example, the sizes of multiple polar kernel matrices respectively connected to multiple layers can gradually decrease in the upper layers from the output end of the encoding device 100 towards the input end. More specifically, as follows Figure 3b As shown, the matrix size can gradually decrease from the Lth layer (Layer L) (the bottom layer) to the first layer (Layer 1) (the top layer).
[0056] In this case, multiple polar kernel matrices respectively connected to the remaining multiple layers except the bottom layer set at the output end of the encoding device 100 among multiple layers can have a transpose relationship with the polar kernel matrix connected to the bottom layer. For example, as follows Figure 3b As shown, the first polar kernel matrix connected to the first layer (Layer 1), the second polar kernel matrix connected to the second layer (Layer 2), and the (L - 1)th polar kernel matrix connected to the (L - 1)th layer (Layer L - 1) can have a transpose relationship with the Lth polar kernel matrix connected to the Lth layer (Layer L).
[0057] And, as follows Figure 3b As shown, not only can one polar kernel matrix be connected to each layer among multiple layers, but also, as Figure 3g shown, multiple connections of polar kernel matrices can also be connected to each layer among multiple layers. That is, at least one polar kernel matrix can be connected to each layer among multiple layers.
[0058] As multiple polar kernel matrices respectively connected to multiple layers, an upper triangular matrix and a lower triangular matrix can be continuously and alternately used.
[0059] For example, in the case where the polar kernel matrix of the layer before the bottom layer set at the output end of the encoding device 100 among multiple layers is used as the preprocessing matrix, when the polar kernel matrix used for the bottom layer is a lower triangular matrix, it can be an upper triangular matrix, and when the polar kernel matrix used for the bottom layer is an upper triangular matrix, it can be a lower triangular matrix. More specifically, as follows Figure 3bAs shown, when connected to the (L - 1)-th layer's (Layer L - 1) (L - 1)-th polar kernel matrix, when the L-th layer's (Layer L) L-th polar kernel matrix is a lower triangular matrix, it can be an upper triangular matrix, and when the L-th layer's (Layer L) L-th polar kernel matrix is an upper triangular matrix, it can be a lower triangular matrix.
[0060] For another example, when the encoding device 100 includes two layers, in the case where the layer immediately preceding the bottom layer provided at the output end of the encoding device 100 serves as the polar kernel matrix of the preprocessing matrix, when the polar kernel matrix used in the bottom layer is a lower triangular matrix, it can be a partially upper triangular matrix, and when the polar kernel matrix used in the bottom layer is an upper triangular matrix, it can be a partially lower triangular matrix.
[0061] Such an encoding device 100 can perform deep polarization encoding by generating a codeword in a successive encoding manner based on a linear or non-linear function that utilizes partial connections between multiple layers. However, the encoding device 100 can not only use the polar kernel matrix as the encoding matrix, but also use the generator matrices of linear block codes (LDPC; Reed Muller codes, etc.) that have been used in the past.
[0062] When using the successive encoding method that utilizes partial connections between multiple layers, the encoding device 100 can generate a codeword in a successive encoding manner by using cyclic redundancy check (CRC) precoding on at least a part of the information bits.
[0063] More specifically, the encoding device 100 can generate a codeword in a successive encoding manner in which each layer of the multiple layers uses at least one of the information bit, connection bit, or frozen bit as the encoding input bit.
[0064] In this case, the encoding device 100 can be configured such that the input positions of the information bit, input bit, and frozen bit are configured not to overlap with each other.
[0065] In this way, due to using the successive encoding method in which each layer of the multiple layers uses at least one of the information bit, connection bit, or frozen bit as the encoding input bit, the codeword output as the encoding output value in each layer of the multiple layers is determined based on the polar kernel matrix, connection bit, and information bit used in each layer of the multiple layers, and can be used as the input of the connection bit for encoding in the subsequent layer. For example, the codeword output as the encoding output value in the (L - 1)-th layer (Layer L - 1) can be used as the input of the connection bit for encoding in the subsequent L-th layer (Layer L).
[0066] If the polar kernel matrix used in each of multiple layers is at least one (when the polar kernel matrix used in each of multiple layers is multiple), then multiple codewords output as encoded output values in each of multiple layers can be used as inputs to multi-connection bits in the subsequent layer.
[0067] In particular, the encoding device 100 can not only use the bit channel capacity of each of multiple channels, but also use weights as an index for measuring the performance of each of multiple channels. Hereinafter, the weights can be defined according to the number of specific binary data (e.g., binary data of "1") on the bits generated by the polar kernel matrix used in each of multiple layers of the encoding device 100.
[0068] Specifically, the encoding device 100 selects, based on the polar kernel matrix used in each of multiple layers and the channel state, the positions with a bit channel capacity above a preset value as the input positions of the information bits encoded in each of multiple layers. The encoding device 100 selects at least one position with a bit channel capacity above a preset value among the row positions with the row weight size of the polar kernel matrix used in each of multiple layers above a preset value, excluding the positions assigned with information bits, as the input positions of the connection bits encoded in each of multiple layers.
[0069] Among them, the reference value "preset value" for comparing the bit channel capacity is different from the reference value "preset value" for comparing the weight size of the comparison row, and can be the same as or different from the reference value "preset value" for comparing the bit channel capacity after comparing the weight sizes.
[0070] When retransmission is required in the communication environment, such an encoding device 100 can retransmit at least a part of the encoded output values in each of multiple layers. This is to utilize not only the encoded output values previously received from the encoding device 100 but also the encoded output values re-received from the encoding device 100 when the following decoding device 400 performs decoding.
[0071] The above-described encoding device 100 can execute the code encoding method of steps S210 to S220 in a state including the determination unit 110 and the mapping unit 120 to perform the described encoding method.
[0072] In step S210, the determination unit 110 can determine, based on the weights of each of the polarized multiple channels, a first channel group connected to the lower encoding matrix and a second channel group connected to the upper encoding matrix and the lower encoding matrix from the multiple channels.
[0073] Hereinafter, in the encoding device 100, the encoding matrix closer to the input end is defined as the upper encoding matrix, and the encoding matrix closer to the output end is defined as the lower encoding matrix. Thus, since the output of the upper encoding matrix is connected to the input of the lower encoding matrix, the upper encoding matrix and the lower encoding matrix can form different layers and overlap in sequence.
[0074] Moreover, hereinafter, the weights of the multiple channels based on polarization can be defined according to the number of specific binary data (e.g., binary data of "1") on the bits polarized by the multiple channels respectively.
[0075] More specifically, the determination unit 110 can determine at least one channel whose weight of each of the multiple polarized channels is within a range of not less than a preset first value and less than a second value from the multiple channels as the second channel group, and determine the remaining at least one channel other than the at least one channel determined as the second channel group from the multiple channels as the first channel group.
[0076] In this case, when determining the second channel group, the determination unit 110 can determine at least one channel having the same weight within the range of not less than the first value and less than the second value as the second channel group. For example, when there are multiple channels 1, 2, and 3 whose weights are within the range of not less than the first value and less than the second value, if the weights of channels 1 and 2 are the same and only the weight of channel 3 is different, the determination unit 110 can determine channels 1 and 2 having the same weight as the second channel group and exclude channel 3 having a different weight.
[0077] Moreover, when determining the second channel group, the determination unit 110 can consider the number of at least a part of the codewords generated by the multiple information bits to be assigned to the multiple channels included in the second channel group and the number of at least a part of the codewords generated by the multiple frozen bits to be assigned to the multiple channels included in the second channel group.
[0078] For example, the determination unit 110 can determine at least one channel having a weight within the range of not less than the first value and less than the second value as the second channel group to correspond to the number of at least a part of the codewords generated by the multiple information bits to be assigned to the multiple channels included in the second channel group and the number of at least a part of the codewords generated by the multiple frozen bits to be assigned to the multiple channels included in the second channel group.
[0079] More specifically, the determination unit 110 can determine, from the multiple channels having a weight within the range of not less than the first value and less than the second value, at least one channel whose number matches the number of at least a part of the codewords generated by the multiple information bits to be assigned to the multiple channels included in the second channel group and the number of at least a part of the codewords generated by the multiple frozen bits to be assigned to the multiple channels included in the second channel group as the second channel group, and exclude the remaining channels.
[0080] In step S220, the mapping unit 120 can generate a plurality of code words by mapping a plurality of information bits to an upper encoding matrix and a lower encoding matrix, and thus allocate the generated plurality of code words to a first channel group and a second channel group.
[0081] As described above, since the upper encoding matrix and the lower encoding matrix respectively form different layers and overlap in sequence as the output of the upper encoding matrix is connected to the input of the lower encoding matrix, the mapping unit 120 can use the sequentially overlapping upper encoding matrix and lower encoding matrix to map a plurality of information bits to different depths for each channel group.
[0082] Hereinafter, the depth refers to the number of times polarized by the lower encoding matrix and the upper encoding matrix.
[0083] More specifically, in step S220, the mapping unit 120 can map at least a part of the plurality of information bits to the lower encoding matrix so that at least a part of the code words generated from at least a part of the plurality of information bits are allocated to at least one channel having a weight of a second value or more among the plurality of channels included in the first channel group; map at least a part of the plurality of frozen bits to the lower encoding matrix so that at least a part of the code words generated from at least a part of the plurality of frozen bits are allocated to at least one channel having a weight less than a first value among the plurality of channels included in the first channel group; map the remaining at least a part of the plurality of information bits and the remaining at least a part of the plurality of frozen bits to the upper encoding matrix and the lower encoding matrix in sequence so that at least a part of the code words generated from the remaining at least a part of the plurality of information bits and at least a part of the code words generated from the remaining at least a part of the plurality of frozen bits are allocated to the plurality of channels included in the second channel group.
[0084] Above, the encoding method in the structure composed of layer 1 corresponding to the upper encoding matrix and layer 2 corresponding to the lower encoding matrix has been described. Similarly, in the structure where a plurality of upper encoding matrices and lower encoding matrices are implemented and the set of the upper encoding matrix and the lower encoding matrix is included in a plurality of sets, the encoding method can be executed for the set of the upper encoding matrix and the lower encoding matrix, and for a plurality of sets, it can be repeatedly executed. Thus, as a plurality of lower encoding matrices and upper encoding matrices are implemented, the determination unit 110 and the mapping unit 120 can repeatedly operate.
[0085] This will be described in detail with reference to the following Figures 3a to 3g to describe the structure of the encoding device 100 of this embodiment in detail.
[0086] Figures 3a to 3g FIG. is an example diagram showing the structure of an encoding device based on improved depth polarization according to an embodiment. Refer to Figure 1 andFigure 2 The described encoding device 100 may have a structure as shown when implemented. Figures 3a to 3g as shown.
[0087] Referring to Figure 3a , the determination unit 110 can determine, among the multiple channels W1, W2, W3, W4, the multiple channels W2, W3 whose respective weights of the polarized multiple channels are within a range that is equal to or greater than a preset first value and less than a second value, as the second channel group connected to the multiple overlapping coding matrices (the lower coding matrix G4 and the upper coding matrix G2), and determine the remaining multiple channels W1, W4 as the first channel group connected to the lower coding matrix G4.
[0088] After the mapping unit 120 maps a part of the multiple information bits V2, U4 to the lower coding matrix G4 to generate the codeword X4, it can allocate it to the channel W4 having a weight equal to or greater than the second value among the multiple channels W1, W4 included in the first channel group.
[0089] Furthermore, after the mapping unit 120 maps a part of the multiple frozen bits U1, V1 to the lower coding matrix G4 to generate the codeword X1, it can allocate it to the channel W1 having a weight less than the first value among the multiple channels W1, W4 included in the first channel group.
[0090] Furthermore, after the mapping unit 120 maps the remaining part of the multiple information bits V2, U4 and the remaining part of the multiple frozen bits U1, V1 to the upper coding matrix G2, and maps the bits U2, U3 output as a result to the lower coding matrix G4 to generate the codewords X2, X3, it can allocate them to the channels W2, W3 included in the second channel group in sequence.
[0091] Above, the encoding method of one embodiment has been described by taking the case where the block length is 4 as an example, but it can also be applied in the case where the block length is greater than 4. n Similarly applicable.
[0092] Hereinafter, based on the deep polar codes which are a series of pre-transform polar codes, the encoding method of the encoding device 100 of one embodiment will be described.
[0093] I. Deep Polar Codes
[0094] A. Encoding
[0095] Deep polar codes are defined by the following parameters.
[0096] i) L transformation matrix
[0097] ii) L information set
[0098] iii) L connection set
[0099] For these parameters, the depth polarization encoder (hereinafter, the depth polarization encoder or encoder refers to Figure 1 the encoding device 100 shown) performs information bit splitting and successive encoding.
[0100] Information bit splitting and mapping: The information vector that transmits K information bits is split into L information sub-vectors respectively For the size of
[0101] Assume is for the layer of length is the input vector. Then the index set of the layer is split into the following three non-overlapping sub-index sets.
[0102] Formula 1:
[0103]
[0104] where is the frozen bit set of layer and the vector of the information layer of the layer is assigned to On the contrary, the frozen bits are assigned to where
[0105] Successive encoding: As Figure 3b shown, the layer L depth polarization code is formed by the layer L successive encoding procedure. Assume is the L-1 <N L th layer pre-transformation matrix. Then, different from the polarization-adjusted convolutional (PAC) or other polarization-adjusted convolutional-like codes, the depth polarization code uses the transpose of the polarization transformation matrix and the pre-computed matrix multiplied in the following manner for the length of
[0106] Formula 2:
[0107]
[0108] The transposed matrix has an upper triangular structure. As long as the upper triangular matrix structure with non-zero diagonal elements is maintained, all transformation dictionary matrices can be used.
[0109] At the first layer, the encoder generates the input vector encoded at the first layer. A1 = φ. The encoder output of the first layer is generated by .
[0110] Equation 3:
[0111]
[0112] At the second layer, the output vector encoded at the first layer is assigned to the set of connection indices A2 for the input of the second layer, i.e., Since Therefore, the input vector encoded at the second layer is as follows.
[0113] Equation 4:
[0114]
[0115] Multiply u2 by to obtain the output vector encoded at the second layer as follows.
[0116] Equation 5:
[0117]
[0118] Similar to the second layer encoding, for the -th layer encoder takes the input vector.
[0119] Equation 6:
[0120]
[0121] where Multiply by the following formula to generate the corresponding output vector.
[0122] Equation 7:
[0123]
[0124] To simplify the notation, the output of the last layer encoder is denoted as the channel input x.
[0125] B. Rate analysis
[0126] Based on the information and connection sets of all layers ( and ) selection determines the error correction performance of the polar code of depth. Thus, the encoding device 100 of one embodiment can utilize an effective rate analysis technique that achieves excellent encoding performance through flexible decoding complexity. The rate analysis method constructs and separately layer by layer for all layers and carefully connects the layers.
[0127] and selection: The selection method for the information and connection set of the th layer will be described. To construct and independently across layers, assume the channel input is composed of and polar transformation . This input vector is transmitted through the B-DMC W: and generates the channel output Then the i-th channel (where ) is defined as follows.
[0128] Equation 8:
[0129]
[0130] where, for and a < b, is the capacity of the i-th channel.
[0131] To construct and first, select and define the index set according to the Reed-Muller code rate analysis such that the weight of the row reaches or more.
[0132] Equation 9:
[0133]
[0134] where is the minimum target distance for encoding the th layer. Next, the sorted index set of is defined as follows.
[0135] Equation 10:
[0136]
[0137] where i1 is the index of the most reliable synthetic channel. That is, or the index of the minimum Bhattacharyya value, i.e.,
[0138] Using this sorted index set, by selecting for a given code length the bit-channel indices that polarize with a capacity close to 1 to generate an information set
[0139] Equation 11:
[0140]
[0141] where is selected as an arbitrarily small value,
[0142] Next, the connection set is composed of subsets. Assume is the index that provides the high bit-channel capacity in then the connection set is as follows.
[0143] Equation 12:
[0144]
[0145] The frozen set of layer is defined as the index set excluded from both the information set and the connection set, as follows.
[0146] Equation 13:
[0147]
[0148] The deep polar code generated from the proposed information and layer-by-layer connection sets can guarantee the minimum distance.
[0149] C. Comments
[0150] Coding complexity: The deep polar code can be regarded as a generalized version of the standard polar code. The standard polar code can be regarded as a deep polar code with a single layer having no zero connections. Also, the deep polar code serves as an alternative form formula of a pre-transform polar code including a polar-adjusted convolutional code.
[0151] The layer coding complexity is Therefore, the overall coding complexity can be expressed as follows.
[0152] Equation 14:
[0153]
[0154] When N L For sufficiently larger than , the coding complexity can be similar to that of the standard polar code. For selecting a smaller size is a practical and effective strategy to reduce the coding complexity.
[0155] Flexible connection set construction: When the size of is not equal to , in order to provide further flexibility during the layer connection process, the pre-transform matrix of the layer can be configured as a partial matrix of
[0156] by selecting columns. This construction improves the adaptability of the system layer connection. L by the constructed L-layer polar transform of the input vector u. As a result, the deep polar code can be represented as the overlap of two sub-codewords as follows.
[0157] Equation 15:
[0158]
[0159] On the other hand, the first row forms a polar code. On the contrary, the second row generates a polar code that varies over multiple layers. As a result, the deep polar code can be understood as a combination of a polar code and an overlap code of a transformed polar code.
[0160] Minimum distance of the deep polar code: The minimum distance of the deep polar code is greater than or equal to the minimum distance of layer L By construction, the encoder selects the information with the constructed weight greater than and for all connection sets selects the row vectors of G NL . That is, for as follows.
[0161] Equation 16:
[0162]
[0163] Since the transform matrix has an upper triangular structure, it is guaranteed that the sub-codewords of the transform at least maintain
[0164] Weight spectrum improvement: Like other pre-transformed polar codes, the deep polar code has an enhanced weight spectrum compared to conventional polar codes. This is because the sub-codeword x is generated through partial pre-transformation TP .
[0165] Deep polar codes supporting cyclic redundancy check: A possible extension of deep polar codes is to connect with cyclic redundancy check (CRC) codes. In this scheme, the K-bit information vector d is pre-coded using the CRC generating polynomial and CRC bits are added. As a result, the length of the information sequence is K + K CRC . Among them, K CRC represents the number of CRC bits. Also, to improve the decoding performance, short CRC bits can be added to .
[0166] II. Examples
[0167] To better understand the proposed coding method, this section provides several examples of deep polar codes in the short block length scenario. Throughout this section, the binary erasure channel with an erasure probability of 0.5 is used to focus on the transmission scenario of short data packets of length 32. That is, in three different , I(W) = 0.5
[0168] A. Channel polarization and row weight of G 32 For the construction of deep polar codes, it is important to understand the polarization bit channel capacity and row weight of G
[0169] . As 32 shown, the circles represent the bit channel capacity of I(W) = 0.5 for the binary erasure channel. That is, for i ∈
[32] , Figure 7 . The crosses represent the weights after normalizing G according to the index i ∈
[32] , that is 32 . Obviously, according to the bit channel capacity, the sorted index set and the normalized weights are not the same. For example, or or . As a result, to facilitate successive cancellation (SC) decoding, when the information bits set according to the polar rate analysis contain the bit index 25, the minimum distance of the codeword decreases. To provide excellent coding performance, it is necessary to consider both the weight and the bandwidth capacity to select the bit index. The rate analysis of polar codes uses successive pre-transformations between layers and this strategy
[0170] B. Example 1
[0171] Two transformation matrices for layer 1 and the G32 construction for layer 2 are used respectively and Deep polar code. The code rate is To use and G 32 To construct a deep polar codeword, it is necessary to define the information sets for layer 1, and layer 2, and the set connecting layer A2. The minimum target distance for the second layer can be obtained by collecting the indices of the rows of G 32 with weights greater than
[0172] According to the bit-channel capacity for i ∈ R2 The information set for the second layer is selected as follows.
[0173]
[0174] Among them, Since N1 = 8, the connection set corresponding to the second layer can be obtained by taking the 8 bit-channel indices that provide the maximum capacity.
[0175]
[0176] It should be noted that the capacity of bit-channel index 25 is greater than that of index 12, that is, but it is excluded from the connection set. This is because wt(g 32,25 ) = 4 < wt(g 32,12 ) = 8. The frozen set of the second layer is
[0177] In the first layer, when using the polar transformation matrix G8, 4 indices that produce the highest bit-channel capacity are selected, while ensuring that the information and the frozen set are selected as and F1 = {8, 7, 6, 4}. Then, the first layer output vector is connected to the input of the connection set .
[0178] C. Example 2
[0179] Provide another example of a deep polar code with a code rate of on the same binary erasure channel with I(W) = 0.5. Similar to Example 1, as R2 = {8, 12, 14, 15, 16, 20, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32}, the indices of the row vectors of G with weights greater than 8 are also selected. 32
[0180] Then, an information and connection set is selected by a deep polarity analysis method, such as and that of A2 = {8, 12, 14, 20} Then, the information set for the first layer is selected as of
[0181] D. Comparison between Reed-Muller Codes and Polar Codes
[0182] The deep polar codes of Examples 1 and 2 are compared with the conventional Reed-Muller codes and polar codes. For a fair comparison, polar codes are generated by selecting the upper K ∈ {11, 15} channel indices that provide high capacity. To construct Reed-Muller codes with an information bit size of K ∈ {11, 15}, the subcodeword sets of the [32, 16] Reed-Muller code are considered. The information set of the [32, 16] Reed-Muller code is as shown in Equation 17. Therefore, the information set for K = 15 is selected as a subset of, that is
[0183] In particular, to optimize the code performance, the 16 weight distributions of the possible subcodebooks of the [32, 16] Reed-Muller code are evaluated, and the subcodebook with the minimum weight and the fewest codewords is selected.
[0184] Equation 17:
[0185]
[0186] Weight Distribution: As shown in Table 1 below, the proposed deep polar codes provide better weight distributions than the Reed-Muller codes and polar codes at both code rates. In particular, the deep polar codes consistently maintain the minimum distance of 8 at both code rates, while having fewer codewords with the minimum weight than the Reed-Muller codes. Also, the [32, 15] deep polar code can improve both the minimum distance and the number of codewords with the minimum weight simultaneously.
[0187] Table 1:
[0188] COMPARISON OF THE WEIGHT DISTRIBU TIONS
[0189]
[0190] Block Error Rate (BLER) Performance: To demonstrate the improvement effect of the weight distribution in the code design, while increasing the erasure probability of the binary erasure channel, the frame error rates (FERs) of the three channel codes under maximum likelihood (ML) decoding are shown. As Figure 8As shown, the proposed deep polar codes provide a significant block error rate improvement compared to Reed - Muller codes and polar codes when K = 11. This block error rate gain is due to a significant reduction in the number of codewords with the minimum weight. When K = 15, the minimum distance of deep polar codes and Reed - Muller codes is greater than that of polar codes, thus improving the block error rate performance. In this case, the minimum distance of deep polar codes is the same as that of Reed - Muller codes, but as shown in Table 1 above, the number of codewords with the minimum weight is reduced, so the performance of deep polar codes is slightly better than that of Reed - Muller codes.
[0191] One notable result is that deep polar codes can achieve better block error rate performance than the dependence test (DT) bound, which is one of the strongest achievable bounds for the binary erasure channel in finite - block - length scenarios. The results show that deep polar codes have the potential to achieve the capacity of the binary erasure channel with a small gap in short - block - length scenarios with various code rates.
[0192] Pre - transformation using a sub - upper - triangular matrix: Different from existing pre - transformed polar codes that use upper - triangular matrices for pre - transformation, the proposed coding structure introduces a unique scheme. The final cross - layer transformation matrix can be regarded as a sub - matrix of an upper - triangular matrix. As can be seen from the previous example, the pre - transformation matrix that can be combined represents a two - layer coding structure as follows.
[0193] Equation 18:
[0194]
[0195] Finally, the pre - transformation matrix T obviously does not exhibit a super - diagonal structure. Instead, the sub - matrix of T exhibits the form of an upper - triangular matrix. This condition is less strict than that of pre - transformed polar codes that require the entire T matrix to be upper - triangular.
[0196] III. Generalized Deep Polar Codes
[0197] This section presents an improved deep polar coding method based on previous construction techniques. In previous schemes, the layer - by - layer encoder uses a single pre - transformation matrix. Although this coding method is simple, the restriction of using only one pre - transformation matrix per layer limits the flexibility of code design. This basic construction method of deep polar codes is called Construction A.
[0198] To improve the flexibility of deep polar code design, a new scheme called the generalized successive coding method for deep polar codes is introduced. The core idea of this method is to utilize multiple pre-transform matrices layer by layer during encoding. The sizes of the multiple pre-transform matrices can be different. This technique differentiates from Construction A by enhancing adaptability and user definition in code design. This advanced construction method is called Construction B. Construction B provides significantly improved functionality compared to the original Construction A by leveraging the capabilities of multiple pre-transform matrices in each encoding layer. This provides a more diverse and adaptable framework for designing deep polar codes.
[0199] A. Encoding - Construction B
[0200] Define several notations.
[0201] i) Assume and are the j-th information and connection sets of layer . Among them,
[0202] ii) Assume and are the j-th information and connection bits of layer .
[0203] iii) Assume is the j-th encoding matrix of layer .
[0204] iv) Assume is the j-th encoder output of layer .
[0205] The encoding process is a sequential operation. The difference is that multiple pre-transform matrices can be used layer by layer, and the size of each pre-transform matrix can be different.
[0206] Step 1: The j-th encoder output vector in layer is generated as follows.
[0207] Equation 19:
[0208]
[0209] Step 2: The j-th output vector in layer is assigned to the j-th connection bit of layer in the following way.
[0210] Equation 20:
[0211]
[0212] The encoder repeats Steps 1 and 2 for encoding until the last layer L is reached.
[0213] Such a depth polar encoder may have a structure as shown Figures 3b to 3g below. More specifically, Figure 3e a generalized depth polar encoder with L = 4 is shown. Contrary to Construction A, the encoder output v2 of layer 2 is split into two separate components and These components are then separately mapped to two connection vectors of layer 3, and respectively. Then, such connection vectors serve as partial inputs for the layer 3 encoding process.
[0214] At layer 3, two pre-transformation matrices and are used in parallel. Their sizes may be different. Each connection vector is combined with and to form the input vector of the encoder thereby generating Finally, the final layer encoder uses and utilizes to generate the final codeword x.
[0215] B. Encoder generalization effect
[0216] To describe two different construction methods, an example focusing on [32, 12] depth polar codes is presented, and the weight distribution and block error rate performance are compared.
[0217] Construction A: Figure 3g A visual representation of Construction A that uses a single pre-transformation matrix layer by layer is provided. Layer-by-layer information and the fixed set are shown in the figure.
[0218] Construction B: In this alternative Construction B, two pre-transformation matrices are used to generate two separate connection bits between layer 1 and layer 2. The sizes of the two transformation dictionary matrices may be different. As a result, the size of the final connection set is not necessarily a power of 2. This construction provides greater freedom in the construction of depth polar codes.
[0219] Table 2 below compares the weight distributions of three other codes, including [32, 12] polar codes, depth polar codes with Construction A, and depth polar codes with Construction B. As demonstrated in the pre-transformation method, it is obvious that compared with polar codes, the construction of the two depth polar codes significantly reduces the number of minimum weight codewords. And, the number of minimum weight codewords of Construction B is less than that of Construction A. This example clearly highlights the advantages of using multiple connection sets in the design of depth polar codes.
[0220] Table 2:
[0221] COMPARISON OF THE WEIGHT DISTRIBUTIONS
[0222]
[0223] To further evaluate the performance, the block error rates of two deep polar codes with respect to polar and Reed - Muller type codes were observed using maximum likelihood (ML) decoding. Figure 9 The results are shown, indicating that the performance in terms of the block error rate of the deep polar code with Construction B is superior to all other codes. This superiority may be due to minimizing the minimum - weight codeword count.
[0224] Figure 4 FIG. shows a block diagram of a decoding apparatus based on improved deep polarization according to an embodiment. Figure 5 FIG. shows a flowchart of a decoding method based on improved deep polarization according to an embodiment. Hereinafter, the described decoding apparatus and decoding method correspond to an apparatus and method for decoding a plurality of codewords generated and transmitted by the encoding apparatus and encoding method described by referring to Figure 1 、 Figure 2 、 Figures 3a to 3g The decoding apparatus 400 according to an embodiment is an apparatus that decodes a codeword encoded by the foregoing encoding apparatus 100 by performing back - propagation - based deep polar decoding. It is characterized in that, when decoding, the layer - by - layer frozen bits used for encoding in each of the plurality of layers included in the encoding apparatus 100 are used as parity bits.
[0225] Referring to Figure 4 and Figure 5 ,the decoding apparatus 400 of an embodiment is an apparatus that decodes a codeword encoded by the foregoing encoding apparatus 100 by performing back - propagation - based deep polar decoding. When decoding, the layer - by - layer frozen bits used for encoding in each of the plurality of layers included in the encoding apparatus 100 are used as parity bits.
[0226] More specifically, as shown in the following Figure 6c and 6d ,the decoding apparatus 400 decodes the connection bits for encoding the bottom layer based on the frozen bits for encoding the bottom layer provided at the output end of the encoding apparatus 100 in the plurality of layers. Among them, the plurality of frozen bits for encoding the remaining plurality of layers except the bottom layer in the plurality of layers can be used as parity bits.
[0227] That is, the decoding apparatus 400 can continuously confirm parity bits in a back - propagation structure.
[0228] This decoding device 400 can perform decoding by using at least a part of the output values encoded in each of the multiple layers previously received from the encoding device 100 and at least a part of the output values encoded in each of the multiple layers received again from the encoding device 100. For example, if the decoding fails using the received received signal, the decoding device 400 attempts to re-decode by re-receiving the output value of the L-1 layer, using the received signal received when re-receiving the output value of the L-1 layer and the received signal received during the previous reception. If the decoding fails, it can attempt to decode in the same way by re-receiving the output value of the L-2 layer.
[0229] In this case, as described below Figure 6e As shown, the decoding device 400 can use the mode of the connection bits that can be used for encoding the underlying layer and are set at the output end of the encoding device 100 in the multiple layers as additional frozen bits for decoding the connection bits for encoding the underlying layer.
[0230] Specifically, the decoding device 400 can pre-generate the mode of the connection bits that can be used for encoding the underlying layer, and simultaneously use the generated connection bits and frozen bits to parallel-decode multiple information bits, select the information bit with the highest belief and the connection bit corresponding to the information bit with the highest belief from the decoded multiple information bits, and perform decoding on them.
[0231] Among them, the decoding device 400 can use the decoded connection bits as the connection bits for encoding the underlying layer, and through the inverse matrix of the encoding matrix of the previous layer used for encoding the underlying layer, decode the information bits and connection bits used for encoding the previous layer, and decode the information bits used for encoding the previous layer.
[0232] For example, the decoding device 400 can, based on the connection bits used for encoding the Lth layer in the multiple layers, through the inverse matrix of the encoding matrix of the (L-1)th layer, which is the previous layer of the Lth layer, decode the information bits and connection bits used for encoding the (L-1)th layer, and decode the information bits used for encoding the (L-1)th layer.
[0233] And, as described below Figure 6fAs shown, the decoding device 400 can calculate the long likelihood ratio of the received signal received from the encoding device 100 according to the Guessing random additive noise decoding (GRAND) rule, estimate the transmitted codeword by reversing the bits of the received signal in descending order of the long likelihood ratio, use the inverse matrix of the polar kernel matrix encoded separately by the estimated transmitted codeword and the multiple layers included in the encoding device 100, and confirm the layer-by-layer parity check bits of each layer in the multiple layers in turn through the backpropagation structure, and determine the estimated transmitted codeword as the codeword transmitted by the encoding device 100.
[0234] That is, if the decoding device 400 successfully confirms the parity check bits up to the top layer, the estimated transmitted codeword can be determined as the codeword transmitted by the encoding device 100.
[0235] For example, after the decoding device 400 calculates the long likelihood ratio of each of the multiple connection bits in each layer and estimates the layer-by-layer connection bits in descending order of the layer-by-layer connection bit sizes, when the layer-by-layer parity check bits are successfully confirmed, the long likelihood ratio of the previous layer connection bits can be continuously backpropagated.
[0236] And, as described below Figures 6a to 6b As shown, the decoding device 400 can perform backpropagation of the long likelihood ratio, which is based on the received signal received from the encoding device 100 and the continuous encoding structure of the multiple layers included in the encoding device 100, and use the Belief propagation algorithm to calculate the long likelihood ratio of the connection bits of each layer in the multiple layers in turn.
[0237] In this case, during the process of backpropagating the layer-by-layer long likelihood ratio of each layer in the multiple layers, the decoding device 400 can use the parity check matrix existing in the null space of the encoding matrix used to encode each layer in the multiple layers and apply the Belief propagation algorithm in turn.
[0238] For example, the decoding device 400 can perform backpropagation on the layer-by-layer long likelihood ratio, and perform continuous encoding using the estimated information bits for each layer in the multiple layers and the long likelihood ratio corresponding to the estimated information bits, so as to perform long likelihood ratio forward propagation for updating the long likelihood ratio of the connection bits of each layer in the multiple layers.
[0239] Thus, the decoding device 400 can alternately and repeatedly perform backpropagation of the long likelihood ratio and forward propagation of the long likelihood ratio.
[0240] The decoding apparatus 400 described above may execute a code decoding method of multiple steps S510 to S520 for performing the described decoding method in a state including a receiving unit 410 and an obtaining unit 420.
[0241] In step S510, the receiving unit 410 may receive a plurality of codewords through a plurality of channels including a first channel group connected to a lower encoding matrix and a second channel group connected to an upper encoding matrix and the lower encoding matrix.
[0242] In this case, the first channel group and the second channel group refer to Figure 1 , Figure 2 , Figures 3a to 3g the first channel group and the second channel group used in the encoding method of the foregoing embodiment.
[0243] In step S520, the obtaining unit 420 may sequentially use a decoding matrix corresponding to the lower encoding matrix and a decoding matrix corresponding to the upper encoding matrix to obtain a plurality of information bits from the received plurality of codewords.
[0244] More specifically, the obtaining unit 420 may execute step S820 through the following steps: Step 1, obtain at least a part of a plurality of frozen bits transmitted through the first channel group from the received plurality of codewords; Step 2, calculate a long likelihood ratio of a plurality of bits output from the lower encoding matrix by using at least a part of the obtained plurality of frozen bits; Step 3, based on the long likelihood ratio of the plurality of bits output from the lower encoding matrix, use the decoding matrix corresponding to the lower encoding matrix to obtain at least a part of a plurality of information bits transmitted through the first channel group; and Step 4, based on the long likelihood ratio of the plurality of bits output from the lower encoding matrix, use the decoding matrix corresponding to the upper encoding matrix to obtain the remaining at least a part of a plurality of frozen bits transmitted through the second channel group and the remaining at least a part of a plurality of information bits transmitted through the second channel group.
[0245] Among them, since the obtaining unit 420 cannot determine the bits of the information transmitted from the upper encoding matrix to the lower encoding matrix when calculating the long likelihood ratio in Step 2, the long likelihood ratio may be calculated by probability marginalization.
[0246] Moreover, the obtaining unit 4210 can execute the fourth step through the following steps: the fourth - 1 step, determining the bits of the information transmitted from the upper encoding matrix to the lower encoding matrix based on the long likelihood ratios of multiple bits output from the lower encoding matrix; and the fourth - 2 step, based on the bits of the information transmitted from the upper encoding matrix to the lower encoding matrix and at least some of the multiple frozen bits transmitted through the first channel group, using the decoding matrix corresponding to the upper encoding matrix to obtain the remaining at least some of the multiple frozen bits transmitted through the second channel group and the remaining at least some of the multiple information bits transmitted through the second channel group.
[0247] By executing step S820 through these multiple steps (the first step to the fourth step), the decoding device 400 can decode and obtain all the information bits.
[0248] Above, the decoding method in the structure composed of layer 1 of the decoding matrix corresponding to the upper encoding matrix and layer 2 of the decoding matrix corresponding to the lower encoding matrix has been described. Similarly, in the structure that implements multiple decoding matrices corresponding to the upper encoding matrix and decoding matrices corresponding to the lower encoding matrix and includes a set of multiple decoding matrices corresponding to the upper encoding matrix and decoding matrices corresponding to the lower encoding matrix, the described decoding method is executed for the set including the decoding matrix corresponding to the upper encoding matrix and the decoding matrix corresponding to the lower encoding matrix, and this can be repeatedly executed for multiple sets. Thus, as multiple decoding matrices corresponding to the lower encoding matrix and decoding matrices corresponding to the upper encoding matrix are implemented, the receiving unit 410 and the obtaining unit 420 can operate repeatedly.
[0249] It will be described with reference to the following Figures 6a to 6f The structure of the decoding device 400 of the above - mentioned embodiment will be described in detail.
[0250] Figures 6a to 6f FIG. is an example diagram showing the structure of a decoding device based on an improved deep polarization. Refer to Figure 4 and Figure 5 The decoding device 400 described can have a structure as shown in Figures 6a to 6f when implemented.
[0251] Hereinafter, a decoding method of the decoding device 400 of an embodiment will be described based on deep polar codes of a pre - transformed polar code series.
[0252] A. Deep belief backpropagation decoder
[0253] First, a method such as Figure 6aThe shown Deep belief backpropagation (DBPP) decoder decodes the deep polar code newly. The deep belief backpropagation decoder utilizes recursive belief backpropagation including the reverse encoding process of the deep polar code. The main idea of deep belief backpropagation decoding is to utilize the reverse process of the successive encoding for the deep polar code. Deep belief backpropagation constructs L-step work by backpropagating the belief of the information bits.
[0254] Belief propagation decoding in layer L: The deep belief backpropagation decoder first calculates the soft information for xi based on the channel output yi for i ∈ [N L as follows.
[0255] Equation 21:
[0256]
[0257] Assume that the message from the check node u L,i to the variable node v L,j in layer L is And, show the message for the check node v L,j from the variable node v to L,i Assume that is the index set of the check nodes connected to the variable node v L,j where, is the J-th column of Assume that is the index set of the variable nodes connected to the check node u L,j where, is the I-th row of Then in each iteration, for L,i the variable-check message transmitted from v L,j to u is updated as follows.
[0258] Equation 22:
[0259]
[0260] For the variable-check message transmitted from u L,j to υ L,i is calculated as follows.
[0261] Equation 23:
[0262]
[0263] After a fixed number of iterations, for i ∈ [N L of υL,i For the result, the long likelihood ratio is calculated as follows.
[0264] Equation 24:
[0265]
[0266] Belief backpropagation in layer L: Assume that the long likelihood ratio vector obtained from belief propagation decoding in layer L is [γ L,1 ,..., γ L , N L . Then, the decoder propagates the soft vector to the information and connection input vectors of layer L.
[0267] Equation 25:
[0268]
[0269] Equation 26:
[0270]
[0271] Belief propagation decoding in layer L-1: The decoder obtains the long likelihood ratio values for the encoder output of layer L-1 from the previous layer decoding and assigns them to Similar to layer L, the decoder performs belief propagation decoding in layer L-1 using the parity check formula.
[0272] Equation 27:
[0273]
[0274] After multiple iterations, the belief propagation decoding updates the soft information for Assume that the long likelihood ratio values updated after belief propagation decoding using the initial value under the parity check condition of are Then, using the updated long likelihood ratio values the connections and information bits of layer L-1 are obtained as follows.
[0275] Equation 28:
[0276]
[0277] Equation 29:
[0278]
[0279] Belief propagation decoding in layer 1: The same belief backpropagation algorithm is executed in layer 1. Assume that the initial long likelihood ratio values are used under the parity check condition The updated long likelihood ratio after belief propagation decoding is
[0280] Equation 30:
[0281]
[0282] Using the updated long likelihood ratio, the decoder obtains the long likelihood ratio of the information bits for layer 1.
[0283] Equation 31:
[0284]
[0285] Belief forward propagation in layer 1: The decoder obtains the long likelihood ratio for the information bits through belief backpropagation to layer 1. Then, the encoder uses matrix T1 and frozen set F1 to update the long likelihood ratio for in the following manner to
[0286] Equation 32:
[0287]
[0288] Belief forward propagation from layer 1 to layer 2: Assuming belief backpropagation in layer 2 and using the long likelihood ratio obtained in and these connection bits, the decoder updates the long likelihood ratio from to as follows.
[0289] Equation 33:
[0290]
[0291] Belief forward propagation starting from layer L: The same belief forward propagation decoding procedure is repeated up to layer L. Assuming the output of belief forward propagation in layer L is
[0292] Equation 34:
[0293]
[0294] Then, the decoder uses as the initial variable node long likelihood ratio to perform belief propagation decoding again.
[0295] Repeated belief backpropagation and forward propagation: The entire algorithm is as shown in Figure 6b Figure.
[0296] B. Successive cancellation list decoder using backpropagation parity check
[0297] As shown Figure 6c herein, an efficient successive cancellation list decoding method for deep codes is proposed using the principle of bitwise backpropagation predictive control algorithm (BPPC). The successive cancellation list decoding method uses a binary tree search technique that takes into account the information bits of layer L, and the connection bits . In particular, once accurately identified , by using the recursive decoding process, the information bits of the previous layer can be correctly decoded. Therefore, in the decoder, it is only necessary to focus on accurately identifying .
[0298] To improve the path pruning mechanism in successive cancellation list decoding with a finite list size, a new algorithm called the bitwise backpropagation predictive control algorithm is proposed. The basic idea of this algorithm is to confirm the backpropagation syndrome check conditions for the elements represented as u L,i for each i belonging to the set AL at the bit level layer by layer. To simplify the notation, is defined as the upper left part matrix of with dimensions k×k. The pre-transform matrix of the deep polar code can have an inherent property. That is, its inverse is the same as its transpose.
[0299] Equation 35:
[0300]
[0301] If the connection bits of layer are represented as , it can be expressed as follows. Equation 36:
[0302] where
[0303]
[0304] is a subsequence of the first k elements that make up . Next, two parts are extracted from the estimated frozen bits of layer . One part is used for parity check, and the other part is configured as the connection bits recursively applied using Equation 36. Finally, the estimated frozen bits are collected layer by layer and their syndromes are verified. The successive cancellation list decoder uses a step-by-step search strategy on the binary tree. At each bit
[0305] , the decoder explores two paths in the binary tree and sets u = 0 or u L,i = 1L,i = 1 is added to each candidate path to expand the candidate path list. As a result, the number of paths doubles, but is limited to a predetermined maximum value S. Different from the standard successive cancellation list decoder, whenever a new path is generated, the proposed scheme integrates the bitwise backpropagation prediction control algorithm method for i ∈ AL. This bit-unit bitwise backpropagation prediction control algorithm mechanism can easily remove paths that do not satisfy the parity check condition during the successive cancellation list decoding process. If the new path satisfies the bitwise backpropagation prediction control algorithm and its order is specified as one of the S most reliable paths, then the path is included in the list. On the contrary, if the new path fails the bitwise backpropagation prediction control algorithm or its belief is lower than the previous S paths in the list, then the path is deleted. This iterative process continues until i ∈ [NL]. Finally, the decoder selects the path with the highest belief metric as the output. When S = 1, the decoder uses backpropagation parity check to simplify the successive cancellation (SC) decoder. The depth-polar successive cancellation list decoding procedure is described in Algorithm 1 below.
[0306] Algorithm 1:
[0307]
[0308] Decoding complexity: In addition to the successive cancellation list decoding complexity with a list size of O(SN L logN L ), the proposed decoder also introduces additional decoding complexity caused by the operation of the bitwise backpropagation prediction control algorithm. Parity checks with a complexity of can be performed layer by layer. As a result, the overall complexity is equal to the sum of the complexity required for successive cancellation list decoding and pre-transform inverse operation. When N
[0309] Formula 37:
[0310]
[0311] is significantly larger than L significantly greater than , the additional complexity introduced by the pre-transform inverse operation can be ignored.
[0312] And, as Figure 6d shown, the successive cancellation list decoder using the above backpropagation parity check can also be implemented as a structure including a cyclic redundancy check (check).
[0313] C. Low-latency decoder using a parallel successive cancellation list decoder
[0314] Low-latency decoding plays an important role in supporting ultra-reliable low-latency communication (URLLC) applications. In this subsection, a method for implementing low-latency decoding of deep polar codes is proposed. As Figure 6e shown, the proposed scheme includes parallelly using a standard successive cancellation list decoder to estimate the information vector which is represented as the connecting bits of layer L together with the frozen bits is assumed as an additional frozen set. Using the knowledge of the deep polar encoder, the decoder can generate all the connecting bit patterns available for layer L.
[0315] Based on the identifier K1+K2+...K L-1 =K-K L it can be inferred that there are 2K-KL potential connecting bit patterns for . The j-th connecting bit pattern can be represented. Among them, If the j-th connecting bit pattern and the frozen bits of the last layer are given, the successive cancellation list decoder identifies the most reliable information vector from a list of size S. The successive cancellation list decoding results for the possible j-th connecting bit pattern and frozen bits are represented as The decoder selects the most reliable estimate from the set
[0316] Formula 38:
[0317]
[0318] The parallel successive cancellation list decoding method provides the advantage that the ability of parallel processing can be utilized to reduce the decoding latency time. However, the hardware complexity of this method may increase exponentially according to the number of information bits encoded in layer . Among them, and K-K L . Therefore, the practical use of this method is limited to scenarios where the value of K-K L is small enough.
[0319] D. Guess Random Additive Noise Decoding (GRAND) Assisted Backpropagation Parity Check Decoder
[0320] The guess random additive noise decoding assisted backpropagation parity check decoder can be implemented as shown in Figure 6f .
[0321] The decoder estimates x L for i ∈ [N i in the following way.
[0322] Formula 39:
[0323]
[0324] If decoding fails, i.e., the decoder estimates the channel input vector using a general decoding method that includes successive cancellation list, belief propagation, and guess random additive noise decoding (GRAND) method
[0325] If decoding is successful, the decoder generates the input vector for layer L through reverse coding.
[0326] Formula 40:
[0327]
[0328] The decoder obtains the information bits in layer L from this reverse coding, then, the estimated connection bits are propagated as inputs for the L-1 decoding step.
[0329] Step L-1 decoding: Similar to the previous decoding step, the decoder applies syndrome checking in layer L-1 using the connection bits obtained from the previous step obtained.
[0330] Formula 41:
[0331]
[0332] If the syndrome checking fails, the decoder generates another estimate of by adding possible noise patterns until the syndrome checking of Formula 41 is successful.
[0333] Different from the previous guess random additive noise decoding method, since the channel belief is known to be the one detected in layer L it is not obvious to calculate the most likely noise pattern in layer L-1.
[0334] Formula 42:
[0335]
[0336] The connection bits are obtained in the following way through reverse coding of layer L
[0337] Formula 43:
[0338]
[0339] For i ∈ A L of uL,i ∈A L Can be used for of The sum gives ( The i-th column vector support set of ). Therefore, for u L,i The belief of is calculated as follows.
[0340] Formula 44:
[0341]
[0342] The noise pattern is u for i∈AL L,i The belief values of are added in descending order, that is Until the parity condition is met.
[0343] If the syndrome check is completed successfully, the decoder uses the inverse matrix of TL-1 The estimated values of the connections and information bits in layer L-1 are obtained as follows.
[0344] Formula 45:
[0345]
[0346] Formula 46:
[0347]
[0348] Decoding from L-2 to step 1: The decoder will check the estimated connection bits in the sub-check process layer by layer. Recursively propagate to the reverse layer. The decoder then generates information bits layer by layer Until you reach level 1.
[0349] The bitwise backpropagation predictive control algorithm decoder performs the inverse operation on the encoding process of the deep polar code. The polar transformation matrix can be selected as the encoding matrix for all layers. Specifically, for Since the inverse matrix of this encoding matrix is also a polarity transformation matrix, that is, Therefore, the decoding complexity of the bitwise backpropagation prediction control algorithm is the same as the encoding complexity. Also, guessing the random additive noise decoding type decoding requires significant additional complexity at each step.
[0350] The devices described above can be implemented by hardware structure elements, software structure elements, and / or a combination of hardware structure elements and software structure elements. For example, the devices and structure elements described in the embodiments can be embodied by a general-purpose computer or a special-purpose computer using at least one of a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit (PLU), a microprocessor, or other devices that can execute and respond to instructions. The processing device can execute an operating system (OS) and at least one software application executed on the above operating system. Further, the processing device can access, store, operate, process, and generate data in response to the execution of the software. For ease of understanding, although the case of using only one processing device is described, those of ordinary skill in the art to which the present invention pertains should understand that the processing device can include multiple processing elements and / or multiple types of processing elements. For example, the processing device can include multiple processors or one processor and one controller. Further, it can also include other processing configurations such as a parallel processor.
[0351] The software can include a computer program, code, instructions, or a combination of one or more of them, and can configure the processing device in a manner that operates as needed or independently or collectively issue instructions to the processing device. The software and / or data can be embodied in any type of machine, structure element, physical device, computer storage medium, or device for interpretation by the processing device or for providing instructions or data to the processing device. The software is distributed over computer systems connected by a network and can also be stored or executed by a distributed method. The software and data can be stored in at least one computer-readable recording medium.
[0352] The method of the embodiment can be recorded in a computer-readable medium in the form of program instructions executable by various computer units. In this case, the medium can also be used for temporarily storing, executing, or downloading computer-executable programs for continuous storage. Also, the medium can be various recording or storage devices combined by a single or multiple hardware components, and is not limited to a medium directly connected to a certain computer system, and can also be distributed on a network. As an example, the medium includes magnetic media such as hard disks, floppy disks, and magnetic disks, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and devices for storing program instruction languages such as read-only memories, random access memories, and flash memories. Also, as an example of other media, there are application stores for selling application programs, websites for providing or selling various other software, and recording or storage media managed by servers, etc.
[0353] As described above, although the embodiments have been illustrated through limited embodiments and drawings, those of ordinary skill in the art to which the present invention pertains can make various modifications and variations based on the above content. For example, the described technology is executed in a different order from the described method and / or the structural elements such as the described systems, structures, devices, circuits, etc. are combined or assembled in different implementation manners from the described method, or appropriate results can also be achieved even if they are replaced or substituted by other structural elements or equivalent technical solutions.
[0354] Therefore, other embodiments, other examples, and contents equivalent to the scope of the invention claimed in the patent application also fall within the scope of the invention claimed in the patent application of the present invention.
Claims
1. An encoding device for performing code encoding, characterized in that, Codewords are generated using a plurality of polar kernel matrices respectively connected to a plurality of layers.
2. The encoding device according to claim 1, wherein The plurality of polar kernel matrices respectively connected to the plurality of layers have different matrix sizes.
3. The encoding device according to claim 2, characterized in that, The matrix sizes of the plurality of polar kernel matrices respectively connected to the plurality of layers gradually decrease from the upper layer towards the input end of the encoding device along the upper layers.
4. The encoding device according to claim 3, wherein Among the plurality of layers, except for the bottom layer provided at the output end of the encoding device, the plurality of polar kernel matrices respectively connected to the remaining plurality of layers have a transpose relationship with the polar kernel matrix connected to the bottom layer.
5. The encoding device according to claim 1, characterized in that, Each layer among the plurality of layers is connected to at least one polar kernel matrix included in the plurality of polar kernel matrices.
6. The encoding device according to claim 1, characterized in that, The encoding device successively and alternately uses an upper triangular matrix and a lower triangular matrix as the plurality of polar kernel matrices respectively connected to the plurality of layers.
7. The encoding device according to claim 6, characterized in that, When the polar kernel matrix used by the bottom layer is a lower triangular matrix, the polar kernel matrix used by the layer immediately preceding the bottom layer provided at the output end of the encoding device among the plurality of layers is an upper triangular matrix; when the polar kernel matrix used by the bottom layer is an upper triangular matrix, the polar kernel matrix used by the layer immediately preceding the bottom layer provided at the output end of the encoding device among the plurality of layers is a lower triangular matrix.
8. The encoding device according to claim 1, characterized in that, The encoding device generates the codewords through a successive encoding method based on a linear or non-linear function, and the linear or non-linear function utilizes the partial connections between the plurality of layers.
9. The encoding device according to claim 1, characterized in that, The encoding device generates the codewords through a successive encoding method by applying cyclic redundancy check precoding to at least a part of the information bits.
10. The encoding device according to claim 1, characterized in that, The encoding device uses at least one of information bits, connection bits, or frozen bits as the encoding input bits for each layer among the plurality of layers, and the input positions of the information bits, the input bits, and the frozen bits are configured to not overlap with each other.
11. The encoding device according to claim 10, characterized in that, The codewords output as the output values of encoding in each layer among the plurality of layers are determined based on the polar kernel matrix used in each layer among the plurality of layers, the connection bits, and the information bits, and are used as the input of the connection bits for encoding in the subsequent layer.
12. The encoding device according to claim 10, wherein Based on the polar kernel matrix used in each layer among the plurality of layers and the channel state, positions with a bit channel capacity of a preset value or more are selected as the input positions of the information bits for encoding in each layer among the plurality of layers, Among the row positions where the row weight size of the polar kernel matrix used in each layer among the plurality of layers is a preset value or more, at least one position with a bit channel capacity of a preset value or more, excluding the positions assigned with the information bits, is selected as the input position of the connection bits for encoding in each layer among the plurality of layers.
13. The encoding device according to claim 1, wherein When retransmission is required in the communication environment, the encoding device retransmits at least a part of the output values encoded in each layer among the plurality of layers.
14. A decoding device for performing code decoding, characterized in that, When decoding, the layer-by-layer frozen bits used for encoding in each layer among the plurality of layers included in the encoding device are used as parity check bits.
15. The decoding device according to claim 14, characterized in that, The decoding device decodes the connection bits used for encoding the bottom layer based on the frozen bits used for encoding the bottom layer provided at the output end of the encoding device among the plurality of layers, and uses the plurality of frozen bits used for encoding the remaining plurality of layers except the bottom layer among the plurality of layers as parity check bits.
16. The decoding device according to claim 14, characterized in that, The decoding device continuously confirms parity bits through a backpropagation structure.
17. The decoding device according to claim 14, wherein The decoding device decodes by using at least a part of the output values encoded in each of the plurality of layers previously received from the encoding device and at least a part of the output values encoded in each of the plurality of layers re-received from the encoding device.
18. The decoding device according to claim 14, wherein The decoding device uses the pattern of connection bits that can be used to encode the bottom layer provided at the output end of the encoding device among the plurality of layers as additional frozen bits to decode the connection bits for encoding the bottom layer.
19. The decoding device according to claim 18, characterized in that, The decoding device pre-generates a pattern of connection bits that can be used to encode the bottom layer, and while using the generated connection bits and the frozen bits to parallelly decode a plurality of information bits, selects the information bit with the highest belief and the connection bit corresponding to the information bit with the highest belief among the decoded plurality of information bits for decoding.
20. The decoding device according to claim 19, wherein Based on the decoded connection bits as the connection bits for encoding the bottom layer, the decoding device decodes the information bits and connection bits for encoding the previous layer through the inverse matrix of the encoding matrix of the previous layer for encoding the bottom layer, and decodes the information bits for encoding the previous layer.
21. The decoding device according to claim 20, wherein Based on the connection bits for encoding the L-th layer among the plurality of layers, the decoding device decodes the information bits and connection bits for encoding the (L - 1)-th layer, which is the previous layer of the L-th layer, through the inverse matrix of the encoding matrix of the (L - 1)-th layer for encoding the L-th layer, and decodes the information bits for encoding the (L - 1)-th layer.
22. A decoding device for performing code decoding, characterized in that, Calculate the long likelihood ratio of the received signal received from the encoding device according to the guessed random additive noise decoding rule, estimate the transmitted codeword by inverting the bits of the received signal in descending order of the long likelihood ratio, use the estimated transmitted codeword and the inverse matrices of the polar core matrices respectively encoded in the plurality of layers included in the encoding device, and sequentially confirm the layer-by-layer parity bits of each of the plurality of layers through the backpropagation structure, and determine the estimated transmitted codeword as the codeword transmitted by the encoding device.
23. The decoding device according to claim 22, wherein The decoding device calculates the long likelihood ratio of each of the plurality of connection bits in each of the plurality of layers. After estimating the layer-by-layer connection bits in descending order, when the layer-by-layer parity bit confirmation is successful, continuously backpropagate the long likelihood ratio of the connection bits of the previous layer.
24. A decoding device for performing code decoding, characterized in that, Execute the backpropagation long likelihood ratio. The backpropagation long likelihood ratio is based on the received signal received from the encoding device and the continuous encoding structure of the plurality of layers included in the encoding device, and uses the belief propagation algorithm to sequentially calculate the long likelihood ratio of the connection bits of each of the plurality of layers.
25. The decoding device according to claim 24, characterized in that, During the process of backpropagating the layer-by-layer long likelihood ratio of each of the plurality of layers, the decoding device sequentially applies the belief propagation algorithm by using the parity check matrix existing in the null space of the encoding matrix for encoding each of the plurality of layers.
26. The decoding device according to claim 24, wherein The decoding device performs backpropagation on the layer-by-layer long likelihood ratio, and performs successive coding using the information bits estimated for each of the multiple layers and the long likelihood ratio corresponding to the estimated information bits, so as to perform long likelihood ratio forward propagation for updating the long likelihood ratio of the connection bits in each of the multiple layers.
27. The decoding device according to claim 26, wherein The decoding device alternately and repeatedly performs the backpropagation of the long likelihood ratio and the forward propagation of the long likelihood ratio.