Polar code encoding and decoding method and device, information transmission system
By segmenting polar code symbols and using LDPC and CRC codes for error verification, the method addresses cascading errors and lack of parallel processing in SC decoding, resulting in improved encoding and decoding performance.
Patent Information
- Application Number
- CN202011060243.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-09-30
- Publication Date
- 2025-03-14
- Estimated Expiration
- 2040-09-30
AI Technical Summary
The existing SC decoding algorithm for polar codes results in cascading errors where a mistake in one code symbol necessitates errors in subsequent symbols, and lacks parallel processing, leading to poor encoding and decoding performance.
The proposed method involves segmenting the code symbols into segments of equal length, generating and transmitting parity-check codes using LDPC algorithms, and employing CRC or hash check codes to verify and correct errors during decoding, allowing for parallel processing and improved error correction.
This approach enhances the reliability and efficiency of polar code encoding and decoding by enabling error correction and parallel processing, thereby improving overall performance.
Smart Images

Figure CN114337686B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of communication technology, and in particular to a polarization code encoding method, a polarization code decoding method, a polarization code encoding device, a polarization code decoding device, an information transmission system, and a non-volatile computer-readable storage medium. Background Art
[0002] Polar code is a forward error correction coding method used for signal transmission in communication technology. Polar code is a coding and decoding method that has been proven to reach the Shannon limit.
[0003] In the related art, the SC (successive-cancellation) decoding algorithm is used to continuously determine and decode the codewords in order. The decoding process is also a deletion process. In the SC decoding algorithm, the determination of the next codeword depends on the previous codeword.
[0004] This brings about two problems: 1. If the decoding of the previous codeword is wrong, the decoding results of the next codeword and the subsequent codewords will inevitably be wrong, and there is no chance to correct the decoding error; 2) Parallel decoding cannot be achieved, and the decoding time is long. Summary of the invention
[0005] The inventors of the present disclosure have discovered that the above-mentioned related technologies have the following problems: if the decoding of the previous codeword is wrong, the decoding results of the next codeword and the subsequent codewords will inevitably be wrong, and the decoding error has no chance to be corrected, resulting in poor encoding and decoding performance.
[0006] In view of this, the present disclosure proposes a polar code coding technology solution, which can improve the encoding and decoding performance.
[0007] According to some embodiments of the present disclosure, a polar code encoding method is provided, including: dividing m code segments of length n according to a first code symbol sequence to be encoded, where m and n are integer powers of 2; performing a check code generation operation on each information code symbol in each code symbol segment to obtain a check code corresponding to each code symbol segment; encoding each check code by using an LDPC (Low-density Parity-check) algorithm to obtain each coding check code; determining a first coding code symbol sequence according to a polar code encoding result of the first code symbol sequence to be encoded; transmitting the first coding code symbol sequence and each coding check code, so that after a polar code decoding device performs segmented decoding on the first coding code symbol sequence, each coding check code is used to check the information code symbol in the corresponding code symbol segment.
[0008] In some embodiments, transmitting the first coding symbol sequence and each coding check code includes: transmitting each coding check code using an LDPC channel.
[0009] In some embodiments, determining the first encoding symbol sequence according to the polar code encoding result of the first to-be-encoded symbol sequence includes: performing interleaving encoding on the polar code encoding result of the first to-be-encoded symbol sequence to determine the first encoding symbol sequence.
[0010] In some embodiments, dividing the first codeword sequence to be encoded into m codeword segments of length n includes: permuting the first codeword sequence to be encoded according to a preset rule to obtain the codeword sequence to be segmented; dividing the codeword sequence to be segmented into m codeword segments of length n.
[0011] In some embodiments, dividing the codeword sequence to be segmented into m codeword segments of length n includes: performing segmentation transformation processing on the codeword sequence to be segmented to divide the codeword segments, the segmentation transformation processing determines the odd-numbered codewords in different codeword segments according to different odd-numbered codewords in the codeword sequence to be segmented, and determines the even-numbered codewords in different codeword segments according to different even-numbered codewords in the codeword sequence to be segmented.
[0012] In some embodiments, each check code is a CRC (Cyclic Redundancy Check) check code, a parity check code, or a hash check code.
[0013] In some embodiments, encoding each check code by using an LDPC algorithm to obtain each coded check code includes: combining check codes corresponding to each symbol segment into a second to-be-coded symbol sequence; encoding the second to-be-coded symbol sequence by using an LDPC algorithm to obtain a second coded symbol sequence; transmitting the first coded symbol sequence and each coded check code includes: transmitting the first coded symbol sequence and the second coded symbol sequence, so that after a polar code decoding device performs segmented decoding on the first coded symbol sequence, each segment check code obtained after decoding the second coded symbol sequence is used to verify information symbols in the corresponding symbol segment.
[0014] According to some other embodiments of the present disclosure, a polar code decoding method is provided, including: receiving a first coding symbol sequence and coding check codes transmitted by a polar code encoding device; decoding the coding check codes by using an LDPC algorithm to obtain check codes; decoding the first coding symbol sequence by using a polar code decoding algorithm to obtain m symbol segments of length n, where m and n are integer powers of 2; and checking information symbols in corresponding symbol segments by using check codes to determine a first decoding symbol sequence.
[0015] In some embodiments, receiving the first coding symbol sequence and each coding check code transmitted by the polar code encoding device includes: receiving each coding check code by using an LDPC channel.
[0016] In some embodiments, using a polar code decoding algorithm to decode the first coded codeword sequence to obtain m codeword segments of length n includes: dividing the interleaved decoding result of the first coded codeword sequence into m interleaved decoding segments of length n; using a polar code decoding algorithm to decode each interleaved decoding segment to obtain each codeword segment.
[0017] In some embodiments, using each check code to check the information codewords in the corresponding codeword segment to determine the first decoding codeword sequence includes: determining a final decoding path from each alternative decoding path of the polar code decoding algorithm according to the check result to determine the decoding codewords of the information codewords in each codeword segment; and permuting each decoding codeword according to a preset rule to determine the first decoding codeword sequence, where the position permutation is an inverse operation of the position permutation in the encoding process.
[0018] In some embodiments, determining a final decoding path from each candidate decoding path of the polar code decoding algorithm according to the verification result to determine the decoding codewords of the information codewords in each codeword segment includes: determining a second decoding codeword sequence according to the decoding results determined by each final decoding path; and performing joint decision processing on the codewords in the second decoding codeword sequence to determine the first decoding codeword sequence, wherein the joint decision and the segment transformation processing in the encoding process are inverse operations to each other.
[0019] In some embodiments, each check code is a CRC check code, a parity check code, or a hash check code.
[0020] In some embodiments, receiving a first coding symbol sequence and each coding check code transmitted by a coding device for a polar code includes: receiving a first coding symbol sequence and a second coding symbol sequence transmitted by a coding device for a polar code, wherein the second coding symbol sequence is generated by the coding device encoding a to-be-encoded symbol sequence formed by combining each check code by using an LDPC algorithm; and decoding each coding check code by using the LDPC algorithm to obtain each check code includes: decoding the second coding symbol sequence by using the LDPC algorithm to obtain each check code.
[0021] According to some further embodiments of the present disclosure, a polar code encoding device is provided, comprising: a dividing unit, configured to divide a first to-be-encoded code symbol sequence into m code symbol segments of length n, where m and n are integer powers of 2; a generating unit, configured to perform a check code generation operation on each information code symbol in each code symbol segment, respectively, to obtain a check code corresponding to each code symbol segment; an encoding unit, configured to encode each check code by using an LDPC algorithm, to obtain each coding check code, and determine a first coding code symbol sequence according to a polar code encoding result of the first to-be-encoded code symbol sequence; and a transmitting unit, configured to transmit the first coding code symbol sequence and each coding check code, so that a polar code decoding device can use each coding check code to check the information code symbol in the corresponding code symbol segment after segment-decoding the first coding code symbol sequence.
[0022] In some embodiments, the transmission unit transmits each encoding check code using an LDPC channel.
[0023] In some embodiments, the encoding unit performs interleaving encoding on the polar code encoding result of the first to-be-encoded codeword sequence to determine the first encoded codeword sequence.
[0024] In some embodiments, the encoding unit permutes the position of the first to-be-encoded codeword sequence according to a preset rule to obtain a to-be-segmented codeword sequence; and the division unit divides the to-be-segmented codeword sequence into m codeword segments of length n.
[0025] In some embodiments, the division unit performs segmented transformation processing on the codeword sequence to be segmented to divide the codeword segments. The segmented transformation processing determines the odd-numbered codewords in different codeword segments according to different odd-numbered codewords in the codeword sequence to be segmented, and determines the even-numbered codewords in different codeword segments according to different even-numbered codewords in the codeword sequence to be segmented.
[0026] In some embodiments, each check code is a CRC check code, a parity check code, or a hash check code.
[0027] In some embodiments, the encoding unit combines the check codes corresponding to each codeword segment into a second codeword sequence to be encoded; the second codeword sequence to be encoded is encoded using an LDPC algorithm to obtain a second encoding codeword sequence; and the transmission unit transmits the first encoding codeword sequence and the second encoding codeword sequence, so that after the polar code decoding device performs segment decoding on the first encoding codeword sequence, the information codewords in the corresponding codeword segments are verified using the segment check codes obtained after decoding the second encoding codeword sequence.
[0028] According to some further embodiments of the present disclosure, a polar code decoding device is provided, including: a receiving unit, configured to receive a first coding symbol sequence and coding check codes transmitted by a polar code coding device; a decoding unit, configured to decode the coding check codes by using an LDPC algorithm to obtain check codes, and to decode the first coding symbol sequence by using a polar code decoding algorithm to obtain m symbol segments of length n, where m and n are integer powers of 2; and a check unit, configured to check information symbols in corresponding symbol segments by using check codes to determine a first decoding symbol sequence.
[0029] In some embodiments, the receiving unit receives each encoding check code using an LDPC channel.
[0030] In some embodiments, the decoding device further comprises a dividing unit, configured to divide the interleaved decoding result of the first coded symbol sequence into m interleaved decoding segments of length n. The decoding unit decodes each interleaved decoding segment using a polar code decoding algorithm to obtain each symbol segment.
[0031] In some embodiments, the decoding unit determines a final decoding path from each candidate decoding path of the polar code decoding algorithm according to the verification result to determine the decoding codewords of the information codewords in each codeword segment; and permutes each decoding codeword according to a preset rule to determine a first decoding codeword sequence, where the position permutation is an inverse operation of the position permutation in the encoding process.
[0032] In some embodiments, the decoding unit determines a second decoding codeword sequence based on the decoding results determined by each final decoding path; and performs joint decision processing on the codewords in the second decoding codeword sequence to determine the first decoding codeword sequence. The joint decision is an inverse operation of the segmented transformation processing in the encoding process.
[0033] In some embodiments, each check code is a CRC check code, a parity check code, or a hash check code.
[0034] In some embodiments, a receiving unit receives a first coding symbol sequence and a second coding symbol sequence transmitted by a coding device of a polar code, where the second coding symbol sequence is generated by the coding device encoding a to-be-coded symbol sequence formed by combining each check code using an LDPC algorithm; and a decoding unit decodes the second coding symbol sequence using the LDPC algorithm to obtain each check code.
[0035] According to some further embodiments of the present disclosure, there is provided an electronic device, comprising: a memory; and a processor coupled to the memory, wherein the processor is configured to execute the encoding method or decoding method in any one of the above embodiments based on instructions stored in the memory device.
[0036] According to some further embodiments of the present disclosure, an information transmission system is provided, including: an information transmitting end, including an encoder for executing the polar code of the encoding method in any of the above embodiments; and an information receiving end, including a decoder for executing the polar code of the decoding method in any of the above embodiments.
[0037] According to some further embodiments of the present disclosure, a non-volatile computer-readable storage medium is provided, on which a computer program is stored. When the program is executed by a processor, the encoding method or the decoding method in any of the above embodiments is implemented.
[0038] In the above embodiment, the first coded symbol sequence is segmented, and the LDPC algorithm is used to generate independent coding check codes for each segment, so as to assist the decoding device in decoding check, thereby improving the coding and decoding performance. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] The accompanying drawings, which constitute a part of the specification, illustrate embodiments of the present disclosure and, together with the description, serve to explain the principles of the present disclosure.
[0040] The present disclosure may be more clearly understood from the following detailed description with reference to the accompanying drawings:
[0041] Figure 1 A flowchart showing some embodiments of the polar code encoding method disclosed in the present invention;
[0042] Figure 2 A flowchart showing some embodiments of a polar code decoding method disclosed in the present invention;
[0043] Figure 3 A block diagram showing some embodiments of a polar code encoding device disclosed in the present invention;
[0044] Figure 4 A block diagram showing some embodiments of a polar code decoding device disclosed in the present invention;
[0045] Figure 5 A block diagram showing some embodiments of the electronic device of the present disclosure;
[0046] Figure 6 A block diagram showing some other embodiments of the electronic device of the present disclosure;
[0047] Figure 7 A block diagram showing some embodiments of the information transmission system of the present disclosure. DETAILED DESCRIPTION
[0048] Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that the relative arrangement of components and steps, numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present disclosure unless otherwise specifically stated.
[0049] At the same time, it should be understood that for the convenience of description, the sizes of the various parts shown in the drawings are not drawn according to the actual proportional relationship.
[0050] The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the present disclosure, its application, or uses.
[0051] Technologies, methods and equipment known to ordinary technicians in the relevant field may not be discussed in detail, but where appropriate, the technologies, methods and equipment should be considered part of the authorization specification.
[0052] In all examples shown and discussed herein, any specific values should be interpreted as merely exemplary and not as limiting. Therefore, other examples of the exemplary embodiments may have different values.
[0053] It should be noted that like reference numerals and letters refer to similar items in the following figures, and therefore, once an item is defined in one figure, it need not be further discussed in subsequent figures.
[0054] In view of the above technical problems, the present disclosure can use the LDPC method to generate a coding check code so that the information receiving end can check the segmented decoding result with the check code obtained after LDPC decoding. According to the check result, the correct decoding path is selected from multiple alternative paths such as the L alternative paths of the SCL decoding method.
[0055] It is also possible to utilize an ultra-low bit error rate LDPC coding channel to independently transmit a check code, thereby reducing the transmission error of the check code and improving the decoding performance of the segmented coupling-joint decision assisted by the check code. For example, the technical solution of the present disclosure can be implemented through the following embodiments.
[0056] Figure 1 A flow chart showing some embodiments of a polar code encoding method of the present disclosure.
[0057] like Figure 1 As shown, in step 110, m code segments of length n are divided according to the first code symbol sequence to be encoded, and m and n are integer powers of 2.
[0058] In some embodiments, the first to-be-encoded codeword sequence is permuted according to a preset rule to obtain a to-be-segmented codeword sequence; and the to-be-segmented codeword sequence is divided into m codeword segments of length n.
[0059] For example, the first to-be-encoded symbol sequence with a symbol length of N is permuted according to a preset rule to obtain m permuted symbol segments with a symbol length of n corresponding to the candidate segment decoding results on the decoding side, where N, m and n are integer powers of 2. In this way, the position permutation method can be set according to the symbol sequence after the joint decision in the SCL decoding process, so that the symbol sequence after the position permutation matches the symbol sequence after the joint decision.
[0060] In some embodiments, the segmented symbol sequence can be subjected to segmented transformation processing to divide each symbol segment. The segmented transformation processing determines odd-numbered symbols in different symbol segments according to different odd-numbered symbols in the segmented symbol sequence, and determines even-numbered symbols in different symbol segments according to different even-numbered symbols in the segmented symbol sequence.
[0061] For example, on the basis of position replacement, according to the segment transformation formula, m code segments with a code length of n are obtained to correspond to the joint segment decoding result on the decoding side.
[0062] For example, the segment transformation formula selects multiple odd-numbered codewords from the codeword sequence to be segmented for exclusive OR operation to determine the odd-numbered codewords in each codeword segment. Different codeword segments can select different odd-numbered codeword combinations for operation; selects multiple even-numbered codewords from the codeword sequence to be segmented for exclusive OR operation to determine the even-numbered codewords in each codeword segment. Different codeword segments can select different even-numbered codeword combinations for operation.
[0063] In step 120, a check code generation operation is performed on each information codeword in each codeword segment to obtain a check code corresponding to each codeword segment. For example, each check code is a CRC check code, a parity check code or a hash check code.
[0064] In some embodiments, the check code may be generated in parallel by segmenting each code element, or may be generated in series and in parallel.
[0065] In step 130, each check code is encoded using the LDPC algorithm to obtain each coded check code.
[0066] In some embodiments, a check code generation operation is performed on each symbol segment to obtain a corresponding check code, and LDPC encoding is performed on the m segment check codes to obtain a coded check code.
[0067] In step 140, a first coding symbol sequence is determined according to the polar code coding result of the to-be-segmented symbol sequence.
[0068] In some embodiments, polar code encoding results of the segmented codeword sequence are interleaved and encoded to determine a first encoding codeword sequence.
[0069] For example, polarization coding is performed on the first to-be-coded codeword sequence, and then interleaved coding is performed to output an interleaved coding codeword to determine the first coding codeword sequence; each coding check code and the first coding codeword sequence are combined and output such that each coding check code is in front and the first coding codeword sequence is in the back.
[0070] In step 150, a first coding symbol sequence and coding check codes are transmitted, so that after a polar code decoding device decodes the first coding symbol sequence in segments, each coding check code is used to check information symbols in corresponding symbol segments.
[0071] In some embodiments, each coding check code is transmitted using an LDPC channel. In this way, the LDPC channel for transmitting the check code is independent of the polar code channel for transmitting the information code symbol coding sequence, so that the LDPC channel parameters and code type can be selected as needed to improve the coding and decoding performance.
[0072] In some embodiments, the check codes corresponding to the respective codeword segments are combined into a second sequence of codewords to be encoded; and the second sequence of codewords to be encoded is encoded using an LDPC algorithm to obtain a second sequence of encoded codewords.
[0073] The first coding symbol sequence and the second coding symbol sequence are transmitted, so that after the polar code decoding device decodes the first coding symbol sequence in segments, the information symbols in the corresponding symbol segments are checked using the segment check codes obtained after decoding the second coding symbol sequence. In this way, the efficiency of coding and decoding can be improved.
[0074] Figure 2 A flow chart showing some embodiments of a polar code decoding method of the present disclosure.
[0075] like Figure 2 As shown, in step 210, a first coding symbol sequence and each coding check code transmitted by a coding device of a polar code are received. For example, each coding check code is received using an LDPC channel. For example, each coding check code is a check code encoded using an LDPC algorithm, and corresponds to each symbol segment respectively.
[0076] In step 220, each coded check code is decoded using the LDPC algorithm to obtain each check code.
[0077] In step 230, the first coded symbol sequence is decoded using a polar code decoding algorithm to obtain m symbol segments of length n, where m and n are integer powers of 2.
[0078] In some embodiments, the interleaved decoding result of the first coded codeword sequence is divided into m interleaved decoding segments of length n; and each interleaved decoding segment is decoded using a polar code decoding algorithm to obtain each codeword segment.
[0079] For example, after deinterleaving the interleaved coded codewords in the received first coded codeword sequence, an input signal component sequence (interleaved decoding result) of the decoding device is obtained; the input signal component sequence is divided into m interleaved decoding segments of equal length in sequence (or in other segmentation methods). After the segmented SCL decoder independently decodes each interleaved decoding segment, m candidate decoding results containing L candidate paths are obtained.
[0080] In step 240, each check code is used to check the information code elements in the corresponding code element segment to determine the first decoding code element sequence. For example, each code element segment can be checked in parallel or in combination of serial and parallel.
[0081] In some embodiments, according to the verification result, a final decoding path is determined from each alternative decoding path of the polar code decoding algorithm to determine the decoding codewords of the information codewords in each codeword segment; and each decoding codeword is permuted according to a preset rule to determine a first decoding codeword sequence, and the position permutation in the decoding process and the position permutation in the encoding process are inverse operations to each other.
[0082] In some embodiments, a second decoding symbol sequence is determined according to the decoding results determined by each final decoding path; and the symbols in the second decoding symbol sequence are jointly determined to determine the first decoding symbol sequence. The joint decision in the decoding process and the segmented transformation process in the encoding process are inverse operations to each other.
[0083] For example, using the check code corresponding to the m code segment, the alternative decoding results of the corresponding code segment are checked to generate m alternative segment decoding results; the m alternative segment decodings are jointly judged and m joint segment decoding results are output; the m joint segment decoding results are permuted in the decoding process to output the first decoding code symbol sequence.
[0084] In some embodiments, if any candidate decoding result fails to pass the verification, the decoding fails, and the receiving end no longer performs decoding processing on the received polar code coded codeword.
[0085] In some embodiments, if any candidate decoding result fails to pass the verification, the candidate path with the highest probability of occurrence is used as the final decoding path. In this way, decoding failure can be avoided and decoding performance can be improved.
[0086] In some embodiments, a first coding symbol sequence and a second coding symbol sequence transmitted by a coding device for receiving polar codes are received. The second coding symbol sequence is generated by the coding device using an LDPC algorithm to encode a sequence of symbols to be encoded that is composed of various check codes. The second coding symbol sequence is decoded using the LDPC algorithm to obtain various check codes.
[0087] In some embodiments, the decoding device can independently perform SC decoding of m segments, so different specific implementation methods can be flexibly adopted.
[0088] For example, m SCL decoders can be used to perform SCL decoding in parallel so as to complete the decoding in the shortest time; or one SCL decoder can be used to perform m segmented SCL decoding serially, which requires the least hardware resources; or a serial-parallel mixed method can be used in which less than m SCL decoders perform serial-parallel mixed grouped SCL decoding to balance the hardware resource requirements and decoding time requirements.
[0089] The advantage of the serial or group SCL decoding method is that once the decoding result of a first segment fails to pass the verification during the decoding process, the decoding of the remaining segments can be abandoned, saving computing resources.
[0090] In the above embodiment, segmented independent check code assisted SCL decoding is implemented to improve the decoding performance; the LDPC channel used to transmit the check code is independent of the polarization code channel for transmitting the information code element series, and the LDPC channel parameters and code type can be selected as needed.
[0091] The LDPC channel, which has a lower code rate than the polar code channel and thus better performance, is used to transmit the check code. Based on the advantage of LDPC in having the flexibility to construct any code rate, the missed detection rate and false detection rate can be reduced accordingly, thereby improving the decoding performance of the polar code.
[0092] Figure 3 A block diagram showing some embodiments of a polar code encoding device of the present disclosure.
[0093] like Figure 3 As shown, the polar code encoding device 3 includes a dividing unit 31, a generating unit 32, an encoding unit 33 and a transmitting unit 34.
[0094] The dividing unit 31 is used to divide the first to-be-encoded codeword sequence into m codeword segments of length n, where m and n are integer powers of 2.
[0095] The generating unit 32 is used to perform a check code generation operation on each information codeword in each codeword segment to obtain a check code corresponding to each codeword segment.
[0096] The encoding unit 33 is configured to encode each check code by using an LDPC algorithm to obtain each coded check code, and determine a first coded code symbol sequence according to a polar code coding result of the first to-be-coded code symbol sequence.
[0097] The transmission unit 34 is used to transmit the first coding symbol sequence and each coding check code, so that after the polar code decoding device decodes the first coding symbol sequence in segments, the information symbols in the corresponding symbol segments are checked by using each coding check code.
[0098] In some embodiments, the transmission unit 34 transmits each encoding check code using an LDPC channel.
[0099] In some embodiments, the encoding unit 33 performs interleaving encoding on the polar code encoding result of the first to-be-encoded codeword sequence to determine a first encoding codeword sequence.
[0100] In some embodiments, the encoding unit 33 permutes the first to-be-encoded codeword sequence according to a preset rule to obtain a to-be-segmented codeword sequence; the dividing unit 31 divides the to-be-segmented codeword sequence into m codeword segments of length n.
[0101] In some embodiments, the segmentation unit 31 performs segmentation transformation processing on the codeword sequence to be segmented to divide each codeword segment. The segmentation transformation processing determines odd-numbered codewords in different codeword segments according to different odd-numbered codewords in the codeword sequence to be segmented, and determines even-numbered codewords in different codeword segments according to different even-numbered codewords in the codeword sequence to be segmented.
[0102] In some embodiments, each check code is a CRC check code, a parity check code, or a hash check code.
[0103] In some embodiments, the encoding unit 33 combines the check codes corresponding to each codeword segment into a second codeword sequence to be encoded; the second codeword sequence to be encoded is encoded using the LDPC algorithm to obtain a second encoding codeword sequence; and the transmission unit 34 transmits the first encoding codeword sequence and the second encoding codeword sequence, so that after the polar code decoding device performs segment decoding on the first encoding codeword sequence, the information codewords in the corresponding codeword segments are verified using the segment check codes obtained after decoding the second encoding codeword sequence.
[0104] Figure 4 A block diagram showing some embodiments of a polar code decoding apparatus according to the present disclosure.
[0105] like Figure 4 As shown, the polar code decoding device 4 includes a receiving unit 41, a decoding unit 42, and a checking unit 43.
[0106] The receiving unit 41 is configured to receive a first coding symbol sequence and various coding check codes transmitted by a polar code coding apparatus.
[0107] The decoding unit 42 is used to decode each coded check code by using the LDPC algorithm to obtain each check code, and decode the first coded code symbol sequence by using the polar code decoding algorithm to obtain m code symbol segments with a length of n, where m and n are integer powers of 2.
[0108] The checking unit 43 is used to check the information symbols in the corresponding symbol segment using each checking code to determine the first decoding symbol sequence.
[0109] In some embodiments, the receiving unit 41 receives each encoding check code using an LDPC channel.
[0110] In some embodiments, the decoding device 4 further comprises a dividing unit 44, which is used to divide the interleaved decoding result of the first coded symbol sequence into m interleaved decoding segments of length n. The decoding unit 42 decodes each interleaved decoding segment using a polar code decoding algorithm to obtain each symbol segment.
[0111] In some embodiments, the decoding unit 42 determines a final decoding path from each candidate decoding path of the polar code decoding algorithm according to the verification result to determine the decoding codewords of the information codewords in each codeword segment; and permutes each decoding codeword according to a preset rule to determine a first decoding codeword sequence, where the position permutation is an inverse operation of the position permutation in the encoding process.
[0112] In some embodiments, the decoding unit 42 determines a second decoding codeword sequence based on the decoding results determined by each final decoding path; and performs joint decision processing on the codewords in the second decoding codeword sequence to determine the first decoding codeword sequence. The joint decision is an inverse operation of the segmented transformation processing in the encoding process.
[0113] In some embodiments, each check code is a CRC check code, a parity check code, or a hash check code.
[0114] In some embodiments, the receiving unit 41 receives a first coding symbol sequence and a second coding symbol sequence transmitted by a polar code encoding device. The second coding symbol sequence is generated by the encoding device using an LDPC algorithm to encode a sequence of symbols to be encoded composed of various check codes. The decoding unit 42 decodes the second coding symbol sequence using an LDPC algorithm to obtain various check codes.
[0115] Figure 5 A block diagram showing some embodiments of the electronic device of the present disclosure.
[0116] like Figure 5As shown, the electronic device 5 of this embodiment includes: a memory 51 and a processor 52 coupled to the memory 51, and the processor 52 is configured to execute the encoding method or decoding method in any embodiment of the present disclosure based on the instructions stored in the memory 51.
[0117] The memory 51 may include, for example, a system memory, a fixed non-volatile storage medium, etc. The system memory may store, for example, an operating system, an application program, a boot loader, a database, and other programs.
[0118] Figure 6 A block diagram showing some other embodiments of the electronic device of the present disclosure.
[0119] like Figure 6 As shown, the electronic device 6 of this embodiment includes: a memory 610 and a processor 620 coupled to the memory 610 , and the processor 620 is configured to execute the encoding method or decoding method in any one of the aforementioned embodiments based on instructions stored in the memory 610 .
[0120] The memory 610 may include, for example, a system memory, a fixed non-volatile storage medium, etc. The system memory may store, for example, an operating system, an application program, a boot loader, and other programs.
[0121] The electronic device 6 may also include an input / output interface 630, a network interface 640, a storage interface 650, etc. These interfaces 630, 640, 650, the memory 610, and the processor 620 may be connected, for example, via a bus 660. The input / output interface 630 provides a connection interface for input / output devices such as a display, a mouse, a keyboard, a touch screen, a microphone, and a speaker. The network interface 640 provides a connection interface for various networked devices. The storage interface 650 provides a connection interface for external storage devices such as an SD card and a USB flash drive.
[0122] Figure 7 A block diagram showing some embodiments of the information transmission system of the present disclosure.
[0123] like Figure 7 As shown, the information transmission system 7 includes: an information sending end 71, including an encoder for executing the polar code of the encoding method in any of the above embodiments; and an information receiving end 72, including a decoder for executing the polar code of the decoding method in any of the above embodiments.
[0124] Those skilled in the art will appreciate that the embodiments of the present disclosure may be provided as methods, systems, or computer program products. Therefore, the present disclosure may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Furthermore, the present disclosure may take the form of a computer program product implemented on one or more computer-usable non-transient storage media including but not limited to disk storage, CD-ROM, optical storage, etc., which contain computer-usable program code.
[0125] So far, the polar code encoding method, polar code decoding method, polar code encoding device, polar code decoding device, information transmission system and non-volatile computer-readable storage medium according to the present disclosure have been described in detail. In order to avoid obscuring the concept of the present disclosure, some details known in the art are not described. Based on the above description, those skilled in the art can fully understand how to implement the technical solution disclosed here.
[0126] The method and system of the present disclosure may be implemented in many ways. For example, the method and system of the present disclosure may be implemented by software, hardware, firmware, or any combination of software, hardware, and firmware. The above order of steps for the method is for illustration only, and the steps of the method of the present disclosure are not limited to the order specifically described above, unless otherwise specifically stated. In addition, in some embodiments, the present disclosure may also be implemented as a program recorded in a recording medium, which includes machine-readable instructions for implementing the method according to the present disclosure. Therefore, the present disclosure also covers a recording medium storing a program for executing the method according to the present disclosure.
[0127] Although some specific embodiments of the present disclosure have been described in detail by way of example, it should be understood by those skilled in the art that the above examples are for illustration only and are not intended to limit the scope of the present disclosure. It should be understood by those skilled in the art that the above embodiments may be modified without departing from the scope and spirit of the present disclosure. The scope of the present disclosure is defined by the appended claims.
Claims
1. A polar code encoding method, comprising: According to the first to-be-encoded codeword sequence, m codeword segments of length n are divided, where m and n are integer powers of 2; Performing a check code generation operation on each information code element in each code element segment to obtain a check code corresponding to each code element segment; Using a low-density parity check code LDPC algorithm, each check code is encoded to obtain each coded check code; determining a first coding symbol sequence according to a polar code encoding result of the first to-be-coded symbol sequence; The first coding symbol sequence and the coding check codes are transmitted so that after a polar code decoding device performs segmented decoding on the first coding symbol sequence, the coding check codes are used to check information symbols in corresponding symbol segments.
2. The encoding method according to claim 1, wherein: The transmitting of the first coding symbol sequence and the coding check codes comprises: The coded check codes are transmitted using an LDPC channel.
3. The encoding method according to claim 1, wherein: The determining, according to the polar code encoding result of the first to-be-encoded symbol sequence, a first encoding symbol sequence comprises: Interleaving encoding is performed on a polar code encoding result of the first to-be-encoded code symbol sequence to determine the first encoding code symbol sequence.
4. The encoding method according to claim 1, wherein: The step of dividing the first to-be-encoded symbol sequence into m symbol segments of length n comprises: Permuting the first to-be-encoded symbol sequence according to a preset rule to obtain a to-be-segmented symbol sequence; The to-be-segmented codeword sequence is divided into m codeword segments of length n.
5. The encoding method according to claim 4, wherein: The step of dividing the to-be-segmented symbol sequence into m symbol segments of length n comprises: The codeword sequence to be segmented is subjected to segmentation transformation processing to divide the codeword segments, wherein the segmentation transformation processing determines odd-numbered codewords in different codeword segments according to different odd-numbered codewords in the codeword sequence to be segmented, and determines even-numbered codewords in different codeword segments according to different even-numbered codewords in the codeword sequence to be segmented.
6. The encoding method according to any one of claims 1 to 5, wherein: Each check code is a cyclic redundancy check CRC check code, a parity check code or a hash check code.
7. The encoding method according to any one of claims 1 to 5, wherein: The method of encoding each check code by using a low-density parity check code LDPC algorithm to obtain each coded check code includes: Combining the check codes corresponding to the symbol segments into a second to-be-encoded symbol sequence; Encoding the second to-be-encoded codeword sequence by using an LDPC algorithm to obtain a second coded codeword sequence; The transmitting of the first coding symbol sequence and the coding check codes comprises: The first coding symbol sequence and the second coding symbol sequence are transmitted so that after a polar code decoding device performs segment-by-segment decoding on the first coding symbol sequence, information symbols in corresponding symbol segments are checked using segment check codes obtained after decoding the second coding symbol sequence.
8. A polar code decoding method, comprising: receiving a first coding symbol sequence and various coding check codes transmitted by a coding device of a polar code; Decoding the encoding check codes using a low-density parity check code (LDPC) algorithm to obtain check codes; Decoding the first coded symbol sequence using a polar code decoding algorithm to obtain m symbol segments of length n, where m and n are integer powers of 2; The information symbols in the corresponding symbol segments are checked using the check codes to determine a first decoding symbol sequence.
9. The decoding method according to claim 8, wherein: The receiving polar code encoding device transmits a first coding symbol sequence and each coding check code, including: The encoding check codes are received by using an LDPC channel.
10. The decoding method according to claim 8, wherein: The step of decoding the first coded symbol sequence by using a polar code decoding algorithm to obtain m symbol segments of length n includes: Dividing the interleaved decoding result of the first coding symbol sequence into m interleaved decoding segments of length n; The interleaved decoding segments are decoded by using a polar code decoding algorithm to obtain the symbol segments.
11. The decoding method according to claim 8, wherein: The checking of the information symbols in the corresponding symbol segments by using the check codes to determine the first decoding symbol sequence comprises: Determine a final decoding path from each candidate decoding path of the polar code decoding algorithm according to the verification result, so as to determine a decoding symbol of the information symbol in each symbol segment; The positions of the decoding symbols are permuted according to a preset rule to determine the first decoding symbol sequence, wherein the position permutation is an inverse operation of the position permutation in the encoding process.
12. The decoding method according to claim 11, wherein: The step of determining a final decoding path from each candidate decoding path of the polar code decoding algorithm according to the verification result to determine the decoding codeword of the information codeword in each codeword segment includes: Determining a second decoding codeword sequence according to the decoding results determined by each final decoding path; The codewords in the second decoding codeword sequence are jointly determined to determine the first decoding codeword sequence, and the joint decision is an inverse operation of the piecewise transformation process in the encoding process.
13. The decoding method according to any one of claims 8 to 12, wherein: Each check code is a cyclic redundancy check CRC check code, a parity check code or a hash check code.
14. The decoding method according to any one of claims 8 to 12, wherein: The first coding symbol sequence and each coding check code transmitted by the coding device receiving the polar code include: receiving a first coding symbol sequence and a second coding symbol sequence transmitted by a coding device of a polar code, where the second coding symbol sequence is generated by the coding device encoding a to-be-coded symbol sequence formed by combining each check code using an LDPC algorithm; The method of decoding the encoding check codes by using a low-density parity check code LDPC algorithm to obtain the check codes includes: The second coded symbol sequence is decoded by using an LDPC algorithm to obtain various check codes.
15. A polar code encoding device, comprising: A dividing unit, used for dividing the first to-be-encoded symbol sequence into m symbol segments of length n, where m and n are integer powers of 2; A generating unit, used for performing a check code generation operation on each information code element in each code element segment, so as to obtain a check code corresponding to each code element segment; A coding unit, configured to encode each check code by using a low-density parity check code LDPC algorithm to obtain each coded check code, and determine a first coded code symbol sequence according to a polar code coding result of the code symbol sequence to be segmented; The transmission unit is configured to transmit the first coding symbol sequence and the coding check codes, so that after the polar code decoding device performs segmented decoding on the first coding symbol sequence, the coding check codes are used to check the information symbols in the corresponding symbol segments.
16. A polar code decoding device, comprising: A receiving unit, configured to receive a first coding symbol sequence and various coding check codes transmitted by a polar code coding device; A decoding unit, configured to decode the coding check codes by using a low-density parity check code LDPC algorithm to obtain check codes, and decode the first coding symbol sequence by using a polar code decoding algorithm to obtain m symbol segments of length n, where m and n are integer powers of 2; The checking unit is used to check the information codewords in the corresponding codeword segments using the check codes to determine the first decoding codeword sequence.
17. An electronic device comprising: Memory; and A processor coupled to the memory, the processor being configured to execute the encoding method according to any one of claims 1 to 7 or the decoding method according to any one of claims 8 to 14 based on instructions stored in the memory.
18. An information transmission system, comprising: An information transmitting end, comprising an encoder for executing a polar code of the encoding method according to any one of claims 1 to 7; An information receiving end comprises a polar code decoder for executing the decoding method according to any one of claims 8 to 14.
19. A non-volatile computer-readable storage medium having a computer program stored thereon, wherein when the program is executed by a processor, the encoding method according to any one of claims 1 to 7 or the decoding method according to any one of claims 8 to 14 is implemented.
Citation Information
Patent Citations
Coding method, decoding method, encoding device and decoding device
CN110166167A
Decoding method and decoding apparatus for polar code
WO2016168962A1