Method for determining Hamming weight distribution of polarization code and related equipment
By recursively decomposing and merging the Hamming weight distribution method of sub-polar codes, the problem of low computational efficiency of Hamming weight distribution of long code long polar codes is solved, and the optimized design of longer code length coding in 5G NR system is realized.
Patent Information
- Application Number
- CN202510823420.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2025-04-30
- Filing Date
- 2025-06-19
- Publication Date
- 2025-11-14
AI Technical Summary
Existing technologies cannot efficiently and accurately calculate the Hamming weight distribution of long code long polar codes, which limits their application in 5G NR systems.
By recursively decomposing the polar code into multiple sub-polar codes, calculating and merging their Hamming weight distribution layer by layer until the code length of the sub-polar code is less than a preset threshold, the efficient and accurate calculation of the Hamming weight distribution of the polar code is achieved.
It enables fast and efficient calculation of Hamming weight distribution for longer code length polar codes, supporting the coding optimization design for longer code lengths in 5G NR systems.
Smart Images

Figure CN120956283A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the fields of communication technology and compression coding technology, and in particular to a method and related equipment for determining the Hamming weight distribution of polar codes. Background Technology
[0002] Polar codes were the first constructive coding scheme to achieve sufficient channel capacity, and within less than a decade of their introduction, they became the coding scheme for the control channel in 5G NR (New Radio) systems. In the construction theory of polar codes, the selection of information bit positions directly determines the overall scheme performance. The Hamming weight distribution, as a key indicator for evaluating the maximum likelihood decoding (ML) performance of polar codes, not only provides a theoretical basis for polar code performance analysis but also has significant guiding significance for the construction and optimization of polar codes.
[0003] While existing methods for calculating the Hamming weight distribution of polar codes for general information bit sets exist, their computational complexity remains high, limiting their application to polar codes with code lengths of 128 bits or less. In current 5G NR standards, polar codes can reach lengths of up to 1024 bits, and current methods cannot achieve accurate calculation of the complete Hamming weight distribution at such lengths. This technical bottleneck severely restricts the application of polar code optimization construction methods based on Hamming weight distribution analysis in long-code-length scenarios. Therefore, achieving efficient and accurate calculation of the Hamming weight distribution of even longer-code-length polar codes has become a critical technical challenge that urgently needs to be addressed. Summary of the Invention
[0004] In view of this, the purpose of this application is to propose a method and related equipment for determining the Hamming weight distribution of polar codes to overcome or at least partially solve the above problems.
[0005] To achieve the above objectives, a first aspect of this application provides a method for determining the Hamming weight distribution of a polar code, comprising:
[0006] Obtain the polar code;
[0007] Determine multiple coset codes of the polar code, and recursively decompose the coset codes until the code length of the sub-polar code at the current level is less than or equal to a preset threshold.
[0008] Exhaustive calculation of the Hamming weight distribution of the subpolar codes at the last level;
[0009] Starting from the last level, the Hamming weight distributions of the sub-polar codes are merged level by level to determine the Hamming weight distribution of the coset code.
[0010] The Hamming weight distributions of the coset codes are merged to determine the Hamming weight distribution of the polar codes.
[0011] Optionally, determining multiple coset codes of the polar code includes:
[0012] Determine the information bits and non-information bits of the polar code;
[0013] The indication sequence of the polar code is determined based on the information bits and the non-information bits;
[0014] In response to the fact that the codeword located at an even number of positions in the indication sequence of the polar code is an information bit and the codeword located at the position preceding the information bit is a non-information bit, the information bit is extracted to form a first set;
[0015] Each of the information bits located in the first set is expanded into 0 or 1 to determine a plurality of coset codes.
[0016] Optionally, the coset code is recursively decomposed until the code length of the sub-polar code at the current level is less than or equal to a preset threshold, including:
[0017] Based on the multiple coset codes, determine the indication sequence of the multiple coset codes respectively;
[0018] In response to the fact that the codeword at the even-numbered position of the indication sequence of the coset code and the codeword preceding the even-numbered position are both information bits, the information bit preceding the even-numbered position and the information bit at the even-numbered position are determined to be the first information bit and the second information bit, respectively.
[0019] In response to the fact that the codeword at the even-numbered position of the indicator sequence of the coset code and the codeword preceding the even-numbered position are both non-information bits, the non-information bits are subjected to modulo-2 addition to determine the first non-information bit, and the even-numbered non-information bits are determined as the second non-information bit.
[0020] The positions of the first information bit or the first non-information bit in the indication sequence of the coset code are filled to form a sub-polar code of the first level; and the positions of the second information bit or the second non-information bit in the indication sequence of the coset code are filled to form another sub-polar code of the first level.
[0021] In response to the code length of the sub-polar code of the first level being greater than a preset threshold, the above operation is repeated for the sub-polar code of the first level until the code length of the sub-polar code of the current level is less than or equal to the preset threshold.
[0022] Optionally, exhaustively calculate the Hamming weight distribution of the subpolar codes at the last level, including:
[0023] The indicator sequence of the sub-polar code is determined based on the last sub-polar code.
[0024] The information bits of the indicator sequence of the last level subpolar code are determined and expanded to 0 or 1 respectively, and the uncoded sequence of the last level subpolar code and the generator matrix corresponding to the uncoded sequence are determined.
[0025] The encoding sequence of the subpolar code of the last level is determined based on the uncoded sequence and the generator matrix corresponding to the uncoded sequence;
[0026] The Hamming weight and Hamming weight distribution of the subpolar code of the last level are determined based on the encoding sequence.
[0027] Optionally, starting from the last level, the Hamming weight distributions of the sub-polar codes are merged level by level to determine the Hamming weight distribution of the coset codes, including:
[0028] Starting from the last level, the Hamming weight distributions of the sub-polar codes located at the same level are merged, and then merged with the Hamming weight distributions of the sub-polar codes of the previous level, until the Hamming weight distribution of the coset code is determined.
[0029] Optionally, the Hamming weight distribution of the coset code is represented as:
[0030]
[0031] in, and Let L represent the first sub-polar code of the first level and the second sub-polar code of the first level, respectively. Let L represent the code length of the first sub-polar code of the first level, d1 represent the intermediate variable of the convolution, and d represent the Hamming weight of the coset code.
[0032] Optionally, the Hamming weight distribution of the polar code is represented as:
[0033]
[0034] Where M represents the number of information bits in the first set of the polar code. Represents the Hamming weight distribution of the coset code. This represents the information bits in the first set.
[0035] A second aspect of this application provides a device for determining the Hamming weight distribution of a polar code, comprising:
[0036] The acquisition module is used to acquire polar codes;
[0037] The decomposition module is used to determine multiple coset codes of the polar code and recursively decompose the coset codes until the code length of the sub-polar code at the current level is less than or equal to a preset threshold.
[0038] The exhaustive module is used to exhaustively calculate the Hamming weight distribution of the subpolar codes at the last level;
[0039] The determination module is used to merge the Hamming weight distributions of the sub-polar codes level by level, starting from the last level, to determine the Hamming weight distribution of the coset code.
[0040] The merging module merges the Hamming weight distributions of the sub-polar codes to determine the Hamming weight distribution of the polar codes.
[0041] A third aspect of this application provides an electronic device including a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that the processor executes the program to implement the method described in the first aspect.
[0042] A fourth aspect of this application provides a non-transitory computer-readable storage medium storing computer instructions for causing a computer to perform the method described in the first aspect.
[0043] As can be seen from the above, the method and related equipment for determining the Hamming weight distribution of polar codes provided in this application can accurately calculate the Hamming weight distribution of polar codes by recursively decomposing long-length polar codes into short-length sub-polar codes and merging the Hamming weight distributions of the sub-polar codes. Compared with existing methods for calculating the Hamming weight distribution of polar codes, it can calculate the Hamming weight distribution of polar codes with the same configuration more quickly.
[0044] The above description is merely an overview of the technical solution of the present invention. In order to better understand the technical means of the present invention and to implement it in accordance with the contents of the specification, and in order to make the above and other objects, features and advantages of the present invention more apparent and understandable, specific embodiments of the present invention are described below. Attached Figure Description
[0045] To more clearly illustrate the technical solutions in this application or related technologies, the drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the drawings described below are only embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0046] Figure 1 This is a flowchart of the Hamming weight distribution method 100 for determining polar codes according to an embodiment of this application;
[0047] Figure 2 This is a flowchart illustrating the determination of coset codes in an embodiment of this application;
[0048] Figure 3 This is a flowchart illustrating the recursive decomposition of coset codes in an embodiment of this application;
[0049] Figure 4 This is a schematic diagram illustrating the polar code decomposition process and the merging of the Hamming weight distribution of polar codes in an embodiment of this application.
[0050] Figure 5 A flowchart illustrating the exhaustive calculation of the Hamming weight distribution of the last level of subpolar codes in this application embodiment;
[0051] Figure 6 This is a schematic diagram illustrating the polar code decomposition and Hamming weight distribution merging in an embodiment of this application;
[0052] Figure 7 This is a schematic diagram of a Hamming weight distribution device for determining polar codes according to an embodiment of this application.
[0053] Figure 8 This is a schematic diagram of an electronic device according to an embodiment of this application. Detailed Implementation
[0054] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with specific embodiments and the accompanying drawings.
[0055] It should be noted that, unless otherwise defined, the technical or scientific terms used in the embodiments of this application should have the ordinary meaning understood by one of ordinary skill in the art to which this application pertains. The terms "first," "second," and similar terms used in the embodiments of this application do not indicate any order, quantity, or importance, but are merely used to distinguish different components. Terms such as "comprising" or "including" mean that the element or object preceding the word encompasses the elements or objects listed after the word and their equivalents, without excluding other elements or objects. Terms such as "connected" or "linked" are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect. Terms such as "upper," "lower," "left," and "right" are only used to indicate relative positional relationships; when the absolute position of the described object changes, the relative positional relationship may also change accordingly.
[0056] As a landmark breakthrough in the field of channel coding, polar codes, proposed by E. Arikan in 2009 based on channel polarization theory, became the first constructive coding scheme rigorously proven to achieve achievable capacity of discrete memoryless channels with symmetric binary input. Its theoretical superiority quickly translated into practical engineering value. Since the standardization process began, polar codes have completed the leap from theoretical breakthrough to industrial application in less than a decade, and were officially adopted by 3GPP (3rd Generation Partnership Project) as the standard coding scheme for the control channel of 5G NR systems. In the construction theory of polar codes, the optimal selection of information bit positions directly determines the bit error rate performance and implementation complexity of the encoding and decoding system. Hamming weight distribution, as a core parameter for evaluating the maximum likelihood decoding performance of polar codes, can not only predict the lower bound of the decoding error probability by analyzing codeword distance characteristics, but also guide the optimal configuration of the information bit set based on weight spectrum analysis.
[0057] Although related technologies have proposed methods for calculating the Hamming weight distribution of polar codes for general information bit sets, their computational complexity remains high, limiting the practically computable code length to N≤128. It is worth noting that, according to the 3GPP TS 38.212 standard, the standardized code length configuration for polar codes in 5G NR systems has been extended to N=1024, which exceeds the actual processing capabilities of current computing devices. More seriously, due to the limitations of the algorithm's time and space complexity, related technologies cannot guarantee computational accuracy when N≥256, and may even lead to process interruption due to exhaustion of computing resources. This technical bottleneck severely restricts the engineering application of polar code optimization design based on weight spectrum analysis in 5G-Advanced and 6G pre-research systems. Against this backdrop, developing computational methods with lower time complexity to achieve accurate calculation of the Hamming weight distribution of polar codes with longer code lengths has become a core technical challenge in advancing the evolution of coding schemes for next-generation communication systems.
[0058] Based on this, embodiments of this application provide a method and related equipment for determining the Hamming weight distribution of polar codes, which can efficiently calculate the Hamming weight distribution of polar codes, enabling the calculation of the Hamming weight distribution of polar codes with longer code lengths.
[0059] refer to Figure 1 The diagram shown is a flowchart of a Hamming weight distribution method 100 for determining polar codes according to an embodiment of this application. Method 100 begins with step S101, obtaining polar codes.
[0060] Based on the above description, in related technologies, when calculating the Hamming weight distribution of polar codes, the code length of the polar code is limited to the range N≤128. However, due to the limitations of the algorithm's time and space complexity, when the code length N≥256, the calculation accuracy cannot be guaranteed, and the process may even be interrupted due to hardware exhaustion.
[0061] Based on this, the purpose of this application is to overcome the limitations of related technologies where the code length of polar codes exceeds a certain range, making it impossible to effectively calculate the Hamming weight distribution of polar codes. Therefore, the obtained polar codes are polar codes with relatively long code lengths.
[0062] In an exemplary implementation, the code length of the polar code is not less than 256 bits.
[0063] It should be noted that although the Hamming weight distribution method 100 for determining polar codes in this application embodiment is mainly for polar codes with longer code lengths, it can also efficiently determine the Hamming weight distribution for polar codes with code lengths less than 256 bits.
[0064] Then in S102, multiple coset codes of the polar code are determined, and the coset codes are recursively decomposed until the code length of the sub-polar code of the current level is less than or equal to a preset threshold.
[0065] Specifically, refer to Figure 2 As shown, multiple coset codes of the polar code are determined, including:
[0066] S201. Determine the information bits and non-information bits of the polar code.
[0067] Polar codes consist of information bits and non-information bits. The non-information bits are fixed with known values to aid decoding, such as either 0 or 1. The information bits are the binary bits that carry valid data or control instructions in the polar code; they are the original data before encoding, and their values can be either 0 or 1.
[0068] By identifying the information bits and non-information bits using polar codes, it becomes easier to obtain the coset codes subsequently.
[0069] S202. Determine the polar code indicator sequence based on the information bits and non-information bits;
[0070] Among them, polar codes Given two parameters G N The value of h is determined by N, where N is the code length of the polar code, and G is the code length of the polar code. N It is the generator matrix of the polar code and satisfies or B N F2 is a bit reversal matrix, and F2 is a matrix. This is the Kronecker product operation, where h is the polar code indicator sequence. The polar code indicator sequence reflects the codeword order and position of the polar code.
[0071] In some alternative embodiments, determining the indication sequence of the polar code includes:
[0072] Determine the set of non-information bit positions and the set of information bit positions of the polar code;
[0073] In response to the fact that the codeword of the polar code belongs to the set of frozen bit positions and the position of the codeword in the uncoded sequence is 0, it is determined that the codeword in the polar code indication sequence is a frozen bit position and the codeword is 0;
[0074] In response to the fact that the codeword of the polar code belongs to the set of frozen bit positions and the position of the codeword in the uncoded sequence is 1, it is determined that the codeword is a frozen bit position in the polar code indication sequence and the codeword is 1;
[0075] If the codeword of the polar code belongs to the set of information bit positions, then the codeword is determined to be an information bit position in the polar code's indication sequence.
[0076] In some embodiments, the indicator sequence of the polar code is represented as:
[0077]
[0078] in It is a set of information bit locations. It is the set of frozen bit positions, u i It is an uncoded sequence The element at position i. Δ represents the element in the polar code indicating the sequence h. The value of h is the information bit. i Different values determine the uncoded sequence The i-th position is a non-information bit 0, and a non-information bit 1 is still an information bit.
[0079] For example, if the i-th position of the uncoded sequence is a non-information bit 0, the indicator sequence of the resulting polar code will also have a non-information bit 0 at the i-th position. If the i-th position of the uncoded sequence is a non-information bit 1, the indicator sequence of the resulting polar code will also have a non-information bit 1 at the i-th position, and so on.
[0080] S203. In response to the fact that the codeword located in the polar code is an information bit in the even-numbered position of the sequence and the codeword located in the position preceding the information bit is a non-information bit, the information bits are extracted to form the first set.
[0081] In other words, in this step, for all integers m ∈ [1, N / 2], if the (2m-1)th position is not an information bit and the 2mth position is an information bit, then the position number 2m is recorded. (Set) The position numbers 2m that satisfy this condition were recorded.
[0082] For example, if the indicator sequence of a polar code is h = [0,1,1,Δ,Δ,Δ,1,0,1,Δ], then the codeword in the even-numbered positions is the information bit and the codeword located one position before the information bit is the non-information bit. That is, the codeword in the 4th position and the codeword in the 10th position are extracted to form the first set.
[0083] S204. Expand each of the information bits located in the first set into 0 or 1 respectively to determine a plurality of coset codes.
[0084] Among them, the information bit sequence in the first set It is by indicating the position number in the sequence in the first set The number of coset codes is determined by the number of elements in the first set, obtained by extracting the information bits within the set. Fixed as {0,1} M After each sequence in the sequence, we obtain 2. M A sequence, at this time the coset code The quantity is also 2 M M represents the number of elements in the first set, i.e., the number of information bits.
[0085] For example, in the polar code indicator sequence h = [0,1,1,Δ,Δ,Δ,1,0,1,Δ], the number of elements in the first set is 2, which are the codeword at the 4th bit and the codeword at the 10th bit, so the number of coset codes is 4.
[0086] In some embodiments, reference Figure 3 As shown, the coset code is recursively decomposed until the code length of the sub-polar code at the current level is less than or equal to a preset threshold, including:
[0087] S301. Determine the indication sequence of the multiple coset codes respectively.
[0088] In polar codes In, the elements in the sequence h are indicated. The value of is Δ, in the coset code In the coset code, the indicator sequence elements in The value of is 0 or 1, and its value is determined by u. i The expansion value is determined by this. As for the remaining positions, i.e. have Understandably, regarding Its value is uncertain; it can be either 0 or 1.
[0089] In addition, the generator matrix of each coset code is still or
[0090] Similar to the above embodiments, when it is determined that there are 4 coset codes, the indication sequence of the coset codes is obtained as follows: and
[0091] S302. In response to the fact that the codeword at the even-numbered position of the indicator sequence located in the coset code and the codeword at the position preceding the even-numbered position are both information bits, the information bit at the position preceding the even-numbered position and the information bit at the even-numbered position are determined to be the first information bit and the second information bit, respectively.
[0092] In the indicator sequence of the coset code, the following conditions are met: All and or and Two scenarios. When and At that time, the two information bits are designated as the first information bit and the second information bit, respectively.
[0093] For example, for the coset code indicator sequence h = [0,0,0,1,0,0,Δ,Δ,1,0,Δ,Δ,Δ,Δ,Δ,Δ], where the 8th and 7th bits of the codeword are both information bits, the information bit of the 7th bit of the codeword is determined as the first information bit, and the information bit of the 8th bit of the codeword is determined as the second information bit. The first and second information bits can be represented as Δ1 and Δ2 respectively, or both can be represented as Δ.
[0094] S303. In response to the fact that the codewords of the even-numbered bits in the indication sequence of the coset code and the codeword of the bit preceding the even-numbered bits are both non-information bits, the non-information bits are subjected to modulo-2 addition to determine the first non-information bit, and the non-information bits of the even-numbered bits are determined as the second non-information bit.
[0095] In the indication sequence of the coset code, when and At that time, the first non-information bit can be The second non-information bit can be
[0096] For example, in the coset code's indicator sequence h = [0,0,0,1,0,0,Δ,Δ,1,0,Δ,Δ,Δ,Δ,Δ,Δ], bits 1-6 and bits 9 and 10 are non-information bits. Bits 1, 3, 5, and 9 are designated as the first non-information bits, and bits 2, 4, 6, and 10 are designated as the second non-information bits. For instance, if the codeword at bit 2 and bit 1 are both non-information bits, a modulo-2 addition operation is used to determine that the first non-information bit is 0 and the second non-information bit is 0.
[0097] S304. Fill the positions of the first information bit or the first non-information bit in the indication sequence of the coset code to form a sub-polar code of the first level; and fill the positions of the first information bit or the second non-information bit in the indication sequence of the coset code to form another sub-polar code of the first level.
[0098] For example: Figure 6 As shown, for the indicator sequence h = [0,0,0,1,0,0,Δ,Δ,1,0,Δ,Δ,Δ,Δ,Δ] of the coset code, the resulting sub-polar code of the first level is h. (1) =[0,0,0,1,0,0,Δ,Δ,1,0,Δ,Δ,Δ,Δ,Δ], the other subpolar code is h (2) =[0,0,0,1,0,0,Δ,Δ,1,1,Δ,Δ,Δ,Δ,Δ,Δ].
[0099] It can be seen that the generator matrices of the two first-layer subpolar codes are as follows: or The first layer subpolarization code indicator sequence h (1) and h (2) According to the co-set code Indicator sequence We obtain h (1) and h (2) It is a sequence of length N / 2. It is a sequence of length N.
[0100] S305. In response to the code length of the first-level sub-polarization code being greater than the preset threshold, repeat the above operation on the first-level sub-polarization code until the code length of the current-level sub-polarization code is less than or equal to the preset threshold.
[0101] In this step, refer to Figure 4 As shown, the sub-polar codes are decomposed recursively layer by layer from the coset code. If the code length of the current level sub-polar code is greater than t, then return to step S301 to further determine the indicator sequence of the current level sub-polar code and continue the decomposition. If the code length of the current level sub-polar code is less than or equal to t, then stop the decomposition. Finally, the code length of all the sub-polar codes obtained is less than or equal to t.
[0102] The purpose of this application is to decompose a long-length polar code into a short-length sub-polar code, thereby facilitating the determination of the Hamming weight distribution of the long-length polar code through the Hamming weight distribution of the short-length sub-polar code. Therefore, decomposing the code length of the sub-polar code to less than or equal to a preset threshold is beneficial for quickly and efficiently determining the Hamming weight distribution of the sub-polar code.
[0103] In step S103, the Hamming weight distribution of the subpolar codes of the last level is calculated exhaustively.
[0104] It should be noted that the coset code is decomposed once to form the first-level sub-polarization code. Decomposing the first-level sub-polarization code again forms the second-level sub-polarization code, and so on. If the code length of the first-level sub-polarization code is less than or equal to a preset threshold, then the first-level sub-polarization code is the last-level sub-polarization code.
[0105] For subpolar codes of length L Its Hamming weight distribution can be represented by a vector of length L+1. To indicate, among which It is a code The number of Chinese Hanming codewords with weight d, where d is an integer between [0, L].
[0106] Specifically, such as Figure 5 As shown, step S103 includes:
[0107] S501. Determine the indicator sequence of the sub-polar code based on the last sub-polar code.
[0108] For example, the indicator sequence of the last level of subpolar codes is h = [0,0,Δ1,Δ2].
[0109] S502. Determine the information bits of the indicator sequence of the last level sub-polar code, and expand them into 0 or 1 respectively, and determine the uncoded sequence of the last level sub-polar code and the generator matrix corresponding to the uncoded sequence.
[0110] By expanding all information bits into 0s and 1s according to the indicator sequence of the last level of subpolar codes, all codewords in the last level of polar codes can be listed. This allows determination of the uncoded sequence of the last level of subpolar codes.
[0111] For example, listing all the codewords of the last level polar code is the case where Δ1, Δ2 ∈ {0, 1}, resulting in the uncoded sequences of the last layer sub-polar codes being [0, 0, 0, 0], [0, 0, 0, 1], [0, 0, 1, 0], and [0, 0, 1, 1], with the corresponding generator matrix being:
[0112]
[0113] S503. Determine the encoding sequence of the last level's subpolar code based on the uncoded sequence and the generator matrix corresponding to the uncoded sequence.
[0114] According to the aforementioned embodiments, the generator matrix of the first-level subpolar code is as follows: or Meanwhile, in polar codes, the polar code is generated by the generator matrix G. N The sub-polar codes are determined by the indicator sequence of the polar codes. Correspondingly, the sub-polar codes at the last level are also determined by the corresponding generator matrix and indicator sequence. Here, the indicator sequence of the sub-polar codes is replaced by the uncoded sequence, which allows us to deduce the coding sequence of the sub-polar codes at the last level.
[0115] For example, if the uncoded sequence is [0,0,0,0], then [0,0,0,0] × G yields the coded sequence [0,0,0,0]. Similarly, the uncoded sequences [0,0,0,1], [0,0,1,0], and [0,0,1,1] are multiplied by the generator matrix G to obtain the corresponding coded sequences [1,1,1,1], [1,0,1,0], and [0,1,0,1], respectively.
[0116] S504. Determine the Hamming weight and Hamming weight distribution of the subpolar code of the last level based on the coding sequence.
[0117] Thus, the Hamming weight of [0,0,0,0] is 0, the Hamming weight of [1,1,1,1] is 4, and the Hamming weights of [1,0,1,0] and [0,1,0,1] are both 2. Therefore, the number of Hamming weights of the last level sub-polar codes is 1 (0), 0 (1), 2 (2), 0 (3), and 1 (4), resulting in a Hamming weight distribution of [1,0,2,0,1].
[0118] At this point, the Hamming weight distribution of the last level of subpolar codes is obtained.
[0119] Next, the Hamming weight distribution of the subpolar codes of the last level above the previous level is calculated sequentially.
[0120] In step S104, starting from the last level, the Hamming weight distributions of the subpolar codes are merged level by level to determine the Hamming weight distribution of the coset codes.
[0121] Specifically, starting from the last level, the Hamming weight distributions of the sub-polar codes located at the same level are merged to obtain the Hamming weight distribution of the coset codes of the last level. Then, the Hamming weight distributions of the coset codes of the last level are merged to obtain the Hamming weight distribution of the sub-polar codes of the previous level. This process is repeated recursively until the Hamming weight distribution of the polar codes is obtained.
[0122] It can be seen that each level includes several sub-polar codes and several coset codes.
[0123] For example, if there are two levels of sub-polar codes, first merge the Hamming weight distributions of the second-level sub-polar codes to obtain the Hamming weight distribution of the second-level coset codes. Then merge the Hamming weight distributions of the second-level coset codes to obtain the Hamming weight distribution of the first-level sub-polar codes. Next, merge the Hamming weight distributions of the first-level sub-polar codes to obtain the Hamming weight distribution of the first-level coset codes. Finally, merge the Hamming weight distributions of the first-level coset codes to obtain the Hamming weight distribution of the polar code. Figure 4 As shown, in the case of a sub-polar code with only one level, the Hamming weight distribution of the sub-polar codes of the child nodes is merged to obtain the Hamming weight distribution of the coset code of the coset node, and the Hamming weight distribution of the coset code is merged to obtain the Hamming weight distribution of the polar code of the parent node.
[0124] For example, there are two sub-polar codes at one level. and The weight distributions of Hamming are respectively and By merging them, we obtain the coset code. Hamming weight distribution
[0125] if and If they are all vectors of length L+1, then... It is a vector of length 2L+1.
[0126] It is understandable that the above merging process is a convolution process, not a simple addition or multiplication.
[0127] In some embodiments, the Hamming weight distribution of the coset code is represented as:
[0128]
[0129] in, and Let L and d1 represent the first sub-polar code and the second sub-polar code of the first level, respectively. Let L represent the code length of the first or second sub-polar code of the first level, d1 represent the intermediate variable of the convolution, and d represent the Hamming weight of the coset code.
[0130] In some alternative embodiments, the Hamming weight distribution of the coset code It is not necessarily calculated using equation (2), but can also be done by first calculating the Hamming weight distribution of the subpolar code. and Perform an FFT transformation, then multiply the FFT-transformed vectors and perform an IFFT transformation to obtain the result.
[0131] Then, in step S105, the Hamming weight distributions of the coset codes are merged to determine the Hamming weight distribution of the polar codes.
[0132] In this step, the Hamming weight distribution of the polar code satisfies:
[0133]
[0134] In some embodiments, the method further includes:
[0135] Determine whether the code length of the current polar code is equal to the code length of the polar code.
[0136] If the code length of the current polar code is less than the code length of the polar code, then return to step S104, take the polar code of the current level as the sub-polar code of the previous level, and further calculate the Hamming weight distribution of the polar code of the previous level; if the code length of the current polar code is equal to the code length of the polar code, then the Hamming weight distribution of the polar code at this time is the Hamming weight distribution of the polar code.
[0137] Figure 4 This diagram illustrates the process of decomposing polar codes and merging the Hamming weight distribution of polar codes. For the decomposition process of polar codes, firstly, the polar code... Expanding all the information bits at the corresponding positions in the set into 0s and 1s yields several coset codes. Then each coset code is decomposed into two subpolar codes. and Then, the sub-polar codes of the current level are used as the parent polar codes of the next level, and the process continues until the code length is less than or equal to the threshold t. For the merging process of the Hamming weight distributions of polar codes, first, the Hamming weight distributions of the sub-polar codes of the current level are convolved to obtain the Hamming weight distributions of the coset codes. Then, the Hamming weight distributions of all coset codes of each parent polar code of the current level are added together to obtain the Hamming weight distribution of the parent polar code. Finally, the parent polar code of the current level is used as the sub-polar code of the previous level to continue merging the Hamming weight distributions until they are merged to the topmost level.
[0138] Based on the above method, the polar code can be decomposed level by level to obtain several low-length polar codes that do not exceed a set threshold. Then, the Hamming weight distributions of the polar codes are merged level by level from the last level forward to finally obtain the Hamming weight distribution of the initial polar code.
[0139] Figure 6 A schematic diagram illustrating the decomposition of polar codes and the merging of Hamming weight distributions is provided. Figure 6 In this method, a polar code is uniquely identified using a generator matrix and an indicator sequence. The generator matrix of the initial polar code is... The indication sequence is h=[0,0,0,1,0,0,Δ,Δ,1,Δ,Δ,Δ,Δ,Δ,Δ,Δ], where The initial polar code is the polar code before recursive decomposition.
[0140] First, the 10th information bit is expanded into 0s and 1s, resulting in two coset codes, each with a generator matrix of 1. The indicator sequences are h = [0,0,0,1,0,0,Δ,Δ,1,0,Δ,Δ,Δ,Δ,Δ] and h = [0,0,0,1,0,0,Δ,Δ,1,1,Δ,Δ,Δ,Δ,Δ]. The first coset code is further decomposed into two sub-polar codes, each with a generator matrix of... The indicator sequences for the two subpolar codes are h (1) =[0,1,0,Δ,1,Δ,Δ,Δ] and h (2) =[0,1,0,Δ,0,Δ,Δ,Δ]. The second coset code is further decomposed into two sub-polar codes, each with a generator matrix of... The indicator sequences for the two subpolar codes are h (1) =[0,1,0,Δ,0,Δ,Δ,Δ] and h (2) =[0,1,0,Δ,1,Δ,Δ,Δ].
[0141] As can be seen from step S202, there are two ways to describe the generated matrix, namely... or Therefore, in the embodiments of this application and G N N = 1, 2, 3... all represent generating matrices.
[0142] The Hamming weight distributions of the two subpolar codes of the first coset code are as follows: as well as The Hamming weight distributions of the two subpolar codes of the second coset code are as follows: as well as Then the Hamming weight distribution of the first coset code is: The Hamming weight distribution of the second coset code is as follows The Hamming weight distribution of the initial polar code is the sum of the Hamming weight distributions of the two coset codes, i.e.
[0143] The following is a verification data result of one embodiment disclosed in this application.
[0144] One embodiment disclosed in this application presents the results of the Hamming weight distribution for a polar code with a code length of 256 and an information bit count of 102. Experimental conditions include:
[0145] The information bit positions are selected based on the 5G NR Polar sequence.
[0146] All non-information bits are set to 0.
[0147] Table 1 below shows the results of the Hamming weight distribution for a polar code with a code length of 256 and an information bit count of 102.
[0148] Table 1. Results of Hamming weight distribution for polar codes.
[0149]
[0150]
[0151] The verification data results show that the polar code Hamming weight distribution calculation method proposed in this application can calculate the Hamming weight distribution of polar codes with longer code lengths, thus improving the calculation efficiency of polar code Hamming weight distribution.
[0152] It should be noted that the method in this embodiment can be executed by a single device, such as a computer or server. The method can also be applied in a distributed scenario, where multiple devices cooperate to complete the task. In such a distributed scenario, one of these devices may execute only one or more steps of the method in this embodiment, and the multiple devices will interact with each other to complete the method described.
[0153] It should be noted that the above description describes some embodiments of this application. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in a different order than that shown in the above embodiments and still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require a specific or sequential order to achieve the desired result. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0154] Based on the same technical concept, corresponding to any of the above embodiments, this application also provides a Hamming weight distribution device for determining polar codes.
[0155] refer to Figure 7 The device for determining the Hamming weight distribution of the polar code includes:
[0156] Module 601 is used to obtain polar codes;
[0157] The decomposition module 602 is used to recursively decompose the polar code into multiple sub-polar codes; wherein the code length of the sub-polar codes is less than the code length of the polar code.
[0158] The determining module 603 is used to determine the Hamming weight distribution of each of the sub-polar codes;
[0159] The merging module 604 merges the Hamming weight distributions of the sub-polar codes to determine the Hamming weight distribution of the polar codes.
[0160] For ease of description, the above devices are described in terms of function, divided into various modules. Of course, in implementing this application, the functions of each module can be implemented in one or more software and / or hardware.
[0161] The apparatus of the above embodiments is used to implement the Hamming weight distribution method for determining polar codes in any of the foregoing embodiments, and has the beneficial effects of the corresponding method embodiments, which will not be repeated here.
[0162] Based on the same technical concept, corresponding to the methods of any of the above embodiments, this application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the program, it implements the Hamming weight distribution method for determining polar codes as described in any of the above embodiments.
[0163] Figure 8 This embodiment illustrates a more specific hardware structure of an electronic device, which may include a processor 1010, a memory 1020, an input / output interface 1030, a communication interface 1040, and a bus 1050. The processor 1010, memory 1020, input / output interface 1030, and communication interface 1040 are interconnected internally via the bus 1050.
[0164] The processor 1010 can be implemented using a general-purpose CPU (Central Processing Unit), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this specification.
[0165] The memory 1020 can be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 1020 can store the operating system and other applications. When the technical solutions provided in the embodiments of this specification are implemented by software or firmware, the relevant program code is stored in the memory 1020 and is called and executed by the processor 1010.
[0166] The input / output interface 1030 is used to connect input / output modules to realize information input and output. Input / output modules can be configured as components within the device (not shown in the figure) or externally connected to the device to provide corresponding functions. Input devices may include keyboards, mice, touchscreens, microphones, various sensors, etc., while output devices may include displays, speakers, vibrators, indicator lights, etc.
[0167] The communication interface 1040 is used to connect a communication module (not shown in the figure) to enable communication between this device and other devices. The communication module can communicate via wired means (such as USB, Ethernet cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.).
[0168] Bus 1050 includes a pathway for transmitting information between various components of the device, such as processor 1010, memory 1020, input / output interface 1030, and communication interface 1040.
[0169] It should be noted that although the above-described device only shows the processor 1010, memory 1020, input / output interface 1030, communication interface 1040, and bus 1050, in specific implementations, the device may also include other components necessary for normal operation. Furthermore, those skilled in the art will understand that the above-described device may only include the components necessary for implementing the embodiments of this specification, and not necessarily all the components shown in the figures.
[0170] The electronic devices described above are used to implement the Hamming weight distribution method for determining polar codes in any of the foregoing embodiments, and have the beneficial effects of the corresponding method embodiments, which will not be repeated here.
[0171] Based on the same technical concept, corresponding to the methods of any of the above embodiments, this application also provides a non-transitory computer-readable storage medium storing computer instructions for causing the computer to execute the Hamming weight distribution method for determining polar codes as described in any of the above embodiments.
[0172] The computer-readable medium of this embodiment includes permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transfer medium that can be used to store information accessible by a computing device.
[0173] The computer instructions stored in the storage medium of the above embodiments are used to cause the computer to execute the Hamming weight distribution method for determining polar codes as described in any of the above embodiments, and have the beneficial effects of the corresponding method embodiments, which will not be repeated here.
[0174] Based on the same inventive concept, corresponding to the method for determining the Hamming weight distribution of polar codes described in any of the above embodiments, this disclosure also provides a computer program product, which includes computer program instructions. In some embodiments, the computer program instructions can be executed by one or more processors of a computer to cause the computer and / or the processor to perform the method for determining the Hamming weight distribution of polar codes. Corresponding to the execution entity for each step in each embodiment of the method for determining the Hamming weight distribution of polar codes, the processor executing the corresponding step can belong to the corresponding execution entity.
[0175] The computer program product of the above embodiments is used to cause the computer and / or the processor to execute the Hamming weight distribution method for determining polar codes as described in any of the above embodiments, and has the beneficial effects of the corresponding method embodiments, which will not be repeated here.
[0176] Those skilled in the art should understand that the discussion of any of the above embodiments is merely exemplary and is not intended to imply that the scope of this application (including the claims) is limited to these examples; within the framework of this application, the technical features of the above embodiments or different embodiments can also be combined, the steps can be implemented in any order, and there are many other variations of different aspects of the embodiments of this application as described above, which are not provided in the details for the sake of brevity.
[0177] Additionally, to simplify the description and discussion, and to avoid obscuring the embodiments of this application, the well-known power / ground connections to integrated circuit (IC) chips and other components may or may not be shown in the provided drawings. Furthermore, the apparatus may be shown in block diagram form to avoid obscuring the embodiments of this application, and this also takes into account the fact that the details of the implementation of these block diagram apparatuses are highly dependent on the platform on which the embodiments of this application will be implemented (i.e., these details should be fully understood by those skilled in the art). While specific details (e.g., circuits) have been set forth to describe exemplary embodiments of this application, it will be apparent to those skilled in the art that the embodiments of this application can be implemented without these specific details or with variations thereof. Therefore, these descriptions should be considered illustrative rather than restrictive.
[0178] Although this application has been described in conjunction with specific embodiments thereof, many substitutions, modifications, and variations of these embodiments will be apparent to those skilled in the art from the foregoing description. For example, other memory architectures (e.g., dynamic RAM (DRAM)) may be used with the embodiments discussed.
[0179] The embodiments of this application are intended to cover all such substitutions, modifications, and variations that fall within the broad scope of the appended claims. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the embodiments of this application should be included within the protection scope of this application.
Claims
1. A method for determining the Hamming weight distribution of a polar code, characterized in that, include: Obtain the polar code; Determine multiple coset codes of the polar code, and recursively decompose the coset codes until the code length of the sub-polar code at the current level is less than or equal to a preset threshold. Exhaustive calculation of the Hamming weight distribution of the subpolar codes at the last level; Starting from the last level, the Hamming weight distributions of the sub-polar codes are merged level by level to determine the Hamming weight distribution of the coset code. The Hamming weight distributions of the coset codes are merged to determine the Hamming weight distribution of the polar codes.
2. The method according to claim 1, characterized in that, Determining multiple coset codes of the polar code includes: Determine the information bits and non-information bits of the polar code; The indication sequence of the polar code is determined based on the information bits and the non-information bits; In response to the fact that the codeword located at an even number of positions in the indication sequence of the polar code is an information bit and the codeword located at the position preceding the information bit is a non-information bit, the information bit is extracted to form a first set; Each of the information bits located in the first set is expanded into 0 or 1 to determine a plurality of coset codes.
3. The method according to claim 1, characterized in that, Recursively decompose the coset code until the code length of the sub-polar code at the current level is less than or equal to a preset threshold, including: Based on the multiple coset codes, determine the indication sequence of the multiple coset codes respectively; In response to the fact that the codeword at the even-numbered position of the indication sequence of the coset code and the codeword preceding the even-numbered position are both information bits, the information bit preceding the even-numbered position and the information bit at the even-numbered position are determined to be the first information bit and the second information bit, respectively. In response to the fact that the codeword at the even-numbered position of the indicator sequence of the coset code and the codeword preceding the even-numbered position are both non-information bits, the non-information bits are subjected to modulo-2 addition to determine the first non-information bit, and the even-numbered non-information bits are determined as the second non-information bit. The positions of the first information bit or the first non-information bit in the indication sequence of the coset code are filled to form a sub-polar code of the first level; and the positions of the second information bit or the second non-information bit in the indication sequence of the coset code are filled to form another sub-polar code of the first level. In response to the code length of the sub-polar code of the first level being greater than a preset threshold, the above operation is repeated for the sub-polar code of the first level until the code length of the sub-polar code of the current level is less than or equal to the preset threshold.
4. The method according to claim 1, characterized in that, Exhaustive calculation of the Hamming weight distribution of the subpolar codes at the last level, including: The indicator sequence of the sub-polar code is determined based on the last sub-polar code. The information bits of the indicator sequence of the last level subpolar code are determined and expanded to 0 or 1 respectively, and the uncoded sequence of the last level subpolar code and the generator matrix corresponding to the uncoded sequence are determined. The encoding sequence of the subpolar code of the last level is determined based on the uncoded sequence and the generator matrix corresponding to the uncoded sequence; The Hamming weight and Hamming weight distribution of the subpolar code of the last level are determined based on the encoding sequence.
5. The method according to claim 4, characterized in that, Starting from the last level, the Hamming weight distributions of the sub-polar codes are merged level by level to determine the Hamming weight distribution of the coset codes, including: Starting from the last level, the Hamming weight distributions of the sub-polar codes located at the same level are merged, and then merged with the Hamming weight distributions of the sub-polar codes of the previous level, until the Hamming weight distribution of the coset code is determined.
6. The method according to claim 5, characterized in that, The Hamming weight distribution of the coset code is represented as follows: in, and Let L and d1 represent the first sub-polar code and the second sub-polar code of the first level, respectively. Let L represent the code length of the first or second sub-polar code of the first level, d1 represent the intermediate variable of the convolution, and d represent the Hamming weight of the coset code.
7. The method according to claim 6, characterized in that, The Hamming weight distribution of the polar code is represented as follows: Where M represents the number of information bits in the first set of the polar code. Represents the Hamming weight distribution of the coset code. This represents the information bits in the first set.
8. A Hamming weight distribution device for determining polar codes, characterized in that, include: The acquisition module is used to acquire polar codes; The decomposition module is used to determine multiple coset codes of the polar code and recursively decompose the coset codes until the code length of the sub-polar code at the current level is less than or equal to a preset threshold. The exhaustive module is used to exhaustively calculate the Hamming weight distribution of the subpolar codes at the last level; The determination module is used to merge the Hamming weight distributions of the sub-polar codes level by level, starting from the last level, to determine the Hamming weight distribution of the coset code. The merging module merges the Hamming weight distributions of the sub-polar codes to determine the Hamming weight distribution of the polar codes.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the method as described in any one of claims 1 to 7.
10. A non-transitory computer-readable storage medium storing computer instructions, characterized in that, The computer instructions are used to cause the computer to perform the method as described in any one of claims 1 to 7.