WO2018219031A1 - 一种Polar码处理方法、译码器和终端 - Google Patents

一种Polar码处理方法、译码器和终端 Download PDF

Info

Publication number
WO2018219031A1
WO2018219031A1 PCT/CN2018/080957 CN2018080957W WO2018219031A1 WO 2018219031 A1 WO2018219031 A1 WO 2018219031A1 CN 2018080957 W CN2018080957 W CN 2018080957W WO 2018219031 A1 WO2018219031 A1 WO 2018219031A1
Authority
WO
WIPO (PCT)
Prior art keywords
pattern
decoding block
path
processed
decoding
Prior art date
Application number
PCT/CN2018/080957
Other languages
English (en)
French (fr)
Inventor
杜政
郑征
郭晗
张涛
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2018219031A1 publication Critical patent/WO2018219031A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit

Definitions

  • the present application relates to the field of coding, and in particular, to a Polar code processing method, a decoder, and a terminal.
  • the 3rd Generation Partnership Project (3GPP) standard selects a Polar code as a control channel error correction code scheme for a next-generation mobile communication system, that is, a 5th Generation (5G) communication system.
  • Polar decoding schemes include a Serial Cancellation (SC) decoder and a Serial Cancellation List (SCL) decoder.
  • SC Serial Cancellation
  • SCL Serial Cancellation List
  • the multi-bit parallel processing SCL decoder effectively improves the decoder throughput rate based on the SC decoder by processing multiple bits (M bits) simultaneously in each decision step.
  • L Successive Cancellation Decoders respectively process each of the L paths and output all possible paths of the path.
  • the Metric Sorting Block module compares all subsequent paths of the L paths, selects the L optimal paths for output, and completes the processing of all the bits according to the result of the Cyclic Redundancy Check (CRC).
  • CRC Cyclic Redundancy Check
  • the parallelism M of each level of processing is further improved, and the parallelism increase is proportional to 2 ⁇ M.
  • the complexity increases by the order of M.
  • the embodiment of the present application provides a Polar code processing method, a decoder, and a terminal to solve the problem that the throughput rate is limited in the SCL decoder.
  • a polarization Polar code processing method for use in a serial cancellation list SCL decoder, the method comprising:
  • the decoding block of the current level includes M bits, where any bit is an information bit or a frozen bit, and the decoding information includes: the decoding block of the current level At least one of the number of information bits or the number of frozen bits in the medium, M is a positive integer greater than one;
  • the first Pattern of the decoding block of the current level is determined, so that the corresponding processing mode is selected based on the determined first Pattern, and the output path of the SCL decoder is performed. The decision is made to select the optimal path and improve the decoding performance.
  • determining, according to the decoding information, the first Pattern of the decoding block of the current level including:
  • the number of information bits corresponding to the decoding block of the current level is greater than a preset first threshold and less than M, determining that the first Pattern of the decoding block of the current level is the Pattern to be adjusted.
  • a processing manner corresponding to the first Pattern is selected from a preset processing manner, and based on the selected processing manner,
  • the output path of the SCL decoder performs a decision to select an optimal path, including:
  • the first Pattern is a Pattern to be adjusted, exchanging positions of X information bits and X freeze bits in the decoding block of the current level;
  • the average decoding block of the to-be-processed decoding block is obtained by averaging the two blocks of the to-be-processed coding block, and the second Patterns of the two to-be-processed coding blocks are not the Pattern to be adjusted;
  • the method determines, according to the selected processing manner, the output path of the SCL decoder, to select an optimal path, where X is a positive integer smaller than the first threshold.
  • the first Pattern cannot be processed as a whole, and at this time, a certain number of information bits and frozen bit positions are exchanged, so that the information bits appear continuously.
  • the number is increased, so that the average decoding block can be split to obtain a pattern that can be processed as a whole, and the number of patterns split into smaller processing parallelism is reduced, and the decoding throughput is improved.
  • a processing manner corresponding to the first Pattern is selected from a preset processing manner, and based on the selected processing manner,
  • the output path of the SCL decoder performs a decision to select an optimal path, including:
  • If the first Pattern is a Pattern to be adjusted, change Y freeze bits of the M bits to information bits and/or change Z information bits of the M bits to freeze bits;
  • the current output path of the encoder is determined to select an optimal path, and Y and Z are positive integers smaller than the first threshold.
  • the first Pattern cannot be processed as a whole.
  • a specific number of information bits are directly processed as frozen bits or a specific number of freezes are directly
  • the bits are processed as information bits, so that the average decoding block can be split to obtain a pattern that can be processed as a whole, and the number of patterns split into smaller processing parallelism is reduced, and the decoding throughput is improved.
  • a processing manner corresponding to the second Pattern of the to-be-processed coding block is selected from a preset processing manner, based on The selected processing manner determines a current path of the SCL decoder to select an optimal path, including:
  • the path to the upper-level output is passed Based on the log-likelihood ratio LLR pre-sorting process, the M LLR values outputted by the previous stage are used to determine the 2 M -level output paths of the SCL decoder to select the L-LLR-maximum path. For all the upper-level output paths, the path with the L LLR value being the largest is selected from the L ⁇ L strip and the path with the largest LLR value as the optimal path;
  • the L-level upper-level output path of the SCL decoder is directly used as the optimal path
  • the stage output path is judged to select the optimal path.
  • determining the first Pattern of the decoding block of the current level according to the decoding information further includes:
  • the first Patter is determined to be a single parity pattern
  • the first-level decoding block includes only the frozen bit, determining that the first Pattern of the local-level decoding block is a fully-frozen bit Pattern
  • a processing manner corresponding to the first Pattern is selected from a preset processing manner, and based on the selected processing manner,
  • the output path of the SCL decoder performs a decision to select an optimal path, including:
  • the upper-order output is utilized by a pre-sorting process based on a log likelihood ratio LLR.
  • M LLR values are determined for the 2 M current-level output paths of the SCL decoder to select the L-LLR-maximum path; for all upper-level output paths, from L ⁇ L, LLR The path with the largest LLR value is selected as the optimal path among the paths with the largest value;
  • the L upper level output path of the SCL decoder is directly used as the optimal path;
  • the first Pattern is a traversal pattern, all the current output paths are traversed to select the L paths with the smallest delay as the optimal path.
  • the decoding block of the current level can be processed as a whole, which reduces the complexity of the path selection and improves the decoding performance.
  • a Polar code decoder including:
  • An acquiring unit configured to acquire decoding information of a decoding block of the current level, where the decoding block of the current level includes M bits, where any bit is an information bit or a frozen bit, and the decoding information includes: At least one of the number of information bits or the number of frozen bits in the decoding block of the current level, M is a positive integer greater than one;
  • a determining unit configured to determine, according to the decoding information, a first pattern Pattern of the decoding block of the current level
  • a selecting unit configured to select, according to the determined first Pattern, a processing manner corresponding to the first Pattern from a preset processing manner, and based on the selected processing manner, the SCL decoder The output path of this level is judged to select the optimal path.
  • the determining unit when determining the first Pattern of the decoding block of the current level according to the decoding information, is specifically used to:
  • the number of information bits corresponding to the decoding block of the current level is greater than a preset first threshold and less than M, determining that the first Pattern of the decoding block of the current level is the Pattern to be adjusted.
  • the selecting unit selects, according to the determined first Pattern, a processing manner corresponding to the first Pattern from a preset processing manner, based on the selecting
  • the processing method is to determine the output path of the SCL decoder to select an optimal path, which is specifically used for:
  • the first Pattern is a Pattern to be adjusted, exchanging positions of X information bits and X freeze bits in the decoding block of the current level;
  • the average decoding block of the to-be-processed decoding block is obtained by averaging the two blocks of the to-be-processed coding block, and the second Patterns of the two to-be-processed coding blocks are not the Pattern to be adjusted;
  • the method determines, according to the selected processing manner, the output path of the SCL decoder, to select an optimal path, where X is a positive integer smaller than the first threshold.
  • the selecting unit selects, according to the determined first Pattern, a processing manner corresponding to the first Pattern from a preset processing manner, based on the selecting
  • the processing method is to determine the output path of the SCL decoder to select an optimal path, which is specifically used for:
  • If the first Pattern is a Pattern to be adjusted, change Y freeze bits of the M bits to information bits and/or change Z information bits of the M bits to freeze bits;
  • the selecting unit selects, from the preset processing manner, the second Pattern corresponding to the to-be-processed decoding block, for the decoded coding block to be processed after the splitting
  • the processing mode is based on the selected processing manner, and when the current output path of the SCL decoder is determined to select an optimal path, specifically used for:
  • the path to the upper-level output is passed Based on the log-likelihood ratio LLR pre-sorting process, the M LLR values outputted by the previous stage are used to determine the 2 M -level output paths of the SCL decoder to select the L-LLR-maximum path. For all the upper-level output paths, the path with the L LLR value being the largest is selected from the L ⁇ L strip and the path with the largest LLR value as the optimal path;
  • the L-level upper-level output path of the SCL decoder is directly used as the optimal path
  • the stage output path is judged to select the optimal path.
  • the determining unit is further configured to:
  • the first Patter is determined to be a single parity pattern
  • the first-level decoding block includes only the frozen bit, determining that the first Pattern of the local-level decoding block is a fully-frozen bit Pattern
  • the selection unit is further configured to:
  • the upper-order output is utilized by a pre-sorting process based on a log likelihood ratio LLR.
  • M LLR values are determined for the 2 M current-level output paths of the SCL decoder to select the L-LLR-maximum path; for all upper-level output paths, from L ⁇ L, LLR The path with the largest LLR value is selected as the optimal path among the paths with the largest value;
  • the L upper level output path of the SCL decoder is directly used as the optimal path;
  • the first Pattern is a traversal pattern, all the current output paths are traversed to select the L paths with the smallest delay as the optimal path.
  • a Polar code decoder including a processor, a memory, and the memory coupled to the processor, wherein the memory stores a set of programs, and the processor is configured to call the memory
  • the stored program causes the decoder to perform the method as described in the first aspect and any of its possible designs.
  • a terminal comprising the decoder and receiver according to the third aspect, the receiver, configured to receive the local coding block to be decoded.
  • a computer storage medium for storing a computer program comprising instructions for performing the method of the first aspect, the embodiment of any of the possible designs of the first aspect.
  • a computer program product comprising instructions, when executed on a computer, causes the computer to perform the method of the first aspect described above.
  • 1 is a schematic diagram of a decoding process of an SCL decoder
  • FIG. 2 is a schematic diagram of a Polar code encoding manner in an embodiment of the present application.
  • FIG. 3 is a flowchart of a method for processing a Polar code in an embodiment of the present application
  • FIG. 4 is a schematic diagram of processing statistics of a Polar code under a pattern to be adjusted
  • FIG. 5 is a structural diagram of a Polar code decoder in an embodiment of the present application.
  • FIG. 6 is a structural diagram of a Polar code decoder in an embodiment of the present application.
  • FIG. 7 is a schematic structural diagram of a system chip in an embodiment of the present application.
  • the coding mode adopted in the embodiment of the present application is a Polar code coding mode, and the Polar code coding mode is specifically described below.
  • the Polar code encoding method has the characteristics of high performance, low complexity, and flexible rate matching.
  • an 8x8 Polar code coding matrix is shown, in which the input bits to be coded are represented by vectors (0, 0, 0, U4, 0, U6, U7, U8), encoded by the coding matrix, and encoded.
  • the bits are represented by vectors (Y1, Y2, Y3, Y4, Y5, Y6, Y7, Y8).
  • the bit vector to be coded can be divided into two parts, one part being information bits, labeled as Data in Figure 2, such as U 4 , U 6 , U 7 , U 8 ; part of which is a frozen bit, marked as frozen in Figure 2, Such as 0,0,0,0.
  • the information bits only need to be known by the transmitting end, and the frozen bits need to be known to both the transmitting end and the receiving end, and the frozen bits play the role of error correction in the decoding process of the receiving end, in order to improve the information bit position translation.
  • the probability of success of the code due to the polarization effect of the Polar code, the reliability of each bit in the bits to be encoded exhibits polarization characteristics, and the error probabilities of different bit positions are different.
  • the sorting sequence is labeled as Rank in Figure 2.
  • the sorting list cites the order of reliability of different bit positions. The smaller the sorting label, the higher the reliability. In general, selecting information bits at a location with higher reliability helps to improve decoding performance.
  • the whole decoding object is called a code block, and the code block is divided into a plurality of decoding blocks, and the decoding process of the binary tree is taken as an example.
  • the first one The decoding block performs decoding, and the output path has two (one node); then, in the second stage, the second decoding block is decoded based on the output path of the previous decoding block, and the analogy is completed.
  • Decoding of all coding blocks in the code block wherein the value of each node in the optimal path indicates the decoding result of the code block, and when decoding is performed by the SCL decoder with parallelism of M, each The level decoding blocks simultaneously process M bits in parallel.
  • the existing multi-bit SCL decoder increases the throughput rate by increasing the number of multi-bits processed simultaneously when processing the Polar code, but this causes the processing complexity to increase by an order of magnitude as the number of multi-bits M increases.
  • the increase in complexity caused by the increase in the number of multibits M processed at the same time is far greater than the increase in throughput achieved.
  • the embodiment of the present application provides a Polar code processing method, a decoder, and a terminal to solve the problem that the throughput rate is limited in the SCL decoder.
  • the method and the device are based on the same concept. Since the principles of the method and the device for solving the problem are similar, the implementation of the device and the method can be referred to each other, and the repeated description is not repeated.
  • FIG. 3 is a schematic flowchart diagram of a method for processing a Polar code provided by an embodiment of the present application. The method is applied to an SCL decoder, and the process may be implemented by hardware, software programming, or a combination of hardware and software.
  • the functional modules for performing the Polar code processing scheme provided by the embodiments of the present application may be specifically implemented by hardware, software programming, and a combination of hardware and software, and the hardware may include one or more signal processing and/or application specific integrated circuits.
  • the process specifically includes the following processes:
  • Step 30 Acquire decoding information of the decoding block of the current level.
  • the decoding block of the current stage includes M bits, where any bit is an information bit or a frozen bit, and the decoding information includes: the number of information bits or the number of frozen bits in the decoding block of the current level. At least one of M, a positive integer greater than one.
  • Step 31 Determine, according to the decoding information, a first Pattern of the decoding block of the current level.
  • determining, according to the decoding information, a first pattern Pattern of the decoding block of the current level including the following situation:
  • Case 2 If the number of information bits in the M bits is M-1, and the first bit is a freeze bit, it is determined that the first Pattern is a single parity mode, and the present application is referred to as an SPC mode.
  • Case 5 If the number of information bits in the M bits is greater than a first threshold, determining that the first Pattern is a mode to be adjusted.
  • the Polar code is decomposed and truncated into a cascade of two lengths of M/2bit. If the mode of length M/2bit still cannot be classified into the above four types of cases, then the cascading of the mode of length M/4bit is decomposed and truncated, and processed in sequence, ..., which leads to parallel processing The problem is reduced and the throughput rate is reduced. Therefore, the present application introduces a mode to be adjusted for this situation.
  • Step 32 Select, according to the determined first pattern, a processing manner corresponding to the first Pattern from a preset processing manner, and based on the selected processing manner, the current level of the SCL decoder The output path is judged to select the optimal path,
  • Embodiment 1 for case 1 and case 2, if the first pattern is a full information bit mode or a single parity mode, for any one of the L paths outputted by the previous stage, based on a log likelihood ratio
  • the pre-sorting process of the LLR uses the M LLR values outputted by the upper stage to determine the 2 M current-level output paths of the SCL decoder to select the path with the L LLR values being the largest; for all the previous ones
  • the output path of the stage selects the path with the L LLR value the largest from the L ⁇ L strip and the path with the largest LLR value as the optimal path.
  • Theorem 1 The branch metric of the Rate-1 node of length M can be calculated by:
  • ⁇ i is the encoded bipolar sequence
  • ⁇ i is the log likelihood ratio sequence input by the node
  • ⁇ i and ⁇ i are relative to the uppermost layer of the Rate-1 node.
  • Theorem 2 In the hardware-friendly form of the SCL algorithm, the branch metric of the Rate-1 node of length M can be calculated by:
  • ⁇ i is the encoded bipolar sequence
  • ⁇ i is the log likelihood ratio sequence input by the node
  • ⁇ i and ⁇ i are relative to the uppermost layer of the Rate-1 node.
  • the branch metric PM including all the levels and leaf nodes below this node can pass the ⁇ vector and ⁇ ( ⁇ and Psum).
  • Theorem 1 The branch metric of the Rate-1 node of length M can be calculated by:
  • ⁇ i is the encoded bipolar sequence
  • ⁇ i is the log likelihood ratio sequence input by the node
  • ⁇ i and ⁇ i are relative to the uppermost layer of the Rate-1 node.
  • the remaining 6 PM2 to PM7 may be taken from the following combinations:
  • x0 u0+u1+u2+u3+u4+u5+u6+u7
  • u0 is a frozen bit value fixed to 0
  • x0 is an even parity bit of information bits u1 to u7
  • a pattern of the type 11101000 or the like is already in the optimal 8 paths because it is already larger than the last one in the first line.
  • a pattern of the type 11111000 or the like is already in the optimal 8 paths because it is already larger than the last one in the second line.
  • Embodiment 2 For the third case, if the first Pattern is a full freeze bit mode, the L upper-level output path of the SCL decoder is directly used as the optimal path.
  • Embodiment 3 For case 4, if the first pattern is an traversal mode, all the output circuits of the current level are traversed to select the L paths with the smallest delay as the optimal path.
  • the first threshold value is 5, that is, the case where the number of information bits included in the pattern of one Polar code is less than or equal to 5.
  • Embodiment 4 For Case 5, if the first Pattern is a Pattern to be adjusted, the positions of the X information bits and the frozen bits in the M bits are exchanged; and the decoding blocks of the current level that are subjected to the exchange processing are averagely split to obtain two The second pattern of the two to-be-processed coding blocks is not the Pattern to be adjusted; and the corresponding decoding block to be processed is determined for the decoded coding block to be processed.
  • a second Pattern according to the second Pattern, selecting a processing manner corresponding to the second Pattern from a preset processing manner, and outputting the current level of the SCL decoder based on the selected processing manner
  • the path is decimated to select an optimal path, and X is a positive integer less than the first threshold.
  • the first method is to exchange the position of 5 information bits and the fax bit, and change the pattern to 16I0+16I16.
  • the pattern composed of the first frozen bit does not need to be processed, and the second is processed according to the LLR pre-sorting method.
  • the second method is to exchange the position of three information bits and the fax bit, and change the pattern to 16I3+16I16.
  • the first one is processed by all combinations of 3bit traversal, the second is processed by LLR pre-sorting method, and three Frozen bits are processed. Processing is performed according to the information bit to increase the decoding throughput.
  • the decoding time can be reduced from the original 1191cycle to 935cycle, and the throughput rate is increased by 27%, wherein each pattern containing 16 information bits is reduced from 26cycle to 10cycle;
  • the decoding time can be reduced from the original 1191cycle to 1031cycle, and the throughput rate is increased by 16%, wherein each pattern containing 16 information bits is reduced from 26cycle to 16cycle.
  • Embodiment 5 For Case 5, if the first Pattern is a Pattern to be adjusted, change Y freeze bits of the M bits to information bits and/or change Z information bits of the M bits to Freezing bits; averaging splitting the modified block of the current stage to obtain two blocks to be processed, and the second Patterns of the two blocks to be processed are not all of the Pattern to be adjusted;
  • the processing block to be processed from a preset processing manner, selecting a processing manner corresponding to the second Pattern of the to-be-processed decoding block, and based on the selected processing manner, the version of the SCL decoder
  • the stage output path makes a decision to select an optimal path, and Y and Z are positive integers smaller than the first threshold.
  • the processing manner corresponding to the second Pattern of the to-be-processed decoding block is selected from the preset processing manner for the decoded decoding block to be processed after the splitting. And determining, according to the selected processing manner, the output path of the SCL decoder to select an optimal path, which can be implemented by the following process:
  • the path to the upper-level output is passed Based on the log-likelihood ratio LLR pre-sorting process, the M LLR values outputted by the previous stage are used to determine the 2 M -level output paths of the SCL decoder to select the L-LLR-maximum path. For all the upper-level output paths, the path with the largest L LLR value is selected from the L ⁇ L strip and the path with the largest LLR value as the optimal path.
  • the L-level upper-level output path of the SCL decoder is directly used as the optimal path.
  • the stage output path is judged to select the optimal path.
  • the first Pattern is not a Pattern to be adjusted
  • the current stage and the decoding block of the next stage are combined to meet a preset condition, the current stage and the next level of the decoding block are combined to obtain a new one.
  • Decoding a block determining, for the new coding block, a Pattern of the new coding block; determining, according to a Pattern of the new coding block, an output path of the SCL decoder and selecting the most Excellent path.
  • the total length is 2 integer power and the information bit length is still less than or equal to the maximum calculation.
  • Parallelism 5bit
  • the two patterns are combined and processed one after another. The merge can be repeated multiple times in succession until it is impossible to continue the merge.
  • the two patterns can be combined into 32 Frozen bit unified processing.
  • the decoding block in the current stage is the Pattern to be adjusted, the information bits and the frozen bits in the decoding block of the current level are changed, so that the number of consecutive information bits increases, reducing the need.
  • the embodiment of the present application further provides a Polar code decoder 500, which is used to perform the Polar code processing method shown in FIG.
  • the device 500 includes an obtaining unit 501, a determining unit 502 and a selecting unit 503, wherein:
  • the obtaining unit 501 is configured to obtain decoding information of the decoding block of the current level, where the decoding block of the current level includes M bits, where any bit is an information bit or a frozen bit, and the decoding information includes: Describe at least one of the number of information bits or the number of frozen bits in the decoding block of the current level, where M is a positive integer greater than one;
  • a determining unit 502 configured to determine, according to the decoding information, a first pattern Pattern of the decoding block of the current level
  • the selecting unit 503 is configured to select, according to the determined first Pattern, a processing manner corresponding to the first Pattern from a preset processing manner, and the SCL decoder is based on the selected processing manner The output path of the current level is judged to select the optimal path.
  • the determining unit 502 is specifically configured to: when determining, according to the decoding information, the first Pattern of the decoding block of the current level:
  • the number of information bits corresponding to the decoding block of the current level is greater than a preset first threshold and less than M, determining that the first Pattern of the decoding block of the current level is the Pattern to be adjusted.
  • the selecting unit 503 selects, according to the determined first pattern, a processing manner corresponding to the first Pattern from a preset processing manner, and based on the selected processing manner,
  • the output path of the SCL decoder is judged to select the optimal path, it is specifically used to:
  • the first Pattern is a Pattern to be adjusted, exchanging positions of X information bits and X freeze bits in the decoding block of the current level;
  • the average decoding block of the to-be-processed decoding block is obtained by averaging the two blocks of the to-be-processed coding block, and the second Patterns of the two to-be-processed coding blocks are not the Pattern to be adjusted;
  • the method determines, according to the selected processing manner, the output path of the SCL decoder, to select an optimal path, where X is a positive integer smaller than the first threshold.
  • the selecting unit 503 selects, according to the determined first pattern, a processing manner corresponding to the first Pattern from a preset processing manner, and based on the selected processing manner,
  • the output path of the SCL decoder is judged to select the optimal path, it is specifically used to:
  • If the first Pattern is a Pattern to be adjusted, change Y freeze bits of the M bits to information bits and/or change Z information bits of the M bits to freeze bits;
  • the selecting unit 503 selects, from the preset processing manner, a processing manner corresponding to the second Pattern of the to-be-processed decoding block, according to the to-be-processed coding block to be processed, based on the The selected processing mode is used to determine the output path of the SCL decoder at the current level to select an optimal path, which is specifically used for:
  • the path to the upper-level output is passed Based on the log-likelihood ratio LLR pre-sorting process, the M LLR values outputted by the previous stage are used to determine the 2 M -level output paths of the SCL decoder to select the L-LLR-maximum path. For all the upper-level output paths, the path with the L LLR value being the largest is selected from the L ⁇ L strip and the path with the largest LLR value as the optimal path;
  • the L-level upper-level output path of the SCL decoder is directly used as the optimal path
  • the stage output path is judged to select the optimal path.
  • the determining unit 502 is further configured to:
  • the first Patter is determined to be a single parity pattern
  • the first-level decoding block includes only the frozen bit, determining that the first Pattern of the local-level decoding block is a fully-frozen bit Pattern
  • the selecting unit 503 is further configured to:
  • the upper-order output is utilized by a pre-sorting process based on a log likelihood ratio LLR.
  • M LLR values are determined for the 2 M current-level output paths of the SCL decoder to select the L-LLR-maximum path; for all upper-level output paths, from L ⁇ L, LLR The path with the largest LLR value is selected as the optimal path among the paths with the largest value;
  • the L upper level output path of the SCL decoder is directly used as the optimal path;
  • the first Pattern is a traversal pattern, all the current output paths are traversed to select the L paths with the smallest delay as the optimal path.
  • the Polar code decoder 500 in the embodiment of the present application may be implemented by an integrated circuit, and correspondingly, the function module of the obtaining unit 501, the determining unit 502, and the selecting unit 503 may be part of an integrated circuit, where
  • the integrated circuit may also be referred to as an IC, and may be classified into a large scale integrated circuit (LSI), a super LSI (super LSI), or an over LSI (ultra LSI) according to the degree of integration.
  • the integrated circuit is not limited to the LSI implementation, and may be implemented by a dedicated circuit.
  • an integrated technology that replaces an LSI is developed due to advancement or evolution of semiconductor technology, it is also possible to implement the integrated circuit using the technology. For example, biotechnology.
  • the embodiment of the present application further provides a Polar code decoder 600, which can be used to execute FIG. The method shown.
  • the Polar Code Decoder 600 includes a processor 602 and a memory 601.
  • the processor 602 is configured to execute a set of codes. When the code is executed, the execution causes the processor 602 to execute the Polar code processing method shown in FIG.
  • the memory 601 is configured to store code executed by the processor 602. Alternatively, the memory 601 can be integrated with the processor 602.
  • the processor 602 can be a central processing unit (CPU), a network processor (NP), or a combination of a CPU and an NP.
  • CPU central processing unit
  • NP network processor
  • Processor 602 can also further include a hardware chip.
  • the hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof.
  • the PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a general array logic (GAL), or any combination thereof.
  • the memory 601 may include a volatile memory such as a random-access memory (RAM); the memory 601 may also include a non-volatile memory such as a flash memory (flash) Memory), hard disk drive (HDD) or solid-state drive (SSD); the memory 601 may also include a combination of the above types of memories.
  • RAM random-access memory
  • non-volatile memory such as a flash memory (flash) Memory), hard disk drive (HDD) or solid-state drive (SSD)
  • the memory 601 may also include a combination of the above types of memories.
  • the embodiment of the present application provides a computer storage medium for storing a computer program, the computer program comprising a method for processing the Polar code shown in FIG.
  • the embodiment of the present application provides a computer program product including instructions, which when executed on a computer, causes the computer to execute the Polar code processing method shown in FIG.
  • the embodiment of the present application further provides a system chip 700.
  • the system chip 700 includes an input interface 701, an output interface 702, and at least one processing. 703, a memory 704, the input interface 701, the output interface 702, the processor 703 and the memory 704 are connected by a bus 705, the processor 703 is configured to execute the code in the memory 704, when When the code is executed, the processor 703 implements the Polar code processing method in FIG.
  • the bus 705 can sometimes be omitted, for example, when other modules are implemented by logic circuits or hardware circuits.
  • embodiments of the present application can be provided as a method, system, or computer program product. Therefore, the embodiments of the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Moreover, embodiments of the present application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
  • computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • Embodiments of the present application are described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present application. It will be understood that each flow and/or block of the flowchart illustrations and/or FIG.
  • These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing device to produce a machine for the execution of instructions for execution by a processor of a computer or other programmable data processing device.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

本申请公开了一种Polar码处理方法、译码器和终端,以解决SCL译码器中吞吐率受限的问题。该方法应用于SCL译码器中,包括:获取本级译码块的译码信息;根据所述译码信息,确定所述本级译码块的第一Pattern;根据确定的所述第一Pattern,从预设的处理方式中,选择与所述第一Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径,这样能够提高译码吞吐量,提升译码性能。

Description

一种Polar码处理方法、译码器和终端
本申请要求在2017年5月31日提交中国专利局、申请号为201710400834.5、发明名称为“一种Polar码处理方法、译码器和终端”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及译码领域,尤其涉及一种Polar码处理方法、译码器和终端。
背景技术
第三代移动通信标准化组织(3rd Generation Partnership Project,3GPP)标准选定极化(Polar)码作为下一代移动通信系统即第五代(5th Generation,5G)通信系统的控制信道纠错码方案。
目前常用的Polar译码方案包括采用串行对消(Successive Cancellation,SC)译码器和串行对消列表(Successive Cancellation list,SCL)译码器。
采用SC译码器时,由于Polar码的构造基于不同bit逐级叠加,要消除不同bit的相互影响,需要逐级进行SC,这导致了Polar码的译码方案先天具有串行处理的特点,从而难以有效提升译码吞吐量。
多比特(Multibit)并行处理的SCL译码器通过在每个判决步骤同时处理多个bit(M bit),在SC译码器的基础上有效地提升了译码器的吞吐率。
在SCL译码器中,每一级译码对连续M(M=2^I)个bit进行译码,每一级均输出L条最优路径,在下一级译码中针对上一级输出的L条最优路径的所有后续路径进行比较,选取其中L条最优路径输出到下一级。
如图1所示,L个串行对消译码器(Successive Cancellation Decoder,SC decoder)分别针对L条路径中的每一条路径进行处理,输出该路径的所有可能路径。度量排序(Metric Sorting Block)模块对L条路径的所有后续路径进行比较,选取其中L条最优路径进行输出,完成所有bit的处理以后根据循环冗余校验(Cyclic Redundancy Check,CRC)的结果,从L条路径中选取满足CRC校验关系的最优路径作为译码器的输出结果。
在单bit SCL译码器中,每次只能处理1bit的判决,成为了处理时延的关键路径。
在2bit SCL译码器中,每一级中L条路径中的每一条都同时考虑2^2=4条可能的路径,然后从4L条备选路径中选取最优的L条路径输出到下一级,由于每次同时处理2bit的判决,可以将译码时间减少到原先的1/2。
在2bit SCL译码器基础上进一步提升处理每一级处理的并行度M,带来的并行度增加与2^M成正比,随着M的增加,复杂度以M的指数量级增加。
当M=4时,L条最优路径中每一条需要计算2^M=16条候选路径,然后从16*L条路径中再选出L条最优路径。
当M=8时,L条最优路径中每一条需要计算2^M=256条候选路径,然后从256*L条路径中再选出L条最优路径。
当M=16时,L条最优路径中每一条需要计算2^M=65536条候选路径,然后从65536*L 条路径中再选出L条最优路径。
可见,随着M的增加,multibit的SCL译码器同样会遇到吞吐量提升的瓶颈,增加同时处理的multibit数量M带来的复杂度增加远远大于与获得的吞吐率提升。
发明内容
本申请实施例提供一种Polar码处理方法、译码器和终端,以解决SCL译码器中吞吐率受限的问题。
本申请实施例提供的具体技术方案如下:
第一方面,提供一种极化Polar码处理方法,应用于串行对消列表SCL译码器中,所述方法包括:
获取本级译码块的译码信息,其中,所述本级译码块包括M个比特,其中任一比特为信息比特或冻结比特,所述译码信息包括:所述本级译码块中的信息比特的数量或冻结比特的数量中的至少一个,M为大于1的正整数;
根据所述译码信息,确定所述本级译码块的第一图案Pattern;
根据确定的所述第一Pattern,从预设的处理方式中,选择与所述第一Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径。
这种设计中,对Polar码进行译码处理时,确定本级译码块的第一Pattern,从而基于确定的第一Pattern,选择对应的处理方式,对SCL译码器的本级输出路径进行判决,以选出最优路径,提高译码性能。
结合第一方面,一种可能的设计中,根据所述译码信息,确定所述本级译码块的第一Pattern,包括:
若所述本级译码块对应的信息比特的数量大于预设的第一阈值且小于M,则确定所述本级译码块的第一Pattern为待调整Pattern。
结合第一方面,一种可能的设计中,根据确定的所述第一Pattern,从预设的处理方式中,选择与所述第一Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径,包括:
若所述第一Pattern为待调整Pattern,则交换所述本级译码块中X个信息比特和X个冻结比特的位置;
平均拆分经过交换处理的本级译码块,得到两个待处理译码块,所述两个待处理译码块的第二Pattern不都为所述待调整Pattern;
针对拆分后的待处理译码块,确定所述待处理译码块对应的第二Pattern,根据所述第二Pattern,从预设的处理方式中,选择与所述第二Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径,X为小于所述第一阈值的正整数。
这种设计中,由于信息比特和冻结比特交替出现,且信息比特出现次数较多,导致第一Pattern无法整体处理,此时交换特定数量的信息比特和冻结比特的位置,使得连续出现的信息比特数量增多,从而可以平均拆分本级译码块得到可以整体处理的Pattern,减少了拆分为较小处理并行度的Pattern的数量,提高了译码吞吐量。
结合第一方面,一种可能的设计中,根据确定的所述第一Pattern,从预设的处理方式 中,选择与所述第一Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径,包括:
若所述第一Pattern为待调整Pattern,将所述M个比特中Y个冻结比特更改为信息比特和/或将所述M个比特中Z个信息比特更改为冻结比特;
平均拆分经过更改处理的本级译码块得到两个待处理译码块,所述两个待处理译码块的第二Pattern不都为所述待调整Pattern;
针对拆分后的待处理译码块,从预设的处理方式中,选择与所述待处理译码块的第二Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径,Y,Z均为小于所述第一阈值的正整数。
这种设计中,由于信息比特和冻结比特交替出现,且信息比特出现次数较多,导致第一Pattern无法整体处理,此时直接将特定数量的信息比特作为冻结比特处理或者直接将特定数量的冻结比特作为信息比特处理,从而可以平均拆分本级译码块得到可以整体处理的Pattern,减少了拆分为较小处理并行度的Pattern的数量,提高了译码吞吐量。
结合第一方面,一种可能的设计中,针对拆分后的待处理译码块,从预设的处理方式中,选择与所述待处理译码块的第二Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径,包括:
若所述待处理译码块中只包括信息比特或所述待处理译码块中除第一个比特之外只包括信息比特,则针对上一级输出的L条路径中任意一条路径,通过基于对数似然比LLR的预排序过程,利用上一级输出的M个LLR值对所述SCL译码器的2 M条本级输出路径进行判决,以选出L条LLR值最大的路径;针对所有的上一级输出路径,从L×L条、LLR值最大的路径中选择出L条LLR值最大的路径作为所述最优路径;
若所述待处理译码块中只包括冻结比特,则直接将所述SCL译码器的L条上一级输出路径作为所述最优路径;
若所述待处理译码块中信息比特的数量为小于等于预设的第一阈值,则对所有的本级输出路径进行遍历选择出时延最小的L条路径作为所述最优路径;
若所述待处理译码块中信息比特的数量为大于预设的第一阈值,则继续平均拆分所述待处理译码块,得到新的待处理译码块,针对所述新的待处理译码块,从预设的处理方式中,选择与所述新的待处理译码块的第三Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径。
结合第一方面,一种可能的设计中,根据所述译码信息,确定所述本级译码块的第一Pattern,还包括:
若所述本级译码块中只包括信息比特,确定所述本级译码块的第一Pattern为全信息比特Pattern;
若所述本级译码块中除第一个比特之外只包括信息比特,确定所述本级译码块的第一Pattern为单奇偶校验Pattern;
若所述本级译码块中只包括冻结比特,确定所述本级译码块的第一Pattern为全冻结比特Pattern;
若所述本级译码块中信息比特的数量为小于等于预设的第一阈值,确定所述本级译码块的第一Pattern为遍历Pattern。
结合第一方面,一种可能的设计中,根据确定的所述第一Pattern,从预设的处理方式 中,选择与所述第一Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径,包括:
若所述第一Pattern为全信息比特Pattern或单奇偶校验Pattern,针对上一级输出的L条路径中任意一条路径,通过基于对数似然比LLR的预排序过程,利用上一级输出的M个LLR值对所述SCL译码器的2 M条本级输出路径进行判决,以选出L条LLR值最大的路径;针对所有的上一级输出路径,从L×L条、LLR值最大的路径中选择出L条LLR值最大的路径作为所述最优路径;
若所述第一Pattern为全冻结比特Pattern,则直接将所述SCL译码器的L条上一级输出路径作为所述最优路径;
若所述第一Pattern为遍历Pattern,则对所有的本级输出路径进行遍历选择出时延最小的L条路径作为所述最优路径。
这种设计中,第一Pattern为特定的图案时,可以整体处理本级译码块,减少了路径选择的复杂度吗,提升译码性能。
第二方面,提供一种Polar码译码器,包括:
获取单元,用于获取本级译码块的译码信息,其中,所述本级译码块包括M个比特,其中任一比特为信息比特或冻结比特,所述译码信息包括:所述本级译码块中的信息比特的数量或冻结比特的数量中的至少一个,M为大于1的正整数;
确定单元,用于根据所述译码信息,确定所述本级译码块的第一图案Pattern;
选择单元,用于根据确定的所述第一Pattern,从预设的处理方式中,选择与所述第一Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径。
结合第二方面,一种可能的设计中,所述确定单元在根据所述译码信息,确定所述本级译码块的第一Pattern时,具体用于:
若所述本级译码块对应的信息比特的数量大于预设的第一阈值且小于M,则确定所述本级译码块的第一Pattern为待调整Pattern。
结合第二方面,一种可能的设计中,所述选择单元在根据确定的所述第一Pattern,从预设的处理方式中,选择与所述第一Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径时,具体用于:
若所述第一Pattern为待调整Pattern,则交换所述本级译码块中X个信息比特和X个冻结比特的位置;
平均拆分经过交换处理的本级译码块,得到两个待处理译码块,所述两个待处理译码块的第二Pattern不都为所述待调整Pattern;
针对拆分后的待处理译码块,确定所述待处理译码块对应的第二Pattern,根据所述第二Pattern,从预设的处理方式中,选择与所述第二Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径,X为小于所述第一阈值的正整数。
结合第二方面,一种可能的设计中,所述选择单元在根据确定的所述第一Pattern,从预设的处理方式中,选择与所述第一Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径时,具体用于:
若所述第一Pattern为待调整Pattern,将所述M个比特中Y个冻结比特更改为信息比 特和/或将所述M个比特中Z个信息比特更改为冻结比特;
平均拆分经过更改处理的本级译码块得到两个待处理译码块,所述两个待处理译码块的第二Pattern不都为所述待调整Pattern;
针对拆分后的待处理译码块,从预设的处理方式中,选择与所述待处理译码块的第二Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径,X为小于所述第一阈值的正整数。
结合第二方面,一种可能的设计中,所述选择单元在针对拆分后的待处理译码块,从预设的处理方式中,选择与所述待处理译码块的第二Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径时,具体用于:
若所述待处理译码块中只包括信息比特或所述待处理译码块中除第一个比特之外只包括信息比特,则针对上一级输出的L条路径中任意一条路径,通过基于对数似然比LLR的预排序过程,利用上一级输出的M个LLR值对所述SCL译码器的2 M条本级输出路径进行判决,以选出L条LLR值最大的路径;针对所有的上一级输出路径,从L×L条、LLR值最大的路径中选择出L条LLR值最大的路径作为所述最优路径;
若所述待处理译码块中只包括冻结比特,则直接将所述SCL译码器的L条上一级输出路径作为所述最优路径;
若所述待处理译码块中信息比特的数量为小于等于预设的第一阈值,则对所有的本级输出路径进行遍历选择出时延最小的L条路径作为所述最优路径;
若所述待处理译码块中信息比特的数量为大于预设的第一阈值,则继续平均拆分所述待处理译码块,得到新的待处理译码块,针对所述新的待处理译码块,从预设的处理方式中,选择与所述新的待处理译码块的第三Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径。
结合第二方面,一种可能的设计中,所述确定单元还用于:
若所述本级译码块中只包括信息比特,确定所述本级译码块的第一Pattern为全信息比特Pattern;
若所述本级译码块中除第一个比特之外只包括信息比特,确定所述本级译码块的第一Pattern为单奇偶校验Pattern;
若所述本级译码块中只包括冻结比特,确定所述本级译码块的第一Pattern为全冻结比特Pattern;
若所述本级译码块中信息比特的数量为小于等于预设的第一阈值,确定所述本级译码块的第一Pattern为遍历Pattern。
结合第二方面,一种可能的设计中,所述选择单元还用于:
若所述第一Pattern为全信息比特Pattern或单奇偶校验Pattern,针对上一级输出的L条路径中任意一条路径,通过基于对数似然比LLR的预排序过程,利用上一级输出的M个LLR值对所述SCL译码器的2 M条本级输出路径进行判决,以选出L条LLR值最大的路径;针对所有的上一级输出路径,从L×L条、LLR值最大的路径中选择出L条LLR值最大的路径作为所述最优路径;
若所述第一Pattern为全冻结比特Pattern,则直接将所述SCL译码器的L条上一级输出路径作为所述最优路径;
若所述第一Pattern为遍历Pattern,则对所有的本级输出路径进行遍历选择出时延最小的L条路径作为所述最优路径。
第三方面,提供一种Polar码译码器,包括处理器、存储器、所述存储器耦合至所述处理器,其中,所述存储器中存储一组程序,所述处理器用于调用所述存储器中存储的程序,使得所述译码器执行如第一方面及其可能的任一设计中所述的方法。
第四方面,提供一种终端,包括如第三方面所述的译码器和接收机,所述接收机,用于接收待译码的所述本级译码块。
第五方面,提供一种计算机存储介质,用于存储计算机程序,该计算机程序包括用于执行第一方面、第一方面的任一可能的设计中的实施方式中的方法的指令。
第六方面,提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
附图说明
图1为SCL译码器的译码过程示意图;
图2为本申请实施例中Polar码编码方式示意图;
图3为本申请实施例中的Polar码处理方法流程图;
图4为待调整图案下Polar码的处理统计示意图;
图5为本申请实施例中的Polar码译码器的结构图;
图6为本申请实施例中的Polar码译码器的结构图;
图7为本申请实施例中系统芯片结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请实施例采用的编码方式为Polar码编码方式,下面具体介绍一下Polar码编码方式。
Polar码编码方式具有高性能、低复杂度,速率匹配方式灵活的特点。如图2所示,展示了一个8x8的Polar码编码矩阵,其中输入的待编码比特以向量(0,0,0,U4,0,U6,U7,U8)表示,经过编码矩阵编码,编码后的比特以向量(Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8)表示。待编码比特向量可以分为两个部分,一部分为信息比特,在图2中标记为Data,如U 4,U 6,U 7,U 8;一部分为冻结比特,在图2中标记为frozen,如0,0,0,0。在应用中,信息比特只需要发送端已知,而冻结比特需要发送端和接收端均已知,且冻结比特在接收端译码过程中起到纠错的作用,目的是提高信息比特位置译码的成功概率。另外,由于Polar码的极化效应,待编码比特中每个比特的可靠度呈现极化特性,不同比特位置的出错概率不同。排序列在图2中标记为Rank,排序列表征了不同比特位置的可靠程度排序情况,排序的标号越小,可靠度越高。通常情况下,选择可靠度较高的位置放置信息比特,这样有助于提高译码性能。
申请实施例中,将整体的译码对象叫做码块,码块中分成多个译码块,以二叉树的译码过程为例,在译码时,在二叉树的第一级,对第一个译码块进行译码,其输出路径有2条(一个节点);然后在第二级,基于前一译码块的输出路径,对第二个译码块进行译码,一次类推,完成对码块中的所有译码块的译码,其中最优路径的中的各个节点的值,就表 示码块的译码结果,采用并行度为M的SCL译码器进行译码时,每一级译码块都同时并行处理M个比特。
现有的multibit的SCL译码器在处理Polar码时,通过增加同时处理的multibit数量来获得吞吐率的提升,但是这样会造成处理复杂度随multibit数量M的增加呈指数量级增加的问题,同时处理的multibit数量M增加带来的复杂度的增加远远大于获得的吞吐率提升。
鉴于此,本申请实施例提供一种Polar码处理方法、译码器和终端,以解决SCL译码器中吞吐率受限的问题。其中,方法和装置是基于同一构思的,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。
图3示出了本申请实施例提供的Polar码处理方法的流程示意图,该方法应用于SCL译码器中,该流程具体可通过硬件、软件编程或软硬件的结合来实现。
用以执行本申请实施例所提供的Polar码处理方案的功能模块具体可以通过硬件、软件编程以及软硬件的组合来实现,硬件可包括一个或多个信号处理和/或专用集成电路。
如图3所示,该流程具体包括有以下处理过程:
步骤30:获取本级译码块的译码信息。
其中,所述本级译码块包括M个比特,其中任一比特为信息比特或冻结比特,所述译码信息包括:所述本级译码块中的信息比特的数量或冻结比特的数量中的至少一个,M为大于1的正整数。
步骤31:根据所述译码信息,确定所述本级译码块的第一Pattern。
具体的,根据所述译码信息,确定所述本级译码块的第一图案Pattern,包括以下情形:
情形一:若所述M比特中信息比特的数量为M,确定所述第一Pattern为全信息比特模式,本申请中称为Rate-1模式。
情形二:若所述M比特中信息比特的数量为M-1,且第一个比特为冻结比特,确定所述第一Pattern为单奇偶校验模式,本申请称为SPC模式。
情形三:若所述M比特中信息比特的数量为0,确定所述第一Pattern为全冻结比特模式。
情形四:若所述M比特中信息比特的数量为不大于第一阈值,确定所述第一Pattern为遍历模式。
情形五:若所述M比特中信息比特的数量为大于第一阈值,确定所述第一Pattern为待调整模式。
针对复杂的长度为M bit的模式,如无法直接对应于以上情形一至情形四这四种情形,则对Polar码进行分解和截短为长度为两个长度为M/2bit的模式的级联并依次处理;如果长度为M/2bit的模式仍然无法归入到以上四类情形,则再分解和截短为长度为M/4bit的模式的级联并依次处理,…,此时会导致处理并行度降低,吞吐率随之下降的问题,因此,本申请针对这种情形引入了待调整模式。
步骤32:根据确定的所述第一Pattern,从预设的处理方式中,选择与所述第一Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径、
具体的,根据确定的所述第一Pattern,从预设的处理方式中,选择与所述第一Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径时,针对以上情形,分别对应以下实施方式:
实施方式一,针对情形一和情形二,若所述第一Pattern为全信息比特模式或单奇偶校验模式,针对上一级输出的L条路径中任意一条路径,通过基于对数似然比LLR的预排序过程,利用上一级输出的M个LLR值对所述SCL译码器的2 M条本级输出路径进行判决,以选出L条LLR值最大的路径;针对所有的上一级输出路径,从L×L条、LLR值最大的路径中选择出L条LLR值最大的路径作为所述最优路径。
定理1:长度为M的Rate-1节点的支路度量可以用下式计算得到:
Figure PCTCN2018080957-appb-000001
其中η i为编码后的双极性序列,α i为本节点输入的对数似然比序列,η i和α i均相对于Rate-1节点的最上面一层。
定理2:在SCL算法的硬件友好形式中,长度为M的Rate-1节点的支路度量可以用下式计算得到:
Figure PCTCN2018080957-appb-000002
其中η i为编码后的双极性序列,α i为本节点输入的对数似然比序列,η i和α i均相对于Rate-1节点的最上面一层。
根据上述定理1和定理2的结论,在一个节点接收到α(任意级的LLR矢量)以后,包含这个节点以下所有层级和叶子节点在内的分支度量PM可以通过α矢量和η(η和Psum(β)的关系为η i=1-2β i)直接表示为定理1,也就是说,不需要按照原始算法的顺序,分层向下进行递推得到各个分支的PM值,可以直接根据η矢量的值推出Psum(β)
考虑一个SCL译码器的特例:SC,且对应于Rate-1的节点,此时直接通过每个元素α的符号即可得到η中对应元素的取值(令PM取值最小),然后用原始生成矩阵即可采用二进制加法运算计算得到对应信息比特矢量u的取值。
考虑SCL的场景,由于L条备选路径中每一条在当前multibit处理结束以后最多只需要输出L条路径,所以没有必要从L*2^k条总路径中选取L条LLR最大的路径,而可以先从2^k条路径中选取L条LLR最大(PM最小)的路径,然后再从L*L条路径中选取L条LLR最大的路径。在k取值比较大的时候,如果先得到上一步L条路径衍生出的L条PM值最小的路径,则排序的复杂度可以从L*2^k减小到L*L,当k取值比较大时收益非常明显。
由于定理一的特性,可以很方便地得到2^k条路径中PM值最小的L条路径。
假定multibit=8,根据随机的α矢量的值得到所有可能的β矢量对应的PM取值,然后进行从大到小排序的结果。观察每组结果中L1-L8行的结果,其对应的β矢量有如下规律:
最小的PM总是对应于β全0的结果,其次的PM对应于最小α对应的β=1其它β=0,其它几个最小的PM对应于最小的几个α对应的β=1其它β=0,或者为最小的2个/3个α对应的β=1其它η=0,取决于这些α之和与其它次小的几个α之间的大小关系.
所以,当multibit数量比较多的时候,如果先对α排序,可以从一个比较小的集合中得到L条PM值最小的路径,而不需要从2^k种可能性中进行遍历。
考虑Rate1的节点:
假定α已经经过排序,按照α 0,α 1,α 2,α 3,α 4,α 5,α 6,α 7从小到大的顺序排列,β 0~β 7分别对应于α 0~α 7,需要得到所有β 0~β 7的组合中取到最小的L个PM值(以下假定L=8)的β 0~β 7的组合
根据
定理1:长度为M的Rate-1节点的支路度量可以用下式计算得到:
Figure PCTCN2018080957-appb-000003
其中η i为编码后的双极性序列,α i为本节点输入的对数似然比序列,η i和α i均相对于Rate-1节点的最上面一层。
可以得到取到最小的两个PM0和PM1的β取值为
00000000
10000000
剩下6个PM2~PM7可能从以下组合中取到:
01000000,00100000,00010000,00001000,00000100,00000010
11000000,10100000,01100000,10010000,01010000,00110000
11100000,11010000
其它形如10110000,11110000,11111000,11111100等pattern由于已经大于第二行的00110000,所以肯定不会排在前8个最优的路径中。
所以,通过进行从14个数中选择最大6个最小数的比较即可直接得到当前路径可能幸存到下一级判决的所有L=8条路径,同时也可以得到所有可能幸存路径对应的Psum(也可以使用生成矩阵对应的逆矩阵计算得到硬判值)
也就是说,不需要传统List SC译码器中对2^k条路径进行排序得到最大L条路径,只需要从一个2^k条路径的一个子集中得到L条路径,当k取值较大时,计算复杂度收益会很明显。
对于SPC节点的处理:
SPC节点的定义为:第一个bit为冻结比特(Frozen bit),后面的bit均为信息bit,即形如FIIIIIII的pattern(F为frozen bit,I为信息bit)。由于信息bit u0~u7和编码后序列x0~x7的关系为X=U*F,即(x0,x1,…,x7)=(u0,u1,…,u7)*F
Figure PCTCN2018080957-appb-000004
所以x0=u0+u1+u2+u3+u4+u5+u6+u7,由于u0为frozen bit值固定为0,即x0为信息比特u1~u7的偶校验位,并且,由于F矩阵的特性,x0+x1+x2+x3+x4+x5+x6+x7=u0=0,即x0与其它x1~x7满足偶校验的关系。由于这个特性,所以叫做SPC节点。
所以针对SPC的情况,x0~x7需要满足偶校验的关系。由于α为有符号数,考虑序列η isign(α i)(i=0…7)。对于α i>0,与sign(α i)相乘不改变η i的符号;对于每个α i<0,与 sign(α i)相乘即改变η i的符号一次。
由于η i(i=0…7)满足偶校验特性,所以当α i<0个数为偶数时,η isign(α i)(i=0…7)仍然满足偶校验特性,即其中有偶数个1;当α i<0个数为奇数时,η isign(α i)(i=0…7)满足奇校验特性,即其中有奇数个1。
因此,针对SPC的子集为:
当α中负数个数为偶数时:
00000000
另外7个在以下列表中:
11000000,10100000,01100000,10010000,01010000,00110000,10001000
11110000,
类似地,形如11101000等类型的pattern由于已经大于第一行中的最后一个,必然不会在最优的8条路径中
所以通过进行从8个数中选择最大7个最小数的比较即可直接得到当前路径可能幸存到下一级判决的所有L=8条路径。
当α中负数个数为奇数时:
10000000
另外7个在以下列表中:
01000000,00100000,00010000,00001000,00000100,00000010,00000001
11100000,11010000,10110000,01110000,11001000,10101000,01101000
类似地,形如11111000等类型的pattern由于已经大于第二行中的最后一个,必然不会在最优的8条路径中
所以通过进行从14个数中选择最大7个最小数的比较即可直接得到当前路径可能幸存到下一级判决的所有L=8条路径。
实施方式二:针对情形三,若所述第一Pattern为全冻结比特模式,则直接将所述SCL译码器的L条上一级输出路径作为所述最优路径。
实施方式三:针对情形四,若所述第一Pattern为遍历模式,则对所有的本级输出路径进行遍历选择出时延最小的L条路径作为所述最优路径。
假设第一阈值取值为5,即在一个Polar码的pattern中包含的信息bit的数量小于等于5的情况。此时其它bit均为Frozen bit先验为0,所以所有可能的组合小于2^5=32种,此时可先在32条可能的路径中选取前8条最优的路径参与本级L=8条最优的路径选择。
实施方式四:针对情形五,若所述第一Pattern为待调整Pattern,则交换所述M比特中X信息比特和冻结比特的位置;平均拆分经过交换处理的本级译码块,得到两个待处理译码块,所述两个待处理译码块的第二Pattern不都为所述待调整Pattern;针对拆分后的待处理译码块,确定所述待处理译码块对应的第二Pattern,根据所述第二Pattern,从预设的处理方式中,选择与所述第二Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径,X为小于所述第一阈值的正整数。
例如,针对multibit=32的SCL译码器,各种pattern的出现频度统计可参阅图4所示:
针对出现概率较大的含有16个信息bit的pattern,采用两种不同的方式调整信息bit和Frozen bit的位置,具体可参阅表1所示。
第一种方法:交换5个信息bit和Frozen bit的位置,将pattern变为16I0+16I16,第一 个frozen bit组成的pattern不需要处理,第二个按照LLR预排序的方法处理。
第二种方法:交换3个信息bit和Frozen bit的位置,将pattern变为16I3+16I16,第一个采用3bit所有组合遍历方式处理,第二个按照LLR预排序的方法处理,3个Frozen bit按照信息bit进行处理以提高译码吞吐量。
表1
Figure PCTCN2018080957-appb-000005
Figure PCTCN2018080957-appb-000006
针对K=1024/N=2048的场景,multibit=32的统计分析可以参阅图4所示,具体结果为:
1)直接采用基于LLR预排序的SC List译码器,所有bit判决需要1063cycle;
2)采用上述第一种方法调整的pattern,译码时间可以从原先的1191cycle减少到935cycle,吞吐率提升27%,其中每个包含16个信息bit的pattern从26cycle减少到10cycle;
3)采用上述第一种方法调整的pattern,译码时间可以从原先的1191cycle减少到1031cycle,吞吐率提升16%,其中每个包含16个信息bit的pattern从26cycle减少到16cycle。
实施方式五:针对情形五,若所述第一Pattern为待调整Pattern,将所述M个比特中Y个冻结比特更改为信息比特和/或将所述M个比特中Z个信息比特更改为冻结比特;平均拆分经过更改处理的本级译码块得到两个待处理译码块,所述两个待处理译码块的第二Pattern不都为所述待调整Pattern;针对拆分后的待处理译码块,从预设的处理方式中,选择与所述待处理译码块的第二Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径,Y,Z均为小于所述第一阈值的正整数。
具体的,上述实施例方式四和实施方式五中,针对拆分后的待处理译码块,从预设的处理方式中,选择与所述待处理译码块的第二Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径,可以通过以下过程实现:
若所述待处理译码块中只包括信息比特或所述待处理译码块中除第一个比特之外只包括信息比特,则针对上一级输出的L条路径中任意一条路径,通过基于对数似然比LLR的预排序过程,利用上一级输出的M个LLR值对所述SCL译码器的2 M条本级输出路径进行判决,以选出L条LLR值最大的路径;针对所有的上一级输出路径,从L×L条、LLR值最大的路径中选择出L条LLR值最大的路径作为所述最优路径。
若所述待处理译码块中只包括冻结比特,则直接将所述SCL译码器的L条上一级输出路径作为所述最优路径。
若所述待处理译码块中信息比特的数量为小于等于预设的第一阈值,则对所有的本级输出路径进行遍历选择出时延最小的L条路径作为所述最优路径;
若所述待处理译码块中信息比特的数量为大于预设的第一阈值,则继续平均拆分所述待处理译码块,得到新的待处理译码块,针对所述新的待处理译码块,从预设的处理方式中,选择与所述新的待处理译码块的第三Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径。
进一步的,若所述第一Pattern不是待调整Pattern,若当前级与下一级的译码块合并后 满足预设条件,则将当前级与下一级的译码块进行合并处理得到新的译码块;针对所述新的译码块,确定所述新的译码块的Pattern;根据所述新的译码块的Pattern对所述SCL译码器的输出路径进行判决并选出最优路径。
例如,根据先验的信息bit/冻结bit的分布信息,如果当前处理的multibit长度的pattern与紧接下一个pattern合并以后的总长度为2的整数次幂且信息bit长度仍然小于等于最大的计算并行度(5bit),则对该两个pattern进行合并以后一次处理。合并可以连续重复多次,一直到无法继续合并为止。
例如,当前pattern中为16个Frozen bit,下一个pattern也为16个Fronzen bit,则可以对这两个pattern合并成32个Frozen bit统一处理。
综上所述,本申请实施例中,若本级译码块为待调整Pattern,将本级译码块内的部分信息比特和冻结比特进行更改,使得连续出现的信息比特数量增多,减少需要拆分较小处理并行度的数量,提高译码吞吐量。
基于同一构思,如图5所示,本申请实施例还提供一种Polar码译码器500,该Polar码译码器500用于执行图3所示的Polar码处理方法,该Polar码译码器500包括获取单元501,确定单元502和选择单元503,其中:
获取单元501,用于获取本级译码块的译码信息,其中,所述本级译码块包括M个比特,其中任一比特为信息比特或冻结比特,所述译码信息包括:所述本级译码块中的信息比特的数量或冻结比特的数量中的至少一个,M为大于1的正整数;
确定单元502,用于根据所述译码信息,确定所述本级译码块的第一图案Pattern;
选择单元503,用于根据确定的所述第一Pattern,从预设的处理方式中,选择与所述第一Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径。
可选的,所述确定单元502在根据所述译码信息,确定所述本级译码块的第一Pattern时,具体用于:
若所述本级译码块对应的信息比特的数量大于预设的第一阈值且小于M,则确定所述本级译码块的第一Pattern为待调整Pattern。
可选的,所述选择单元503在根据确定的所述第一Pattern,从预设的处理方式中,选择与所述第一Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径时,具体用于:
若所述第一Pattern为待调整Pattern,则交换所述本级译码块中X个信息比特和X个冻结比特的位置;
平均拆分经过交换处理的本级译码块,得到两个待处理译码块,所述两个待处理译码块的第二Pattern不都为所述待调整Pattern;
针对拆分后的待处理译码块,确定所述待处理译码块对应的第二Pattern,根据所述第二Pattern,从预设的处理方式中,选择与所述第二Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径,X为小于所述第一阈值的正整数。
可选的,所述选择单元503在根据确定的所述第一Pattern,从预设的处理方式中,选择与所述第一Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径时,具体用于:
若所述第一Pattern为待调整Pattern,将所述M个比特中Y个冻结比特更改为信息比特和/或将所述M个比特中Z个信息比特更改为冻结比特;
平均拆分经过更改处理的本级译码块得到两个待处理译码块,所述两个待处理译码块的第二Pattern不都为所述待调整Pattern;
针对拆分后的待处理译码块,从预设的处理方式中,选择与所述待处理译码块的第二Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径,X为小于所述第一阈值的正整数。
可选的,所述选择单元503在针对拆分后的待处理译码块,从预设的处理方式中,选择与所述待处理译码块的第二Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径时,具体用于:
若所述待处理译码块中只包括信息比特或所述待处理译码块中除第一个比特之外只包括信息比特,则针对上一级输出的L条路径中任意一条路径,通过基于对数似然比LLR的预排序过程,利用上一级输出的M个LLR值对所述SCL译码器的2 M条本级输出路径进行判决,以选出L条LLR值最大的路径;针对所有的上一级输出路径,从L×L条、LLR值最大的路径中选择出L条LLR值最大的路径作为所述最优路径;
若所述待处理译码块中只包括冻结比特,则直接将所述SCL译码器的L条上一级输出路径作为所述最优路径;
若所述待处理译码块中信息比特的数量为小于等于预设的第一阈值,则对所有的本级输出路径进行遍历选择出时延最小的L条路径作为所述最优路径;
若所述待处理译码块中信息比特的数量为大于预设的第一阈值,则继续平均拆分所述待处理译码块,得到新的待处理译码块,针对所述新的待处理译码块,从预设的处理方式中,选择与所述新的待处理译码块的第三Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径。
可选的,所述确定单元502还用于:
若所述本级译码块中只包括信息比特,确定所述本级译码块的第一Pattern为全信息比特Pattern;
若所述本级译码块中除第一个比特之外只包括信息比特,确定所述本级译码块的第一Pattern为单奇偶校验Pattern;
若所述本级译码块中只包括冻结比特,确定所述本级译码块的第一Pattern为全冻结比特Pattern;
若所述本级译码块中信息比特的数量为小于等于预设的第一阈值,确定所述本级译码块的第一Pattern为遍历Pattern。
可选的,所述选择单元503还用于:
若所述第一Pattern为全信息比特Pattern或单奇偶校验Pattern,针对上一级输出的L条路径中任意一条路径,通过基于对数似然比LLR的预排序过程,利用上一级输出的M个LLR值对所述SCL译码器的2 M条本级输出路径进行判决,以选出L条LLR值最大的路径;针对所有的上一级输出路径,从L×L条、LLR值最大的路径中选择出L条LLR值最大的路径作为所述最优路径;
若所述第一Pattern为全冻结比特Pattern,则直接将所述SCL译码器的L条上一级输出路径作为所述最优路径;
若所述第一Pattern为遍历Pattern,则对所有的本级输出路径进行遍历选择出时延最小的L条路径作为所述最优路径。
需要说明的是,本申请实施例中的Polar码译码器500可以由集成电路实现,相应的,获取单元501,确定单元502和选择单元503等功能模块,可以是集成电路的一部分,这里的集成电路又可以称为IC,按照集成度的不同,又可以分为大规模集成电路(Large Scale Integrated circuit,LSI)、超LSI(super LSI)、或过LSI(ultra LSI)等等,此外,集成电路不限于LSI实现,也可以由专用电路实现。另外,如果由于半导体技术的进步或演化而开发出替换LSI的集成技术,则利用该技术来实现该集成电路也是可能的。例如,生物工艺学。
基于与图3所示的Polar码处理方法的同一发明构思,如图6所示,本申请实施例还提供一种Polar码译码器600,该Polar码译码器600可用于执行图3所示的方法。其中,该Polar码译码器600包括处理器602和存储器601,处理器602用于执行一组代码,当代码被执行时,该执行使得处理器602执行图3所示的Polar码处理方法。存储器601,用于存储处理器602执行的代码。可选的,存储器601可以和处理器602集成在一起。
处理器602可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。
处理器602还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器601可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器601也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器601还可以包括上述种类的存储器的组合。
本申请实施例提供了一种计算机存储介质,用于存储计算机程序,该计算机程序包括用于执行图3所示的Polar码处理方法。
本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行图3所示的Polar码处理方法。
基于与图3所示的Polar码处理方法的同一发明构思,如图7所示,本申请实施例还提供了一种系统芯片700,系统芯片700包括输入接口701、输出接口702、至少一个处理器703、存储器704,所述输入接口701、输出接口702、所述处理器703以及存储器704之间通过总线705相连,所述处理器703用于执行所述存储器704中的代码,当所述代码被执行时,所述处理器703实现图3中的Polar码处理方法。其中总线705有的时候可以省略,例如当其他模块均为逻辑电路或者硬件电路实现时。
本领域内的技术人员应明白,本申请实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的 流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (16)

  1. 一种极化Polar码处理方法,其特征在于,应用于串行对消列表SCL译码器中,所述方法包括:
    获取本级译码块的译码信息,其中,所述本级译码块包括M个比特,其中任一比特为信息比特或冻结比特,所述译码信息包括:所述本级译码块中的信息比特的数量或冻结比特的数量中的至少一个,M为大于1的正整数;
    根据所述译码信息,确定所述本级译码块的第一图案Pattern;
    根据确定的所述第一Pattern,从预设的处理方式中,选择与所述第一Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径。
  2. 如权利要求1所述的方法,其特征在于,根据所述译码信息,确定所述本级译码块的第一Pattern,包括:
    若所述本级译码块对应的信息比特的数量大于预设的第一阈值且小于M,则确定所述本级译码块的第一Pattern为待调整Pattern。
  3. 如权利要求2所述的方法,其特征在于,根据确定的所述第一Pattern,从预设的处理方式中,选择与所述第一Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径,包括:
    若所述第一Pattern为待调整Pattern,则交换所述本级译码块中X个信息比特和X个冻结比特的位置;
    平均拆分经过交换处理的本级译码块,得到两个待处理译码块,所述两个待处理译码块的第二Pattern不都为所述待调整Pattern;
    针对拆分后的待处理译码块,确定所述待处理译码块对应的第二Pattern,根据所述第二Pattern,从预设的处理方式中,选择与所述第二Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径,X为小于所述第一阈值的正整数。
  4. 如权利要求2所述的方法,其特征在于,根据确定的所述第一Pattern,从预设的处理方式中,选择与所述第一Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径,包括:
    若所述第一Pattern为待调整Pattern,将所述M个比特中Y个冻结比特更改为信息比特和/或将所述M个比特中Z个信息比特更改为冻结比特;
    平均拆分经过更改处理的本级译码块得到两个待处理译码块,所述两个待处理译码块的第二Pattern不都为所述待调整Pattern;
    针对拆分后的待处理译码块,从预设的处理方式中,选择与所述待处理译码块的第二Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径,Y,Z均为小于所述第一阈值的正整数。
  5. 如权利要求3或4述的方法,其特征在于,针对拆分后的待处理译码块,从预设的处理方式中,选择与所述待处理译码块的第二Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径,包括:
    若所述待处理译码块中只包括信息比特或所述待处理译码块中除第一个比特之外只 包括信息比特,则针对上一级输出的L条路径中任意一条路径,通过基于对数似然比LLR的预排序过程,利用上一级输出的M个LLR值对所述SCL译码器的2 M条本级输出路径进行判决,以选出L条LLR值最大的路径;针对所有的上一级输出路径,从L×L条、LLR值最大的路径中选择出L条LLR值最大的路径作为所述最优路径;
    若所述待处理译码块中只包括冻结比特,则直接将所述SCL译码器的L条上一级输出路径作为所述最优路径;
    若所述待处理译码块中信息比特的数量为小于等于预设的第一阈值,则对所有的本级输出路径进行遍历选择出时延最小的L条路径作为所述最优路径;
    若所述待处理译码块中信息比特的数量为大于预设的第一阈值,则继续平均拆分所述待处理译码块,得到新的待处理译码块,针对所述新的待处理译码块,从预设的处理方式中,选择与所述新的待处理译码块的第三Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径。
  6. 如权利要求1或2所述的方法,其特征在于,根据所述译码信息,确定所述本级译码块的第一Pattern,还包括:
    若所述本级译码块中只包括信息比特,确定所述本级译码块的第一Pattern为全信息比特Pattern;
    若所述本级译码块中除第一个比特之外只包括信息比特,确定所述本级译码块的第一Pattern为单奇偶校验Pattern;
    若所述本级译码块中只包括冻结比特,确定所述本级译码块的第一Pattern为全冻结比特Pattern;
    若所述本级译码块中信息比特的数量为小于等于预设的第一阈值,确定所述本级译码块的第一Pattern为遍历Pattern。
  7. 如权利要求6所述的方法,其特征在于,根据确定的所述第一Pattern,从预设的处理方式中,选择与所述第一Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径,包括:
    若所述第一Pattern为全信息比特Pattern或单奇偶校验Pattern,针对上一级输出的L条路径中任意一条路径,通过基于对数似然比LLR的预排序过程,利用上一级输出的M个LLR值对所述SCL译码器的2 M条本级输出路径进行判决,以选出L条LLR值最大的路径;针对所有的上一级输出路径,从L×L条、LLR值最大的路径中选择出L条LLR值最大的路径作为所述最优路径;
    若所述第一Pattern为全冻结比特Pattern,则直接将所述SCL译码器的L条上一级输出路径作为所述最优路径;
    若所述第一Pattern为遍历Pattern,则对所有的本级输出路径进行遍历选择出时延最小的L条路径作为所述最优路径。
  8. 一种Polar码译码器,其特征在于,所述译码器包括:
    获取单元,用于获取本级译码块的译码信息,其中,所述本级译码块包括M个比特,其中任一比特为信息比特或冻结比特,所述译码信息包括:所述本级译码块中的信息比特的数量或冻结比特的数量中的至少一个,M为大于1的正整数;
    确定单元,用于根据所述译码信息,确定所述本级译码块的第一图案Pattern;
    选择单元,用于根据确定的所述第一Pattern,从预设的处理方式中,选择与所述第一 Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径。
  9. 如权利要求8所述的Polar码译码器,其特征在于,所述确定单元在根据所述译码信息,确定所述本级译码块的第一Pattern时,具体用于:
    若所述本级译码块对应的信息比特的数量大于预设的第一阈值且小于M,则确定所述本级译码块的第一Pattern为待调整Pattern。
  10. 如权利要求9所述的Polar码译码器,其特征在于,所述选择单元在根据确定的所述第一Pattern,从预设的处理方式中,选择与所述第一Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径时,具体用于:
    若所述第一Pattern为待调整Pattern,则交换所述本级译码块中X个信息比特和X个冻结比特的位置;
    平均拆分经过交换处理的本级译码块,得到两个待处理译码块,所述两个待处理译码块的第二Pattern不都为所述待调整Pattern;
    针对拆分后的待处理译码块,确定所述待处理译码块对应的第二Pattern,根据所述第二Pattern,从预设的处理方式中,选择与所述第二Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径,X为小于所述第一阈值的正整数。
  11. 如权利要求9所述的Polar码译码器,其特征在于,所述选择单元在根据确定的所述第一Pattern,从预设的处理方式中,选择与所述第一Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径时,具体用于:
    若所述第一Pattern为待调整Pattern,将所述M个比特中Y个冻结比特更改为信息比特和/或将所述M个比特中Z个信息比特更改为冻结比特;
    平均拆分经过更改处理的本级译码块得到两个待处理译码块,所述两个待处理译码块的第二Pattern不都为所述待调整Pattern;
    针对拆分后的待处理译码块,从预设的处理方式中,选择与所述待处理译码块的第二Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径,X为小于所述第一阈值的正整数。
  12. 如权利要求10或11所述的Polar码译码器,其特征在于,所述选择单元在针对拆分后的待处理译码块,从预设的处理方式中,选择与所述待处理译码块的第二Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径时,具体用于:
    若所述待处理译码块中只包括信息比特或所述待处理译码块中除第一个比特之外只包括信息比特,则针对上一级输出的L条路径中任意一条路径,通过基于对数似然比LLR的预排序过程,利用上一级输出的M个LLR值对所述SCL译码器的2 M条本级输出路径进行判决,以选出L条LLR值最大的路径;针对所有的上一级输出路径,从L×L条、LLR值最大的路径中选择出L条LLR值最大的路径作为所述最优路径;
    若所述待处理译码块中只包括冻结比特,则直接将所述SCL译码器的L条上一级输出路径作为所述最优路径;
    若所述待处理译码块中信息比特的数量为小于等于预设的第一阈值,则对所有的本级输出路径进行遍历选择出时延最小的L条路径作为所述最优路径;
    若所述待处理译码块中信息比特的数量为大于预设的第一阈值,则继续平均拆分所述待处理译码块,得到新的待处理译码块,针对所述新的待处理译码块,从预设的处理方式中,选择与所述新的待处理译码块的第三Pattern对应的处理方式,基于所述选择的处理方式,对所述SCL译码器的本级输出路径进行判决,以选出最优路径。
  13. 如权利要求8或9所述的Polar码译码器,其特征在于,所述确定单元还用于:
    若所述本级译码块中只包括信息比特,确定所述本级译码块的第一Pattern为全信息比特Pattern;
    若所述本级译码块中除第一个比特之外只包括信息比特,确定所述本级译码块的第一Pattern为单奇偶校验Pattern;
    若所述本级译码块中只包括冻结比特,确定所述本级译码块的第一Pattern为全冻结比特Pattern;
    若所述本级译码块中信息比特的数量为小于等于预设的第一阈值,确定所述本级译码块的第一Pattern为遍历Pattern。
  14. 如权利要求13所述的Polar码译码器,其特征在于,所述选择单元还用于:
    若所述第一Pattern为全信息比特Pattern或单奇偶校验Pattern,针对上一级输出的L条路径中任意一条路径,通过基于对数似然比LLR的预排序过程,利用上一级输出的M个LLR值对所述SCL译码器的2 M条本级输出路径进行判决,以选出L条LLR值最大的路径;针对所有的上一级输出路径,从L×L条、LLR值最大的路径中选择出L条LLR值最大的路径作为所述最优路径;
    若所述第一Pattern为全冻结比特Pattern,则直接将所述SCL译码器的L条上一级输出路径作为所述最优路径;
    若所述第一Pattern为遍历Pattern,则对所有的本级输出路径进行遍历选择出时延最小的L条路径作为所述最优路径。
  15. 一种Polar码译码器,其特征在于,包括:处理器,以及耦合至所述处理器的存储器,所述存储器中存储一组程序,所述处理器用于调用所述存储器中存储的程序,使得所述Polar码译码器执行如权利要求1-7任一项所述的方法。
  16. 一种终端,其特征在于,包括:如权利要求15所述的Polar码译码器和接收机,所述接收机,用于接收待译码的所述本级译码块。
PCT/CN2018/080957 2017-05-31 2018-03-28 一种Polar码处理方法、译码器和终端 WO2018219031A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710400834.5 2017-05-31
CN201710400834.5A CN108988873B (zh) 2017-05-31 2017-05-31 一种Polar码处理方法、译码器和终端

Publications (1)

Publication Number Publication Date
WO2018219031A1 true WO2018219031A1 (zh) 2018-12-06

Family

ID=64454433

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/080957 WO2018219031A1 (zh) 2017-05-31 2018-03-28 一种Polar码处理方法、译码器和终端

Country Status (2)

Country Link
CN (1) CN108988873B (zh)
WO (1) WO2018219031A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111371464B (zh) * 2018-12-26 2023-09-08 深圳市海思半导体有限公司 一种Polar码的译码方法及装置、设备
CN111404558B (zh) * 2019-01-03 2023-06-27 大唐移动通信设备有限公司 一种Polar码译码的方法、译码器及计算机存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103368583A (zh) * 2012-04-11 2013-10-23 华为技术有限公司 极性码的译码方法和译码装置
KR101496182B1 (ko) * 2013-12-16 2015-03-09 성균관대학교산학협력단 최소거리가 확장된 극 부호 생성 방법 및 장치
CN105141322A (zh) * 2015-09-16 2015-12-09 哈尔滨工业大学 一种基于极化码sc译码的部分和方法
CN106656212A (zh) * 2016-12-05 2017-05-10 东南大学 基于极化码的自适应连续消除译码方法及架构

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103220001B (zh) * 2012-01-20 2016-09-07 华为技术有限公司 与循环冗余校验级联的极性码的译码方法和译码装置
CN102694625B (zh) * 2012-06-15 2014-11-12 北京邮电大学 一种循环冗余校验辅助的极化码译码方法
US9503126B2 (en) * 2012-07-11 2016-11-22 The Regents Of The University Of California ECC polar coding and list decoding methods and codecs
CN104038234B (zh) * 2013-03-07 2017-09-29 华为技术有限公司 极性码的译码方法和译码器
WO2017054164A1 (zh) * 2015-09-30 2017-04-06 华为技术有限公司 极化码的编译码方法及其装置
CN108370255B (zh) * 2015-11-24 2022-04-12 相干逻辑公司 极性码连续消去列表解码器中的存储器管理和路径排序
CN106209113A (zh) * 2016-07-29 2016-12-07 中国石油大学(华东) 一种极化码的编解码方法
CN106506009B (zh) * 2016-10-31 2020-09-25 中国石油大学(华东) 一种极化码的译码方法
CN106685656A (zh) * 2017-01-18 2017-05-17 北京邮电大学 一种基于极化码的连续变量量子密钥分发系统中的数据纠错方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103368583A (zh) * 2012-04-11 2013-10-23 华为技术有限公司 极性码的译码方法和译码装置
KR101496182B1 (ko) * 2013-12-16 2015-03-09 성균관대학교산학협력단 최소거리가 확장된 극 부호 생성 방법 및 장치
CN105141322A (zh) * 2015-09-16 2015-12-09 哈尔滨工业大学 一种基于极化码sc译码的部分和方法
CN106656212A (zh) * 2016-12-05 2017-05-10 东南大学 基于极化码的自适应连续消除译码方法及架构

Also Published As

Publication number Publication date
CN108988873A (zh) 2018-12-11
CN108988873B (zh) 2021-08-20

Similar Documents

Publication Publication Date Title
Xiong et al. Symbol-decision successive cancellation list decoder for polar codes
Yuan et al. Successive cancellation list polar decoder using log-likelihood ratios
TWI496157B (zh) 決定同位元檢查陣列之方法以及快閃記憶體系統
US20140040214A1 (en) Entropy Coding and Decoding Using Polar Codes
Lin et al. A reduced latency list decoding algorithm for polar codes
KR20170097580A (ko) 폴라 코딩 장치
WO2020108586A1 (zh) 一种极化码译码方法及装置、多级译码器、存储介质
JP2002353946A (ja) 有限サイズのデータブロックに対して誤り訂正符号を評価する方法
CN109428607B (zh) 极化码的译码方法、译码器及译码设备
TW201322646A (zh) 具有減少的記憶體與功率需求之錯誤校正解碼
US8468438B2 (en) Method and apparatus for elementary updating a check node during decoding of a block encoded with a non-binary LDPC code
WO2018219195A1 (zh) 一种译码方法及译码器
Kuijper et al. Erasure codes with simplex locality
WO2018219031A1 (zh) 一种Polar码处理方法、译码器和终端
Huang et al. An A*-based algorithm for constructing reversible variable length codes with minimum average codeword length
US20170134048A1 (en) Message-passing based decoding using syndrome information, and related methods
US10038456B1 (en) Decoders with look ahead logic
KR20190019798A (ko) 채널 편파 코드의 연속 제거 리스트 디코딩을 위한 효율적인 생존 메모리 아키텍처
Monfared et al. A high-throughput parallel Viterbi algorithm via bitslicing
WO2017185213A1 (zh) 编码方法和编码装置
WO2017041233A1 (zh) 一种功能修复再生码的编码和存储节点修复方法
CN110708077B (zh) Ldpc码大数逻辑译码方法、装置和译码器
Aslam et al. Low-complexity quantization-aware belief-propagation (QA-BP) decoding for MLC NAND flash memory
Ghaffari et al. Probabilistic gradient descent bit-flipping decoders for flash memory channels
Moradi Performance and computational analysis of polarization-adjusted convolutional (PAC) codes

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18808951

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18808951

Country of ref document: EP

Kind code of ref document: A1