WO2022262031A1 - 一种数据处理方法、装置及系统 - Google Patents
一种数据处理方法、装置及系统 Download PDFInfo
- Publication number
- WO2022262031A1 WO2022262031A1 PCT/CN2021/105608 CN2021105608W WO2022262031A1 WO 2022262031 A1 WO2022262031 A1 WO 2022262031A1 CN 2021105608 W CN2021105608 W CN 2021105608W WO 2022262031 A1 WO2022262031 A1 WO 2022262031A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- code
- length
- data length
- data
- blocks
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0009—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
- H04L1/0013—Rate matching, e.g. puncturing or repetition of code symbols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
Definitions
- the present application relates to the technical field of communication, especially the field of short-distance communication, and provides a data processing method, device and system.
- wireless communication technology is showing a trend of rapid development.
- Smart terminal devices such as smart transportation devices, smart home devices, and robots based on wireless communication technology are gradually entering people's daily lives.
- wireless communication systems usually use Turbo codes, low density parity check codes (low density parity check, LDPC) and polarization (Polar) codes for channel coding and decoding.
- Turbo codes and LDPC codes are difficult to achieve ideal performance under limited code length due to their own codec characteristics.
- Turbo codes and LDPC codes have relatively high complexity in the process of codec implementation.
- Polar codes are theoretically proven to be good codes that can obtain Shannon capacity and have relatively simple encoding and decoding complexity, so they have been more and more widely used.
- an additional rate matching module is usually required after encoding/decoding the encoding block of the Polar code, which further increases the complexity of the system design and the power consumption of the system, which affects the transmission performance of the polarized channel during the application of the Polar code. Further improve.
- the present application provides a data processing method, device and system for reducing system power consumption of Polar code encoding/decoding.
- the present application provides a data processing method, which is applicable to any communication node with a communication function, such as a sending node or a sending device, or a receiving node or receiving device.
- the method includes: acquiring the total data length of information bits, and acquiring C coded blocks according to the total data length of information bits and a preset first code rate.
- the C coding blocks correspond to at least one or more code lengths, and at least one or more code lengths belong to the predefined or configured S code lengths, the data lengths of the C coding blocks correspond to the first code rate, and the S code lengths Each code length in the length satisfies the form of a positive integer power of 2, S is a positive integer greater than or equal to 2, and C is a positive integer.
- the present application provides a data processing method, which is applicable to a sending end device, and the method includes: the sending end device obtains information bits, and obtains C data bits according to the total data length of the information bits and the preset first code rate. encoding blocks, and encode the C encoding blocks to obtain codewords encoded by the C encoding blocks, and then send the codewords encoded by the C encoding blocks.
- the C coding blocks correspond to at least one or more code lengths, and at least one or more code lengths belong to the predefined or configured S code lengths
- the data lengths of the C coding blocks correspond to the first code rate
- the S code lengths Each code length in the length satisfies the form of a positive integer power of 2
- S is a positive integer greater than or equal to 2
- C is a positive integer.
- the C coding blocks match the code length of the positive integer power of 2 satisfied by the Polar encoded codeword, it is helpful for the sending end device to use the first code rate to directly transmit the C coding block codes. After the codeword, there is no need to configure an additional rate matching module, which effectively simplifies the system design of the Polar code encoding, thereby reducing the system power consumption of the Polar code encoding.
- the sending end device may use Polar codes to encode the C coded blocks, so as to reduce coding complexity and effectively improve coding efficiency by taking advantage of Polar coding.
- each of the S code lengths may correspond to a predefined or configured data length, where the corresponding code length and data length may satisfy the following One or more of:
- the value of the data length corresponding to the maximum code length among the S code lengths is the product of the first code rate and the maximum code length.
- the length of the code block corresponding to the maximum code length transmitted at each code rate can be just equal to the data length that the channel can bear, so that the sending end device can make full use of the benefits of the maximum code length for data transmission performance and achieve the maximum code length The best transmission performance of the corresponding channel.
- the value of the data length corresponding to the non-maximum code length among the S code lengths is the product of the second code rate and the non-maximum code length, wherein the second code rate is smaller than the first code rate.
- the second code rate may be the difference between the first code rate and the first preset degraded threshold
- the first preset degraded threshold is used to indicate the code rate difference between the code rate of the previous code rate and the minimum code rate when it is assumed that the code rate of the previous code rate is lower than the minimum code rate, which can be preset or configured as A value less than the minimum bitrate.
- the length of the coded block can be as much as possible the same as the data length that the channel corresponding to the previous-order code rate can bear, and less than The data length that the channel corresponding to the current code rate can bear can help improve the transmission performance of the channel corresponding to the non-maximum code length.
- the corresponding relationship of S code lengths, T code rates, and S ⁇ T data lengths is predefined or configured in the sending end device, and the corresponding relationship can be in the form of a table, a stack, a database, a queue or other represented by one or more of the forms.
- Table 1.1 shows the correspondence table of S code lengths, T code rates, and S ⁇ T data lengths corresponding to the design
- Table 1.1 contains the reference Mother codes m 0 , m 0 -1, ..., m 0 -S+1 are configured with the following S code lengths:
- the following T code rates are preset or configured: R 0 , R 1 , R 2 , ..., R T-1 , and the preset first step-down threshold is D 0
- K i,j refers to the i-th code length and the data length corresponding to the jth code rate.
- table 1.1 only gives a form of maximum satisfiability, but in fact, table 1.1 can contain one or more rows, or one or more columns, not necessarily every row and every column to be satisfied.
- table 1.1 is only a possible bearer form of the corresponding relationship. In actual operation, other bearer forms can also be used to represent the corresponding relationship, such as databases, data stacks, or queues, etc., which are not specifically limited.
- the second code rate may be a difference between the first code rate and a second preset downscaling threshold corresponding to the first code rate.
- the second preset descaling thresholds corresponding to different code rates may be the same or different, and may be specifically set according to actual scenarios. In this way, the design can also flexibly change the data length of a data block of each code rate under a non-maximum code length by flexibly configuring the second preset degraded threshold corresponding to each code rate.
- the corresponding relationship of S code lengths, T code rates, and S ⁇ T data lengths may be expressed in one or more forms of tables, stacks, databases, queues, or other forms.
- Table 1.1 contains reference Mother codes m 0 , m 0 -1, ..., m 0 -S+1 are configured with the following S code lengths: T code rates preset or configured as follows: R 0 , R 1 , R 2 , ..., R T-1 , and preset R 0 , R 1 , R 2 , ..., R T-1 corresponding
- the second step-down threshold of is P 0 , P 1 , P 2 , ..., P T-1 , and K i,j refers to the data length corresponding to the i-th code length and the j-th code rate.
- table 1.2 only gives a form of maximum satisfiability, but in fact, table 1.2 can contain one or more rows, or one or more columns, not necessarily every row and every column to be satisfied.
- table 1.2 is only a possible bearer form of the corresponding relationship. In actual operation, other bearer forms can also be used to represent the corresponding relationship, such as databases, data stacks, or queues, etc., which are not specifically limited.
- the second code rate may be the product of the first code rate and the proportion of the preset code rate corresponding to the first code rate, and the proportion of the preset code rate is greater than 0 and less than 1.
- the proportions of preset bitrates corresponding to different bitrates may be the same or different, and may be set according to actual scenarios. In this way, the design can also flexibly change the data length of a coded block with each code rate at a non-maximum code length by flexibly configuring the proportion of the preset code rate corresponding to each code rate.
- the corresponding relationship of S code lengths, T code rates, and S ⁇ T data lengths may be expressed in one or more forms of tables, stacks, databases, queues, or other forms.
- Table 1.1 contains reference Mother codes m 0 , m 0 -1, ..., m 0 -S+1 are configured with the following S code lengths: T code rates preset or configured as follows: R 0 , R 1 , R 2 , ..., R T-1 , and preset R 0 , R 1 , R 2 , ..., R T-1 corresponding
- the proportions of the preset code rates are ⁇ 0 , ⁇ 1 , ⁇ 2 , ..., ⁇ T-1 , and K i,j refers to the data length corresponding to the i-th code length and the j-th code rate.
- table 1.3 only gives a form of maximum satisfiability, but in fact, table 1.3 can contain one or more rows, or one or more columns, not necessarily every row and every column to be satisfied.
- table 1.3 is only a possible bearer form of the corresponding relationship. In actual operation, other bearer forms can also be used to represent the corresponding relationship, such as databases, data stacks, or queues, etc., which are not specifically limited.
- the S code lengths may include one or more of the following code lengths: 1024bit, 512bit, 256bit, 128bit or 64bit, and the T code rates may include one of the following code rates or more: 1/4, 3/8, 1/2, 5/8, 3/4, or 7/8.
- the first preset de-escalation threshold may be preset Set or configure it to a value less than 1/4, for example, it can be configured as 1/8, so that no matter which bit rate is used as the minimum bit rate in the actual scene, the data corresponding to the same bit rate and the same code length can be as far as possible The length remains the same.
- the first preset step reduction threshold can also be configured as one of 1/16, 1/32, or 1/64, so that the transmission capability of the channel corresponding to the minimum code rate is as close as possible to the maximum transmission capability corresponding to the minimum code rate .
- the second preset step-down threshold can be set to a value less than 1/4, for example, it can be set to 1/8, 1/16, 1/32 or 1/64, etc., without limitation .
- the C coding blocks may contain: C 10 first coding blocks, and the code length of each first coding block in the C 10 first coding blocks is the maximum of the S code lengths Code length, each first coding block contains a first check code for the information bits contained in the first coding block; and/or, C 20 second coding blocks, the code of any second coding block
- the length is a non-maximum code length among the S code lengths, and the C 20 second coding blocks contain a second check code for all the information bits contained in the C 20 second coding blocks; wherein, C 10 is a positive integer, and C 20 is an integer greater than or equal to 0; or, C 10 is an integer greater than or equal to 0, and C 20 is a positive integer.
- C 10 and C 20 can be based on information bits The total data length and the data length of the information bits contained in each first coding block are obtained, wherein the data length of the information bits contained in each first coding block is the data length corresponding to the maximum code length and the first checksum The difference in the data length of the code.
- the first coded block by determining the number of first coded blocks and the number of second coded blocks based on the first coded block corresponding to the maximum code length, it is possible to use the first coded block with a longer data length to carry as many information bits as possible, Effectively reduce the total number of encoded blocks.
- the value of C 10 can be the ratio, and C 20 The value of is 0, that is, there is no second coding block.
- This design can use the first coding block with longer data length to carry all the information bits, effectively reducing the total number of coding blocks.
- the C 20 second coding blocks may contain L kinds of second coding blocks, the L kinds of second coding blocks correspond to L non-maximum code lengths among the S code lengths, and each of the L kinds of second coding blocks
- the data length of the second encoding block is the data length corresponding to the corresponding non-maximum code length
- the number of the L second encoding blocks is obtained according to the data length of the remaining data to be segmented and the data length of the L second encoding blocks
- the data length of the remaining data to be segmented is the sum of the data length of the remaining information bits and the data length of the second check code
- the data length of the remaining information bits is the total data length of the information bits and the C10 first coding blocks contained in The difference between the data length of the information bits.
- L is a positive integer less than or equal to S-1.
- the number of L types of second coding blocks can be based on the expected number of coding blocks corresponding to the minimum code length, and the relative data length of the L types of second coding blocks and the data length corresponding to the minimum code length. Determined by the relationship, the expected number of coding blocks corresponding to the minimum code length is the minimum integer greater than or equal to the ratio of the data length of the remaining data to be segmented to the data length corresponding to the minimum code length.
- each second coding block will be all Both the remaining information bits and the second check code are included, reducing the probability of missing valid data.
- the transmitting end device may determine the number of L types of second coding blocks by adopting the principle of bit number priority, and in the principle of bit number priority, the number of L types of second coding blocks may be according to the corresponding
- the L non-maximum code lengths are determined sequentially from large to small, for each type of second coding block in L types of second coding blocks: the number of second coding blocks can be the remainder of the coding block corresponding to the minimum code length
- the total data length of each first coded block and the second coded block can be equal to the total data length of the information bits as far as possible, effectively reducing The number of useless bits contained in C coding blocks effectively saves air interface overhead.
- the number of L types of second coded blocks can be determined according to L values that are not 0 in the expected number of binary data of the coded block corresponding to the minimum code length, wherein the binary data is determined by
- the values from the low bit to the high bit correspond to S-1 non-maximum code lengths from small to large code lengths one by one.
- this design utilizes the multiple of 2 of the data length corresponding to the two code lengths, and uses the value of binary data to represent the number of coding blocks corresponding to each code length, and can determine the number of each second coding block through one operation as much as possible. , effectively improving the efficiency of data segmentation.
- the number of L types of second encoding blocks can be based on the expected number of encoding blocks corresponding to the minimum code length and the preset code length, code rate, data length, number of encoding blocks and the expected number of corresponding relationship, which is preset or configured based on the relative relationship between the preset or configured data lengths corresponding to the S-1 non-maximum code lengths and the data length corresponding to the minimum code length.
- the corresponding relationship may be expressed in any form of a table, a database, or a stack. This design helps the sending end device to directly query the corresponding relationship to obtain the number of each coding block, which effectively saves calculation delay and improves the efficiency of data segmentation.
- the sending-end device can determine the number of L types of second encoding blocks using the principle of segment number priority.
- the sending-end device determines the number of L types of second encoding blocks , you can also first determine that one or more of the following conditions are met: the data length of the remaining data to be segmented is not greater than the preset or configured data length threshold; or, the expected number of coded blocks corresponding to the minimum code length is not greater than Preset or configured quantity threshold, the expected number of coded blocks corresponding to the minimum code length is the smallest integer greater than or equal to the ratio of the data length of the remaining data to be segmented to the preset or configured data length corresponding to the minimum code length .
- the value of C 10 can be the smallest integer greater than the ratio, and the value of C 20 can be 0, that is, there is no second coding block.
- the sender device before the sender device determines that the value of C 10 is the smallest integer greater than the ratio, and that the value of C 20 can be 0, it can also determine that the following conditions are met
- the second coding block corresponding to a small code length is still used to carry the remaining information bits when there are few remaining information bits , can reduce the amount of retransmitted data and the retransmission delay as much as possible while reducing useless bits.
- the preset or configuration preset quantity threshold in the above conditions may be 2 S-1 -1, and/or, the preset in the above conditions
- the configured preset data length threshold may be K S-1 ⁇ (2 S-1 -1), where K S-1 is the data length corresponding to the first code rate and the minimum code length.
- the principle adopted by the sending end device can be set in a preset or configured manner, and can also be consistent with the receiving end device, for example, instructing the sending end device and the receiving end device in a preset or configured manner
- the device adopts the same principle, or the sending-end device sends an indication message indicating the adopted principle to the receiving-end device, so that the receiving-end device uses the same principle to decode according to the indication message.
- the indication message indicating the adopted principle may be carried in the message containing the encoded codewords of the C coding blocks, or may be carried in an additional message, or may be carried in the message containing other information.
- the indication message may be represented by one or more of words, characters, numbers or other forms, which is not specifically limited.
- the sending device determines the difference between the total data length of C coded blocks and the effective data length is not zero, then C 10 first coding blocks and/or C 20 second coding blocks can be adjusted, so as to save the subsequent transmission delay and Air interface overhead.
- the effective data length is the sum of the total data length of the information bits, the data lengths of the C 10 first check codes, and the data lengths of the second check codes.
- the adjusted C 10 first coding blocks or C 20 second coding blocks meet one or more of the following contents: one of the adjusted C 10 first coding blocks or a plurality of first encoding blocks contain preset data; among the adjusted C 10 first encoding blocks, the data length of one or more first encoding blocks is less than the preset or configured data length corresponding to the maximum code length; There are one or more second coding blocks in the adjusted C 20 second coding blocks that contain preset data; or, the adjusted C 20 second coding blocks have the data length of one or more second coding blocks less than the preset or configured data length corresponding to the non-maximum code length corresponding to the second coding block.
- the design adjusts the coding block by padding or subtracting useless bits from the data length of the coding block, so that the adjusted coding block can match the real channel transmission conditions as much as possible.
- the preset data in the case of adjusting useless bits by filling preset data in the first coding block, can be filled before the information bits contained in the last first coding block, so as to pass Filling the useless bit information in the front position of the first coding block helps to place the valid information in the rear position of the first coding block where the probability of high reliability is relatively high, and effectively improves the reliability of transmitting valid information.
- it can also be filled between the information bits contained in the last first coding block and the first check code, so that the first check code can also contain the check information of useless bit information, further improving the data checksum Transmission Security.
- it may also be filled after the first check code of the last first coding block, so that the first check code does not include check information corresponding to useless bit information, effectively saving check operations.
- the preset data when the useless bits are adjusted by filling preset data in the second coding block, can be filled before the information bits contained in the C 20 second coding blocks, and also It may be filled between the information bits contained in the C 20 second coding blocks and the second check code, and may also be filled after the second check codes of the C 20 second coding blocks.
- the present application provides a data processing method, which is applicable to a receiver device, and the method includes: the receiver device receives codewords encoded by C code blocks, and according to the total data length of information bits and the first code rate, decode the codewords encoded by the C coding blocks, and obtain the information bits contained in the C coding blocks.
- the C coding blocks correspond to one or more code lengths
- one or more code lengths belong to the predefined or configured S code lengths
- the data lengths of the C coding blocks correspond to the preset first code rate
- the S code lengths Each code length in the code length satisfies a positive integer power of 2
- S is a positive integer greater than or equal to 2
- C is a positive integer.
- the receiver device can use Polar codes to decode C coded blocks, so as to take advantage of Polar decoding to reduce decoding complexity and effectively improve decoding efficiency.
- each of the S code lengths may correspond to a predefined or configured data length, where the corresponding code length and data length may satisfy the following One or more items: the value of the data length corresponding to the maximum code length among the S code lengths is the product of the first code rate and the maximum code length; the value of the data length corresponding to the non-maximum code length among the S code lengths is the product of the second code rate and the non-maximum code length, where the second code rate is smaller than the first code rate.
- the second code rate when the first code rate is the minimum code rate among the predefined or configured T code rates, the second code rate can be the first code rate and the first preset degraded threshold If the first code rate is a non-minimum code rate among the predefined or configured T code rates, the second code rate may be a code rate of the previous order whose code rate is smaller than the first code rate.
- the second code rate may be a difference between the first code rate and a second preset downscaling threshold corresponding to the first code rate.
- the second preset descaling thresholds corresponding to different code rates may be the same or different, and may be specifically set according to actual scenarios.
- the second code rate may be the product of the first code rate and the proportion of the preset code rate corresponding to the first code rate, and the proportion of the preset code rate is greater than 0 and less than 1.
- the proportions of preset bitrates corresponding to different bitrates may be the same or different, and may be set according to actual scenarios.
- the corresponding relationship of S code lengths, T code rates, and S ⁇ T data lengths is predefined or configured in the receiving end device, and the corresponding relationship can be preset or configured with reference to any of the above designs , and the corresponding relationship may be expressed in one or more forms of tables, stacks, databases, queues or other forms.
- the S code lengths can include one or more of the following code lengths: 1024bit, 512bit, 256bit, 128bit or 64bit
- the T code rates can include one or more of the following code rates: 1/4, 3/ 8, 1/2, 5/8, 3/4, or 7/8.
- the first preset reduction The order threshold can be preset or configured as 1/8. In this way, no matter which code rate is used as the minimum code rate in the actual scene, the data length corresponding to the same code rate and the same code length can be kept as consistent as possible.
- the first preset step reduction threshold can also be configured as one of 1/16, 1/32, or 1/64, so that the transmission capability of the channel corresponding to the minimum code rate is as close as possible to the maximum transmission capability corresponding to the minimum code rate .
- T code rates include one or more of 1/4, 3/8, 1/2, 5/8, 3/4 or 7/8, if T code rates. If the corresponding second preset degraded threshold is set to the same value, then the second preset degraded threshold can be set to a value less than 1/4, for example, it can be set to 1/8, 1/16, 1/32 or 1/64, etc., without limitation.
- the C coding blocks include: C 10 first coding blocks, and the code length of each first coding block in the C 10 first coding blocks is the maximum code length among the S code lengths Long, each first coding block contains a first check code for the information bits contained in the first coding block; and/or, C 20 second coding blocks, the code length of any second coding block Be a non-maximum code length in the S code lengths, C 20 second coding blocks include a second check code for all information bits contained in C 20 second coding blocks; wherein, C 10 is A positive integer, and C 20 is an integer greater than or equal to 0; or, C 10 is an integer greater than or equal to 0, and C 20 is a positive integer.
- the receiver device can also use the total data length of information bits and the first Code rate, obtain the information bits and the first check code contained in each of the C 10 first coded blocks, and check the information bits and the first check code contained in each of the first coded blocks and/or, obtaining information bits and second check codes contained in C 20 first coding blocks, and verifying information bits and second check codes contained in C 20 first coding blocks.
- the accuracy of the received information bits can be effectively guaranteed by performing a check on the receiving end device before using the information bits.
- the receiving device may also request the sending device to retransmit the first coded block or the second coded block that failed the verification, so as to effectively reduce the retransmission delay.
- C 10 and C 20 can be based on information bits The total data length and the data length of the information bits contained in each first coding block are obtained, wherein the data length of the information bits contained in each first coding block is the data length corresponding to the maximum code length and the first checksum The difference in the data length of the code.
- the value of C 10 can be the ratio, and C 20 The value of is 0, that is, there is no second coding block.
- the C 20 second coding blocks may contain L kinds of second coding blocks, the L kinds of second coding blocks correspond to L non-maximum code lengths among the S code lengths, and each of the L kinds of second coding blocks
- the data length of the second encoding block is the data length corresponding to the corresponding non-maximum code length
- the number of the L second encoding blocks is obtained according to the data length of the remaining data to be segmented and the data length of the L second encoding blocks
- the data length of the remaining data to be segmented is the sum of the data length of the remaining information bits and the data length of the second check code
- the data length of the remaining information bits is the total data length of the information bits and the C10 first coding blocks contained in The difference between the data length of the information bits.
- L is a positive
- the number of L types of second coding blocks can be based on the expected number of coding blocks corresponding to the minimum code length, and the relative data length of the L types of second coding blocks and the data length corresponding to the minimum code length. Determined by the relationship, the expected number of coding blocks corresponding to the minimum code length is the minimum integer greater than or equal to the ratio of the data length of the remaining data to be segmented to the data length corresponding to the minimum code length.
- the receiving end device may use the principle of bit number priority to determine the number of L types of second coding blocks.
- the number of L types of second coding blocks may be according to the corresponding
- the L non-maximum code lengths are determined sequentially from large to small, for each type of second coding block in L types of second coding blocks: the number of second coding blocks can be the remainder of the coding block corresponding to the minimum code length
- An integer in the ratio of the expected quantity to the first ratio, the first ratio being the ratio of the data length of the second coded block to the data length corresponding to the minimum code length, and the remaining expected quantity of the coded block corresponding to the minimum code length is corresponding to the minimum code length
- the number of L types of second coded blocks can be determined according to L values that are not 0 in the expected number of binary data of the coded block corresponding to the minimum code length, wherein the binary data is determined by
- the values from the low bit to the high bit correspond to S-1 non-maximum code lengths from small to large code lengths one by one.
- the number of L types of second encoding blocks can be based on the expected number of encoding blocks corresponding to the minimum code length and the preset code length, code rate, data length, number of encoding blocks and the expected number of corresponding relationship, which is preset or configured based on the relative relationship between the preset or configured data lengths corresponding to the S-1 non-maximum code lengths and the data length corresponding to the minimum code length.
- the corresponding relationship may be expressed in any form of a table, a database, or a stack.
- the receiver device can determine the number of L types of second coding blocks by adopting the principle of segment quantity priority.
- the receiver device determines the number of L types of second code blocks , you can also first determine that one or more of the following conditions are met: the data length of the remaining data to be segmented is not greater than the preset or configured data length threshold; or, the expected number of coded blocks corresponding to the minimum code length is not greater than Preset or configured quantity threshold, the expected number of coded blocks corresponding to the minimum code length is the smallest integer greater than or equal to the ratio of the data length of the remaining data to be segmented to the preset or configured data length corresponding to the minimum code length .
- the receiving device before the receiving device determines that the value of C 10 is the smallest integer greater than the ratio, and the value of C 20 can be 0, it can also determine that the following conditions are met One or more of: the data length of the remaining data to be segmented is greater than the preset or configured data length threshold; or, the expected number of coded blocks corresponding to the minimum code length is greater than the preset or configured number threshold, the minimum The expected number of coded blocks corresponding to the code length is the smallest integer greater than or equal to the ratio of the data length of the remaining data to be segmented to the preset or configured data length corresponding to the minimum code length.
- the preset or configuration preset quantity threshold in the above conditions may be 2 S-1 -1, and/or, the preset in the above conditions
- the configured preset data length threshold may be K S-1 ⁇ (2 S-1 -1), where K S-1 is the data length corresponding to the first code rate and the minimum code length.
- the principle adopted by the receiving end device is consistent with that of the sending end device, for example, instructing the receiving end device and the sending end device to adopt the same principle through presetting or configuration, or the receiving end device receives the information sent by the sending end device.
- An indication message indicating the principles adopted so that the receiving end device uses the same principle to decode according to the indication message.
- the indication message indicating the adopted principle may be carried in the message containing the encoded codewords of the C coding blocks, or may be carried in an additional message, or may be carried in the message containing other information.
- the indication message may be represented by one or more of words, characters, numbers or other forms, which is not specifically limited.
- the present application provides a communication device, which may be a sending end device with a communication function, and the communication device includes: an acquisition unit for acquiring information bits; a processing unit for The set first code rate is used to acquire C coded blocks, and encode the C coded blocks to obtain codewords encoded by the C coded blocks; the sending unit is configured to send codewords encoded by the C coded blocks.
- the C coding blocks correspond to at least one or more code lengths, and at least one or more code lengths belong to the predefined or configured S code lengths, the data lengths of the C coding blocks correspond to the first code rate, and the S code lengths Each code length in the length satisfies the form of a positive integer power of 2, S is a positive integer greater than or equal to 2, and C is a positive integer.
- the processing unit is specifically configured to: use Polar codes to encode the C encoding blocks.
- each of the S code lengths may correspond to a predefined or configured data length, where the corresponding code length and data length may satisfy the following One or more items: the value of the data length corresponding to the maximum code length among the S code lengths is the product of the first code rate and the maximum code length; the value of the data length corresponding to the non-maximum code length among the S code lengths is the product of the second code rate and the non-maximum code length, where the second code rate is smaller than the first code rate.
- the second code rate when the first code rate is the minimum code rate among the predefined or configured T code rates, the second code rate can be the first code rate and the first preset degraded threshold If the first code rate is a non-minimum code rate among the predefined or configured T code rates, the second code rate may be a code rate of the previous order whose code rate is smaller than the first code rate.
- the second code rate may be a difference between the first code rate and a second preset downscaling threshold corresponding to the first code rate.
- the second preset descaling thresholds corresponding to different code rates may be the same or different, and may be specifically set according to actual scenarios.
- the second code rate may be the product of the first code rate and the proportion of the preset code rate corresponding to the first code rate, and the proportion of the preset code rate is greater than 0 and less than 1.
- the proportions of preset bitrates corresponding to different bitrates may be the same or different, and may be set according to actual scenarios.
- the processing unit is specifically configured to: refer to the predefined or configured corresponding relationship of S code lengths, T code rates, and S ⁇ T data lengths, according to the total data length of information bits and the preset
- the set first code rate obtains C coded blocks.
- the corresponding relationship may be preset or configured with reference to any of the above-mentioned designs, and the corresponding relationship may be expressed in one or more forms of tables, stacks, databases, queues or other forms.
- the S code lengths can include one or more of the following code lengths: 1024bit, 512bit, 256bit, 128bit or 64bit
- the T code rates can include one or more of the following code rates: 1/4, 3/ 8, 1/2, 5/8, 3/4, or 7/8.
- the first preset reduction The order threshold can be preset or configured as 1/8. In this way, no matter which code rate is used as the minimum code rate in the actual scene, the data length corresponding to the same code rate and the same code length can be kept as consistent as possible.
- the first preset step reduction threshold can also be configured as one of 1/16, 1/32, or 1/64, so that the transmission capability of the channel corresponding to the minimum code rate is as close as possible to the maximum transmission capability corresponding to the minimum code rate .
- T code rates include one or more of 1/4, 3/8, 1/2, 5/8, 3/4 or 7/8, if T code rates. If the corresponding second preset degraded threshold is set to the same value, then the second preset degraded threshold can be set to a value less than 1/4, for example, it can be set to 1/8, 1/16, 1/32 or 1/64, etc., without limitation.
- the C coding blocks may contain: C 10 first coding blocks, and the code length of each first coding block in the C 10 first coding blocks is the maximum of the S code lengths Code length, each first coding block contains a first check code for the information bits contained in the first coding block; and/or, C 20 second coding blocks, the code of any second coding block
- the length is a non-maximum code length among the S code lengths, and the C 20 second coding blocks contain a second check code for all the information bits contained in the C 20 second coding blocks; wherein, C 10 is a positive integer, and C 20 is an integer greater than or equal to 0; or, C 10 is an integer greater than or equal to 0, and C 20 is a positive integer.
- C 10 and C 20 may be the processing units according to the information The total data length of bits and the data length of the information bits contained in each first coding block are obtained, wherein, the data length of the information bits contained in each first coding block is the data length corresponding to the maximum code length and the first The difference in the data length of the check code.
- the value of C 10 can be the ratio, and C 20 The value of is 0, that is, there is no second coding block.
- the C 20 second coding blocks may contain L kinds of second coding blocks, the L kinds of second coding blocks correspond to L non-maximum code lengths among the S code lengths, and each of the L kinds of second coding blocks
- the data length of the second encoding block is the data length corresponding to the corresponding non-maximum code length
- the number of L types of second encoding blocks is obtained by the processing unit according to the data length of the remaining data to be segmented and the data length of the L types of second encoding blocks
- the data length of the remaining data to be segmented is the sum of the data length of the remaining information bits and the data length of the second check code
- the data length of the remaining information bits is the total data length of the information bits and C 10 first coded blocks The difference in the data length of the information bits contained in .
- the number of L types of second encoding blocks may be the expected number of encoding blocks corresponding to the minimum code length of the processing unit, and the data length of the L types of second encoding blocks and the data length corresponding to the minimum code length Determined by the relative relationship, the expected number of coding blocks corresponding to the minimum code length is the smallest integer greater than or equal to the ratio of the data length of the remaining data to be segmented to the data length corresponding to the minimum code length.
- the processing unit may determine the number of L types of second coding blocks by adopting the principle of priority of the number of bits.
- the number of L types of second coding blocks may be determined according to the corresponding L
- the non-maximum code lengths are determined sequentially from large to small, for each type of second coding block in L kinds of second coding blocks: the number of second coding blocks can be the remaining prediction of the coding block corresponding to the minimum code length
- the integer in the ratio of the quantity to the first ratio, the first ratio is the ratio of the data length of the second coding block to the data length corresponding to the minimum code length, and the remaining expected number of coding blocks corresponding to the minimum code length is the corresponding to the minimum code length
- the number of L types of second coding blocks may be determined by the processing unit according to L values that are not 0 in the binary data of the expected number of coding blocks corresponding to the minimum code length, wherein, the binary The value of the data from the low bit to the high bit corresponds to S-1 non-maximum code lengths from small to large code lengths.
- the number of L types of second encoding blocks may be the expected number of encoding blocks corresponding to the minimum code length and the preset code length, code rate, data length, number of encoding blocks and expected number of encoding blocks of the processing unit
- the corresponding relationship is obtained according to the relative relationship between the preset or configured data length corresponding to S-1 non-maximum code lengths and the data length corresponding to the minimum code length.
- the corresponding relationship may be expressed in any form of a table, a database, or a stack.
- the processing unit may determine the number of L types of second coding blocks by adopting the principle of segment quantity priority. In the principle of segment quantity priority, the processing unit may also determine the number of L types of second coding blocks. It can be determined first that one or more of the following conditions are met: the data length of the remaining data to be segmented is not greater than the preset or configured data length threshold; or, the expected number of coding blocks corresponding to the minimum code length is not greater than the preset A predetermined or configured quantity threshold, the expected number of coded blocks corresponding to the minimum code length is the smallest integer greater than or equal to the ratio of the data length of the remaining data to be segmented to the preset or configured data length corresponding to the minimum code length.
- the processing unit before the processing unit determines that the value of C 10 is the smallest integer greater than the ratio, and that the value of C 20 can be 0, it may first determine that the following conditions are met One or more items: the data length of the remaining data to be segmented is greater than the preset or configured data length threshold; or, the expected number of coded blocks corresponding to the minimum code length is greater than the preset or configured number threshold, the minimum code length The expected number of coded blocks corresponding to the length is the minimum integer greater than or equal to the ratio of the data length of the remaining data to be segmented to the preset or configured data length corresponding to the minimum code length.
- the preset or configuration preset quantity threshold in the above conditions may be 2 S-1 -1, and/or, the preset in the above conditions
- the configured preset data length threshold may be K S-1 ⁇ (2 S-1 -1), where K S-1 is the data length corresponding to the first code rate and the minimum code length.
- the principle adopted by the sending end device can be set in a preset or configured manner, and can also be consistent with the receiving end device, for example, instructing the sending end device and the receiving end device in a preset or configured manner
- the device adopts the same principle, or the sending-end device sends an indication message indicating the adopted principle to the receiving-end device, so that the receiving-end device uses the same principle to decode according to the indication message.
- the indication message indicating the adopted principle may be carried in the message containing the encoded codewords of the C coding blocks, or may be carried in an additional message, or may be carried in the message containing other information.
- the indication message may be represented by one or more of words, characters, numbers or other forms, which is not specifically limited.
- C 10 first coding blocks and/or C 20 second coding blocks can also be adjusted.
- the effective data length is the sum of the total data length of the information bits, the data lengths of the C 10 first check codes, and the data lengths of the second check codes.
- the adjusted C 10 first coding blocks or C 20 second coding blocks meet one or more of the following contents: one of the adjusted C 10 first coding blocks or a plurality of first encoding blocks contain preset data; among the adjusted C 10 first encoding blocks, the data length of one or more first encoding blocks is less than the preset or configured data length corresponding to the maximum code length; There are one or more second coding blocks in the adjusted C 20 second coding blocks that contain preset data; or, the adjusted C 20 second coding blocks have the data length of one or more second coding blocks less than the preset or configured data length corresponding to the non-maximum code length corresponding to the second coding block.
- the preset data in the case of adjusting useless bits by filling preset data in the first coding block, can be filled before the information bits contained in the last first coding block, or filled Between the information bits contained in the last first coding block and the first check code, or after the first check code of the last first coding block.
- the preset data when the useless bits are adjusted by filling preset data in the second coding block, can be filled before the information bits contained in the C 20 second coding blocks, and also It may be filled between the information bits contained in the C 20 second coding blocks and the second check code, and may also be filled after the second check codes of the C 20 second coding blocks.
- the present application provides a communication device, which may be a receiving end device with a communication function, and the communication device includes: a receiving unit, configured to receive codewords encoded by C coding blocks; a processing unit, configured to The total data length of the bits and the first code rate are used to decode the codewords encoded by the C coded blocks, and obtain the information bits contained in the C coded blocks.
- the C coding blocks correspond to one or more code lengths, and one or more code lengths belong to the predefined or configured S code lengths, the data lengths of the C coding blocks correspond to the preset first code rate, and the S code lengths Each code length in the code length satisfies a positive integer power of 2, S is a positive integer greater than or equal to 2, and C is a positive integer.
- the processing unit is specifically configured to: decode C coding blocks by using Polar codes.
- each of the S code lengths may correspond to a predefined or configured data length, where the corresponding code length and data length may satisfy the following One or more items: the value of the data length corresponding to the maximum code length among the S code lengths is the product of the first code rate and the maximum code length; the value of the data length corresponding to the non-maximum code length among the S code lengths is the product of the second code rate and the non-maximum code length, where the second code rate is smaller than the first code rate.
- the second code rate when the first code rate is the minimum code rate among the predefined or configured T code rates, the second code rate can be the first code rate and the first preset degraded threshold If the first code rate is a non-minimum code rate among the predefined or configured T code rates, the second code rate may be a code rate of the previous order whose code rate is lower than the first code rate.
- the second code rate may be a difference between the first code rate and a second preset downscaling threshold corresponding to the first code rate.
- the second preset descaling thresholds corresponding to different code rates may be the same or different, and may be specifically set according to actual scenarios.
- the second code rate may be the product of the first code rate and the proportion of the preset code rate corresponding to the first code rate, and the proportion of the preset code rate is greater than 0 and less than 1.
- the proportions of preset bitrates corresponding to different bitrates may be the same or different, and may be set according to actual scenarios.
- the processing unit can refer to the predefined or configured corresponding relationship of S code lengths, T code rates, and S ⁇ T data lengths, according to the total data length of information bits and the first code rate , to obtain information bits contained in C coding blocks.
- the corresponding relationship may be preset or configured with reference to any of the above-mentioned designs, and the corresponding relationship may be expressed in one or more forms of tables, stacks, databases, queues or other forms.
- the S code lengths can include one or more of the following code lengths: 1024bit, 512bit, 256bit, 128bit or 64bit
- the T code rates can include one or more of the following code rates: 1/4, 3/ 8, 1/2, 5/8, 3/4, or 7/8.
- the first preset reduction The order threshold can be preset or configured as 1/8. In this way, no matter which code rate is used as the minimum code rate in the actual scene, the data length corresponding to the same code rate and the same code length can be kept as consistent as possible.
- the first preset step reduction threshold can also be configured as one of 1/16, 1/32, or 1/64, so that the transmission capability of the channel corresponding to the minimum code rate is as close as possible to the maximum transmission capability corresponding to the minimum code rate .
- T code rates include one or more of 1/4, 3/8, 1/2, 5/8, 3/4 or 7/8, if T code rates. If the corresponding second preset degraded threshold is set to the same value, then the second preset degraded threshold can be set to a value less than 1/4, for example, it can be set to 1/8, 1/16, 1/32 or 1/64, etc., without limitation.
- the C coding blocks include: C 10 first coding blocks, and the code length of each first coding block in the C 10 first coding blocks is the maximum code length among the S code lengths Long, each first coding block contains a first check code for the information bits contained in the first coding block; and/or, C 20 second coding blocks, the code length of any second coding block Be a non-maximum code length in the S code lengths, C 20 second coding blocks include a second check code for all information bits contained in C 20 second coding blocks; wherein, C 10 is A positive integer, and C 20 is an integer greater than or equal to 0; or, C 10 is an integer greater than or equal to 0, and C 20 is a positive integer.
- the processing unit can also use the total data length of information bits and the first code rate, obtain the information bits and the first check code contained in each first code block in the C 10 first code blocks, and verify the information bits and the first check code contained in each first code block; And/or, obtain information bits and second check codes contained in C 20 first coding blocks, and verify information bits and second check codes contained in C 20 first coding blocks.
- C 10 and C 20 can be based on information bits The total data length and the data length of the information bits contained in each first coding block are obtained, wherein the data length of the information bits contained in each first coding block is the data length corresponding to the maximum code length and the first checksum The difference in the data length of the code.
- the value of C 10 can be the ratio, and C 20 The value of is 0, that is, there is no second coding block.
- the C 20 second coding blocks may contain L kinds of second coding blocks, the L kinds of second coding blocks correspond to L non-maximum code lengths among the S code lengths, and each of the L kinds of second coding blocks
- the data length of the second encoding block is the data length corresponding to the corresponding non-maximum code length
- the number of the L second encoding blocks is obtained according to the data length of the remaining data to be segmented and the data length of the L second encoding blocks
- the data length of the remaining data to be segmented is the sum of the data length of the remaining information bits and the data length of the second check code
- the data length of the remaining information bits is the total data length of the information bits and the C10 first coding blocks contained in The difference between the data length of the information bits.
- L is a positive
- the number of L types of second coding blocks can be based on the expected number of coding blocks corresponding to the minimum code length, and the relative data length of the L types of second coding blocks and the data length corresponding to the minimum code length. Determined by the relationship, the expected number of coding blocks corresponding to the minimum code length is the minimum integer greater than or equal to the ratio of the data length of the remaining data to be segmented to the data length corresponding to the minimum code length.
- the processing unit may determine the number of L types of second coding blocks by adopting the principle of priority of the number of bits.
- the number of L types of second coding blocks may be determined according to the corresponding L
- the non-maximum code lengths are determined sequentially from large to small, for each type of second coding block in L kinds of second coding blocks: the number of second coding blocks can be the remaining prediction of the coding block corresponding to the minimum code length
- the integer in the ratio of the quantity to the first ratio, the first ratio is the ratio of the data length of the second coding block to the data length corresponding to the minimum code length, and the remaining expected number of coding blocks corresponding to the minimum code length is the corresponding to the minimum code length
- the number of L types of second coding blocks may be determined by the processing unit according to L values that are not 0 in the binary data of the expected number of coding blocks corresponding to the minimum code length, wherein, the binary The value of the data from the low bit to the high bit corresponds to S-1 non-maximum code lengths from small to large code lengths.
- the number of L types of second encoding blocks may be the expected number of encoding blocks corresponding to the minimum code length and the preset code length, code rate, data length, number of encoding blocks and expected number of encoding blocks of the processing unit
- the corresponding relationship is obtained according to the relative relationship between the preset or configured data length corresponding to S-1 non-maximum code lengths and the data length corresponding to the minimum code length.
- the corresponding relationship may be expressed in any form of a table, a database, or a stack.
- the processing unit may determine the number of L types of second coding blocks by adopting the principle of segment quantity priority. In the principle of segment quantity priority, the processing unit may also determine the number of L types of second coding blocks. It can be determined first that one or more of the following conditions are met: the data length of the remaining data to be segmented is not greater than the preset or configured data length threshold; or, the expected number of coding blocks corresponding to the minimum code length is not greater than the preset A predetermined or configured quantity threshold, the expected number of coded blocks corresponding to the minimum code length is the smallest integer greater than or equal to the ratio of the data length of the remaining data to be segmented to the preset or configured data length corresponding to the minimum code length.
- the processing unit before the processing unit determines that the value of C 10 is the smallest integer greater than the ratio, and that the value of C 20 can be 0, it may first determine that the following conditions are met One or more items: the data length of the remaining data to be segmented is greater than the preset or configured data length threshold; or, the expected number of coded blocks corresponding to the minimum code length is greater than the preset or configured number threshold, the minimum code length The expected number of coded blocks corresponding to the length is the minimum integer greater than or equal to the ratio of the data length of the remaining data to be segmented to the preset or configured data length corresponding to the minimum code length.
- the preset or configuration preset quantity threshold in the above conditions may be 2 S-1 -1, and/or, the preset in the above conditions
- the configured preset data length threshold may be K S-1 ⁇ (2 S-1 -1), where K S-1 is the data length corresponding to the first code rate and the minimum code length.
- the principle adopted by the receiving end device is consistent with that of the sending end device, for example, instructing the receiving end device and the sending end device to adopt the same principle through presetting or configuration, or the receiving end device receives the information sent by the sending end device.
- An indication message indicating the principles adopted so that the receiving end device uses the same principle to decode according to the indication message.
- the indication message indicating the adopted principle may be carried in the message containing the encoded codewords of the C coding blocks, or may be carried in an additional message, or may be carried in the message containing other information.
- the indication message may be represented by one or more of words, characters, numbers or other forms, which is not specifically limited.
- the present application provides a communication device, which may be a sending end device with a communication function, the communication device includes at least one processor and an interface circuit, the interface circuit is used to provide data or code instructions for at least one processor, at least A processor is used to perform the following operations through logic circuits or code instructions: obtain information bits, obtain C code blocks according to the total data length of information bits and the preset first code rate, and encode C code blocks to obtain C codes codewords encoded by blocks, and codewords encoded by C coded blocks are sent.
- the C coding blocks correspond to at least one or more code lengths, and at least one or more code lengths belong to the predefined or configured S code lengths, the data lengths of the C coding blocks correspond to the first code rate, and the S code lengths Each code length in the length satisfies the form of a positive integer power of 2, S is a positive integer greater than or equal to 2, and C is a positive integer.
- At least one processor is used to execute a code instruction through a logic circuit or to specifically execute: encoding C encoding blocks by using a Polar code.
- each of the S code lengths may correspond to a predefined or configured data length, where the corresponding code length and data length may satisfy the following One or more items: the value of the data length corresponding to the maximum code length among the S code lengths is the product of the first code rate and the maximum code length; the value of the data length corresponding to the non-maximum code length among the S code lengths is the product of the second code rate and the non-maximum code length, where the second code rate is smaller than the first code rate.
- the second code rate when the first code rate is the minimum code rate among the predefined or configured T code rates, the second code rate can be the first code rate and the first preset degraded threshold If the first code rate is a non-minimum code rate among the predefined or configured T code rates, the second code rate may be a code rate of the previous order whose code rate is smaller than the first code rate.
- the second code rate may be a difference between the first code rate and a second preset downscaling threshold corresponding to the first code rate.
- the second preset descaling thresholds corresponding to different code rates may be the same or different, and may be specifically set according to actual scenarios.
- the second code rate may be the product of the first code rate and the proportion of the preset code rate corresponding to the first code rate, and the proportion of the preset code rate is greater than 0 and less than 1.
- the proportions of preset bitrates corresponding to different bitrates may be the same or different, and may be set according to actual scenarios.
- At least one processor is used to execute code instructions through a logic circuit or to perform specific execution: refer to the correspondence relationship of S code lengths, T code rates, and S ⁇ T data lengths that are predefined or configured , to obtain C coded blocks according to the total data length of the information bits and the preset first code rate.
- the corresponding relationship may be preset or configured with reference to any of the above-mentioned designs, and the corresponding relationship may be expressed in one or more forms of tables, stacks, databases, queues or other forms.
- the S code lengths can include one or more of the following code lengths: 1024bit, 512bit, 256bit, 128bit or 64bit, and the T code rates can include one or more of the following code rates: 1/4, 3/ 8, 1/2, 5/8, 3/4, or 7/8.
- the first preset reduction The order threshold can be preset or configured as 1/8. In this way, no matter which code rate is used as the minimum code rate in the actual scene, the data length corresponding to the same code rate and the same code length can be kept as consistent as possible.
- the first preset step reduction threshold can also be configured as one of 1/16, 1/32, or 1/64, so that the transmission capability of the channel corresponding to the minimum code rate is as close as possible to the maximum transmission capability corresponding to the minimum code rate .
- T code rates include one or more of 1/4, 3/8, 1/2, 5/8, 3/4 or 7/8, if T code rates. If the corresponding second preset degraded threshold is set to the same value, then the second preset degraded threshold can be set to a value less than 1/4, for example, it can be set to 1/8, 1/16, 1/32 or 1/64, etc., without limitation.
- the C coding blocks may contain: C 10 first coding blocks, and the code length of each first coding block in the C 10 first coding blocks is the maximum of the S code lengths Code length, each first coding block contains a first check code for the information bits contained in the first coding block; and/or, C 20 second coding blocks, the code of any second coding block
- the length is a non-maximum code length among the S code lengths, and the C 20 second coding blocks contain a second check code for all the information bits contained in the C 20 second coding blocks; wherein, C 10 is a positive integer, and C 20 is an integer greater than or equal to 0; or, C 10 is an integer greater than or equal to 0, and C 20 is a positive integer.
- C 10 and C 20 can be based on information bits The total data length and the data length of the information bits contained in each first coding block are obtained, wherein the data length of the information bits contained in each first coding block is the data length corresponding to the maximum code length and the first checksum The difference in the data length of the code.
- the value of C 10 can be the ratio, and C 20 The value of is 0, that is, there is no second coding block.
- the C 20 second coding blocks may contain L kinds of second coding blocks, the L kinds of second coding blocks correspond to L non-maximum code lengths among the S code lengths, and each of the L kinds of second coding blocks
- the data length of the second encoding block is the data length corresponding to the corresponding non-maximum code length
- the number of the L second encoding blocks is obtained according to the data length of the remaining data to be segmented and the data length of the L second encoding blocks
- the data length of the remaining data to be segmented is the sum of the data length of the remaining information bits and the data length of the second check code
- the data length of the remaining information bits is the total data length of the information bits and the C10 first coding blocks contained in The difference between the data length of the information bits.
- L is a positive
- the number of L types of second coding blocks can be based on the expected number of coding blocks corresponding to the minimum code length, and the relative data length of the L types of second coding blocks and the data length corresponding to the minimum code length. Determined by the relationship, the expected number of coding blocks corresponding to the minimum code length is the minimum integer greater than or equal to the ratio of the data length of the remaining data to be segmented to the data length corresponding to the minimum code length.
- At least one processor is used to execute a code instruction through a logic circuit or to specifically execute: the number of L types of second coding blocks is determined by adopting the principle of priority of the number of bits. In the bit number priority principle, the number of L types of second coding blocks can be determined in descending order of the corresponding L non-maximum code lengths, for each of the L types of second coding blocks
- the second coding block: the number of the second coding block can be an integer in the ratio of the remaining estimated number of coding blocks corresponding to the minimum code length to the first ratio, and the first ratio is corresponding to the data length of the second coding block and the minimum code length
- the ratio of the data length, the remaining expected number of coded blocks corresponding to the minimum code length corresponds to the expected number of coded blocks corresponding to the minimum code length and other non-maximum code lengths whose code length is greater than the non-maximum code length corresponding to the second code block
- the number of L types of second coded blocks can be determined according to L values that are not 0 in the expected number of binary data of the coded block corresponding to the minimum code length, wherein the binary data is determined by
- the values from the low bit to the high bit correspond to S-1 non-maximum code lengths from small to large code lengths one by one.
- the number of L types of second encoding blocks can be based on the expected number of encoding blocks corresponding to the minimum code length and the preset code length, code rate, data length, number of encoding blocks and the expected number of corresponding relationship, which is preset or configured based on the relative relationship between the preset or configured data lengths corresponding to the S-1 non-maximum code lengths and the data length corresponding to the minimum code length.
- the corresponding relationship may be expressed in any form of a table, a database, or a stack.
- At least one processor is used to execute a code instruction through a logic circuit or to specifically execute: the number of L types of second coding blocks is determined by adopting the principle of segment quantity priority.
- the principle of segment quantity priority at least one processor may also determine that one or more of the following conditions are satisfied before determining the number of L types of second encoding blocks: the data length of the remaining data to be segmented is not greater than the predetermined Set or configure the data length threshold; or, the expected number of coded blocks corresponding to the minimum code length is not greater than the preset or configured number threshold, and the expected number of coded blocks corresponding to the minimum code length is greater than or equal to the remaining segments to be segmented The minimum integer of the ratio of the data length of the data to the preset or configured data length corresponding to the minimum code length.
- At least one processor may first determine that the value of C 10 is the smallest integer greater than the ratio, and that the value of C 20 can be 0, as follows: One or more of the conditions: the data length of the remaining data to be segmented is greater than the preset or configured data length threshold; or, the expected number of coded blocks corresponding to the minimum code length is greater than the preset or configured number threshold, The estimated number of coded blocks corresponding to the minimum code length is the minimum integer greater than or equal to the ratio of the data length of the remaining data to be segmented to the preset or configured data length corresponding to the minimum code length.
- the preset or configuration preset quantity threshold in the above conditions may be 2 S-1 -1, and/or, the preset in the above conditions
- the configured preset data length threshold may be K S-1 ⁇ (2 S-1 -1), where K S-1 is the data length corresponding to the first code rate and the minimum code length.
- the principle adopted by the sending end device can be set in a preset or configured manner, and can also be consistent with the receiving end device, for example, instructing the sending end device and the receiving end device in a preset or configured manner
- the device adopts the same principle, or the sending-end device sends an indication message indicating the adopted principle to the receiving-end device, so that the receiving-end device uses the same principle to decode according to the indication message.
- the indication message indicating the adopted principle may be carried in the message containing the encoded codewords of the C coding blocks, or may be carried in an additional message, or may be carried in the message containing other information.
- the indication message may be represented by one or more of words, characters, numbers or other forms, which is not specifically limited.
- the sending end device when the computer program stored in the memory is executed by the processor, the sending end device further executes : If it is determined that the difference between the total data length of the C coding blocks and the effective data length is not zero, then adjusting C 10 first coding blocks and/or C 20 second coding blocks.
- the effective data length is the sum of the total data length of the information bits, the data lengths of the C 10 first check codes, and the data lengths of the second check codes.
- the adjusted C 10 first coding blocks or C 20 second coding blocks meet one or more of the following contents: one of the adjusted C 10 first coding blocks or a plurality of first encoding blocks contain preset data; among the adjusted C 10 first encoding blocks, the data length of one or more first encoding blocks is less than the preset or configured data length corresponding to the maximum code length; There are one or more second coding blocks in the adjusted C 20 second coding blocks that contain preset data; or, the adjusted C 20 second coding blocks have the data length of one or more second coding blocks less than the preset or configured data length corresponding to the non-maximum code length corresponding to the second encoding block.
- the preset data in the case of adjusting useless bits by filling preset data in the first coding block, can be filled before the information bits contained in the last first coding block, or filled Between the information bits contained in the last first coding block and the first check code, or after the first check code of the last first coding block.
- the preset data when the useless bits are adjusted by filling preset data in the second coding block, can be filled before the information bits contained in the C 20 second coding blocks, and also It may be filled between the information bits contained in the C 20 second coding blocks and the second check code, and may also be filled after the second check codes of the C 20 second coding blocks.
- the present application provides a communication device, which may be a receiver device with a communication function.
- the communication device includes at least one processor and an interface circuit, and the interface circuit is used to provide data or code instructions for at least one processor, at least A processor is used to perform the following operations through a logic circuit or to execute code instructions: receive code words encoded by C code blocks, and decode code words encoded by C code blocks according to the total data length of information bits and the first code rate , to obtain information bits contained in C coding blocks.
- the C coding blocks correspond to one or more code lengths, and one or more code lengths belong to the predefined or configured S code lengths, the data lengths of the C coding blocks correspond to the preset first code rate, and the S code lengths Each code length in the code length satisfies a positive integer power of 2, S is a positive integer greater than or equal to 2, and C is a positive integer.
- At least one processor is used to execute a code instruction through a logic circuit or to specifically execute: decoding C coded blocks by using a Polar code.
- each of the S code lengths may correspond to a predefined or configured data length, where the corresponding code length and data length may satisfy the following One or more items: the value of the data length corresponding to the maximum code length among the S code lengths is the product of the first code rate and the maximum code length; the value of the data length corresponding to the non-maximum code length among the S code lengths is the product of the second code rate and the non-maximum code length, where the second code rate is smaller than the first code rate.
- the second code rate when the first code rate is the minimum code rate among the predefined or configured T code rates, the second code rate can be the first code rate and the first preset degraded threshold If the first code rate is a non-minimum code rate among the predefined or configured T code rates, the second code rate may be a code rate of the previous order whose code rate is smaller than the first code rate.
- the second code rate may be a difference between the first code rate and a second preset downscaling threshold corresponding to the first code rate.
- the second preset descaling thresholds corresponding to different code rates may be the same or different, and may be specifically set according to actual scenarios.
- the second code rate may be the product of the first code rate and the proportion of the preset code rate corresponding to the first code rate, and the proportion of the preset code rate is greater than 0 and less than 1.
- the proportions of preset bitrates corresponding to different bitrates may be the same or different, and may be set according to actual scenarios.
- At least one processor is used to execute code instructions through a logic circuit or to perform specific execution: refer to the correspondence relationship of S code lengths, T code rates, and S ⁇ T data lengths that are predefined or configured , according to the total data length of the information bits and the first code rate, acquire the information bits included in the C coding blocks.
- the corresponding relationship may be preset or configured with reference to any of the above-mentioned designs, and the corresponding relationship may be expressed in one or more forms of tables, stacks, databases, queues or other forms.
- the S code lengths can include one or more of the following code lengths: 1024bit, 512bit, 256bit, 128bit or 64bit, and the T code rates can include one or more of the following code rates: 1/4, 3/ 8, 1/2, 5/8, 3/4, or 7/8.
- the first preset reduction The order threshold can be preset or configured as 1/8. In this way, no matter which code rate is used as the minimum code rate in the actual scene, the data length corresponding to the same code rate and the same code length can be kept as consistent as possible.
- the first preset step reduction threshold can also be configured as one of 1/16, 1/32, or 1/64, so that the transmission capability of the channel corresponding to the minimum code rate is as close as possible to the maximum transmission capability corresponding to the minimum code rate .
- T code rates include one or more of 1/4, 3/8, 1/2, 5/8, 3/4 or 7/8, if T code rates. If the corresponding second preset degraded threshold is set to the same value, then the second preset degraded threshold can be set to a value less than 1/4, for example, it can be set to 1/8, 1/16, 1/32 or 1/64, etc., without limitation.
- the C coding blocks include: C 10 first coding blocks, and the code length of each first coding block in the C 10 first coding blocks is the maximum code length among the S code lengths Long, each first coding block contains a first check code for the information bits contained in the first coding block; and/or, C 20 second coding blocks, the code length of any second coding block Be a non-maximum code length in the S code lengths, C 20 second coding blocks include a second check code for all information bits contained in C 20 second coding blocks; wherein, C 10 is A positive integer, and C 20 is an integer greater than or equal to 0; or, C 10 is an integer greater than or equal to 0, and C 20 is a positive integer.
- At least one processor is used to pass logic circuits or execute code instructions, and also perform: the case where C 10 first coded blocks and/or C 20 second coded blocks are included in C coded blocks Next, according to the total data length of the information bits and the first code rate, obtain the information bits and the first check code contained in each of the C 10 first code blocks, and check each first code The information bits and the first check code contained in the block; and/or, obtain the information bits and the second check code contained in the C 20 first coded blocks, and check the information contained in the C 20 first coded blocks bits and the second check code.
- C 10 and C 20 can be based on information bits The total data length and the data length of the information bits contained in each first coding block are obtained, wherein the data length of the information bits contained in each first coding block is the data length corresponding to the maximum code length and the first checksum The difference in the data length of the code.
- the value of C 10 can be the ratio, and C 20 The value of is 0, that is, there is no second coding block.
- the C 20 second coding blocks may contain L kinds of second coding blocks, the L kinds of second coding blocks correspond to L non-maximum code lengths among the S code lengths, and each of the L kinds of second coding blocks
- the data length of the second encoding block is the data length corresponding to the corresponding non-maximum code length
- the number of the L second encoding blocks is obtained according to the data length of the remaining data to be segmented and the data length of the L second encoding blocks
- the data length of the remaining data to be segmented is the sum of the data length of the remaining information bits and the data length of the second check code
- the data length of the remaining information bits is the total data length of the information bits and the C10 first coding blocks contained in The difference between the data length of the information bits.
- L is a positive
- the number of L types of second coding blocks can be based on the expected number of coding blocks corresponding to the minimum code length, and the relative data length of the L types of second coding blocks and the data length corresponding to the minimum code length. Determined by the relationship, the expected number of coding blocks corresponding to the minimum code length is the minimum integer greater than or equal to the ratio of the data length of the remaining data to be segmented to the data length corresponding to the minimum code length.
- At least one processor is used to execute a code instruction through a logic circuit or to specifically execute: the number of L types of second coding blocks is determined by adopting the principle of priority of the number of bits. In the bit number priority principle, the number of L types of second coding blocks can be determined in descending order of the corresponding L non-maximum code lengths, for each of the L types of second coding blocks
- the second coding block: the number of the second coding block can be an integer in the ratio of the remaining estimated number of coding blocks corresponding to the minimum code length to the first ratio, and the first ratio is corresponding to the data length of the second coding block and the minimum code length
- the ratio of the data length, the remaining expected number of coded blocks corresponding to the minimum code length corresponds to the expected number of coded blocks corresponding to the minimum code length and other non-maximum code lengths whose code length is greater than the non-maximum code length corresponding to the second code block
- the number of L types of second coded blocks can be determined according to L values that are not 0 in the expected number of binary data of the coded block corresponding to the minimum code length, wherein the binary data is determined by
- the values from the low bit to the high bit correspond to S-1 non-maximum code lengths from small to large code lengths one by one.
- the number of L types of second encoding blocks can be based on the expected number of encoding blocks corresponding to the minimum code length and the preset code length, code rate, data length, number of encoding blocks and the expected number of corresponding relationship, which is preset or configured based on the relative relationship between the preset or configured data lengths corresponding to the S-1 non-maximum code lengths and the data length corresponding to the minimum code length.
- the corresponding relationship may be expressed in any form of a table, a database, or a stack.
- At least one processor is used to execute a code instruction through a logic circuit or to specifically execute: the number of L types of second coding blocks is determined by adopting the principle of segment quantity priority.
- the principle of segment quantity priority at least one processor may also determine that one or more of the following conditions are satisfied before determining the number of L types of second encoding blocks: the data length of the remaining data to be segmented is not greater than the predetermined Set or configure the data length threshold; or, the expected number of coded blocks corresponding to the minimum code length is not greater than the preset or configured number threshold, and the expected number of coded blocks corresponding to the minimum code length is greater than or equal to the remaining segments to be segmented The minimum integer of the ratio of the data length of the data to the preset or configured data length corresponding to the minimum code length.
- At least one processor may first determine that the value of C 10 is the smallest integer greater than the ratio, and that the value of C 20 can be 0, as follows: One or more of the conditions: the data length of the remaining data to be segmented is greater than the preset or configured data length threshold; or, the expected number of coded blocks corresponding to the minimum code length is greater than the preset or configured number threshold, The estimated number of coded blocks corresponding to the minimum code length is the minimum integer greater than or equal to the ratio of the data length of the remaining data to be segmented to the preset or configured data length corresponding to the minimum code length.
- the preset or configuration preset quantity threshold in the above conditions may be 2 S-1 -1, and/or, the preset in the above conditions
- the configured preset data length threshold may be K S-1 ⁇ (2 S-1 -1), where K S-1 is the data length corresponding to the first code rate and the minimum code length.
- the principle adopted by the receiving end device is consistent with that of the sending end device, for example, instructing the receiving end device and the sending end device to adopt the same principle through presetting or configuration, or the receiving end device receives the information sent by the sending end device.
- An indication message indicating the principles adopted so that the receiving end device uses the same principle to decode according to the indication message.
- the indication message indicating the adopted principle may be carried in the message containing the encoded codewords of the C coding blocks, or may be carried in an additional message, or may be carried in the message containing other information.
- the indication message may be represented by one or more of words, characters, numbers or other forms, which is not specifically limited.
- the present application provides a communication device, including a processor, a transceiver, and a memory, the processor is connected to the memory, and the memory stores a computer program.
- the communication device realizes the following: Any of the above second aspects contemplates the method.
- the present application provides a communication device, including a processor, a transceiver, and a memory, the processor is connected to the memory, and the memory stores a computer program.
- the communication device realizes the following: Any one of the third aspects above relates to the method described.
- the present application provides a communication device, including a processor and a communication interface, the communication interface is used to send signals to other communication devices other than the communication device, and the processor is used to implement such as Any of the above second aspects contemplates the method.
- the present application provides a communication device, including a processor and a communication interface, the communication interface is used to receive signals from other communication devices other than the communication device and transmit them to the processor, and the processor uses a logic circuit or Executing code instructions is used to implement the method described in any one of the third aspects above.
- the present application provides a communication device, including a processor, the processor is connected to a memory, the memory is used to store a computer program, and the processor is used to execute the computer program stored in the memory, so that the sending end device executes the above-mentioned first The method described in any one of the two aspects.
- the present application provides a communication device, including a processor, the processor is connected to a memory, the memory is used to store a computer program, and the processor is used to execute the computer program stored in the memory, so that the receiving end device executes the above-mentioned first The method described in any one of the three aspects.
- the present application provides a communication device, including a processor and a memory, the memory stores computer program instructions, and the processor executes the computer program instructions to implement the method described in any one of the above second aspects.
- the present application provides a communication device, including a processor and a memory, where the memory stores computer program instructions, and the processor executes the computer program instructions to implement the method described in any one of the above third aspects.
- the present application provides a communication system, the communication system includes a sending end device and a receiving end device, the sending end device is used to implement the method described in any one of the above second aspects, and the receiving end device uses In order to realize the method described in any one of the above-mentioned third aspects.
- the present application provides a terminal device, which is used to implement the method described in any one of the above second aspects, or to implement the method described in any one of the above third aspects .
- some terminal devices include but are not limited to: smart home devices (such as TVs, sweeping robots, smart desk lamps, audio systems, smart lighting systems, electrical control systems, home background music, home theater systems, intercom systems, video surveillance etc.), smart transportation equipment (such as cars, ships, drones, trains, trucks, trucks, etc.), smart manufacturing equipment (such as robots, industrial equipment, smart logistics, smart factories, etc.), smart terminals (mobile phones, computers, tablets, etc.) Computers, PDAs, Desktops, Headphones, Audio, Wearable Devices, Car Devices, Virtual Reality Devices, Augmented Reality Devices, etc.).
- the present application provides a chip, which may include a processor and an interface, and the processor is used to read instructions through the interface, so as to execute the method described in any one of the above-mentioned second aspects.
- the present application provides a chip, which may include a processor and an interface, and the processor is used to read instructions through the interface, so as to execute the method described in any one of the above third aspects.
- the present application provides a computer-readable storage medium, the computer-readable storage medium stores a computer program, and when the computer program is run, the method described in any one of the above-mentioned second aspects is implemented .
- the present application provides a computer-readable storage medium, the computer-readable storage medium stores a computer program, and when the computer program is run, it realizes the design described in any one of the above-mentioned third aspects. method.
- the present application provides a computer program product.
- the computer program product is run on a processor, the method described in any one of the above-mentioned second aspects is implemented.
- the present application provides a computer program product.
- the computer program product is run on a processor, the method described in any one of the above third aspects is implemented.
- FIG. 1 exemplarily shows a schematic structural diagram of a communication system to which an embodiment of the present application is applicable
- FIG. 2 exemplarily shows a schematic structural diagram of an in-vehicle communication link provided by an embodiment of the present application
- FIG. 3 exemplarily shows a schematic diagram of an interaction flow of a data processing method provided by an embodiment of the present application
- FIG. 4 exemplarily shows a diagram of the presentation form of segmented data under different segmentation principles provided by the embodiment of the present application
- FIG. 5 exemplarily shows a schematic diagram of an interaction flow of another data processing method provided by an embodiment of the present application
- FIG. 6 exemplarily shows a schematic structural diagram of a data processing device provided by an embodiment of the present application
- FIG. 7 exemplarily shows a schematic structural diagram of another data processing device provided by an embodiment of the present application.
- FIG. 8 exemplarily shows a schematic structural diagram of another data processing device provided by an embodiment of the present application.
- FIG. 9 exemplarily shows a schematic structural diagram of another data processing apparatus provided by an embodiment of the present application.
- FIG. 1 exemplarily shows a schematic structural diagram of a communication system to which this embodiment of the present application is applicable.
- the communication system 100 includes a network device 110 and one or more terminal devices, such as a terminal device 121 , a terminal device 122 , a terminal device 123 , a terminal device 124 , a terminal device 125 and a terminal device 126 .
- the terminal device 121 , the terminal device 122 , the terminal device 123 and the terminal device 125 can access the network device 110 in a wireless manner, so as to realize wireless communication with the network device 110 .
- the terminal device 124, the terminal device 125, and the terminal device 126 can also form a small communication system, and the terminal device 125 is equivalent to the network device in the small communication system, and can realize the For operation, the terminal device 124 and the terminal device 126 are equivalent to the terminal devices in the small communication system, and can realize the operations performed by the terminal devices. Moreover, the terminal device 124 and the terminal device 126 can also access the terminal device 125 in a wireless manner, so as to realize wireless communication with the terminal device 125 .
- the network device 110 is a device deployed on a radio access network (radio access network, RAN) to provide wireless communication functions, and may also be called a base station (base station, BS), an access node, or access network equipment.
- the network device 110 can send signals or receive signals, and also has certain management functions.
- the network device 110 may include an evolved base station (NodeB or eNB or e-NodeB, evolutional Node) in a long term evolution (long term evolution, LTE) system or an advanced long term evolution (long term evolution-advanced, LTE-A) B), or may also include the next generation node B (next generation node B, gNB) in the fifth generation mobile communication technology (the 5 th generation, 5G) new radio (new radio, NR) system.
- NodeB or eNB or e-NodeB, evolutional Node in a long term evolution (long term evolution, LTE) system or an advanced long term evolution (long term evolution-advanced, LTE-A) B
- next generation node B next generation node B
- 5G fifth generation mobile communication technology
- new radio new radio
- examples of some network devices 110 are: a base transceiver station (base transceiver station, BTS) and a base station controller (base station controller, BSC) in a 2G network, a node B (NodeB) and a wireless network controller in a 3G network radio network controller (RNC), node B (evolved NodeB, eNB) in 4G network, new wireless node B (New Radio NodeB, gNB) in 5G network, centralized unit (Centralized Unit, CU), distributed Distributed Unit, new wireless controller, access point (Access Point, AP) in WLAN, transmission reception point (transmission reception point, TRP), home base station (for example, home evolved node B, HENB, or home Node B, HNB), base band unit (base band unit, BBU), or wireless fidelity (wireless fidelity, Wifi) access point (access point, AP), etc.
- base transceiver station base transceiver station
- BSC base station controller
- NodeB node B
- a terminal device is a device that provides voice and/or data connectivity to a user. Examples may include a handheld device with wireless connectivity, a vehicle-mounted device, or a processing device connected to a wireless modem. The terminal device can communicate with the core network via the radio access network.
- terminal equipment are: vehicle-mounted devices with wireless communication functions in the Internet of Vehicles, user equipment (UE) for machine type communication (machine type communication, MTC), fifth-generation mobile communication terminals, Mobile phone (mobile phone), computer, tablet computer, notebook computer, handheld computer, desktop computer, earphone, stereo, mobile internet device (mobile internet device, MID), wearable device (such as smart watch, smart bracelet, pedometer etc.), virtual reality (virtual reality, VR) equipment, augmented reality (augmented reality, AR) equipment, wireless terminal equipment in industrial control (industrial control), wireless terminal equipment in self driving (self driving), remote surgery Wireless terminal equipment in remote medical surgery, wireless terminal equipment in smart grid, wireless terminal equipment in transportation safety, wireless terminal equipment in smart city, smart home ( Smart home) wireless terminal equipment, etc.
- UE machine type communication
- MTC machine type communication
- MTC machine type communication
- Mobile phone mobile phone
- computer tablet computer
- notebook computer handheld computer
- desktop computer desktop computer
- earphone stereo
- mobile internet device mobile internet device
- wearable device such as smart watch,
- the above-mentioned communication system 110 may be any of the following communication systems: 5G (or called new radio (new radio, NR)) communication system, 6G communication system, LTE system, code division multiple access (code division multiple access (CDMA) system, wideband code division multiple access (WCDMA for short) general packet radio service (GPRS for short) system, time division duplexing-long term evolution (time division duplexing-long term evolution, TDD LTE), frequency division duplexing-long term evolution (frequency division duplexing-long term evolution, FDD LTE), universal mobile telecommunications system (universal mobile telecommunications system, referred to as UMTS), long term evolution-enhanced (long term evolution- advanced, LTE-advanced), an existing short-distance communication system or a possible future short-distance communication system, etc.
- 5G or called new radio (new radio, NR)
- 6G communication system Long NR
- LTE long term evolution
- CDMA code division multiple access
- WCDMA wide
- the embodiment of the present application does not limit the number of network devices 110 and the number of terminal devices in the communication system 100.
- one network device 110 can be connected to multiple different types of terminal devices at the same time as shown in FIG. Connect one type of terminal equipment but not other types of terminal equipment, connect multiple terminal equipments, or connect one terminal equipment but not other terminal equipments.
- the communication system 100 may also include other devices, such as a trace collection entity, a core network (core network, CN), a wireless relay device, a wireless backhaul device, and a router, a central Data transfer devices such as repeaters, bridges, or switches, etc., are not limited in this embodiment of the present application.
- the network device 110 in the embodiment of the present application may integrate all functions on one independent physical device, or distribute the functions on multiple independent physical devices, which is not limited in the embodiment of the present application.
- the data processing solution provided by this application can be applied to the Internet of Vehicles, such as vehicle to everything (V2X), long term evolution of vehicle communication (long term evolution-vehicle, LTE-V), Vehicle-vehicle (V2V) etc.
- the terminal device may specifically be a vehicle with a wireless communication function, such as the vehicle 121 schematically shown in FIG. 1 (the terminal device 121 in FIG. 1 is the vehicle 121 ), or a device in a vehicle with a wireless communication function.
- the device includes but is not limited to: vehicle-mounted terminal, vehicle-mounted controller, vehicle-mounted module, vehicle-mounted module, vehicle-mounted component, vehicle-mounted chip, vehicle-mounted unit, vehicle-mounted radar or vehicle-mounted camera and other sensors.
- vehicle can pass through the vehicle-mounted terminal, vehicle-mounted controller,
- vehicle-mounted module, vehicle-mounted module, vehicle-mounted component, vehicle-mounted chip, vehicle-mounted unit, vehicle-mounted radar or camera implements the data processing method provided by this application.
- FIG. 2 exemplarily shows a schematic diagram of the architecture of an in-vehicle communication link provided by an embodiment of the present application.
- the architecture includes one or more communication domains. Any communication domain in the one or more communication domains refers to a A system composed of a group of communication nodes with a communication relationship and a communication connection relationship (that is, a communication link) between the communication nodes is usually used to complete a specific function.
- a communication domain includes a master communication node and one or more slave communication nodes.
- the master communication node may also be referred to as the master node, and is used to manage the time-frequency resources in the communication domain where it is located, and has the function of scheduling time-frequency resources for the communication links between the slave nodes in the communication domain where it is located.
- the master node can communicate with slave nodes in its communication domain, master nodes or slave nodes in other communication domains, and off-vehicle devices, for example, it can receive encoded control data sent by network device 110 and send it to the
- the slave node implements the control function of the components in the vehicle, or encodes the control response returned by the slave node in the communication domain and sends it to the network device 110 .
- a slave communication node may also be referred to as a slave node for short, and is used to communicate with a master node in its communication domain, or to communicate with other slave nodes in its communication domain according to time-frequency resources scheduled by the master node in its communication domain.
- Nodes that do not belong to the communication domain can also be referred to as external nodes for short.
- the external nodes include devices that have not joined the communication domain and devices that have joined the communication domain and then exited the communication domain, and can be converted into Slave nodes in this communication domain.
- the in-vehicle communication link of the vehicle 121 may include one or more of the following communication domains: an infotainment domain including a car machine, a microphone, and a speaker, including a cockpit domain controller, a liquid crystal instrument and Cockpit areas such as touch screens, including keyless entry and start systems, mobile phone keys, and car keys.
- an infotainment domain including a car machine, a microphone, and a speaker
- a cockpit domain controller including a cockpit domain controller
- a liquid crystal instrument and Cockpit areas such as touch screens, including keyless entry and start systems, mobile phone keys, and car keys.
- one or more of the following communication domains may also be included in the in-vehicle architecture: chassis electronics domain including transmission controller, anti-lock brake controller, brake force distributor and drive anti-slip controller, etc.
- the network elements involved in the embodiment of the present application include a sending end device with a Polar code encoding function and a receiving end device with a Polar code decoding function.
- the sending end device and the receiving end device may have Any two nodes of the communication function, for example, the sending end device is the network device 110 shown in Figure 1 or a chip or circuit in the network device 110, and the receiving end device is the terminal device 121 to the terminal device 126 shown in Figure 1 Any terminal device in, or a chip or circuit in any terminal device, or, the sending end device is any terminal device from terminal device 121 to terminal device 126 shown in Figure 1, or any terminal device in any terminal device chip or circuit, and the receiving end device is the network device 110 shown in Figure 1 or a chip or circuit in the network device 110, or the sending end device is any terminal in the terminal device 121 to the terminal device 126 shown in Figure 1 device, or a chip or circuit in any terminal device, and the receiving end device is another terminal device among terminal devices 121 to 126 shown in FIG.
- the sending end device or the receiving end device is the vehicle 121, it may specifically be a communication node in any communication domain shown in FIG. 2, and the communication node may be a master node or a slave node.
- the communication node can send encoded data to the master node or slave node in the communication domain, and can also receive and decode the encoded data sent by the master node or slave node in the communication domain .
- the communication node can send encoded data to slave nodes in its communication domain, or master nodes in other communication domains, or network equipment 110, or other terminal devices, and can also receive coded data in its communication domain.
- the coded data sent by a slave node in , or a master node in another communication domain, or the network device 110 , or other terminal devices is decoded, and the details are not limited.
- the system architecture described above is to illustrate the technical solution of the present application more clearly, and does not constitute a limitation to the technical solution provided in the present application.
- the technical solutions provided in this application are also applicable to similar technical problems.
- the technical solution provided by this application can also be applied to other intelligent terminals with wireless communication functions except vehicles, or be set in other intelligent terminals with wireless communication functions other than vehicles, or be set in the intelligent terminal in the components.
- the smart terminal can be other terminal devices such as smart transportation equipment, smart home equipment, robots, etc.
- it can include but not limited to a smart terminal or a controller, chip, radar or camera and other sensors in the smart terminal, and other components.
- Polar codes are a channel coding method that can obtain Shannon capacity and have low coding and decoding complexity.
- the coding strategy of the Polar code is to use the noise-free channel to transmit useful information for the user, and to use the full-noise channel to transmit the agreed information or not to transmit information.
- the Polar code is a linear block code, its coding matrix is F N , and the coding process satisfies in, is a binary row vector with a length of N, N is also called the code length; F N is an N ⁇ N matrix, and here: Defined as the Kronecker product of log 2 N matrices F 2 .
- the addition and multiplication operations involved in this part are the addition and multiplication operations on the binary Galois Field (Galois Field), and this application will not introduce too much.
- the characteristic of the Polar code is that the code length corresponding to the code word output after coding is a positive integer power of 2. If the code length corresponding to the codeword output after encoding does not satisfy the form of a positive integer power of 2, an additional rate matching module needs to be configured after Polar encoding and Polar, so that the codeword after encoding can be processed by the rate matching module. Channel retransmission or puncturing to match the actual transmission capacity of the channel.
- the information bits refer to the information that the sending device intends to send to the receiving device
- the coding block refers to the information before Polar coding
- the code word refers to the information after coding in the coding block.
- the coding block may contain information bits but not check codes, or both information bits and check codes.
- the coded block contains information bits and check codes at the same time
- the information in the coded block except the check code is the information bits.
- Polar codes the industry usually uses two methods to encode information bits: one is to directly generate a CRC code for the entire information bits, and splicing the CRC code behind the entire information bits as a coding block, and then the spliced obtained
- the encoding block is encoded; the other is to uniformly segment the entire information bits first, and then generate a CRC code for each segmented data segment, and splice the generated CRC code at the rear of the corresponding data segment as A coding block, and then encode each coding block obtained by splicing.
- the present application provides a data processing method, which is used to obtain one or more coded blocks according to the total data length of information bits and the preset first code rate, and make one or more coded blocks match Polar coded
- the codeword of the codeword satisfies the code length of a positive integer power of 2, so that the first code rate can be used to directly transmit or receive codewords encoded by one or more coding blocks, without adding an additional rate matching module, effectively Reduce system design complexity and system power consumption.
- the first coding block refers to the coding block corresponding to the maximum code length
- the “second coding block” refers to the coding block corresponding to the non-maximum code length
- the first coding block and “the second coding block” are just Indicating whether the code length of the coding block is the maximum code length cannot be interpreted as having a different priority or importance, nor can it be understood as implying a different order.
- Figure 3 exemplarily shows a schematic diagram of the interaction flow of a data processing method provided by the embodiment of the present application.
- the method is applicable to the sending end device and the receiving end device.
- the sending end device and the receiving end device can be any two devices that support the implementation of this application. Examples of devices, nodes or chips with communication functions.
- the process includes the following steps:
- step 301 the sending end device acquires information bits.
- the information bit refers to the information bit that the sending device intends to send to the receiving device.
- the information bit may be data information, control information, or system information, which is not specifically limited.
- Step 302 the sending end device acquires C coded blocks according to the total data length of the information bits and the preset first code rate, where the C coded blocks correspond to one or more code lengths, and one or more code lengths belong to the preset Defined or configured S code lengths, the data lengths of C code blocks correspond to the first code rate, each code length in the S code lengths satisfies the form of a positive integer power of 2, and S is a positive integer greater than or equal to 2 Integer, C is a positive integer.
- the total data length of the information bits refers to the total number of bits of the information bits that the sending device intends to send to the receiving device. For example, when the information bits to be sent are 300 bits in total, the total data length of the information bits is 300bit.
- the preset first bit rate may be the bit rate required by the transmission format, or a bit rate artificially selected according to the requirement, or selected from multiple predefined or configured bit rates according to the rules.
- the corresponding relationship between S code lengths, T code rates, and S ⁇ T data lengths is predefined or configured in the sending end device, and each data length in the S ⁇ T data lengths It can correspond to one code length among the S code lengths and one code rate among the T code rates, and is used to represent a coded block when the coded block with the corresponding code length is transmitted using the corresponding code rate that is preset or configured Data length, both S and T are positive integers greater than or equal to 2.
- the S mother code lengths corresponding to the currently commonly used S ms are taken as the S code lengths.
- the T code rates can be preset or configured with reference to currently commonly used code rates.
- the T code rates are usually also called T-order code rates. The higher the order of the code rate, the larger the code rate.
- the predefined or configured data length increases as the code length increases, and decreases as the code length decreases. That is to say, at the same code rate, the predefined or configured data length is positively correlated with the code length.
- a large code length corresponds to a large code block, while a small code length corresponds to a small code block.
- the data length that a channel in the communication field can bear is the product of the code length and the code rate, and the transmission performance of the channel is positively correlated with the code length and negatively correlated with the code rate. That is to say, when the code length is smaller, the data transmission performance of the channel is worse, and when the code rate is smaller, the data transmission performance of the channel is better.
- the S ⁇ T data lengths corresponding to the S code lengths and T code rates can also be preset or configured with reference to the following principles:
- the maximum code length among the S code lengths corresponds to The data length is the product of the current code rate and the maximum code length
- the data length corresponding to the non-maximum code length among the S code lengths is the product of a code rate smaller than the current code rate and the non-maximum code length.
- a code rate smaller than the current code rate may be set or configured according to an actual scene, or may be set or configured by a person skilled in the art based on experience, and is not specifically limited.
- S code lengths are preset or configured: m 0 is a positive integer, that is, the code length N 0 , code length N 1 , code length N 2 , ...
- the code length N 0 is the largest code among the S code lengths length
- the code length N S-1 is the minimum code length among the S code lengths
- each of the S code lengths satisfies the form of a positive integer power of 2
- the following T code rates: R 0 , R 1 , R 2 , ..., R T-1 , and the values of code rate R 0 , code rate R 1 , code rate R 2 , ... and code rate R T-1 increase sequentially Large, that is, the code rate R 0 is the minimum code rate among the T code rates, and the code rate R T-1 is the maximum code rate among the T code rates.
- a code rate of the current code rate determines a possible scheme of the data length of a coded block whose current code rate is not the maximum code length.
- the corresponding relationship between S code lengths, T code rates, and S ⁇ T data lengths may be represented by one or more of tables, stacks, databases, queues, or other forms.
- Table 1.1 shows a correspondence table of S code lengths, T code rates, and S ⁇ T data lengths set or configured according to correspondence one.
- the correspondence table It is also called segment length reference table, or K table for short.
- Table 1.1 A segment length reference table (K table)
- the preset or configured data length corresponding to a code length and a code rate can satisfy one or more of the following forms:
- i is an integer greater than or equal to 0 and less than or equal to T-1.
- K j,0 N j ⁇ (R 0 -D 0 )...(3.2)
- D 0 is the first preset degraded threshold value, which is used to indicate that when a code rate of the previous order less than the minimum code rate exists, the code rate difference between the code rate of the previous order and the minimum code rate can be preset. set or configured as a value less than the minimum code rate R 0 ; j is a positive integer less than or equal to S-1.
- R z-1 is the upper-order code rate whose code rate is lower than R z
- Z is a positive integer less than or equal to T-1.
- currently commonly used code lengths mainly include: one or more of 1024bit, 512bit, 256bit, 128bit or 64bit, and currently commonly used code rates mainly include: 1/4, 3/8, 1/2, 5/8 , 3/4 and/or 7/8.
- the first preset step-down threshold D 0 can be preset or configured as 1/8, so that no matter which one is used in the actual scene
- the code rate is the minimum code rate, and the K table can be kept consistent as much as possible.
- Table 1.1 For example, when the first preset degraded threshold D 0 is 1/8, in a possible scenario, if the code length includes the above five code lengths, and the code rate includes the above six code rates, then Table 1.1
- the table K in the table can be specifically expressed as shown in the following table 2.11(A), and the calculation results are shown in the following table 2.11(B).
- the preset reduction threshold D 0 is 1/8
- the code length includes the above five code lengths, and the code rate includes 3/8, 1/2, 5/8, 3 /4 and 7/8
- the table K in Table 1.1 can be specifically expressed as shown in Table 3.11(A) below, and the calculation results are shown in Table 3.11(B) below.
- the first preset de-escalation threshold D 0 may also be set to other values, such as 1/16, 1/32, 1/64 and so on.
- the K table in Table 1.1 can be specifically expressed as As shown in Table 2.12(A) below, the calculation results are shown in Table 2.12(B) below.
- the table K in Table 1.1 can be specifically expressed as shown in Table 3.12(A) below, and the calculation results are shown in Table 3.12(B) below.
- the corresponding relationship between S code lengths, T code rates, and S ⁇ T data lengths may be represented by one or more of tables, stacks, databases, queues, or other forms.
- Table 1.2 shows the correspondence table of S code lengths, T code rates, and S ⁇ T data lengths set or configured according to the correspondence two.
- the correspondence table It is called segment length reference table, or K table for short.
- the preset or configured data length corresponding to a code length and a code rate can satisfy one or more of the following forms:
- i is an integer greater than or equal to 0 and less than or equal to T-1.
- P i is the second preset step reduction threshold corresponding to the code rate R i , which is used to indicate how much lower the code rate is used to transmit the code block corresponding to the current code rate, which can be preset or configured to be less than the code rate
- a value of rate R i ; j is a positive integer less than or equal to S-1.
- the second preset downscaling thresholds corresponding to different code rates may be the same or different, which is not specifically limited.
- the second preset downscaling threshold may be set to a value smaller than the minimum code rate among the respective code rates.
- the second preset step-down threshold corresponding to each code rate can be set to a value less than 1/4 of the minimum code rate among these commonly used code rates at present, for example, it can be set 1/8, 1/16, 1/32 or 1/64 etc. Assuming that the second preset degrading threshold corresponding to each code rate is set to 1/16, in a scenario, if the code length includes 1024bit, 512bit, 256bit, 128bit and 64bit, the code rate includes 1/4, 3/8 .
- the K table in Table 1.2 It can be specifically expressed as shown in Table 3.21(A) below, and the calculation results are shown in Table 3.22(B) below.
- the second correspondence can also flexibly change the data length of a data block of each code rate under a non-maximum code length by flexibly configuring the second preset reduction threshold corresponding to each code rate.
- the second preset degrading threshold corresponding to each code rate can be set to a smaller value, so as to increase the The data length of a small data block under the code length.
- the second preset degrading threshold corresponding to each code rate can be set to a larger value in order to reduce the non-maximum code length of each code rate. The data length of a small data block.
- the second preset degrading threshold corresponding to this code rate can be set to a smaller value, while the corresponding The second preset de-escalation threshold may be set to a larger value. It can be seen that the above-mentioned correspondence relationship 2 can be compatible with various transmission scenarios, which helps to improve the versatility in the communication field.
- the corresponding relationship between S code lengths, T code rates, and S ⁇ T data lengths may be represented by one or more of tables, stacks, databases, queues, or other forms.
- Table 1.3 shows the correspondence table of S code lengths, T code rates, and S ⁇ T data lengths set or configured according to the correspondence three.
- the correspondence table It is called segment length reference table, or K table for short.
- the preset or configured data length corresponding to a code length and a code rate can satisfy one or more of the following forms:
- i is an integer greater than or equal to 0 and less than or equal to T-1.
- ⁇ i is the proportion of the preset code rate corresponding to the code rate R i , which is used to indicate how much the current code rate of the current code rate is used to transmit the code block corresponding to the current code rate, which can be preset or configured to be greater than 0 and less than 1 A value of ; j is a positive integer less than or equal to S-1.
- the proportions of preset code rates corresponding to different code rates may be the same or different, and the details are not limited.
- the proportions of preset code rates corresponding to each code rate can be set to be the same, so that the data length of the coded block corresponding to each code rate can change stably as each code rate changes.
- the proportion of the preset code rate corresponding to each code rate is set to 1/2
- the code length includes 1024bit, 512bit, 256bit, 128bit and 64bit
- the code rate includes 1/4, 3/8, 1/2, 5/8, 3/4 and 7/8
- the table K in Table 1.3 can be specifically expressed as shown in Table 2.31(A) below, and the calculation results are shown in Table 2.32(B) below.
- the K table in Table 1.3 It can be specifically expressed as shown in Table 3.31(A) below, and the calculation results are shown in Table 3.32(B) below.
- the above is just an example of a possible situation of the corresponding relationship 3 by taking the preset code rate ratios corresponding to each code rate as 1/2 as an example.
- the preset code rate ratios are set to different values or set to the same value but The case that it is not 1/2 can be realized by referring to the above content, and details will not be repeated here.
- the third correspondence can also flexibly change the data length of a data block of each code rate under a non-maximum code length by flexibly configuring the proportion of the preset code rate corresponding to each code rate.
- the proportion of the preset code rate corresponding to each code rate can be set to a larger value in order to increase the value of each code rate in non-maximum codes.
- the data length of a small data block In scenarios where small code blocks are required to carry less data, the proportion of the preset code rate corresponding to each code rate can be set to a smaller value, so as to reduce the ratio of each code rate under the non-maximum code length. The data length of the small data block.
- the preset code rate corresponding to this code rate can be set to a larger value, and the preset code rate corresponding to other code rates can be set to a larger value.
- the coding rate ratio can be set to a smaller value.
- the code rate of the current code rate determines the data length of a coded block whose current code rate is not the maximum code length, all of which are within the protection scope of this application, and this application will not list them one by one.
- Table 5(A) to Table 5(F) are just a form of maximum satisfiability in their respective scenarios, but in fact each table can contain the One or more rows, or one or more columns including one or more columns, may not necessarily satisfy every row and every column, and this application does not specifically limit it.
- the table is only a possible bearer form of the corresponding relationship, and other bearer forms may also be used to represent the corresponding relationship in actual operation, such as database, data stack or queue, etc., which is not specifically limited in this application.
- the sending end device can first obtain from the K table the corresponding pre-determined values of the 5 code lengths in the row where the code rate 1/2 is located. Set or configure the data length, and then according to the preset or configured segmentation principle, use the total data length of the information bits and the preset or configured data length corresponding to the 5 code lengths to obtain C coded blocks.
- the C coding blocks may correspond to one or more code lengths, for example, the C coding blocks all correspond to the same code length, or there are two or more coding blocks in the C coding blocks corresponding to two different code lengths.
- the correspondence between the coding block and the code length means that the data length of the coding block is the same as the preset or configured data length corresponding to the code length.
- the segmentation method actually segments the information bits according to the length of the mother code, thereby enabling Each segmented encoding block directly matches the mother code length of Polar encoding without further rate matching.
- FIG. 4 exemplarily shows a data presentation form after segmentation under different segmentation principles provided in the embodiment of the application.
- the data length of a coded block corresponding to code length N 0 is K 0
- the data length of a coded block corresponding to code length N 1 is K 1 , ...
- the data length of a coded block corresponding to code length N S-1 is The data length of the coding block is K S-1 , CRC 0 , CRC 1 , ..., CRC S-1 , CRC ls refer to the length of the check code, and do not represent the actual content of the check code, for example, the maximum code length N
- the length of the check code corresponding to the information bit in each coding block corresponding to 0 is called CRC 0 , but this only indicates that the length of the check code in each coding block corresponding to the maximum code length N 0 is the
- (A) in Figure 4 shows a diagram of the data presentation form after segmentation without adding a check code.
- the segmentation principle corresponding to this example is: according to the total data of information bits The lengths are C 0a coded blocks corresponding to code length N 0 , C 1a coded blocks corresponding to code length N 1 , ..., C (S-1)a coded blocks corresponding to code length N S-1 , and each A coded block contains information bits but does not contain check codes.
- the data length of each coding block is the data length of the information bits contained in the coding block.
- Scenario 1 In a possible scenario (referred to as Scenario 1 for ease of introduction), assuming that the total data length of information bits is 584 bits and the first code rate is 1/2, based on the K table given in Table 2.11(B), it can be known that 1 /2
- the data lengths of a coding block under the 1024bit code length, 512bit code length, 256bit code length, 128bit code length and 64bit code length are respectively 512bit, 192bit, 96bit, 48bit and 24bit.
- segmentation C code blocks can include: 1 code block corresponding to a 1024-bit code length with a data length of 512 bits, 1 code block with a data length of 48 bits corresponding to a 128-bit code length, and 1 code block with a data length of 24 bits corresponding to a 64-bit code length Piece.
- (B) in Figure 4 shows a diagram of the data presentation form after segmentation that needs to add a check code
- the segmentation principle corresponding to this example is: according to the total data length of the information bits Obtain the coding block corresponding to C 0b code length N 0 , the coding block corresponding to C 1b code length N 1 , ..., the coding block corresponding to C (S-1)b code length N S-1 , and each Each coding block contains information bits and a check code for the included information bits.
- the data length of the check codes in each coding block corresponding to the same code length is the same, for example, the code corresponding to C 0b code length N 0
- the data lengths of the check codes in the blocks are all CRC 0
- the data lengths of the check codes in the coding blocks corresponding to C 1b code lengths N 0 are all CRC 1 , . . . .
- the data length of each coding block is the sum of the data length of the information bits contained in the coding block and the data length of the check code.
- the segmented C code blocks may include: 1 code block corresponding to a 1024-bit code length with a data length of 512 bits , the coding block includes 488bit information bits and 24bit check code; 1 code block with a data length of 96bit corresponding to 256bit code length, the code block includes 72bit information bits and 24bit check code; 1 The 128-bit code length corresponds to a code block with a data length of 48 bits, and the code block includes 24-bit information bits and 24-bit check codes.
- (C) in Figure 4 shows another data presentation form after segmentation that needs to add a check code.
- the segmentation principle corresponding to this example is: according to the total data of information bits The length is obtained from the first coding block corresponding to C 10 code lengths N 0 and the second coding block corresponding to L code lengths among C 20 code lengths N 1 to N S-1 , and C 10 first coding blocks
- Each first coding block of contains information bits and a first check code for the included information bits
- the data length of the first check codes contained in each first coding block is CRC 0
- the 20 second coding blocks contain remaining information bits other than the information bits contained in the C 10 first coding blocks and a second check code for the remaining information bits
- the data length of the second check code is CRC ls
- L is a positive integer greater than or equal to 0
- C 10 is a positive integer
- C 20 is an integer greater than or equal to
- C 10 is an integer greater than or equal to 0
- C 20 is
- the data length of each first coding block is the sum of the data length of the information bits contained in the first coding block and the data length of the first check code
- the C 20 second coding blocks The data length is the data length of the information bits contained in the C 20 second coding blocks and the data length of the second check code.
- the segmented C encoded blocks can be Including: one 1024-bit code length corresponding to the first coding block with a data length of 512 bits, the first coding block includes 488-bit information bits and 24-bit first check code; one 256-bit code length corresponding to a data length of 96 bits
- the second coding block includes 96-bit information bits; one 64-bit code length corresponds to a second coding block with a data length of 24 bits, and the second coding block includes a 24-bit second check code.
- the segmentation principle adopted in (A) in Figure 4 does not add a check code, so it can only retransmit all the information bits when a transmission error occurs, while in Figure 4 (B) and
- the segmentation principle adopted in (C) in Figure 4 is due to the addition of a check code, so when a transmission error occurs, only the part of the coded block whose check code is wrong can be retransmitted, thereby helping to reduce the delay of retransmission; and , the segmentation principle adopted in (B) in Figure 4 adds a check code to each coding block, regardless of the length of the coding block, while the segmentation principle adopted in Figure 4 (C) applies to the maximum code
- a check code is added to each long code block of length N 0 , but a check code is not added to each short code block of non-maximum code length, but a check code is added to all short code blocks of non-maximum code length , this segmentation principle helps to reduce the total data length of the segmented coding block while
- a large coding block corresponding to a large code length is used to carry as many information bits as possible, so that the number of coding blocks can be reduced.
- the number of coding blocks is not considered, there can be many segmentation methods under the same segmentation principle.
- a coded block can also include: two first coded blocks corresponding to a 1024bit code length with a data length of 512 bits, the data length of these two first coded blocks is 1024 bits in total, and there are 24 bits in the 512 bits of each first coded block for Carry their respective first check codes, and there are 584 bits in the remaining 976 bits of the two first coding blocks for carrying information bits, and the remaining 392 bits are useless bits, which can be filled later or from the data length Subtract, and there is no limitation as to which first encoding block the useless bits are specifically operated on.
- step 303 the sending end device encodes C coded blocks to obtain codewords encoded by the C coded blocks.
- the sending end device determines the segmentation result according to the segmentation principle used (for example, including several first coding blocks, several second coding blocks, information bits contained in each first coding block data length, and the data length of the information bits contained in each second coding block, etc.), the whole information bits can be split according to the segmentation result, and C coding blocks (one The coded block may or may not contain information bits, but is only used to carry CRC), and according to the segmentation principle, add CRC to one or more coded blocks in the C coded blocks, and add CRC
- the coding blocks of are encoded with Polar codes to obtain the code word of each coding block.
- the sending end device may also perform one or more operations of bit mapping, high-order modulation, or symbol interleaving.
- the order of operations such as encoding C code blocks, bit mapping, high-order modulation, or symbol interleaving is not specifically limited. For example, these operations may be performed once, sequentially, or in parallel.
- the codewords of the C encoding blocks will form a complete sequence, and the codewords of each first encoding block and each second encoding block in the sequence
- the codewords of the blocks can be spliced together in a preset or configured order, and the order can also be preset or configured to the receiving end device, or the sending end device can notify the receiving end device through a message, so that the receiving end device Subsequent splitting can also be performed in the same order to obtain the entire information bits.
- this application does not make too many introductions and limitations.
- the data length of the coding block refers to the number of bits contained in the coding block before coding the coding block
- the code length refers to the code obtained after coding the coding block.
- the number of bits in a codeword in a block For example, if the data length corresponding to a coding block is 384 bits, and the corresponding code length is 1024 bits, it means that the coding block contains 384 bits of data before coding, and contains 1024 bits of code words after coding.
- the sending end device obtains the code block according to the preset or configured code length that satisfies the positive integer power of 2, the code length of each code block after encoding can match the code after Polar encoding The word satisfies the code length of a positive integer power of 2, so that the sending end device can encode and send the encoded codeword of the encoded block without performing rate matching on the encoded block after adding the CRC.
- step 304 the sending end device sends codewords encoded by the C coding blocks to the receiving end device.
- the sending end device may carry the codewords of the C coded blocks in the message, and send it to the receiving end device through a channel.
- the codewords of the C coding blocks may be presented as a complete sequence in the message, and the receiving end device is required to segment the respective codewords of the C coding blocks from the sequence.
- step 305 the receiver device decodes the encoded codewords of the C coded blocks according to the total data length of the information bits and the preset first code rate, and obtains the information bits contained in the C coded blocks.
- the total data length of the information bits may be sent by the sending end device to the receiving end device through a message, and the receiving end device can obtain the total data length of the information bits by parsing the message.
- the message carrying the total data length of information bits may be a message carrying codewords encoded by C code blocks, or other messages, such as an additional message sent, or a message carrying other information, etc., specifically Not limited.
- the receiving device can follow the total data length of the information bits and the preset first code rate according to The segmentation principle consistent with the sending end device determines the segmentation result, and according to the number of various coding blocks indicated in the segmentation result and the code length of each coding block (such as the number of first coding blocks, each first coding block The code length of each second coded block, the number of each second coded block and/or the code length of each second coded block, etc.), the message carries the sequence of encoded codewords of C coded blocks into segments, and obtains each coded block coded codewords, and then decode the C coded block coded codewords to obtain C coded blocks.
- the receiving end device may also perform one or more operations of symbol deinterleaving, high-order demodulation, or bit mapping.
- the sequence of operations such as decoding codewords encoded by C coding blocks, symbol deinterleaving, high-order demodulation, or bit mapping is not specifically limited. For example, these operations can be performed once or sequentially. are executed in parallel. With regard to the specific implementation of these operations, this application does not make too many introductions and limitations.
- the receiving device can use the corresponding Polar codes to decode the code words coded by the C code blocks.
- a codeword is used to obtain C coded blocks.
- the segmentation result determined by the receiving end device according to the segmentation principle consistent with the sending end device may also include the data length of the information bits contained in each coding block and the data length of the check code, so that the receiving end device It is also possible to obtain information bits and/or check codes from each coding block according to the segmentation result.
- the receiving end device can also check the coded block.
- the check code is a CRC check code
- the sending device obtains the CRC check code by using a generator polynomial
- one or more coding blocks corresponding to each CRC check code must be divisible by the generator polynomial. Therefore, the receiver device can use the same generator polynomial (the generator polynomial is pre-agreed between the sender device and the receiver device, and remains unchanged during the entire transmission process between the sender device and the receiver device) corresponding to the CRC check code If the remainder is 0, it means that the one or more coded blocks corresponding to the CRC check code have no errors, and the receiving end device can obtain the information bits contained in the one or more coded blocks .
- the receiving end device can request the sending end device to retransmit the code that failed the CRC check block, cascading after the retransmission is correct.
- the receiving end device can also concatenate the information bits contained in the C coding blocks to obtain complete information bits, and the complete information bits are the sending end device The information bits to be sent to the receiver device, and the receiver device can use the complete information bits to complete subsequent related operations.
- the concatenation is only an example, and it may not be concatenated in actual operation.
- the information bits contained in each coding block may be used alone to complete the operations related to each coding block, or the cascading
- the information bits included in the part of the coded blocks are connected to complete operations related to the part of the coded blocks, etc., which are not specifically limited.
- Fig. 5 exemplarily shows a schematic diagram of an interaction flow of another data processing method provided by the embodiment of this application. This method is applicable to the sending end device and the receiving end device.
- the sending end device and the receiving end device can be any two Devices, nodes or chips with communication functions in the embodiments. As shown in Figure 5, the process includes the following steps:
- step 501 the sending end device acquires information bits.
- Step 502 the sending end device determines a first encoding block according to the preset or configured data length of the preset first code rate under the maximum code length and the preset or configured data length of the first check code The data length of the information bits contained in .
- each first coding block is equal to the sum of the data length of the information bits contained in the first coding block and the data length of the first check code, therefore, each first coding block
- the data length of the information bits contained in is also equal to the difference between the data length of the first coding block and the data length of the first check code contained in the first coding block.
- the data length of the preset or configured first check code is CRC 0
- the preset or configured data length of the preset first code rate under the maximum code length N 0 stipulated in the K table is K 0 (that is, the K table stipulates that the data length of a first coding block is K 0 )
- the data length of the information bits contained in a first coding block is: K 0 ⁇ CRC 0 .
- Step 503 the sending end device judges whether the ratio of the total data length of information bits to the data length of information bits contained in a first coded block is an integer, if yes, execute step 504, if not, execute step 505.
- step 504 the sending end device determines that the number of the first coding block is the ratio, and the number of the second coding block is 0 (that is, there is no second coding block), and then executes step 507.
- the ratio of the total data length of the information bits to the data length of the information bits contained in a first coding block is an integer, which means that all the information bits can be carried by the first coding block without remaining information bits.
- the sending end device may directly use the ratio as the number C 10 of the first coding block, and set the number of the second coding block as 0, and then jump to step 507 .
- the number of second coding blocks is 0, that is, there is no second coding block, all of the segmented C coding blocks are first coding blocks, and C 10 is equal to C.
- Step 505 the sending end device takes the largest integer not greater than the ratio as the initial number of the first coded block, according to the total data length of the information bits, the data length of the information bits contained in the initial number of the first coded block, and the preset The determined or configured data length of the second check code determines the data length of the remaining data to be segmented.
- the initial number C 0' of the first coding block can satisfy the following formula (5.1):
- floor() is a function of rounding down, also known as rounding down or rounding to zero, that is, taking the largest integer not greater than the value in the brackets, for example, floor(1.5) is taking the largest integer not greater than 1.5 , the calculation result is 1, and floor(2) is the largest integer not greater than 2, and the calculation result is 2.
- the initial number of first coded blocks calculated by the above formula (5.1) can be used to indicate the maximum number of first coded blocks that carry a total data length not exceeding information bits.
- the total data length of the information bits is K input
- the data length of the information bits contained in each of the initial number C 0' first coding blocks is K 0 -CRC 0 , therefore, except C
- the data length K ls of the remaining information bits other than the information bits included in the 0' first coding block may satisfy the following formula (5.2):
- K ls K input -C 0' ⁇ (K 0 -CRC 0 )...(5.2)
- the remaining data to be segmented may be carried in C 20 second coding blocks in the future, or may be carried in one first coding block.
- scenario 2 a specific scenario (referred to as scenario 2) is used to illustrate the above calculation process: assuming that the total data length of information bits is 1000 bits, the data length of the first check code and the data length of the second check code are determined by The preset or configuration is 24bit, and the first code rate is 3/8, then look up the K table shown in Table 2.11(B), we can know that the preset or configuration of the 3/8 code rate under the maximum code length of 1024bit
- the length of the data is 384bit, that is to say, the K table stipulates that the length of a first coding block corresponding to the maximum code length of 1024bit under the 3/8 code rate is 384bit; thus, the information bits contained in a first coding block
- Step 506 The sending end device determines the first coded block according to the initial number of the first encoded block, the data length of the remaining data to be segmented, and the preset or configured data length of the preset first code rate under each non-maximum code length. The number of one coding block and the number of second coding blocks corresponding to each non-maximum code length.
- the sending end device may adopt the principle of segment quantity priority or the principle of bit quantity priority to determine the number of first coding blocks and the number of second coding blocks corresponding to each non-maximum code length.
- the principle adopted by the sending end device can be set by presetting or configuring, and can also be consistent with the receiving end device, for example, instructing the sending end device and the receiving end device to adopt the same principle, or the sending end device sends an indication message indicating the adopted principle to the receiving end device, so that the receiving end device uses the same principle to decode according to the indication message, etc.
- the indication message indicating the adopted principle may be carried in the message containing the encoded codewords of the C coding blocks, or may be carried in an additional message, or may be carried in the message containing other information.
- the indication message can be represented by one or more of words, characters, numbers, or other forms. For example, in a possible example, when the indication message is 0, it means that the sender adopts the segment number priority In principle, when the indication message is 1, it means that the sending end adopts the principle of bit number priority. There are many ways to keep the sending end and the receiving end using the same principle, so I won't go into details here.
- the valid data includes information bits, and a first check code and/or a second check code.
- segmenting the remaining data to be segmented may result in more coded blocks, which is not conducive to reducing the data transmission delay.
- the sending end device may no longer segment the remaining data to be segmented, but additionally use a first coding block with a maximum code length to carry the entire remaining data to be segmented.
- the C coded blocks include the first coded block but not the second coded block, and the value of C is equal to the value of the number C of the first coded blocks 10 , that is, the initial number of the first coded blocks plus 1.
- the sending end device can segment the remaining data to be segmented with reference to the preset first code rate and the preset or configured data length under S-1 non-maximum code lengths, and divide the remaining data to be segmented
- the data is divided into L second coding blocks corresponding to non-maximum code lengths.
- the number of second coding blocks corresponding to each non-maximum code length may be 1, and may also be 2 or an integer greater than 2, which is not specifically limited.
- the criterion for judging whether to perform segmentation is the preset data length threshold.
- the sending end device can set the first code
- the number of blocks is the smallest integer greater than the initial number of the first coding block (that is, the initial number of the first coding block plus 1), and the number of the second coding block is 0, that is, there is no second coding block.
- the sending device can set the number of first encoded blocks as the initial number of first encoded blocks, and can refer to the above steps 502, 503 and In 505, the calculation method for determining the initial number of the first coded block corresponding to the maximum code length is to determine the initial number of S-1 coded blocks corresponding to the non-maximum code length in order according to the order of the code length from large to small, and the non-maximum code length.
- the initial number of coded blocks corresponding to the minimum code length is used as the number of coded blocks corresponding to the non-minimum code length, and the smallest integer not less than the initial number of coded blocks corresponding to the minimum code length is used as the number of coded blocks corresponding to the minimum code length, and then The number of coding blocks corresponding to L non-maximum code lengths whose number is not 0 among the S-1 non-maximum code lengths is taken as the number of L types of second coding blocks.
- the data length of the remaining data to be segmented is 304bit, assuming that the preset data length threshold is 246bit, the remaining The data length of 304 bits of segment data is greater than the preset data length threshold of 246 bits, so the sending device can directly use a first encoding block with a maximum code length of 1024 bits and a data length of 384 bits to carry the entire remaining data to be segmented, that is, That is to say, there are 304 bits in the first coding block of 384 bits for carrying the remaining data to be segmented, and the remaining 80 bits are useless bits.
- scenario 3 assuming that the remaining data to be segmented is 200 bits, and the first code rate is 3/8, then referring to the K table shown in Table 2.11(B), we can see that at the 3/8 code rate
- the code length of the second code block of the second type is 256bit, the number is 1, and the data length is 64bit.
- the code length of the second code block of the third type is 64bit, and the number is 1.
- the data length is 16 bits, and the total data length of the three second coding blocks is 208 bits, 200 bits of which are used to carry the remaining data to be segmented, and the remaining 8 bits are useless bits, which can be filled or subtracted from the data length later.
- the criterion for judging whether to perform segmentation can be the number threshold corresponding to any code length. Taking the minimum code length as an example, the sending device can convert the remaining data to be segmented into the code blocks corresponding to the minimum code length to obtain the estimated number of code blocks corresponding to the minimum code length. If the estimated number is greater than the minimum code length corresponding to , the sending device sets the number of first coding blocks to be the smallest integer greater than the initial number of first coding blocks, and the number of second coding blocks is 0, that is, there is no second coding block.
- the sending end device can set the number of first encoded blocks as the initial number of first encoded blocks, and can refer to the preset first code rate at S -The ratio relationship between the preset or configured data length under 1 non-maximum code length and the preset or configured data length under the minimum code length N S-1 of the preset first code rate, converted The estimated number of coded blocks corresponding to the minimum code length, obtain the number of coded blocks corresponding to S-1 non-maximum code lengths, and then use the number of coded blocks corresponding to L non-maximum code lengths whose number is not 0 as L types The number of second encoded blocks.
- the preset first code rate specified in the K table is preset or configured with a data length of K S- 1 under the minimum code length N S -1 (that is, the length of a coded block corresponding to the minimum code length specified in the K table is The data length is K S-1 ), then the expected number of coding blocks C S-1' corresponding to the minimum code length N S-1 can satisfy the following formula (5.4):
- ceil() is an upward rounding function, that is, the smallest integer that is not less than the value in the brackets, for example, ceil(1.5) is the smallest integer that is not smaller than 1.5, and the calculation result is 2, and ceil(2) is Take the smallest integer not less than 2, and its result is 2.
- the estimated number C S-1' of coded blocks corresponding to the minimum code length N S-1 calculated by the above formula (5.4) can be used to indicate the minimum length of the total data carrying no less than the remaining data to be segmented.
- the minimum number of encoding blocks which can ensure that all remaining data to be segmented is included, so as to avoid missing data to be segmented.
- the remaining data to be segmented will gradually increase according to the code length
- the sequence is divided into the code block corresponding to the non-maximum code length N S-1 ⁇ N 1 in turn, and after being divided into the code block corresponding to the non-maximum code length N 1 , it will start to gradually increase according to the code length
- the coded blocks corresponding to non-maximum code lengths N S-1 to N 1 are sequentially and repeatedly allocated, that is, the number of coded blocks corresponding to each non-maximum code length may be greater than 1.
- the non-maximum code length N S-1 can be used as a critical point of the allowed number of segments, and the preset or configured preset number threshold is 2 S-1 -1.
- the preset quantity threshold 2 S-1 -1 is used as a benchmark for deciding whether to perform segmentation, which can ensure that the number of coding blocks corresponding to each non-maximum code length is not greater than 1 for the remaining data to be segmented.
- the preset data length threshold can be correspondingly set as K S-1 ⁇ (2 S-1 -1).
- the sending device can obtain C 0' + 1 first coding blocks .
- the data length of the remaining data to be segmented is 304 bits
- the preset or configured data length of the 3/8 code rate under the minimum code length of 64 bits is 16, so the minimum code length of 64 bits corresponds to
- the expected number of coding blocks is the smallest integer not less than the ratio of 304 to 16, and the ratio of 304 to 16 is exactly 19, so the expected number of coding blocks corresponding to the minimum code length of 64 bits is 19.
- the sending end device can no longer segment the remaining data to be segmented segment, but additionally set a first encoding block to carry the entire remaining data to be segmented.
- the segmented C coding blocks may include: 3 first coding blocks with a data length of 384 bits,
- the first first encoding block contains 360-bit information bits and 24-bit first check code
- the second first encoding block contains 360-bit information bits and 24-bit first check code
- the third first encoding The block contains 280-bit information bits and 24-bit first check code, and also contains 80-bit useless bits, which can be filled or subtracted from the data length later.
- the non-maximum code lengths N 1 to N S-1 are 512, 256, 128, and 64 respectively, and the minimum code length N S-1 is 64.
- the ratios of the preset or configured data lengths corresponding to non-maximum code lengths 512, 256, 128, and 64 to the preset or configured data lengths corresponding to the minimum code length 64 are: 8:1, 4:1, 2 :1, 1:1, that is to say, the 8 coding blocks corresponding to the minimum code length 64 can be converted into 1 coding block corresponding to the non-maximum code length 512, and the 4 coding blocks corresponding to the minimum code length 64 can be converted In one coding block corresponding to a non-maximum code length of 256, the two coding blocks corresponding to a minimum code length of 64 can be converted into one coding block corresponding to a non-maximum code length of 128, and one coding block corresponding to a minimum code length of 64
- the sender device determines that the expected number C S-1' of coded blocks corresponding to the minimum code length N S-1 is not greater than the number threshold 2 S-1 -1 corresponding to the minimum code length, it can follow the segmentation method as follows 1-21 or any of the segmentation methods 1-22 segment the remaining data to be segmented:
- the sending device can sequentially determine the number of coding blocks corresponding to each non-maximum code length among the S-1 non-maximum code lengths N 1 to N S-1 in order of code length from large to small:
- the number C 1 of coding blocks corresponding to the largest non-maximum code length N 1 among the S-1 non-maximum code lengths N 1 to N S- 1 can satisfy the following formula (5.51):
- the above formula (5.51) converts the expected number of coding blocks corresponding to the minimum code length N S-1 into the largest non-maximum code length N 1 as much as possible.
- the number C 2 of coding blocks corresponding to the largest non-maximum code length N 2 among the remaining S-2 non-maximum code lengths N 2 to N S-1 can satisfy the following formula (5.53):
- the above formula (5.53) is to convert the remaining expected number of coding blocks corresponding to the minimum code length N S-1 into the remaining S-2 non-maximum code lengths N 2 to N S-1 as much as possible The largest non-maximum code length N 2 .
- the number of coding blocks C S- 1 corresponding to the non-minimum code length N S -1 can satisfy the following formula (5.56):
- the sending end device can finally obtain the number of coding blocks corresponding to S-1 non-maximum code lengths N 1 to N S-1 , and the number of coding blocks corresponding to any non-maximum code length may be 0 ( That is, there is no coded block corresponding to the non-maximum code length), or it may not be 0, and the sending end device may use the number of coded blocks corresponding to L non-maximum code lengths whose number is not 0 as L types of second coded blocks quantity.
- the sending device can perform the following analysis in order of code length from large to small: First, the ratio of the largest non-maximum code length of 512 bits to the minimum code length of 64 bits is 8:1, which means that the 8 minimum A code block corresponding to a code length of 64 bits can be converted into a code block corresponding to a non-maximum code length of 512 bits, and the expected number of code blocks corresponding to a minimum code length of 64 bits can be converted into a code block corresponding to a non-maximum code length of 512 bits.
- the total number of C coding blocks Contains the following three types of second coding blocks: the code length of the first type of second coding block is 512 bits, the number is 1, and the data length is 128 bits. 120 bits of the 128 bits store information bits, and the remaining 8 bits are useless bits Bits, which can be filled or subtracted from the data length later; the code length of the second type of second coding block is 256 bits, the number is 1, and the data length is 64 bits.
- the 64 bits of the 64 bits store information bits, and the rest The 8bit stores the 8bit information of the second check code; the code length of the third type of second code block is 64bit, the number is 1, and the data length is 16bit, and the 16bit stores the remaining 16bit of the second check code information.
- the sending device can convert C S-1' into binary data of S-1 bits, in which The S-1 bits from the high bit to the low bit correspond to the S-1 non-maximum code lengths N 1 ⁇ N S-1 of the code length from large to small, and the sending device can take different values in the binary data
- the value of the L bits that are 0 is used as the number of L types of second coded blocks, and the data length of each type of second coded block in the L types of second coded blocks is the non-maximum code length corresponding to the corresponding bit. Preset or configured data length.
- the bit values 1, 1, 0, and 1 correspond to the number of coded blocks corresponding to the non-maximum code length of 512bit, the number of coded blocks corresponding to the non-maximum code length of 256bit, the number of coded blocks corresponding to the non-maximum code length of 128bit, and the non- The number of coded blocks corresponding to the maximum code length of 64 bits.
- the data to be segmented can be divided into three types of second coding blocks, the first type of second coding blocks
- the code length of the block is 512 bits, and the number is 1;
- the code length of the second coding block of the second type is 256 bits, and the number is 1;
- the code length of the second coding block of the third type is 64 bits, and the number is 1.
- segmentation method 1-2 first convert the remaining data to be segmented into the coding blocks corresponding to the minimum code length, obtain the estimated number of coding blocks corresponding to the minimum code length, and then refer to the pre-coded blocks corresponding to each non-maximum code length
- the ratio relationship of the set or configured data length converts the expected number of coding blocks corresponding to the minimum code length to coding blocks corresponding to each non-maximum code length. Since the data length of the coding block corresponding to the minimum code length is the smallest, converting to the coding block corresponding to the minimum code length can ensure that the least useless bits are generated during segmentation, effectively saving subsequent padding or subtracting from the data length. The complexity helps to save air interface overhead.
- the above segmentation method 1-1 needs to be calculated in real time according to the data length of the remaining data to be segmented, and the above segmentation method 1-2 needs to be calculated according to the expected number of coding blocks C S-1' corresponding to the minimum code length N S-1 Real-time calculation, and the segmentation method 1-3 provides a method that can be calculated according to the data length of the remaining data to be segmented and/or the expected number of coding blocks C S-1' corresponding to the minimum code length N S-1 , through query pre- Set the code rate, the code length, the data length of the remaining data to be segmented and/or the expected number of coded blocks corresponding to the minimum code length, and the corresponding relationship between the number of coded blocks corresponding to each code length, and directly obtain L kinds of second How to encode the corresponding number of blocks.
- the preset code rate, code length, the data length of the remaining data to be segmented and/or the expected number of coded blocks corresponding to the minimum code length, and the corresponding relationship between the number of coded blocks corresponding to each code length can be expressed in a table, It can be expressed in any form such as database or stack, and is not specifically limited.
- Table 4 shows a preset code rate, code length, data length of the remaining data to be segmented and/or the expected number of coded blocks corresponding to the minimum code length, and each A schematic table of the corresponding relationship of the number of coded blocks corresponding to the code length, wherein Table 4 (A) shows a schematic table of the number of coded blocks corresponding to each code length at a code rate of 1/4, and Table 4 (B) shows What is shown is a schematic diagram of the number of coded blocks corresponding to each code length at the 3/8 code rate, and Table 4 (C) shows a schematic table of the number of coded blocks corresponding to each code length at the 1/2 code rate.
- Table 4(D) shows a schematic diagram of the number of coded blocks corresponding to each code length at the 5/8 code rate
- Table 4(E) shows the codes corresponding to each code length at the 3/4 code rate
- Table 4(F) shows a schematic table of the number of coded blocks corresponding to each code length under the 7/8 code rate.
- K ls is the data length of the remaining information bits except the information bits contained in the first coding block of the maximum code length, and the unit is bit; D ls is the remaining segment to be segmented The data length of the data, the unit is bit, D ls is the sum of the data length K ls of the remaining information bits and the data length CRC ls of the second check code, and the data length CRC ls of the second check code is preset or configured as 24bit; N is the code length, the unit is bit; C S-1' is the estimated number of coding blocks corresponding to the minimum code length of 64bit.
- the correspondence table may also include one or more of the following:
- C ls refers to the number of coding blocks carrying remaining data to be segmented.
- the remaining data to be segmented is carried in the second coding block corresponding to C 20 non-maximum code lengths, and the value of C ls will vary with the expected
- the quantity C S-1' changes, for example, when C S -1' in Table 4 (A) takes 6 (namely number 3), the value of C ls is 2, but C S-1' takes 7 When (that is, number 4), the value of C ls is 3.
- K Diff refers to the bits of the total data length of the coding block carrying the remaining data to be segmented and the data length of the remaining data to be segmented in the segmentation mode given in Table 4(A) to Table 4(F). Difference value, the unit is bit, and these bit difference values are used to indicate the number of useless bits that exist.
- the maximum The data length of the first coding block corresponding to the code length is relatively long, so the number K Diff of useless bits is generally large, for example, Table 4 (A) starts from C S-1' greater than 15 (that is, number 13 to number 29 ), the value of K Diff mostly reaches hundreds of bits.
- the remaining data to be segmented is carried in one or more second coded blocks corresponding to non-maximum code lengths , rather than the data length of the second coding block corresponding to the maximum code length is relatively short, so the quantity K Diff of useless bits is generally small, for example, in the case where C S-1' is not greater than 15, Table 4 (A The values of K Diff in ) are all 0 (that is, there are no useless bits), the values of K Diff in Table 4 (B) cycle between 0 and 8 bits, and the values of K Diff in Table 4 (C) The value is cycled between 0, 8bit and 16bit, the value of K Diff in Table 4(D) is cycled between 0, 8bit, 16bit and 24bit, the value of K Diff in Table 4(E) is 0 , 8bit, 16bit, 24bit and 32bit cycle, and the value of K Diff in Table
- Table 4(A) to Table 4(F) may also include some other information, such as the total data length of information bits, or the number of first coded blocks, etc., which are not specifically limited .
- Table 4(A) Schematic diagram of the number of coded blocks corresponding to each code length at the 1/4 code rate
- Table 4(B) Schematic diagram of the number of coded blocks corresponding to each code length under the 3/8 code rate
- Table 4(C) Schematic diagram of the number of coded blocks corresponding to each code length under the 1/2 code rate
- Table 4(D) Schematic diagram of the number of coded blocks corresponding to each code length under the 5/8 code rate
- Table 4(E) Schematic diagram of the number of coded blocks corresponding to each code length under the 3/4 code rate
- Table 4(F) Schematic diagram of the number of coded blocks corresponding to each code length under the 7/8 code rate
- scenario 2 and scenario 3 are still taken as examples to introduce the specific calculation process of segmentation methods 1-3:
- the data length D ls of the remaining data to be segmented is 304 bits
- the first code rate is 3/8
- the expected number of coded blocks corresponding to the minimum code length of 64 bits is 19.
- the sending end device can directly query based on this information
- the preset code rate, code length, the data length of the remaining data to be segmented and/or the expected number of coded blocks corresponding to the minimum code length, and the corresponding relationship between the number of coded blocks corresponding to each code length and obtain the following information ( For example, when the corresponding relationship is carried in the form of the corresponding relationship table in Table 4 (A) to Table 4 (F), the corresponding relationship table shown in Table 4 (B) can be queried to obtain the row of data numbered 35) :
- the number of coding blocks corresponding to 1024bit code length is 1, and the number of coding blocks corresponding to 512bit code length, 256bit code length, 128bit code length and 64bit code length is all 0 (that is, there is no 512bit code length
- the remaining data to be segmented is carried in a first coding block with a code length of 1024 bits.
- the data length of the first coding block is 384 bits, of which 304 bits are used to carry the remaining data to be segmented, and the remaining 80 bits are useless Bits.
- the data length D ls of the remaining data to be segmented is 200 bits
- the first code rate is 3/8
- the expected number of coded blocks corresponding to the minimum code length of 64 bits is 13.
- the data segmenting device can query based on these information
- the preset code rate, code length, the data length of the remaining data to be segmented and/or the expected number of coded blocks corresponding to the minimum code length, and the corresponding relationship between the number of coded blocks corresponding to each code length and obtain the following information ( For example, when the corresponding relationship is carried in the form of the corresponding relationship table in Table 4 (A) to Table 4 (F), the corresponding relationship table shown in Table 4 (B) can be queried to obtain the row of data numbered 22) :
- the number of coding blocks corresponding to 1024bit code length is 0 (that is, there is no coding block corresponding to 1024bit code length)
- the number of coding blocks corresponding to 512bit code length is 1
- the remaining data to be segmented can be carried in a second encoding block with a 512-bit code length, a second encoding block with a 256-bit code length, and a second encoding block with a 64-bit code length, and these three second encoding blocks In addition to carrying the remaining data to be segmented in the block, there are also 8 bits of useless bits.
- the preset code rate, code length, data length of the remaining data to be segmented and/or the expected number of coded blocks corresponding to the minimum code length, and the corresponding relationship between the number of coded blocks corresponding to each code length , the number of coded blocks corresponding to the maximum code length of 1024 bits refers to the number of first coded blocks used to carry the remaining data to be segmented D ls , and does not refer to the number of first coded blocks carrying information bits.
- the second coding block corresponding to the small code length is used to carry the remaining information bits, and the data length of the second coding block is longer than that of the first coding block with the largest code length. Therefore, even if the remaining information bits need to be retransmitted, the second coded block with a smaller data length can be retransmitted without retransmitting the first coded block, further reducing the amount of retransmitted data and the retransmission delay.
- the sending device can directly use the initial number of the first coded block as the number of the first coded block, and use a non-maximum code length Segment the remaining data to be segmented without paying attention to whether the data length of the remaining data to be segmented is large or small.
- This principle can try to use the short coding block corresponding to the small code length to carry the remaining data to be segmented in various scenarios, which helps to reduce the number of useless bits contained in the segmented coding block, thereby reducing the cost of data transmission. The resulting air loss.
- Segmentation method 2-1 can use the data length of the remaining data to be segmented to perform segmentation.
- the sending end device can use the initial number of first coded blocks as the number of first coded blocks, and can refer to the above steps 502, 503 and 505 to determine the initial number of first coded blocks corresponding to the maximum code length
- the initial number of coding blocks corresponding to S-1 non-maximum code lengths is determined in sequence according to the order of code length from large to small, and the initial number of coding blocks corresponding to non-minimum code lengths is used as the non-minimum code length
- the number of corresponding coding blocks, the smallest integer not less than the initial number of coding blocks corresponding to the minimum code length is used as the number of coding blocks corresponding to the minimum code length, and then the number of S-1 non-maximum code lengths is not 0
- the number of coding blocks corresponding to L non-maximum code lengths is used as the number of L types of second coding blocks.
- the code length of the first type of second coding block is 512bit, the number is 2, and the data length of each second coding block is 128bit, and the 128bits of the two second coding blocks store information bits; the code length of the second type of second coding block is 128bit, and the number is 1.
- the data length is 32 bits, 24 bits of the 32 bits store information bits, and the remaining 8 bits store 8 bits of information of the second check code;
- the code length of the second code block of the third type is 64 bits, and the number is 1 , the data length is 16 bits, and the remaining 16 bits of information of the second check code are stored in the 16 bits.
- Segmentation mode 2-2 may use the estimated number CS-1' of coding blocks corresponding to the minimum code length to perform segmentation.
- the sending end device can use the initial number of first coded blocks as the number of first coded blocks, and sequentially obtain S-1 The number of coded blocks of the non-maximum code length N 1 ⁇ N S-1 , and select L non-maximum code lengths whose number of coded blocks is not 0, and the coded blocks corresponding to the L non-maximum code lengths The number is taken as the number of L types of second coding blocks.
- the data length of the remaining data to be segmented is 304bit, which is converted to the minimum code under the 3/8 code rate
- the estimated number of coding blocks corresponding to the minimum code length of 64 bits is 19.
- the sending device can perform the following analysis in order of code length from large to small: First, the ratio of the largest non-maximum code length of 512 bits to the minimum code length of 64 bits is 8:1, and the minimum code length of 64 bits corresponds to The estimated number of coded blocks of 19 can be converted into 2 coded blocks corresponding to the non-maximum code length of 512bit, so the number of coded blocks corresponding to the non-maximum code length of 512bit is 2, and the remaining coded blocks corresponding to the minimum code length of 64bit after conversion
- the code length of the first type of second coding block is 512bit, the number is 2, and the data length of each second coding block is 128bit;
- the code length of the second type of second coding block is 128bit, the number is 1, and the data length is 32bit;
- the code of the third type of second coding block The length is 64bit, the quantity is 1, and the data length is 16bit.
- the above segmentation method 2-1 needs to be calculated in real time according to the data length of the remaining data to be segmented, and the above segmentation method 2-2 needs to be calculated based on the expected number of coding blocks C S-1' corresponding to the minimum code length N S-1 real-time calculation, and the segmentation method 2-3 provides a method that can be calculated according to the data length of the remaining data to be segmented and/or the expected number of coding blocks C S-1' corresponding to the minimum code length N S-1 , through querying the pre- Set the code rate, the code length, the data length of the remaining data to be segmented and/or the expected number of coded blocks corresponding to the minimum code length, and the corresponding relationship between the number of coded blocks corresponding to each code length, and directly obtain L kinds of second How to encode the corresponding number of blocks.
- the preset code rate, code length, the data length of the remaining data to be segmented and/or the expected number of coded blocks corresponding to the minimum code length, and the corresponding relationship between the number of coded blocks corresponding to each code length can be expressed in a table, It can be expressed in any form such as database or stack, and is not specifically limited.
- Table 5 shows a preset code rate, code length, data length of the remaining data to be segmented and/or the expected number of coded blocks corresponding to the minimum code length provided by the embodiment of the present application , and a schematic table of the corresponding relationship of the number of coded blocks corresponding to each code length, wherein Table 5 (A) shows a schematic table of the number of coded blocks corresponding to each code length under the 1/4 code rate, and Table 5 ( B) shows a schematic diagram of the number of coded blocks corresponding to each code length at the 3/8 code rate, and Table 5 (C) shows the number of coded blocks corresponding to each code length at the 1/2 code rate Schematic table, Table 5(D) shows a schematic table of the number of code
- Table 5(A) ⁇ Table 5(F) (such as K ls , D ls , N, C S-1' , C ls and K Diff ) is the same as the above Table 4(A) ⁇ Table 4 (F) are consistent, and will not be repeated here.
- Table 5(A) Schematic diagram of the number of coded blocks corresponding to each code length at the 1/4 code rate
- Table 5(B) Schematic diagram of the number of coded blocks corresponding to each code length under the 3/8 code rate
- Table 5(C) Schematic diagram of the number of coded blocks corresponding to each code length at 1/2 code rate
- Table 5(D) Schematic diagram of the number of coded blocks corresponding to each code length under the 5/8 code rate
- Table 5(E) Schematic table of the number of coded blocks corresponding to each code length under the 3/4 code rate
- Table 5(F) Schematic diagram of the number of coded blocks corresponding to each code length under the 7/8 code rate
- the specific calculation process of segmentation mode 2-3 is introduced: in scenario 2, the data length D ls of the remaining data to be segmented is 304 bits, the first code rate is 3/8, and the minimum code length
- the estimated number of coded blocks corresponding to 64bit is 19, and the sending device can query the preset code rate, code length, data length of the remaining data to be segmented and/or the expected number of coded blocks corresponding to the minimum code length, And the corresponding relationship of the number of coding blocks corresponding to each code length, and obtain the following information (for example, when the corresponding relationship is carried in the form of a corresponding relationship table in Table 5 (A) to Table 5 (F), you can query Table 5 (B)
- Table 5 The correspondence table shown in the figure, the row of data numbered 35 is obtained): the number of code blocks corresponding to the 1024bit code length is 0 (that is, there is no code block corresponding to the 1024bit code length), and the code corresponding to the 512bit code length
- the remaining data to be segmented can be carried in two second encoding blocks with a code length of 512 bits, one second encoding block with a code length of 128 bits, and one second encoding block with a code length of 64 bits, and there are no useless bits .
- the principle of priority number of segments will additionally set a long first coding block with a large code length to carry the entire remaining data to be segmented, so that The transmission delay is reduced by reducing the number of segments of the short second coding block, and the principle of bit quantity priority will set up 4 short second coding blocks with a small code length to carry the remaining data to be segmented together, so as to reduce The number of useless bits is used to reduce air interface loss.
- the sending device can set one of these two principles fixedly, or set both principles at the same time, and flexibly enable the principle applicable to the current scene according to the instructions input by the user, so as to meet the needs of different scenarios. different needs.
- Step 507 the sending end device segments the information bits according to the number of the first code block and the number of the second code block, and adds the first check code/second check code to the segmented information bits to obtain C codes Piece.
- the sending end device can firstly divide the 1000 bits of information bits into For 360bit, 360bit and 280bit, generate a 24bit first check code for the first 360bit and add it after the first 360bit to obtain the first first code block, and generate a 24bit first code block for the second 360bit A check code is added after the second 360 bits to obtain the second first code block, and a 24-bit first check code is generated for 280 bits and added after the 280 bits to obtain the third first code block.
- Example 2 In another example (referred to as Example 2 for short), it is assumed that a first encoding block with a data length of 384 bits corresponding to a maximum code length of 1024 bits, a second encoding block with a data length of 128 bits corresponding to a non-maximum code length of 512 bits, A second encoding block with a data length of 64 bits corresponding to a non-maximum code length of 216 bits, and a second encoding block with a data length of 16 bits corresponding to a non-maximum code length of 64 bits to jointly carry 536 bits of information bits, the sending end device
- the 536bit information bits can be divided into 360bit, 128bit and 48bit in order, and a 24bit first check code is generated for 360bit and added to the first 360bit to obtain the first code block, and 128bit is used as the first
- the second encoding block generates a 24bit second check code for 128bit and 48bit, and adds 16 bits of the 24bit second check code to
- step 508 the sending end device encodes the C coded blocks using the polar code, and obtains codewords encoded by the C coded blocks.
- the sending end device may also use the data length of the C coded blocks, the total data length of the information bits, the data length of the first check code and/or or the data length of the second check code, determine the data length K Diff of the useless bits existing in the C coding blocks, and adjust the C coding blocks according to the data length K Diff of the useless bits.
- the data length K Diff of useless bits is the difference between the data length of C coded blocks and the data length of valid data
- the valid data includes coded data, first check code and/or second check code. Based on several possible situations, the following describes how to determine the data length K Diff of useless bits and how to adjust C coding blocks:
- Case 1 there are C 10 first coding blocks but no second coding blocks among the C coding blocks.
- the data length of C coding blocks is the data length of C 10 first coding blocks
- the data length of valid data is the sum of the total data length of information bits and the data length of C 10 first check codes .
- the data length of a first coding block is K 0
- the total data length of information bits is K input
- the data length of a first check code is CRC 0
- the data length K Diff of useless bits can satisfy the following formula ( 5.71):
- the sending end device can only adjust the C 10 first coded blocks, for example, in the C 10 first coded blocks
- One or more first coding blocks of the block are filled with a total of K Diff preset bit sequences (such as all 0 bit sequences, all 1 bit sequences, character bit sequences, or bit sequences generated according to certain rules, etc.), or minus To total the bits of K Diff .
- the data length K Diff must be smaller than the data length of a first coding block.
- the sending end device can fill the preset bit sequence of K Diff in the last first coding block or subtract the bits of K Diff , for example, fill K Diff before the information bits of the last first coding block
- the bit reliability of the rear position in the coding block is higher than the bit reliability of the front position in the coding block, by filling the useless bit information in the front position of the first coding block , which helps to place the effective information in the rear position of the first encoding block where the probability of high reliability is relatively high, and effectively improves the reliability of transmitting effective information
- the preset bit sequence of K Diff is filled between the verification codes, so that the first verification code can also contain the verification information of the preset bit sequence of K Diff , further improving the security of data verification and transmission;
- the preset bit sequence of K Diff is filled after the first check code of the last first coding block, so that the first check code does not contain the check information corresponding to the useless bit information, effectively saving the check operation; or it can also be
- padding can also be performed at other positions, for example, before the information bits of any other first coding block, or before the information bits and the information bits.
- the preset bit sequence of K Diff is filled between the first check codes or after the first check code, or the preset bit sequence of K Diff can also be scattered and filled in multiple first coding blocks, and each The filling position in a coding block is not limited, etc., which will not be listed here.
- the sending device can fill in an 80-bit all-0 sequence before the information bits of the last first coding block, so that the last first coding block is composed of sequentially spliced 80-bit all-0 sequences, 280-bit It consists of information bits and a 24-bit first check code.
- the data length of C coding blocks is the sum of the data lengths of C 10 first coding blocks and the data length of C 20 second coding blocks
- the data length of valid data is the total data length of information bits
- C The sum of the data length of 10 first check codes and the data length of one second check code.
- the data length of a first coding block is K 0
- the total data length of information bits is K input
- the data length of a first check code is CRC 0
- the data length of a second check code is CRC ls
- the code The length N 1 , code length N 2 , ..., code length N S-1 correspond to the number of second coding blocks respectively C 1 , C 2 , ..., C S-1
- the data length of useless bits is K Diff can satisfy the following formula (5.72):
- the sending end device can adjust one or more first coding blocks in the C 10 first coding blocks.
- one or more first coding blocks of C 10 first coding blocks and/or one or more second coding blocks of C 20 second coding blocks are co-filled with the preset bit sequence of K Diff , or minus Bits of K Diff .
- the sending end device may fill the C 20 second encoding blocks with the preset bit sequence of K Diff or subtract the K Diff Bits, for example, the preset bit sequence of K Diff is filled before the information bits of the C 20 second coding blocks, so that useless bit information is filled in the forefront position of the first second coding block with low reliability, and the The effective information is placed in the rear position of the first second coding block with high reliability, which effectively improves the reliability of transmitting effective information; another example is filling between the information bits of the C 20 second coding blocks and the second check code
- the preset bit sequence of K Diff so that the second check code can also include the check information of the preset bit sequence of K Diff , further strengthen management and check;
- the preset bit sequence of K Diff is filled after the second check code, so that the check information corresponding to the useless bit information is not included in the second check code, effectively saving the check operation; or subtracting Remove the
- padding can also be performed at other positions, for example, before or after the information bits of any other second coding block , or before the second check code, or after the second check code, the preset bit sequence of K Diff may be filled, or the preset bit sequence of K Diff may be scattered and filled in a plurality of second coding blocks, and each The filling position in the second coding block is not limited, etc., and will not be listed here.
- the sending device can fill in an 8-bit all-0 sequence before the information bits of the first and second coding blocks, so that the first and second coding blocks are composed of sequentially spliced 8-bit all-0 sequences and 504bit information bits.
- the data length of C coding blocks is the data length of C 20 second coding blocks
- the data length of valid data is the sum of the total data length of information bits and the data length of a second check code.
- the total data length of the information bits is K input
- the data length of a second check code is CRC ls
- the code length N 1 , code length N 2 , ..., code length N S-1 of the second coding block corresponding to The numbers are C 1 , C 2 , ..., C S-1
- the data length K Diff of useless bits can satisfy the following formula (5.73):
- K Diff C 1 ⁇ K 1 +C 2 ⁇ K 2 +...+C S-1 ⁇ K S-1 -K input -CRC ls ...(5.73)
- the sending end device can adjust one or more second coding blocks in the C 20 second coding blocks
- the preset bit sequence of K Diff is filled before the information bits of C 20 second coding blocks
- the preset bit sequence of K Diff is filled after the second check code of C 20 second coding blocks
- the preset bit sequence of K Diff is filled between the information bits of the C 20 second coding blocks and the second check code, or the bits of K Diff are subtracted from the data length of the last second coding block, etc. , without limitation.
- the sending device can query the column of data where K Diff is located, and directly obtain the K Diff in the corresponding scenario value.
- the 3/8 code rate is 512bit
- the data length of a coding block under the code length is originally 128 bits, but after subtracting 28 bits of useless bits, the actual data length becomes 100 bits.
- transmitting a coded block can transmit 128 bits of information, but after subtracting useless bits, transmitting a coded block can only transmit 100 bits of information, which is equivalent to reducing the actual code of the data. Rate.
- the actual code rate is only the real code rate in the actual transmission process, and the originally configured 3/8 code rate remains unchanged, and rate matching is still not required.
- Step 509 the sending end device sends a message carrying codewords encoded by C coding blocks to the receiving end device.
- Step 510 the receiver device determines the number of first coding blocks and the number of second coding blocks corresponding to each non-maximum code length according to the total data length of information bits and the preset first code rate.
- the operation performed by the receiver device corresponds to the operation performed by the sender device, and the receiver device determines the number of first coded blocks and the number of second coded blocks corresponding to each non-maximum code length.
- Step 511 the receiving end device obtains the encoded codewords of C encoded blocks from the message carrying codewords encoded by C encoded blocks according to the number of first encoded blocks and the number of second encoded blocks corresponding to each non-maximum code length. numbers.
- the receiver device can segment the sequence carrying the code words encoded by the C code blocks in the message according to the order in which the code words encoded by the C code blocks are concatenated by the sender device, and obtain each code word Codeword after block encoding.
- the sequence of codewords encoded by the sending end device splicing the C coding blocks may be preset or configured to the receiving end device, or sent by the sending end device to the receiving end device.
- the sending end device follows the first encoding block 1 (data length is 384bit, code length is 1024bit), the first encoding block 2 (data length is 384bit, code length is 1024bit), the second encoding block 1 (the data length is 64bit, the code length is 256bit) sequence splicing to obtain the sequence, then the receiving end device determines that the sequence contains two code lengths corresponding to the first coding block with a code length of 1024bit according to the same segmentation principle as the sending end. After the code word and a code word corresponding to the second code block with a code length of 256 bits, the code word with a code length of 1024 bits can be obtained as the first first code block (i.e.
- the codeword corresponding to the first coded block 1) and then from the next bit of the end position of the codeword corresponding to the first first coded block, the codeword whose code length is 1024bit is obtained as the second first coded block (i.e. The code word corresponding to the first coding block 2) starts from the next bit of the end position of the code word corresponding to the second first coding block to obtain a code word with a code length of 256 bits as the second coding block (i.e. the second Codeword corresponding to coding block 1).
- a codeword with a code length of 1024 bits is reversely obtained as the code corresponding to the first first coding block (that is, the first coding block 1) Character.
- the first coding block 1 Character the code corresponding to the first first coding block
- it can also be obtained in other ways, such as obtaining three coding blocks at the same time through one operation, or first obtaining the second first coding block, then obtaining the first first coding block, and finally obtaining the first second coding block.
- the encoding block and the like are not specifically limited.
- Step 512 the receiver device decodes the encoded codewords of the C coded blocks, obtains the information bits contained in the C coded blocks and the first check code/second check code, and checks the information bits contained in the C coded blocks Information bits and first check code/second check code.
- the receiving end device when it determines the segmentation result according to the same segmentation principle as that of the transmitting end device, it can also simultaneously obtain the data length of the information bits contained in each coding block, the data length of the check code, and/or the data length of useless bits. In this way, the receiving device can obtain the information bits and/or check code contained in each coding block based on these information after decoding each coding block.
- the receiving end device can obtain a first check code from each first coded block, and obtain a first check code from all second coded blocks For the second check code, the receiving end device can also check each first code block according to the generator polynomial corresponding to the first check code in each first code block, and according to the first code contained in all the second code blocks The generator polynomial corresponding to the two check codes checks all the second coding blocks.
- the coded block contains useless bits
- the check code will be appended to After encoding the preset data and information bits contained in the encoding block, in this case, the check code is generated for the preset data and information bits contained in the encoding block. Therefore, after the receiving end device decodes and obtains the encoding block, it can Directly use the generator polynomial corresponding to the check code to divide the preset data, information bits and check code contained in the code block, save the information bits contained in the code block when the remainder is 0, and repeat when the remainder is not 0 pass.
- a check code will be added between the information bits contained in the encoding block and the preset data, the In this case, the check code is generated for the information bits contained in the coded block, but does not contain the check information for the preset data.
- the receiving device can first obtain the Delete the preset data filled at the end (the number of preset data can be obtained synchronously when the segmentation result is determined according to the segmentation principle), so that only information bits and check codes remain in the coding block, and then use the check code to correspond to
- the generator polynomial of is divided by the information bits contained in the coding block and the check code, and when the remainder is 0, the information bits contained in the coding block are saved, and when the remainder is not 0, retransmission is performed.
- the check code will be appended with the information bits and preset data filled in the coded block
- the check code is generated for the information bits contained in the code block and the preset data together. Therefore, after the receiving device decodes the code block, it can directly use the generator polynomial corresponding to the check code It is divided by the information bits contained in the coding block, the preset data and the check code, and when the remainder is 0, the information bits contained in the coding block are saved, and when the remainder is not 0, retransmission is performed.
- the priority principle of the number of segments is selected in a scenario that pays more attention to transmission delay , in order to reduce the transmission delay by reducing the number of segments of short code blocks, and choose the principle of bit number priority in scenarios where more attention is paid to air interface loss, so as to reduce the number of useless bits through fine segmentation of short code blocks , reduce air interface loss, and effectively improve the adaptability of data processing methods to various encoding scenarios.
- each example in the above second embodiment is introduced by taking the scenario where the first reduction threshold in the first correspondence is set to 1/8 as an example, and the first reduction in the first correspondence
- the scenario in which the threshold is set to 1/16 or other values, and the scenario in which the second degraded threshold in Correspondence 2 is set to any value can be directly implemented by referring to the above content, and this embodiment of the present application will not elaborate on this Repeatedly repeat.
- any of the above-mentioned information may change its name, but no matter how its name changes, as long as its meaning is the same as that of the above-mentioned information in this application , then all fall within the protection scope of the present application.
- the network element includes corresponding hardware structures and/or software modules for performing various functions.
- the present invention can be realized in the form of hardware or a combination of hardware and computer software in combination with the units and algorithm steps of each example described in the embodiments disclosed herein. Whether a certain function is executed by hardware or computer software drives hardware depends on the specific application and design constraints of the technical solution. Skilled artisans may use different methods to implement the described functions for each specific application, but such implementation should not be regarded as exceeding the scope of the present invention.
- FIG. 6 exemplarily shows a schematic structural diagram of a data processing device provided by an embodiment of the present application.
- the data processing device 600 may be a sending end device, such as a network device or a terminal device, or A chip or a circuit, such as a chip or a circuit that can be installed in a network device, or a chip or a circuit that can be installed in a terminal device. Further exemplary, it may be a vehicle or a chip or circuit provided in the vehicle.
- the data processing device 600 may include a segmentation parameter calculation module 601, a coding block preliminary segmentation module 602, a check code encoding pre-processing module 603, a check code encoding module 604, a filling or deletion module 605,
- the small coding block segmentation module 606 and the polar code coding module 607, the function of each module will be introduced respectively below.
- the segmentation parameter calculation module 601 is respectively connected to the coding block preliminary segmentation module 602 and the small coding block segmentation module 606, and is used to pre-set according to the total data length of the information bits and the preset first code rate under each code length.
- the method calculates the number C 10 of the first coding block and the respective numbers corresponding to the L types of second coding blocks, and then sends the number C 10 of the first coding block and the corresponding numbers of the L types of second coding blocks to the preliminary analysis of the coding block.
- Segment module 602 and send the respective quantities corresponding to the L types of second coding blocks to the small coding block segmentation module 606;
- the coding block preliminary segmentation module 602 is respectively connected to the check code encoding preprocessing module 603 and the check code encoding module 604, and is used to segment the information bits according to the number C 10 of the first encoding block to obtain each first encoding
- the information bits contained in the block and the remaining information bits except the information bits contained in the first coding block, each information bit contained in each first coding block is sent to the check code determination module 604, and the remaining information bits and the L-th
- the respective quantities corresponding to the two encoding blocks are sent to the check code encoding pre-processing module 603;
- the check code encoding preprocessing module 603 is connected to the check code encoding module 604, and is used to generate a code block whose data length is the total data length of the L types of second code blocks according to the corresponding quantities of the L types of second code blocks. After connecting the remaining information bits, add it to the encoded block, and send the encoded block to the check code encoding module 604;
- the check code coding module 604 is respectively connected to the filling or deletion module 605, the small coding block segmentation module 606 and the polar code coding module 607, and is used to calculate the first coding block sent by the coding block preliminary segmentation module 602.
- the first check code of the information bits is spliced after the information bits contained in the corresponding first coding block, and for any first coding block after splicing, if there are useless bits in the first coding block, then Send the first coding block with useless bits to the filling or deletion module 605, if there are no useless bits in the first coding block, send the first coding block to the polar code coding module 607; and, calculate
- the second check code of all the information bits contained in the added coding block sent by the check code encoding preprocessing module 603 is spliced after all the information bits.
- the coded block after the splicing is sent to the filling or deletion module 605, if the coded block after the splicing does not contain useless bits, then the coded block after the splicing is sent to the small coded block segmentation module 606;
- the padding or deletion module 605 is respectively connected to the small coding block segmenting module 606 and the polar code coding module 607, and is used for the data length of the useless bits contained in the first coding block sent by the check code coding module 604, in the first
- the information bits contained in the encoding block are filled with the preset bit sequence of the data length, and the filled first encoding block is sent to the polar code encoding module 607, or the data length of the first encoding block is subtracted from the useless bits
- the calculated data length and the first coding block are sent to the polar code coding module 607;
- Data length fill the preset bit sequence of the data length before the information bits contained in the coding block, send the filled coding block to the small coding block segmentation module 606, or subtract useless bits from the data length of the coding block After the data length of bit, the calculated data length and the coded block are sent to the small coded block segmentation module 606;
- the small coding block segmentation module 606 is connected to the polar code coding module 607, and is used to fill in or subtract the data length of useless bits according to the corresponding numbers of the L types of second coding blocks sent by the segmentation parameter calculation module 601 Segment the coded block of each second coded block and send it to the polar code coding module 607 after obtaining each second coded block;
- the polar code encoding module 607 is configured to perform polar code encoding on each first encoding block and each second encoding block, and send the encoded data to the receiving end.
- each module in the data processing device 600 is only an exemplary description, and the embodiment of the present application does not limit that each module must be at the illustrated position.
- the filling or deletion module 605 can also be located between the check code encoding pre-processing module 603 and the check code encoding module 604.
- the check code encoding pre-processing module 603 can cascade After the encoded block is sent to the filling or deletion module 605, the preset data filled with useless bits before the remaining information bits by the filling or deletion module 605 is sent to the check code encoding module 604, which is generated by the check code encoding module 604 The second check code corresponding to the remaining information bits is spliced after the remaining information bits.
- each module in the data processing device 600 is only a division of logical functions, and may be fully or partially integrated into one physical entity or physically separated during actual implementation.
- the above-mentioned segmentation parameter calculation module 601, coded block preliminary segmentation module 602, check code encoding preprocessing module 603, check code encoding module 604, filling or deleting module 605, small encoding block segmentation All functions of the segment module 606 and the polar code encoding module 607 may also be completed by one or more processing modules, which is not specifically limited.
- the decoding operation of the receiver device can directly refer to the relevant introduction of the above-mentioned sender device.
- the only difference is that the encoding is changed to decoding, and there is an additional comparison process for the check code, which will not be repeated in this application. .
- FIG. 7 exemplarily shows a schematic structural diagram of a communication device provided by the embodiment of the present application.
- the device may be a sending end device or a receiving end device, such as a network device or a terminal device , can also be a chip or a circuit, such as a chip or a circuit that can be set in a network device, or a chip or a circuit that can be set in a terminal device.
- the communication device 701 may include a processor 702, a memory 704, and a transceiver 703, and may further include a bus system, wherein the processor 702, the memory 704, and the transceiver 703 may be connected through the bus system.
- the above processor 702 may be a chip.
- the processor 702 may be a field programmable gate array (field programmable gate array, FPGA), may be an application specific integrated circuit (ASIC), may also be a system chip (system on chip, SoC), or It can be a central processing unit (central processor unit, CPU), or a network processor (network processor, NP), or a digital signal processing circuit (digital signal processor, DSP), or a microcontroller (micro controller) unit, MCU), it can also be a programmable controller (programmable logic device, PLD) or other integrated chips.
- FPGA field programmable gate array
- ASIC application specific integrated circuit
- SoC system on chip
- CPU central processing unit
- NP network processor
- DSP digital signal processing circuit
- microcontroller micro controller
- MCU microcontroller
- PLD programmable logic device
- each step of the above method may be completed by an integrated logic circuit of hardware in the processor 702 or instructions in the form of software.
- the steps of the methods disclosed in connection with the embodiments of the present application may be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules in the processor 702 .
- the software module can be located in a mature storage medium in the field such as random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, register.
- the storage medium is located in the memory 704, and the processor 702 reads the information in the memory 704, and completes the steps of the above method in combination with its hardware.
- the processor 702 in the embodiment of the present application may be an integrated circuit chip, which has a signal processing capability.
- each step of the above-mentioned method embodiments may be completed by an integrated logic circuit of hardware in a processor or instructions in the form of software.
- the above-mentioned processor may be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components .
- DSP digital signal processor
- ASIC application-specific integrated circuit
- FPGA field-programmable gate array
- Various methods, steps, and logic block diagrams disclosed in the embodiments of the present application may be implemented or executed.
- a general-purpose processor may be a microprocessor, or the processor may be any conventional processor, or the like.
- the steps of the method disclosed in connection with the embodiments of the present application may be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor.
- the software module can be located in a mature storage medium in the field such as random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, register.
- the storage medium is located in the memory, and the processor reads the information in the memory, and completes the steps of the above method in combination with its hardware.
- the memory 704 in this embodiment of the present application may be a volatile memory or a nonvolatile memory, or may include both volatile and nonvolatile memories.
- the non-volatile memory can be read-only memory (read-only memory, ROM), programmable read-only memory (programmable ROM, PROM), erasable programmable read-only memory (erasable PROM, EPROM), electrically programmable Erases programmable read-only memory (electrically EPROM, EEPROM) or flash memory.
- Volatile memory can be random access memory (RAM), which acts as external cache memory.
- RAM random access memory
- SRAM static random access memory
- DRAM dynamic random access memory
- DRAM synchronous dynamic random access memory
- SDRAM double data rate synchronous dynamic random access memory
- ESDRAM enhanced synchronous dynamic random access memory
- SLDRAM direct memory bus random access memory
- direct rambus RAM direct rambus RAM
- the communication apparatus 701 When the communication apparatus 701 is a sending end device, the communication apparatus 701 may include a processor 702 , a transceiver 703 and a memory 704 .
- the memory 704 is used to store instructions
- the processor 702 is used to execute the instructions stored in the memory 704, so as to realize the correlation of the sending end device in any one or any of the corresponding methods shown in FIG. 3 or FIG. 5 above. solution, or execute the method performed by the sending end device in any of the embodiments shown in the first or second embodiment above.
- the processor 702 can acquire information bits, and acquire C coded blocks according to the total data length of the information bits and the preset first code rate, and encode C
- the coding block obtains codewords encoded by the C coding blocks
- the transceiver 703 may send the codewords encoded by the C coding blocks.
- the C coding blocks correspond to one or more code lengths, and one or more code lengths belong to the predefined or configured S code lengths, the data lengths of the C coding blocks correspond to the first code rate, and among the S code lengths Each code length of satisfies the form of a positive integer power of 2, S is a positive integer greater than or equal to 2, and C is a positive integer.
- the communication apparatus 701 may include a processor 702 , a transceiver 703 and a memory 704 .
- the memory 704 is used to store instructions
- the processor 702 is used to execute the instructions stored in the memory 704, so as to realize the correlation of the receiving end device in any one or any number of corresponding methods shown in FIG. 3 or FIG. 5 above. solution, or execute the method performed by the receiver device in any of the embodiments shown in Embodiment 1 or Embodiment 2 above.
- the transceiver 703 can receive codewords encoded by C coding blocks, and the processor 702 can use the total data length of the information bits and the preset first codeword rate, decode the codewords encoded by the C coding blocks, and obtain the information bits contained in the C coding blocks.
- the C coding blocks correspond to one or more code lengths, and one or more code lengths belong to the predefined or configured S code lengths, the data lengths of the C coding blocks correspond to the first code rate, and among the S code lengths Each code length of satisfies the form of a positive integer power of 2, S is a positive integer greater than or equal to 2, and C is a positive integer.
- FIG. 8 exemplarily shows a schematic structural diagram of a communication device provided by an embodiment of the present application.
- the communication device 801 may be a sending end device, such as a network device or
- a terminal device may also be a chip or a circuit, such as a chip or a circuit that may be installed in a network device, or a chip or a circuit that may be installed in a terminal device.
- the communication device can implement the steps performed by the sending end device in any one or any number of corresponding methods shown in Figure 3 or Figure 5 above, or execute any of the above-mentioned embodiments shown in Embodiment 1 or Embodiment 2 The method executed by the sender device.
- the communication device 801 may include an acquiring unit 802 , a processing unit 803 and a sending unit 804 .
- the acquiring unit 802 can acquire the information bits
- the processing unit 803 can acquire C coded blocks according to the total data length of the information bits and the preset first code rate, and encode
- the codewords encoded by the C encoding blocks are obtained by the C encoding blocks
- the sending unit 804 may send the codewords encoded by the C encoding blocks to the receiving end device.
- the C coding blocks correspond to one or more code lengths, and one or more code lengths belong to the predefined or configured S code lengths, the data lengths of the C coding blocks correspond to the first code rate, and among the S code lengths Each code length of satisfies the form of a positive integer power of 2, S is a positive integer greater than or equal to 2, and C is a positive integer.
- the communication device 801 may further include a storage unit, the storage unit is used to store computer instructions, the acquisition unit 802 and the processing unit 803 are respectively connected to the storage unit in communication, and the acquisition unit 802 and the processing unit 803 respectively execute the computer instructions stored in the storage unit.
- the instructions enable the communication device 801 to execute the method performed by the sending end device in any of the embodiments shown in the first or second embodiment above.
- the acquisition unit 802 and the processing unit 803 may be a general central processing unit (CPU), a microprocessor, or an application specific integrated circuit (application specific integrated circuit, ASIC).
- the storage unit is a storage unit in the chip, such as a register, a cache, etc.
- the storage unit may also be a storage unit located outside the chip in the communication device 801, such as a read only memory (read only memory, ROM) or a Other types of static storage devices that store static information and instructions, random access memory (random access memory, RAM), etc.
- ROM read only memory
- RAM random access memory
- FIG. 9 exemplarily shows a schematic structural diagram of a communication device provided by an embodiment of the present application.
- the communication device 901 may be a receiving end device, for example, a network device or
- a terminal device may also be a chip or a circuit, such as a chip or a circuit that may be installed in a network device, or a chip or a circuit that may be installed in a terminal device.
- the communication device can implement the steps performed by the receiver device in any one or any number of corresponding methods shown in Figure 3 or Figure 5 above, or execute any of the above-mentioned embodiments shown in Embodiment 1 or Embodiment 2 The method performed by the receiver device.
- the communication device 901 may include a receiving unit 902 and a processing unit 903 .
- the receiving unit 902 can receive codewords encoded by C coding blocks sent by the sending end device
- the processing unit 903 can use the total data length of the information bits and the preset
- the first code rate is to decode codewords encoded by the C coding blocks to obtain information bits included in the C coding blocks.
- the C coding blocks correspond to one or more code lengths, and one or more code lengths belong to the predefined or configured S code lengths, the data lengths of the C coding blocks correspond to the first code rate, and among the S code lengths Each code length of satisfies the form of a positive integer power of 2, S is a positive integer greater than or equal to 2, and C is a positive integer.
- the communication device 901 may further include a storage unit, which is used to store computer instructions, and the processing unit 903 is connected to the storage unit in communication, and the processing unit 903 executes the computer instructions stored in the storage unit, so that the communication device 901 can be used for Execute the method performed by the receiver device in any of the embodiments shown in the first or second embodiment above.
- the processing unit 903 may be a general central processing unit (CPU), a microprocessor, or an application specific integrated circuit (application specific integrated circuit, ASIC).
- the storage unit is a storage unit in the chip, such as a register, a cache, etc.
- the storage unit may also be a storage unit located outside the chip in the communication device 901, such as a read only memory (read only memory, ROM) or a Other types of static storage devices that store static information and instructions, random access memory (random access memory, RAM), etc.
- ROM read only memory
- RAM random access memory
- the above division of units of the communication device 801 and the communication device 901 is only a division of logical functions, which may be fully or partially integrated into one physical entity or physically separated during actual implementation.
- the sending unit 804 and the receiving unit 902 may be realized by the transceiver 703 in FIG. 7 above, and the acquiring unit 802, the processing unit 803 and the processing unit 903 may be realized by the processor 702 in FIG. 7 above.
- the present application also provides a computer program product, the computer program product including: computer program code, when the computer program code is run on the computer, the computer is made to execute the above-mentioned Figure 3 or Figure 3.
- the method executed by the sending end device in any one of the embodiments shown in FIG. 5 or the method executed by the receiving end device in any one of the embodiments shown in FIG. 3 or FIG. 5 above.
- the present application also provides a computer-readable storage medium, the computer-readable medium stores program codes, and when the program codes are run on the computer, the computer executes the above-mentioned Figure 3 or The method performed by the sending end device in any one of the embodiments shown in FIG. 5, or the method performed by the receiving end device in any one of the embodiments shown in FIG. 3 or FIG. 5 above.
- the present application also provides a terminal device.
- the terminal device may be any terminal device with a communication function, for example, it may be a terminal device in a communication system for short-distance communication.
- the terminal device may Execute the method performed by the sending end device in any of the embodiments shown in Figure 3 or Figure 5 above, or execute the method performed by the receiving end device in any of the embodiments shown in Figure 3 or Figure 5 above Methods.
- examples of some terminal devices include but are not limited to: smart home devices (such as TVs, sweeping robots, smart desk lamps, audio systems, smart lighting systems, electrical control systems, home background music, home theater systems, intercom systems, video surveillance etc.), smart transportation equipment (such as cars, ships, drones, trains, trucks, trucks, etc.), smart manufacturing equipment (such as robots, industrial equipment, smart logistics, smart factories, etc.), smart terminals (mobile phones, computers, tablets, etc.) Computers, PDAs, Desktops, Headphones, Audio, Wearable Devices, Car Devices, Virtual Reality Devices, Augmented Reality Devices, etc.).
- smart home devices such as TVs, sweeping robots, smart desk lamps, audio systems, smart lighting systems, electrical control systems, home background music, home theater systems, intercom systems, video surveillance etc.
- smart transportation equipment such as cars, ships, drones, trains, trucks, trucks, etc.
- smart manufacturing equipment such as robots, industrial equipment, smart logistics, smart factories, etc.
- smart terminals mobile phones, computers, tablets
- the present application also provides a communication system, including the above-mentioned sending end device and receiving end terminal, and the sending end device can execute any one of the above embodiments shown in Figure 3 or Figure 5
- the receiving end device may execute the method executed by the receiving end device in any of the above embodiments shown in FIG. 3 or FIG. 5 .
- the above-mentioned embodiments may be fully or partially implemented by software, hardware, firmware or any combination thereof.
- software When implemented using software, it may be implemented in whole or in part in the form of a computer program product.
- the computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on the computer, the processes or functions according to the embodiments of the present application will be generated in whole or in part.
- the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable devices.
- the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website site, computer, vehicle management server or A data center transmits information to another website site, computer, vehicle management server, or data center via wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) transmission.
- the computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device such as a vehicle management server or a data center integrated with one or more available media.
- the available medium may be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a high-density digital video disc (digital video disc, DVD)), or a semiconductor medium (for example, a solid state drive (solid state drive, SSD)) etc.
- a magnetic medium for example, a floppy disk, a hard disk, a magnetic tape
- an optical medium for example, a high-density digital video disc (digital video disc, DVD)
- a semiconductor medium for example, a solid state drive (solid state drive, SSD)
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
Description
Claims (43)
- 一种数据处理方法,其特征在于,包括:获取信息比特的总数据长度;根据所述信息比特的总数据长度和预设的第一码率获取C个编码块;其中,所述C个编码块对应一个或多个码长,且所述一个或多个码长属于预先定义或者配置的S个码长,所述C个编码块的数据长度对应所述第一码率,所述S个码长中的每个码长满足2的正整数次幂,S为大于或等于2的正整数,C为正整数。
- 如权利要求1所述的方法,其特征在于,针对于所述第一码率,所述S个码长中的每个码长对应一个预先定义或者配置的数据长度,其中,所述码长和数据长度满足以下中的一个或多个:所述S个码长中的最大码长对应的数据长度的值为所述第一码率和所述最大码长的乘积;所述S个码长中的非最大码长对应的数据长度的值为第二码率和所述非最大码长的乘积,所述第二码率小于所述第一码率。
- 如权利要求2所述的方法,其特征在于,所述第一码率为预先定义或者配置的T个码率中的最小码率,所述第二码率为所述第一码率与第一预设降阶阈值的差值,或者,所述第一码率为预先定义或者配置的T个码率中的非最小码率,所述第二码率为码率小于所述第一码率的上一阶码率;其中,T为大于或等于2的正整数;或者所述第二码率为所述第一码率和所述第一码率对应的第二预设降阶阈值的差值;或者所述第二码率为所述第一码率和所述第一码率对应的预设码率占比的乘积,所述预设码率占比大于0且小于1。
- 如权利要求1至3任一项所述的方法,其特征在于,所述C个编码块中包含:C 10个第一编码块,每个所述第一编码块的码长为所述S个码长中的最大码长,每个所述第一编码块中包含一个针对于所述第一编码块所包含的信息比特的第一校验码;和/或,C 20个第二编码块,任一所述第二编码块的码长为所述S个码长中的一个非最大码长,所述C 20个第二编码块中包含一个针对于所述C 20个第二编码块所包含的全部信息比特的第二校验码;其中,C 10为正整数,且C 20为大于或等于0的整数;或者,C 10为大于或等于0的整数,且C 20为正整数。
- 如权利要求4所述的方法,其特征在于,针对于所述第一码率,所述S个码长中的每个码长对应一个预先定义或者配置的数据长度;所述C 10和所述C 20是根据所述信息比特的总数据长度和每个所述第一编码块中包含的信息比特的数据长度得到的,每个所述第一编码块中包含的信息比特的数据长度是所述最大码长对应的数据长度和所述第一校验码的数据长度之差。
- 如权利要求5所述的方法,其特征在于,所述信息比特的总数据长度和每个所述第一编码块中包含的信息比特的数据长度的比值为整数,所述C 10为所述比值,所述C 20为0。
- 如权利要求5所述的方法,其特征在于,所述信息比特的总数据长度和每个所述第 一编码块中包含的信息比特的数据长度的比值不为整数,所述C 10为所述比值中的整数部分;所述C 20个第二编码块中包含L种第二编码块,所述L种第二编码块对应所述S个码长中的L个非最大码长,L为小于或等于S-1的正整数;所述L种第二编码块中的每种第二编码块的数据长度为所对应的非最大码长对应的数据长度,所述L种第二编码块的数量是根据剩余待分段数据的数据长度和所述L种第二编码块的数据长度得到的,所述剩余待分段数据的数据长度是剩余信息比特的数据长度和第二校验码的数据长度之和,所述剩余信息比特的数据长度为所述信息比特的总数据长度与所述C 10个第一编码块中包含的信息比特的数据长度之差。
- 如权利要求7所述的方法,其特征在于,所述L种第二编码块的数量是根据所述最小码长对应的编码块的预计数量、以及所述L种第二编码块的数据长度和所述最小码长对应的数据长度的相对关系确定的,所述最小码长对应的编码块的预计数量为大于或等于所述剩余待分段数据的数据长度和所述最小码长对应的数据长度的比值的最小整数。
- 如权利要求8所述的方法,其特征在于,所述L种第二编码块的数量是按照所对应的L个非最大码长由大到小的顺序依次确定的,针对于所述L种第二编码块中的每种第二编码块:所述第二编码块的数量为所述最小码长对应的编码块的剩余预计数量与所述第一比值的比值中的整数,所述第一比值为所述第二编码块的数据长度和所述最小码长对应的数据长度的比值,所述最小码长对应的编码块的剩余预计数量为所述最小码长对应的编码块的预计数量与码长大于所述第二编码块对应的非最大码长的其它非最大码长所对应的第二编码块的数量和第二比值的乘积的差值,所述第二比值为所述其它非最大码长对应的第二编码块的数据长度和所述最小码长对应的数据长度的比值。
- 如权利要求8所述的方法,其特征在于,所述L种第二编码块的数量是根据所述最小码长对应的编码块的预计数量的二进制数据中取值不为0的L个数值确定的,所述二进制数据由低位到高位的取值一一对应码长由小到大的所述S-1个非最大码长。
- 如权利要求8所述的方法,其特征在于,所述L种第二编码块的数量是根据所述最小码长对应的编码块的预计数量和预设的码长、码率、数据长度、编码块数量和预计数量的对应关系得到的,所述对应关系是根据所述S-1个非最大码长对应的预先设定或者配置的数据长度和所述最小码长对应的数据长度的相对关系进行预先设定或者配置的。
- 如权利要求7至11任一项所述的方法,其特征在于,所述剩余待分段数据的数据长度不大于预先设定或者配置的数据长度阈值;或者,所述最小码长对应的编码块的预计数量不大于预先设定或者配置的数量阈值,所述最小码长对应的编码块的预计数量为大于或等于所述剩余待分段数据的数据长度和所述最小码长对应的预先设定或者配置的数据长度的比值的最小整数。
- 如权利要求5所述的方法,其特征在于,所述信息比特的总数据长度和每个所述第一编码块中包含的信息比特的数据长度的比值不为整数,所述C 10为大于所述比值的最小整数,所述C 20为0。
- 如权利要求13所述的方法,其特征在于,所述剩余待分段数据的数据长度大于预先设定或者配置的数据长度阈值;或者,所述最小码长对应的编码块的预计数量大于预先设定或者配置的数量阈值,所述最小 码长对应的编码块的预计数量为大于或等于所述剩余待分段数据的数据长度和所述最小码长对应的预先设定或者配置的数据长度的比值的最小整数。
- 如权利要求4至14任一项所述的方法,其特征在于,所述根据所述信息比特的总数据长度和预设的第一码率获取C个编码块之后,还包括:编码所述C个编码块获得所述C个编码块编码后的码字;发送所述C个编码块编码后的码字。
- 如权利要求15所述的方法,其特征在于,所述根据所述信息比特的总数据长度和预设的第一码率获取C个编码块之后,所述编码所述C个编码块获得所述C个编码块编码后的码字之前,还包括:在所述C个编码块的总数据长度与有效数据长度之差不为零的情况下,调整所述C 10个第一编码块和/或所述C 20个第二编码块;其中,所述有效数据长度为所述信息比特的总数据长度、C 10个所述第一校验码的数据长度和所述第二校验码的数据长度之和。
- 如权利要求16所述的方法,其特征在于,调整后的所述C 10个第一编码块或所述C 20个第二编码块满足如下内容中的一项或多项:调整后的所述C 10个第一编码块中存在一个或多个第一编码块包含预设数据;调整后的所述C 10个第一编码块中存在一个或多个第一编码块的数据长度小于所述最大码长对应的预先设定或者配置的数据长度;调整后的所述C 20个第二编码块中存在一个或多个第二编码块包含所述预设数据;或者,调整后的所述C 20个第二编码块中存在一个或多个第二编码块的数据长度小于所述第二编码块对应的非最大码长对应的预先设定或者配置的数据长度。
- 如权利要求17所述的方法,其特征在于,所述预设数据位于调整后的最后一个第一编码块中包含的信息比特之前,或者位于调整后的所述C 20个第二编码块中包含的信息比特之前。
- 如权利要求4至14任一项所述的方法,其特征在于,所述根据所述信息比特的总数据长度和预设的第一码率获取C个编码块之前,还包括:接收C个编码块编码后的码字;所述根据所述信息比特的总数据长度和预设的第一码率获取C个编码块,包括:根据所述信息比特的总数据长度和所述第一码率,解码所述C个编码块编码后的码字,获取所述C个编码块中包含的信息比特。
- 如权利要求19所述的方法,其特征在于,所述方法还包括:根据所述信息比特的总数据长度和所述第一码率,获得所述C 10个第一编码块中的每个第一编码块包含的信息比特和第一校验码,并校验所述每个第一编码块中包含的信息比特和第一校验码;和/或,获得所述C 20个第一编码块包含的信息比特和所述第二校验码,并校验所述C 20个第一编码块中包含的信息比特和所述第二校验码。
- 一种通信装置,其特征在于,包括:获取单元,用于获取信息比特的数据长度;处理单元,用于根据所述信息比特的总数据长度和预设的第一码率获取C个编码块;其中,所述C个编码块对应一个或多个码长,且所述一个或多个码长属于预先定义或者配置的S个码长,所述C个编码块的数据长度对应所述第一码率,所述S个码长中的每个码 长满足2的正整数次幂,S为大于或等于2的正整数,C为正整数。
- 如权利要求21所述的通信装置,其特征在于,针对于所述第一码率,所述S个码长中的每个码长对应一个预先定义或者配置的数据长度,其中,所述码长和数据长度满足以下中的一个或多个:所述S个码长中的最大码长对应的数据长度的值为所述第一码率和所述最大码长的乘积;所述S个码长中的非最大码长对应的数据长度的值为第二码率和所述非最大码长的乘积,所述第二码率小于所述第一码率。
- 如权利要求22所述的通信装置,其特征在于,所述第一码率为预先定义或者配置的T个码率中的最小码率,所述第二码率为所述第一码率与第一预设降阶阈值的差值,或者,所述第一码率为预先定义或者配置的T个码率中的非最小码率,所述第二码率为码率小于所述第一码率的上一阶码率;或者所述第二码率为所述第一码率和所述第一码率对应的第二预设降阶阈值的差值;或者所述第二码率为所述第一码率和所述第一码率对应的预设码率占比的乘积,所述预设码率占比大于0且小于1。
- 如权利要求21至23任一项所述的通信装置,其特征在于,所述C个编码块中包含:C 10个第一编码块,每个所述第一编码块的码长为所述S个码长中的最大码长,每个所述第一编码块中包含一个针对于所述第一编码块所包含的信息比特的第一校验码;和/或,C 20个第二编码块,任一所述第二编码块的码长为所述S个码长中的一个非最大码长,所述C 20个第二编码块中包含一个针对于所述C 20个第二编码块所包含的全部信息比特的第二校验码;其中,C 10为正整数,且C 20为大于或等于0的整数;或者,C 10为大于或等于0的整数,且C 20为正整数。
- 如权利要求24所述的通信装置,其特征在于,针对于所述第一码率,所述S个码长中的每个码长对应一个预先定义或者配置的数据长度;所述C 10和所述C 20是根据所述信息比特的总数据长度和每个所述第一编码块中包含的信息比特的数据长度得到的,每个所述第一编码块中包含的信息比特的数据长度是所述最大码长对应的数据长度和所述第一校验码的数据长度之差。
- 如权利要求25所述的通信装置,其特征在于,所述信息比特的总数据长度和每个所述第一编码块中包含的信息比特的数据长度的比值为整数,所述C 10为所述比值,所述C 20为0。
- 如权利要求25所述的通信装置,其特征在于,所述信息比特的总数据长度和每个所述第一编码块中包含的信息比特的数据长度的比值不为整数,所述C 10为所述比值中的整数部分;所述C 20个第二编码块中包含L种第二编码块,所述L种第二编码块对应所述S个码长中的L个非最大码长,L为小于或等于S-1的正整数;所述L种第二编码块中的每种第二编码块的数据长度为所对应的非最大码长对应的数据长度,所述L种第二编码块的数量是根据剩余待分段数据的数据长度和所述L种第二编码块的数据长度得到的,所述剩余待分段数据的数据长度是剩余信息比特的数据长度和第二校验码的数据长度之和,所述剩余 信息比特的数据长度为所述信息比特的总数据长度与所述C 10个第一编码块中包含的信息比特的数据长度之差。
- 如权利要求27所述的通信装置,其特征在于,所述L种第二编码块的数量是根据所述最小码长对应的编码块的预计数量、以及所述L种第二编码块的数据长度和所述最小码长对应的数据长度的相对关系确定的,所述最小码长对应的编码块的预计数量为大于或等于所述剩余待分段数据的数据长度和所述最小码长对应的数据长度的比值的最小整数。
- 如权利要求28所述的通信装置,其特征在于,所述L种第二编码块的数量是按照所对应的L个非最大码长由大到小的顺序依次确定的,针对于所述L种第二编码块中的每种第二编码块:所述第二编码块的数量为所述最小码长对应的编码块的剩余预计数量与所述第一比值的比值中的整数,所述第一比值为所述第二编码块的数据长度和所述最小码长对应的数据长度的比值,所述最小码长对应的编码块的剩余预计数量为所述最小码长对应的编码块的预计数量与码长大于所述第二编码块对应的非最大码长的其它非最大码长所对应的第二编码块的数量和第二比值的乘积的差值,所述第二比值为所述其它非最大码长对应的第二编码块的数据长度和所述最小码长对应的数据长度的比值。
- 如权利要求28所述的通信装置,其特征在于,所述L种第二编码块的数量是根据所述最小码长对应的编码块的预计数量的二进制数据中取值不为0的L个数值确定的,所述二进制数据由低位到高位的取值一一对应码长由小到大的所述S-1个非最大码长。
- 如权利要求28所述的通信装置,其特征在于,所述L种第二编码块的数量是根据所述最小码长对应的编码块的预计数量和预设的码长、码率、数据长度、编码块数量和预计数量的对应关系得到的,所述对应关系是根据所述S-1个非最大码长对应的预先设定或者配置的数据长度和所述最小码长对应的数据长度的相对关系进行预先设定或者配置的。
- 如权利要求27至31任一项所述的通信装置,其特征在于,所述剩余待分段数据的数据长度不大于预先设定或者配置的数据长度阈值;或者,所述最小码长对应的编码块的预计数量不大于预先设定或者配置的数量阈值,所述最小码长对应的编码块的预计数量为大于或等于所述剩余待分段数据的数据长度和所述最小码长对应的预先设定或者配置的数据长度的比值的最小整数。
- 如权利要求25所述的通信装置,其特征在于,所述信息比特的总数据长度和每个所述第一编码块中包含的信息比特的数据长度的比值不为整数,所述C 10为大于所述比值的最小整数,所述C 20为0。
- 如权利要求33所述的通信装置,其特征在于,所述剩余待分段数据的数据长度大于预先设定或者配置的数据长度阈值;或者,所述最小码长对应的编码块的预计数量大于预先设定或者配置的数量阈值,所述最小码长对应的编码块的预计数量为大于或等于所述剩余待分段数据的数据长度和所述最小码长对应的预先设定或者配置的数据长度的比值的最小整数。
- 如权利要求24至34任一项所述的通信装置,其特征在于,所述通信装置还包括发送单元,在所述处理单元在根据所述信息比特的总数据长度和预设的第一码率获取C个编码块之后:所述处理单元,还用于:编码所述C个编码块获得所述C个编码块编码后的码字;所述发送单元,用于:发送所述C个编码块编码后的码字。
- 如权利要求35所述的通信装置,其特征在于,所述处理单元在根据所述信息比特的总数据长度和预设的第一码率获取C个编码块之后,还用于:在所述C个编码块的总数据长度与有效数据长度之差不为零的情况下,调整所述C 10个第一编码块和/或所述C 20个第二编码块;其中,所述有效数据长度为所述信息比特的总数据长度、C 10个所述第一校验码的数据长度和所述第二校验码的数据长度之和。
- 如权利要求36所述的通信装置,其特征在于,调整后的所述C 10个第一编码块或所述C 20个第二编码块满足如下内容中的一项或多项:调整后的所述C 10个第一编码块中存在一个或多个第一编码块包含预设数据;调整后的所述C 10个第一编码块中存在一个或多个第一编码块的数据长度小于所述最大码长对应的预先设定或者配置的数据长度;调整后的所述C 20个第二编码块中存在一个或多个第二编码块包含所述预设数据;或者,调整后的所述C 20个第二编码块中存在一个或多个第二编码块的数据长度小于所述第二编码块对应的非最大码长对应的预先设定或者配置的数据长度。
- 如权利要求37所述的通信装置,其特征在于,所述预设数据位于调整后的最后一个第一编码块中包含的信息比特之前,或者位于调整后的所述C 20个第二编码块中包含的信息比特之前。
- 如权利要求24至34任一项所述的通信装置,其特征在于,所述通信装置还包括接收单元,在所述处理单元根据所述信息比特的总数据长度和预设的第一码率获取C个编码块之前,所述接收单元用于:接收C个编码块编码后的码字;所述处理单元,具体用于:根据所述信息比特的总数据长度和所述第一码率,解码所述C个编码块编码后的码字,获取所述C个编码块中包含的信息比特。
- 如权利要求39所述的通信装置,其特征在于,所述处理单元还用于:根据所述信息比特的总数据长度和所述第一码率,获得所述C 10个第一编码块中的每个第一编码块包含的信息比特和第一校验码,并校验所述每个第一编码块中包含的信息比特和第一校验码;和/或,获得所述C 20个第一编码块包含的信息比特和所述第二校验码,并校验所述C 20个第一编码块中包含的信息比特和所述第二校验码。
- 一种通信装置,其特征在于,包括至少一个处理器和接口电路,所述接口电路用于为所述至少一个处理器提供数据或者代码指令,所述至少一个处理器用于通过逻辑电路或执行代码指令实现如权利要求1至18中任一项所述的方法、或者实现如权利要求1至14、19、20中任一项所述的方法。
- 一种通信系统,其特征在于,包括发送端设备和接收端设备,所述发送端设备用于执行如权利要求1至18中任一项所述的方法,所述接收端设备用于执行如权利要求1至14、19、20中任一项所述的方法。
- 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被运行时,执行如权利要求1至18中任一项所述的方法、或执行如权利要求1至14、19、20中任一项所述的方法。
Priority Applications (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202511225024.1A CN121308908A (zh) | 2021-06-18 | 2021-07-09 | 一种数据处理方法、装置及系统 |
| JP2023577824A JP7729925B2 (ja) | 2021-06-18 | 2021-07-09 | データ処理方法、通信装置、通信システム、及びコンピュータプログラム |
| CN202180098840.4A CN117441302A (zh) | 2021-06-18 | 2021-07-09 | 一种数据处理方法、装置及系统 |
| EP21945613.4A EP4351049A4 (en) | 2021-06-18 | 2021-07-09 | DATA PROCESSING METHOD, DEVICE AND SYSTEM |
| US18/543,603 US20240137147A1 (en) | 2021-06-18 | 2023-12-18 | Data Processing Method, Apparatus, and System |
| JP2025135031A JP2026004273A (ja) | 2021-06-18 | 2025-08-14 | データ処理方法、通信装置、通信システム、及びコンピュータプログラム |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2021/101093 WO2022261991A1 (zh) | 2021-06-18 | 2021-06-18 | 一种数据处理方法、装置及系统 |
| CNPCT/CN2021/101093 | 2021-06-18 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US18/543,603 Continuation US20240137147A1 (en) | 2021-06-18 | 2023-12-18 | Data Processing Method, Apparatus, and System |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2022262031A1 true WO2022262031A1 (zh) | 2022-12-22 |
Family
ID=84526657
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2021/101093 Ceased WO2022261991A1 (zh) | 2021-06-18 | 2021-06-18 | 一种数据处理方法、装置及系统 |
| PCT/CN2021/105608 Ceased WO2022262031A1 (zh) | 2021-06-18 | 2021-07-09 | 一种数据处理方法、装置及系统 |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2021/101093 Ceased WO2022261991A1 (zh) | 2021-06-18 | 2021-06-18 | 一种数据处理方法、装置及系统 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US20240137147A1 (zh) |
| EP (1) | EP4351049A4 (zh) |
| JP (2) | JP7729925B2 (zh) |
| CN (3) | CN117413475A (zh) |
| WO (2) | WO2022261991A1 (zh) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115473536A (zh) * | 2021-06-11 | 2022-12-13 | 华为技术有限公司 | 一种极化码编码方法、译码方法及装置 |
| CN114039698A (zh) * | 2021-10-12 | 2022-02-11 | 深圳智慧林网络科技有限公司 | 基于多频率的数据发送和接收方法、装置和设备 |
| US12504510B2 (en) * | 2022-06-30 | 2025-12-23 | Gm Cruise Holdings Llc | Adaptive differential quantization for ranging sensors |
| CN116701271B (zh) * | 2023-06-13 | 2023-11-17 | 上海奎芯集成电路设计有限公司 | Ucie适配层的兼容多种批长度的数据传输模块和方法 |
| CN121239348A (zh) * | 2024-06-26 | 2025-12-30 | 华为技术有限公司 | 一种通信方法及装置 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108288970A (zh) * | 2017-01-09 | 2018-07-17 | 电信科学技术研究院 | 一种极化码编译码方法及装置 |
| US20190149176A1 (en) * | 2017-02-10 | 2019-05-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Circular buffer rate matching for polar codes |
| CN109889304A (zh) * | 2017-01-05 | 2019-06-14 | 华为技术有限公司 | 速率匹配方法、编码装置和通信装置 |
| WO2020227915A1 (en) * | 2019-05-14 | 2020-11-19 | Qualcomm Incorporated | Adaptive rate matching for polar codes |
| CN112583522A (zh) * | 2019-09-27 | 2021-03-30 | 华为技术有限公司 | 一种极化码分段编码的方法及通信设备 |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101667884A (zh) * | 2008-09-03 | 2010-03-10 | 中兴通讯股份有限公司 | 信道编码方法及装置、信道译码方法及装置 |
| CN104618068B (zh) * | 2015-02-16 | 2018-03-06 | 中国科学院上海高等研究院 | 用于无线广播通信系统的比特交织编码调制装置及方法 |
| CN114915374B (zh) * | 2016-08-10 | 2024-12-27 | 交互数字专利控股公司 | 用于控制信息的基于优先级的信道编码 |
| US10637607B2 (en) * | 2016-09-15 | 2020-04-28 | Huawei Technologies Co., Ltd. | Method and apparatus for encoding data using a polar code |
| WO2018074873A1 (ko) * | 2016-10-20 | 2018-04-26 | 엘지전자 주식회사 | 단말이 레이트 매칭을 수행하는 방법 및 그 방법을 수행하는 단말 |
| WO2019047237A1 (en) * | 2017-09-11 | 2019-03-14 | Qualcomm Incorporated | TECHNIQUES AND APPARATUS FOR POLAR CODING OF FIXED AND PERIODIC VARIATION MESSAGES |
| CN115149964B (zh) * | 2021-03-31 | 2026-03-24 | 华为技术有限公司 | 一种极化码分段编码方法及相关装置 |
-
2021
- 2021-06-18 WO PCT/CN2021/101093 patent/WO2022261991A1/zh not_active Ceased
- 2021-06-18 CN CN202180098837.2A patent/CN117413475A/zh active Pending
- 2021-07-09 JP JP2023577824A patent/JP7729925B2/ja active Active
- 2021-07-09 EP EP21945613.4A patent/EP4351049A4/en active Pending
- 2021-07-09 CN CN202180098840.4A patent/CN117441302A/zh active Pending
- 2021-07-09 WO PCT/CN2021/105608 patent/WO2022262031A1/zh not_active Ceased
- 2021-07-09 CN CN202511225024.1A patent/CN121308908A/zh active Pending
-
2023
- 2023-12-18 US US18/543,603 patent/US20240137147A1/en active Pending
-
2025
- 2025-08-14 JP JP2025135031A patent/JP2026004273A/ja active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109889304A (zh) * | 2017-01-05 | 2019-06-14 | 华为技术有限公司 | 速率匹配方法、编码装置和通信装置 |
| CN108288970A (zh) * | 2017-01-09 | 2018-07-17 | 电信科学技术研究院 | 一种极化码编译码方法及装置 |
| US20190149176A1 (en) * | 2017-02-10 | 2019-05-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Circular buffer rate matching for polar codes |
| WO2020227915A1 (en) * | 2019-05-14 | 2020-11-19 | Qualcomm Incorporated | Adaptive rate matching for polar codes |
| CN112583522A (zh) * | 2019-09-27 | 2021-03-30 | 华为技术有限公司 | 一种极化码分段编码的方法及通信设备 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP4351049A4 * |
Also Published As
| Publication number | Publication date |
|---|---|
| JP7729925B2 (ja) | 2025-08-26 |
| JP2026004273A (ja) | 2026-01-14 |
| US20240137147A1 (en) | 2024-04-25 |
| CN117413475A (zh) | 2024-01-16 |
| CN121308908A (zh) | 2026-01-09 |
| EP4351049A1 (en) | 2024-04-10 |
| JP2024523043A (ja) | 2024-06-25 |
| EP4351049A4 (en) | 2024-09-18 |
| WO2022261991A1 (zh) | 2022-12-22 |
| CN117441302A (zh) | 2024-01-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2022262031A1 (zh) | 一种数据处理方法、装置及系统 | |
| WO2023044938A1 (zh) | 一种反馈信息传输方法、装置及存储介质 | |
| JP2023144026A (ja) | 通信方法及び装置 | |
| EP3665799A1 (en) | Adaptive two-stage downlink control channel structure for code block group based fifth generation (5g) or other next generation systems | |
| WO2021057461A1 (zh) | 一种极化码分段编码的方法及通信设备 | |
| CN109150413B (zh) | 发送和接收反馈信息的方法和装置 | |
| CN110635867B (zh) | 通信方法、网络设备和终端 | |
| CN108809591B (zh) | 数据处理方法和装置 | |
| US12580681B2 (en) | Communication method and apparatus | |
| JP2025108483A (ja) | 通信方法及び装置 | |
| CN110463096B (zh) | 实现数据映射传输的方法及相关产品 | |
| WO2023273973A1 (zh) | 一种通信方法及通信装置 | |
| WO2022218075A1 (zh) | Uci的级联确定方法、装置、终端及网络侧设备 | |
| WO2024078074A1 (zh) | 信道状态信息的发送方法、接收方法及装置、存储介质 | |
| WO2022206579A1 (zh) | 一种上行控制信息传输方法和装置 | |
| CN116346277A (zh) | 一种速率匹配的方法及装置 | |
| WO2022236719A1 (zh) | 无线通信方法、终端设备和网络设备 | |
| WO2022011715A1 (zh) | 数据传输方法及装置 | |
| CN113841451B (zh) | 一种控制信息的传输方法、装置及系统 | |
| TW202435652A (zh) | 一種上行控制資訊uci生成方法及通信裝置 | |
| CN121866730A (zh) | 通信方法及装置 | |
| KR20230004238A (ko) | 통신 시스템에서 트래픽 전송 방법 및 장치 | |
| WO2026040653A1 (zh) | 信息传输方法及装置 | |
| WO2025140000A1 (zh) | 数据压缩方法及通信装置 | |
| CN121907411A (zh) | 一种通信方法及通信装置 |
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: 21945613 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202180098840.4 Country of ref document: CN |
|
| ENP | Entry into the national phase |
Ref document number: 2023577824 Country of ref document: JP Kind code of ref document: A |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2021945613 Country of ref document: EP |
|
| ENP | Entry into the national phase |
Ref document number: 2021945613 Country of ref document: EP Effective date: 20240102 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |






















































