WO2022261991A1 - 一种数据处理方法、装置及系统 - Google Patents

一种数据处理方法、装置及系统 Download PDF

Info

Publication number
WO2022261991A1
WO2022261991A1 PCT/CN2021/101093 CN2021101093W WO2022261991A1 WO 2022261991 A1 WO2022261991 A1 WO 2022261991A1 CN 2021101093 W CN2021101093 W CN 2021101093W WO 2022261991 A1 WO2022261991 A1 WO 2022261991A1
Authority
WO
WIPO (PCT)
Prior art keywords
code
length
data length
data
blocks
Prior art date
Application number
PCT/CN2021/101093
Other languages
English (en)
French (fr)
Inventor
金丽丽
王键
程型清
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2021/101093 priority Critical patent/WO2022261991A1/zh
Priority to CN202180098837.2A priority patent/CN117413475A/zh
Priority to PCT/CN2021/105608 priority patent/WO2022262031A1/zh
Priority to EP21945613.4A priority patent/EP4351049A1/en
Priority to CN202180098840.4A priority patent/CN117441302A/zh
Publication of WO2022261991A1 publication Critical patent/WO2022261991A1/zh
Priority to US18/543,603 priority patent/US20240137147A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • H04L1/0013Rate matching, e.g. puncturing or repetition of code symbols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error 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 C encoding blocks to obtain codewords encoded by C encoding blocks, and then send codewords encoded by 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 data length corresponding to the non-maximum code length among the S code lengths is the first code rate and the preset reduced order The product of the threshold difference and the non-maximum code length.
  • the preset degraded threshold is used to indicate that when the previous code rate lower than the minimum code rate exists, the code rate difference between the previous code rate and the minimum code rate can be preset or configured to be less than the minimum code rate. A value for the code rate.
  • using the minimum code rate to transmit the length of the coded block corresponding to the non-maximum code length can be smaller than the data length that the channel with the minimum code rate can bear, which helps to compensate for the adverse impact of small code length on data transmission performance by reducing the code rate.
  • the data length corresponding to the non-maximum code length among the S code lengths is that the code rate is less than the first code rate The product of the previous code rate and the non-maximum code length.
  • the length of the encoded block corresponding to the non-maximum code length when using a non-minimum code rate can be the same as the data length that can be tolerated by the channel corresponding to the previous code rate as far as possible, and is smaller than that of the channel corresponding to the current non-minimum code rate.
  • the data length is helpful to 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.
  • the corresponding relationship please refer to the above-mentioned contents 1 to 3.
  • One or more items can be set, and the corresponding relationship can be expressed in one or more forms of tables, stacks, databases, queues or other forms.
  • Table 1 shows a kind of S code lengths, T code rates, and S ⁇ T data length correspondence table, wherein, Table 1 contains the following S code lengths configured with reference to the mother code m 0 , m 0 -1, ..., m 0 -S+1: And the following T code rates preset or configured: R 0 , R 1 , R 2 , ..., R T-1 , K i,j refers to the data corresponding to the i-th code length and the j-th code rate length.
  • table 1 is only a form of maximum satisfiability, but in fact, table 1 can contain one or more rows, or one or more columns, not necessarily every row and every column to be satisfied.
  • table is only a possible bearing form of the corresponding relationship. In actual operation, other bearing forms can also be used to represent the corresponding relationship, such as database, data stack or queue, etc., which are not limited in detail.
  • 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 One or more: 1/4, 3/8, 1/2, 5/8, 3/4, or 7/8.
  • the preset reduction 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 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 filling or deleting, so that the adjusted coding block can match the real channel transmission situation as much as possible.
  • the preset data can be filled at the end of the last coding block, for example, filling in the first checksum of the last first coding block code, or filled behind the second check code of the last second coding block, so that the first check code or the second check code can no longer contain the check information corresponding to the useless bit information, effectively saving The complexity of the validation operation.
  • 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 receiving end device may use Polar codes to decode C coded blocks, so as to reduce decoding complexity by taking advantage of Polar decoding 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 first code rate is one of the predefined or configured T code rates In the case of the minimum code rate, the data length corresponding to the non-maximum code length among the S code lengths is the product of the difference between the first code rate and the preset reduction threshold and the non-maximum code length; or, the first code rate is In the case of the non-minimum code rate among the pre-defined or configured T code rates, the data length corresponding to the non-maximum code length among the S code lengths is the upper-order code rate and the non-maximum code rate whose code rate is less than the first code rate. The product of the code length.
  • 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 refer to one or more of the above contents. Multiple items are set, and the corresponding relationship can 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 preset reduction threshold can be preset or configured as 1/8.
  • 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 first code rate is one of the predefined or configured T code rates In the case of the minimum code rate, the data length corresponding to the non-maximum code length among the S code lengths is the product of the difference between the first code rate and the preset reduction threshold and the non-maximum code length; or, the first code rate is In the case of the non-minimum code rate among the pre-defined or configured T code rates, the data length corresponding to the non-maximum code length among the S code lengths is the upper-order code rate and the non-maximum code rate whose code rate is less than the first code rate. The product of the code length.
  • 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 can be set with reference to one or more of the above contents, and the corresponding relationship can 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 preset reduction threshold can be preset or configured as 1/8.
  • 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 encoding block.
  • the preset data can be filled at the end of the last coding block, for example, filling in the first checksum of the last first coding block code, or fill in the rear of the second check code of the last second coding block.
  • 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 first code rate is one of the predefined or configured T code rates In the case of the minimum code rate, the data length corresponding to the non-maximum code length among the S code lengths is the product of the difference between the first code rate and the preset reduction threshold and the non-maximum code length; or, the first code rate is In the case of the non-minimum code rate among the pre-defined or configured T code rates, the data length corresponding to the non-maximum code length among the S code lengths is the upper-order code rate and the non-maximum code rate whose code rate is less than the first code rate. The product of the code length.
  • 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 can be set with reference to one or more of the above contents, and the corresponding relationship can 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 preset reduction threshold can be preset or configured as 1/8.
  • 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 first code rate is one of the predefined or configured T code rates In the case of the minimum code rate, the data length corresponding to the non-maximum code length among the S code lengths is the product of the difference between the first code rate and the preset reduction threshold and the non-maximum code length; or, the first code rate is In the case of the non-minimum code rate among the pre-defined or configured T code rates, the data length corresponding to the non-maximum code length among the S code lengths is the upper-order code rate and the non-maximum code rate whose code rate is less than the first code rate. The product of the code length.
  • 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 can be set with reference to one or more of the above contents, and the corresponding relationship can 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 preset reduction threshold can be preset or configured as 1/8.
  • 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 coding block.
  • the preset data can be filled at the end of the last coding block, for example, filling in the first checksum of the last first coding block code, or fill in the rear of the second check code of the last second coding block.
  • 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 first code rate is one of the predefined or configured T code rates In the case of the minimum code rate, the data length corresponding to the non-maximum code length among the S code lengths is the product of the difference between the first code rate and the preset reduction threshold and the non-maximum code length; or, the first code rate is In the case of the non-minimum code rate among the pre-defined or configured T code rates, the data length corresponding to the non-maximum code length among the S code lengths is the upper-order code rate and the non-maximum code rate whose code rate is less than the first code rate. The product of the code length.
  • 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 can be set with reference to one or more of the above contents, and the corresponding relationship can 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 preset reduction threshold can be preset or configured as 1/8.
  • 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 execute code instructions through logic circuits or to 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 can be expressed in any form of table, database or 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 type of radio access network (radio access network,
  • the RAN is an apparatus for providing wireless communication functions, and may also be called a base station (base station, BS), an access node, or an access network device.
  • 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 (n
  • 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, UMTS for short), 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 wideband code
  • 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.
  • each data length in the S ⁇ T data lengths can correspond to S
  • a code length in the code length and a code rate in the T code rates are used to represent the data length of a coded block when the coded block with the corresponding code length is transmitted using the corresponding code rate that is preset or configured
  • S and T are both positive integers greater than or equal to 2.
  • the lengths of S mother codes that correspond one-to-one to the currently used S m's are taken as the lengths of S codes.
  • the corresponding relationship of S code lengths, T code rates, and S ⁇ T data lengths may be expressed in one or more of tables, stacks, databases, queues, or other forms.
  • Table 1 shows a kind of S code lengths, T code rates, and S A correspondence table of ⁇ T data lengths
  • the correspondence table may also be referred to as a segment length reference table, or K table for short.
  • the K table contains the following S code lengths configured with reference to the mother code: Code length N 0 , code length N 1 , code length N 2 , ...
  • the K table also includes the following T code rates: R 0 , R 1 , R 2 , . Among them, T code rates are also called T-order code rates. The higher the order of the code rate, the greater the code rate. Therefore, the code rate R 0 , the code rate R 1 , the code rate R 2 , ... and the code rate R T The order of -1 increases sequentially.
  • the K table also includes the preset or configured data length corresponding to each code length and each code rate. Under the same code rate, the predefined or configured data length will increase as the code length increases. And it 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 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 preset degraded threshold value, which is used to indicate that when the previous code rate less than the minimum code rate exists, the code rate difference between the previous code rate and the minimum code rate can be preset or It is 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.
  • the data length that the channel 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.
  • Table 1 According to the setting method in Table 1 above, by making the length of the coded block corresponding to the maximum code length transmitted by each code rate just equal to the data length that the channel can bear, the benefit of the maximum code length to data transmission performance can be fully utilized to achieve The best transmission performance of the channel corresponding to the maximum code length.
  • the adverse effect of small code length on data transmission performance can also be compensated by reducing the code rate.
  • the minimum code rate R 0 when using the minimum code rate R 0 to transmit a coded block corresponding to a non-maximum code length N 1 , the theoretically the data length that the channel can bear is N 1 ⁇ R 0 , while the data length of the preset or configured coded block is N 1 ⁇ (R 0 -D 0 ), so, using the minimum code rate R 0 to transmit the data length of the code block corresponding to the non-maximum code length N 1 is actually smaller than the data length that the channel corresponding to the minimum code rate R 0 can bear, It helps to improve the transmission performance of the channel corresponding to the non-maximum code length N 1 .
  • the data length that the channel can bear is N 2 ⁇ R 1 , and by pre- Set or configure the data length of the coded block to be N 2 ⁇ R 0 , so that the data length of the coded block corresponding to the non-maximum code length N 2 transmitted using the non-minimum code rate R 1 actually corresponds to the code rate of the previous order R 0
  • the data length that the channel can bear is the same, and is smaller than the data length that the channel corresponding to the current non-minimum code rate R 1 can bear, which helps to improve the transmission performance of the channel corresponding to the non-maximum code length N 2 .
  • currently commonly used code lengths mainly include: one or more of 1024bit, 512bit, 256bit, 128bit or 64bit
  • currently commonly used code rates mainly include: 1/4, 3/8, 1/2, 5/8 , 3/4 and/or 7/8. Considering that the interval between any adjacent two code rates in these code rates is 1/8, it is possible to pre-set or configure the preset degraded threshold D0 to be 1/8, so that no matter which code is used in the actual scene As the minimum code rate, the K table can be kept consistent as much as possible.
  • the preset degraded threshold D 0 is 1/8
  • the code length includes the above five code lengths, and the code rate includes the above six code rates
  • Table 1 The K table can be specifically expressed as shown in the following table 2 (A), and the calculation results are shown in the following table 2 (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 K table in Table 1 can be specifically expressed as shown in Table 3(A) below, and the calculation results are shown in Table 3(B) below.
  • each table given in the embodiments of the present application for example, whether it is Table 2 (A) and Table 2 (B), or Table 3 (A) and Table 3 (B), as shown below, Table 4(A) to Table 4(F), Table 5(A) to Table 5(F) that appeared later, or Table 1 shown in the above content, all just give the maximum satisfiable One form, but in fact each table can contain one or more rows, or one or more columns, not necessarily every row and every column, which is not specifically limited in this application.
  • 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.
  • Table 2(A) A specific example of a K table
  • the sending end device can first obtain the 5 codes in the row where the code rate 1/2 is located from the K table lengths corresponding to the preset or configured data lengths, and then according to the preset or configured segmentation principles, use the total data length of the information bits and the preset or configured data lengths corresponding to the 5 code lengths to obtain C code block.
  • the C coding blocks can correspond to one or more code lengths in the 5 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 different code lengths. of two yards long.
  • 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 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 (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.
  • the above scene corresponds to C A coding block can also include: 2 first coding blocks corresponding to 1024bit code length with a data length of 512bit, the first first coding block includes information bits of 488bit and the first check code of 24bit, the second first coding block A coding block includes 96-bit information bits and 24-bit first check code, and also includes 392-bit useless bits, which can be subsequently filled with preset bit sequences or deleted.
  • 2 first coding blocks corresponding to 1024bit code length with a data length of 512bit the first first coding block includes information bits of 488bit and the first check code of 24bit
  • the second first coding block A coding block includes 96-bit information bits and 24-bit first check code, and also includes 392-bit useless bits, which can be subsequently filled with preset bit sequences or deleted.
  • the segmentation result of the first encoding block corresponding to a 1024-bit code length For example, if it is necessary to reduce the number of useless bits as much as possible to reduce the air interface overhead, you can Select the segmentation result of the first encoding block corresponding to a 1024-bit code length, one encoding block corresponding to a 256-bit code length, and one encoding block corresponding to a 64-bit code length. If it is necessary to segment as little as possible to reduce transmission complexity, you can choose the segmentation result of the first coding block corresponding to two 1024bit code lengths.
  • 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. codewords 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 It is preset or configured as 24bit, and the first code rate is 3/8, then look up the K table shown in Table 2 (B), it can be seen 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.
  • 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 coded blocks may include: 3 first coded blocks with a data length of 384 bits, and the first first coded block contains 360 bits of information bits and 24 bits The first check code, the second first code block contains 360bit information bits and 24bit first check code, the third first code block contains 280bit information bits and 24bit first check code , and also includes 80 bits of useless bits, which can be filled or deleted 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 It
  • 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 estimated 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 C coding blocks include the following three types of second coding blocks: the first type of second coding block
  • the code length of the second encoding block is 256 bits, the number is 1, and the data length is 64 bits.
  • the 48 bits store the information bits, and the remaining 16 bits store the 16-bit information of the second check code;
  • the code length of the third type of second coding block is 64 bits, the number is 1, and the data length is 16 bits.
  • the remaining 8 bits of the second check code store the remaining 8 bits of information, and the remaining 8 bits are useless bits, which can be filled or deleted later.
  • 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.
  • segmentation mode 1-22 there are four non-maximum code lengths 512bit, 256bit, 128bit and 64bit in the K table shown in Table 2 (B).
  • 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, which effectively saves the complexity of subsequent filling or deletion operations, and 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 code length of 512 bits, a second encoding block with a code length of 256 bits, and a second encoding block with a code length of 64 bits, and there are 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 information bits are stored in the 128bit of the two second coding blocks; 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 coding 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 the preset bit sequences of K Diff (such as all 0 bit sequences, all 1 bit sequences, character bit sequences, or bit sequences generated according to certain rules, etc.), or delete K Diff bits.
  • the data length K Diff must be smaller than the data length of a first coding block.
  • the sender device can fill the preset bit sequence of K Diff in the last first coding block or delete the bits of K Diff , for example, fill the preset K Diff at the end of the last first coding block Bit sequence, so that the first check code can no longer contain the check information corresponding to the useless bit information, effectively saving the check operation, and for example, filling between the information bits of the last first coding block and the first check code
  • the preset bit sequence of K Diff so that the first check code can also include the check information of the preset bit sequence of K Diff , further improving the security of data verification and transmission.
  • the sending end device can fill the end of the last first coding block with an 80-bit sequence of all 0s, so that the last first coding block is composed of sequentially spliced 280-bit information bits, 24-bit first checksum Check code and 80bit all 0 sequence.
  • 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 jointly filled with the preset bit sequence of K Diff , or deleted altogether Bits of K Diff .
  • the sending end device may fill the preset bit sequence of K Diff in the C 20 second encoding blocks or delete the bits of K Diff
  • the preset bit sequence of K Diff is filled at the end of the last second coding block, so that the second check code can no longer contain the check information corresponding to the useless bit information, effectively saving the check operation
  • 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, so as to strengthen management and verification, or delete the bits of K Diff in the last second coding block
  • the data length of useless bits K Diff must be smaller than the data length of a coding block with a minimum code length, that is, smaller than the
  • the sending device can fill the end of the last second encoding block with an 8-bit sequence of all 0s, so that the last second encoding block is composed of the remaining 8-bit second check code and 8bit sequence of all 0s.
  • 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 , for example, the preset bit sequence of K Diff is filled at the end of the last second coding block, and the preset bit sequence of K Diff is filled between the information bits and the second check code of C 20 second coding blocks, Or delete bits of K Diff in the last second coding block, etc., which are not specifically limited.
  • 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.
  • deleting useless bits in a certain coding block is equivalent to reducing the data length of the coding block.
  • the data length of a coding block is originally 128 bits, but after deleting 28 bits of useless bits, the actual data length becomes 100 bits.
  • transmitting a coded block can transmit 128-bit information, but after deleting useless bits, transmitting a coded block can only transmit 100-bit information, which is equivalent to reducing the actual code rate of the data .
  • 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 check code when the coding block contains useless bits, in a possible implementation, if the coding block is adjusted by filling preset data at the end of the coding block, the check code will be appended to the coding block Between the information bits contained in the code block and the preset data, in this case, the check code is generated for the information bits contained in the coded block, and does not contain the check information for the preset data.
  • the receiving end device After the coded block is obtained by decoding, the preset data filled at the end can be deleted from the coded block (wherein, 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, and then use the generator polynomial corresponding to the check codes to divide the information bits contained in the code block and the check codes, save the information bits contained in the code block when the remainder is 0, and save the information bits contained in the code block when the remainder is not 0 when retransmitting.
  • the check code will be appended to the end of the preset data filled in the encoding block.
  • the check code is generated for the information bits contained in the code block and the preset data. Therefore, after decoding the code block, the receiver device can directly use the generator polynomial corresponding to the check code and the code block The contained information bits, preset data and check code are divided, 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.
  • 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 at the head of the coded block, and send the coded block to the check code coding 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 splicing is sent to filling or deletion module 605, if there is no idle bit in the coded block after splicing, then the coded block after splicing is sent to small coding block segmentation module 606;
  • the filling or deletion module 605 is respectively connected to the small coding block segmentation module 606 and the polar code coding module 607, and is used to fill the preset bit sequence with the idle bits at the end of the first coding block sent by the check code coding module 604, or Delete the idle bits, and send the padded or deleted first coding block to the polar code encoding module 607; bit sequence, or delete idle bits, and send the filled or deleted coding block to the small coding block segmentation module 606;
  • the small coding block segmentation module 606 is connected to the polar code coding module 607, and is used to segment the filled or deleted coding blocks according to the corresponding numbers of the L types of second coding blocks sent by the segmentation parameter calculation module 601, After obtaining each second coding block, send it to the polar code coding module 607;
  • 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 coding block is sent to the filling or deletion module 605, the preset data of the idle bits is filled in the rear of the remaining information bits by the filling or deletion module 605 and then sent to the check code encoding module 604, and the check code encoding module 604 The end of the re-encoded block is spliced after generating the second check code corresponding to the remaining information bits.
  • each module in the data processing device 600 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 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
  • 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 communicates with 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

一种数据处理方法、装置及系统,用以降低通信技术领域中极化码编/解码的系统功耗。方法包括:获取信息比特的总数据长度,根据信息比特的总数据长度和预设的第一码率获取C个编码块,其中,C个编码块对应一个或多个码长,一个或多个码长满足2的正整数次幂的形式,C为正整数。通过使C个编码块匹配极化码编码后的码字所满足的2的正整数次幂形式的码长,有助于使用第一码率直接传输或接收C个编码块编码后的码字,而无需再额外配置速率匹配模块,有效简化极化码编/解码的系统设计,进而可降低系统功耗。

Description

一种数据处理方法、装置及系统 技术领域
本申请涉及通信技术领域,尤其是短距离通信领域,提供了一种数据处理方法、装置及系统。
背景技术
随着全球通信技术的不断发展,无线通信技术呈现出如火如荼的发展态势。基于无线通信技术的智能运输设备、智能家居设备以及机器人等智能终端设备正在逐步进入人们的日常生活中。
现阶段,无线通信系统通常采用Turbo码、低密度奇偶校验码(low density parity check,LDPC)和极化(Polar)码进行信道编解码。对于中短包传输,Turbo码和LDPC码由于自身编解码的特点,在有限码长下很难达到理想的性能。在实现方面,Turbo码和LDPC码在编解码实现过程中具有较高的复杂度。而Polar码是理论上证明可以取得香农容量,且具有相对简单的编解码复杂度的好码,因而得到了越来越广泛的应用。
现阶段,Polar码编/解码编码块后通常还要额外配置速率匹配模块,导致系统设计的复杂度进一步增加,系统功耗进一步增大,影响了Polar码在应用过程中极化信道传输性能的进一步提高。
发明内容
本申请提供一种数据处理方法、装置及系统,用以降低Polar码编/解码的系统功耗。
第一方面,本申请提供一种数据处理方法,该方法适用于具有通信功能的任一通信节点,例如可以用于发送端节点或发送端设备,也可以用于接收端节点或接收端设备。该方法包括:获取信息比特的总数据长度,根据信息比特的总数据长度和预设的第一码率获取C个编码块。其中,C个编码块对应至少一个或多个码长,且至少一个或多个码长属于预先定义或者配置的S个码长,C个编码块的数据长度对应第一码率,S个码长中的每个码长满足2的正整数次幂的形式,S为大于或等于2的正整数,C为正整数。如此,通过使C个编码块匹配Polar编码后的码字所满足的2的正整数次幂形式的码长,有助于使用第一码率直接传输或接收C个编码块编码后的码字,而无需再额外配置速率匹配模块,有效简化Polar码编码/解码的系统设计,进而可降低Polar码编码/解码的系统功耗。
下面分别从发送端设备和接收端设备的角度介绍数据处理方法的具体实现。
第二方面,本申请提供一种数据处理方法,该方法适用于发送端设备,该方法包括:发送端设备获取信息比特,根据信息比特的总数据长度和预设的第一码率获取C个编码块,并编码C个编码块获得C个编码块编码后的码字,进而发送C个编码块编码后的码字。其中,C个编码块对应至少一个或多个码长,且至少一个或多个码长属于预先定义或者配置的S个码长,C个编码块的数据长度对应第一码率,S个码长中的每个码长满足2的正整数次幂的形式,S为大于或等于2的正整数,C为正整数。在该设计中,通过使C个编码块匹配Polar编码后的码字所满足的2的正整数次幂形式的码长,有助于发送端设备使用第一码率直接传输C个编码块编码后的码字,而无需再额外配置速率匹配模块,有效简 化Polar码编码的系统设计,进而可降低Polar码编码的系统功耗。
在一种可能的设计中,发送端设备可采用Polar码编码C个编码块,以利用Polar编码的优点降低编码复杂度,有效提高编码效率。
在一种可能的设计中,针对于第一码率,S个码长中的每个码长可以对应一个预先定义或者配置的数据长度,其中,对应的码长和数据长度可以满足以下内容中的一项或多项:
内容一,S个码长中的最大码长对应的数据长度的值为第一码率和最大码长的乘积。如此,使用每个码率传输最大码长对应的编码块的长度能刚好等于信道所能承受的数据长度,以便发送端设备能充分利用最大码长对数据传输性能的有利性,实现最大码长所对应信道的最佳传输性能。
内容二,第一码率为预先定义或者配置的T个码率中的最小码率的情况下,S个码长中的非最大码长对应的数据长度为第一码率与预设降阶阈值的差值和非最大码长的乘积。其中,预设降阶阈值用于指示假设小于最小码率的上一阶码率存在时,上一阶码率相比于最小码率的码率差值,可预先设定或者配置为小于最小码率的一个值。如此,使用最小码率传输非最大码长对应的编码块的长度能小于最小码率的信道所能承受的数据长度,有助于通过降低码率弥补小码长对数据传输性能的不利影响。或者,
内容三,第一码率为预先定义或者配置的T个码率中的非最小码率的情况下,S个码长中的非最大码长对应的数据长度为码率小于第一码率的上一阶码率和非最大码长的乘积。如此,使用非最小码率传输非最大码长对应的编码块的长度能尽量和上一阶码率对应的信道所能承受的数据长度相同,且小于当前非最小码率对应的信道所能承受的数据长度,有助于提高非最大码长所对应信道的传输性能。
在一种可能的设计中,发送端设备中预先定义或者配置有S个码长、T个码率、以及S×T个数据长度的对应关系,该对应关系可参照上述内容一至内容三中的一项或多项来设置,且该对应关系可以以表格、栈、数据库、队列或其它形式中的一种或多种形式来表示。示例性的,当采用表格形式表示S个码长、T个码率、以及S×T个数据长度的对应关系时,如下表1示出一种S个码长、T个码率、以及S×T个数据长度的对应关系表,其中,表1中包含参照母码m 0、m 0-1、……、m 0-S+1所配置的如下S个码长:
Figure PCTCN2021101093-appb-000001
Figure PCTCN2021101093-appb-000002
以及预先设定或者配置的如下T个码率:R 0、R 1、R 2、……、R T-1,K i,j是指第i个码长和第j个码率对应的数据长度。
表1:分段长度参照表(K表)
Figure PCTCN2021101093-appb-000003
需要指出的是,上述表1只是给出最大可满足的一种形式,但实际上表1中可以包含其中的一行或多行,或者包含其中的一列或多列,未必每行和每列都要满足。另外,表只 是对应关系的一种可能的承载形式,实际操作中还可以使用其它承载形式来表征对应关系,例如数据库、数据栈或队列等,具体不作限定。
在一种可能的设计中,在表1中,S个码长可以包括如下码长中的一个或多个:1024bit、512bit、256bit、128bit或者64bit,T个码率可以包括如下码率中的一个或多个:1/4、3/8、1/2、5/8、3/4或7/8。
在一种可能的设计中,当T个码率包括1/4、3/8、1/2、5/8、3/4或7/8中的一个或多个时,预设降阶阈值可以预先设定或者配置为1/8。如此,无论实际场景中以哪个码率作为最小码率,都能尽量让同一码率和同一码长对应的数据长度保持一致。
在一种可能的设计中,C个编码块中可以包含:C 10个第一编码块,C 10个第一编码块中的每个第一编码块的码长为S个码长中的最大码长,每个第一编码块中包含一个针对于第一编码块所包含的信息比特的第一校验码;和/或,C 20个第二编码块,任一第二编码块的码长为S个码长中的一个非最大码长,C 20个第二编码块中包含一个针对于C 20个第二编码块所包含的全部信息比特的第二校验码;其中,C 10为正整数,且C 20为大于或等于0的整数;或者,C 10为大于或等于0的整数,且C 20为正整数。如此,通过在C个编码块中添加第一校验码和/或第二校验码,能在传输出错时只重传校验码出错的那部分编码块,有助于降低重传的时延。且,通过对最大码长的每个长编码块都添加校验码,但并不对非最大码长的每个短编码块添加校验码,而是对非最大码长的全部短编码块添加一个校验码,还能在添加必要的校验码的同时,尽量减少分段后的编码块的总数据长度,有助于降低空口开销。
在一种可能的设计中,针对于第一码率,在S个码长中的每个码长对应一个预先定义或者配置的数据长度的情况下,C 10和C 20可以是根据信息比特的总数据长度和每个第一编码块中包含的信息比特的数据长度得到的,其中,每个第一编码块中包含的信息比特的数据长度是最大码长对应的数据长度和第一校验码的数据长度之差。如此,通过以最大码长对应的第一编码块为基准确定第一编码块的数量和第二编码块的数量,能尽量使用数据长度更长的第一编码块承载尽可能多的信息比特,有效减少编码块的总数量。
在一种可能的设计中,信息比特的总数据长度和每个第一编码块中包含的信息比特的数据长度的比值为整数的情况下,C 10的取值可以为该比值,而C 20的取值为0,也即是不存在第二编码块。该设计能使用数据长度较长的第一编码块来承载全部的信息比特,有效减少编码块的总数量。
在一种可能的设计中,信息比特的总数据长度和每个第一编码块中包含的信息比特的数据长度的比值不为整数的情况下,C 10的取值可以为该比值中的整数部分,C 20个第二编码块中可以包含L种第二编码块,L种第二编码块对应S个码长中的L个非最大码长,L种第二编码块中的每种第二编码块的数据长度为所对应的非最大码长对应的数据长度,L种第二编码块的数量是根据剩余待分段数据的数据长度和L种第二编码块的数据长度得到的,剩余待分段数据的数据长度是剩余信息比特的数据长度和第二校验码的数据长度之和,剩余信息比特的数据长度为信息比特的总数据长度与C 10个第一编码块中包含的信息比特的数据长度之差。其中,L为小于或等于S-1的正整数。如此,该设计能在第一编码块承载信息比特后存在剩余的情况下,使用数据长度较短的第二编码块来承载剩余的信息比特,相比于使用一个数据长度更长的第一编码块来承载剩余的信息比特来说,有助于减少全部编码块中包含的无用比特位的数量,有效降低空口开销。
在一种可能的设计中,L种第二编码块的数量可以是根据最小码长对应的编码块的预计数量、以及L种第二编码块的数据长度和最小码长对应的数据长度的相对关系确定的,最小码长对应的编码块的预计数量为大于或等于剩余待分段数据的数据长度和最小码长对应的数据长度的比值的最小整数。如此,通过以承载不少于剩余待分段数据的总数据长度的最小编码块的最小数量为基准确定各个非最大码长对应的第二编码块的数量,能保证各个第二编码块将全部的剩余信息比特和第二校验码都包含在内,降低遗漏有效数据的概率。
在一种可能的设计中,发送端设备可以采用比特位数量优先原则确定L种第二编码块的数量,在比特位数量优先原则中,L种第二编码块的数量可以是按照所对应的L个非最大码长由大到小的顺序依次确定的,针对于L种第二编码块中的每种第二编码块:第二编码块的数量可以为最小码长对应的编码块的剩余预计数量与第一比值的比值中的整数,第一比值为第二编码块的数据长度和最小码长对应的数据长度的比值,最小码长对应的编码块的剩余预计数量为最小码长对应的编码块的预计数量与码长大于第二编码块对应的非最大码长的其它非最大码长所对应的第二编码块的数量和第二比值的乘积的差值,第二比值为其它非最大码长对应的第二编码块的数据长度和最小码长对应的数据长度的比值。如此,通过使用各个码长的第一编码块和第二编码块来集中承载信息比特,能尽量让各个第一编码块和第二编码块的总数据长度等于信息比特的总数据长度,有效减少C个编码块中包含的无用比特位的数量,有效节省空口开销。
在一种可能的设计中,L种第二编码块的数量可以是根据最小码长对应的编码块的预计数量的二进制数据中取值不为0的L个数值确定的,其中,二进制数据由低位到高位的取值一一对应码长由小到大的S-1个非最大码长。如此,该设计利用两个码长对应的数据长度的2的倍数关系,以二进制数据的取值表示各个码长对应的编码块的数量,能尽量通过一次操作确定出各个第二编码块的数量,有效提高数据分段的效率。
在一种可能的设计中,L种第二编码块的数量可以是根据最小码长对应的编码块的预计数量和预设的码长、码率、数据长度、编码块数量和预计数量的对应关系得到的,该对应关系是根据S-1个非最大码长对应的预先设定或者配置的数据长度和最小码长对应的数据长度的相对关系进行预先设定或者配置的。其中,该对应关系可以以表格、数据库或栈等中的任一形式来表示。该设计有助于使发送端设备直接查询对应关系即可获得各个编码块的数量,有效节省计算时延,提高数据分段的效率。
在一种可能的设计中,发送端设备可以采用分段数量优先原则确定L种第二编码块的数量,在分段数量优先原则中,发送端设备在确定L种第二编码块的数量之前,还可以先确定满足如下条件中的一项或多项:剩余待分段数据的数据长度不大于预先设定或者配置的数据长度阈值;或者,最小码长对应的编码块的预计数量不大于预先设定或者配置的数量阈值,最小码长对应的编码块的预计数量为大于或等于剩余待分段数据的数据长度和最小码长对应的预先设定或者配置的数据长度的比值的最小整数。如此,通过在剩余信息比特较少的情况下才采用小码长对应的短编码块进行分段,能在数据传输时延本身较低的情况下通过更精细地分段来减少编码块中包含的无用比特位的数量,有效降低数据传输所产生的空口开销。
在一种可能的设计中,在分段数量优先原则中,当信息比特的总数据长度和每个第一编码块中包含的信息比特的数据长度的比值不为整数时,C 10的取值可以为大于比值的最 小整数,C 20的取值可以为0,也即是不存在第二编码块。如此,通过在存在剩余信息比特的情况下,另外使用一个最大码长的第一编码块来承载整个剩余信息比特,相比于使用小码长的第二编码块承载剩余信息比特的方式来说,能减少编码块的总数量,有效降低数据的传输时延。
在一种可能的设计中,在分段数量优先原则中,发送端设备在确定C 10的取值为大于比值的最小整数,C 20的取值可以为0之前,还可以先确定满足如下条件中的一项或多项:剩余待分段数据的数据长度大于预先设定或者配置的数据长度阈值;或者,最小码长对应的编码块的预计数量大于预先设定或者配置的数量阈值,最小码长对应的编码块的预计数量为大于或等于剩余待分段数据的数据长度和最小码长对应的预先设定或者配置的数据长度的比值的最小整数。如此,通过在剩余信息比特较多时才使用一个最大码长的第一编码块来承载整个剩余信息比特,在剩余信息比特较少时仍然使用小码长对应的第二编码块来承载剩余信息比特,能在减少无用比特位的同时,尽量降低重传的数据量和重传时延。
在一种可能的设计中,在分段数量优先原则中,上述条件中的预先设定或者配置预设的数量阈值可以为2 S-1-1,和/或,上述条件中的预先设定或者配置预设的数据长度阈值可以为K S-1×(2 S-1-1),K S-1为第一码率和最小码长对应的数据长度。如此,通过使用该条件决策是否进行分段,能尽量确保剩余待分段数据分为每个非最大码长所对应的编码块的数量不大于1。
需要指出的是,发送端设备所采用的原则可通过预先设定或配置的方式进行设置,且还可以与接收端设备保持一致,例如通过预先设定或者配置的方式指示发送端设备和接收端设备采用同一原则,或者由发送端设备向接收端设备发送指示所采用原则的指示消息,以便接收端设备根据该指示消息采用相同的原则进行解码等。其中,指示所采用原则的指示消息可以承载在C个编码块编码后的码字所在的消息中,也可以承载在额外设置的一个消息中,还可以承载在其它信息所在的消息中。另外,指示消息可以以文字、字符、数字或其他形式中的一项或多项来表示,具体不作限定。
在一种可能的设计中,在根据信息比特的总数据长度和预设的第一码率获取C个编码块之后,发送端设备若确定C个编码块的总数据长度与有效数据长度之差不为零,则还可以调整C 10个第一编码块和/或C 20个第二编码块,以便通过调整C个编码块中的无用比特位,节省C个编码块的后续传输时延和空口开销。其中,有效数据长度为信息比特的总数据长度、C 10个第一校验码的数据长度和第二校验码的数据长度之和。
在一种可能的设计中,调整后的C 10个第一编码块或C 20个第二编码块满足如下内容中的一项或多项:调整后的C 10个第一编码块中存在一个或多个第一编码块包含预设数据;调整后的C 10个第一编码块中存在一个或多个第一编码块的数据长度小于最大码长对应的预先设定或者配置的数据长度;调整后的C 20个第二编码块中存在一个或多个第二编码块包含预设数据;或者,调整后的C 20个第二编码块中存在一个或多个第二编码块的数据长度小于第二编码块对应的非最大码长对应的预先设定或者配置的数据长度。如此,该设计通过填充或删除的方式调整编码块,能使调整后的编码块尽量匹配真实的信道传输情况。
在一种可能的设计中,在通过填充预设数据来调整无用比特位的情况下,预设数据可以填充在最后一个编码块的末端,例如填充在最后一个第一编码块的第一校验码的后方,或者填充在最后一个第二编码块的第二校验码的后方,以使第一校验码或第二校验码中可不再包含无用比特信息对应的校验信息,有效节省校验操作的复杂程度。
第三方面,本申请提供一种数据处理方法,该方法适用于接收端设备,该方法包括:接收端设备接收C个编码块编码后的码字,根据信息比特的总数据长度和第一码率,解码C个编码块编码后的码字,获取C个编码块中包含的信息比特。其中,C个编码块对应一个或多个码长,且一个或多个码长属于预先定义或者配置的S个码长,C个编码块的数据长度对应预设的第一码率,S个码长中的每个码长满足2的正整数次幂,S为大于或等于2的正整数,C为正整数。在该设计中,通过使C个编码块匹配Polar编码后的码字所满足的2的正整数次幂形式的码长,有助于接收端设备使用第一码率直接接收C个编码块编码后的码字,而无需再额外配置速率匹配模块,有效简化Polar码解码的系统设计,进而可降低Polar码解码的系统功耗。
在一种可能的设计中,接收端设备可采用Polar码解码C个编码块,以利用Polar解码的优点降低解码复杂度,有效提高解码效率。
在一种可能的设计中,针对于第一码率,S个码长中的每个码长可以对应一个预先定义或者配置的数据长度,其中,对应的码长和数据长度可以满足以下内容中的一项或多项:S个码长中的最大码长对应的数据长度的值为第一码率和最大码长的乘积;第一码率为预先定义或者配置的T个码率中的最小码率的情况下,S个码长中的非最大码长对应的数据长度为第一码率与预设降阶阈值的差值和非最大码长的乘积;或者,第一码率为预先定义或者配置的T个码率中的非最小码率的情况下,S个码长中的非最大码长对应的数据长度为码率小于第一码率的上一阶码率和非最大码长的乘积。
在一种可能的设计中,接收端设备中预先定义或者配置有S个码长、T个码率、以及S×T个数据长度的对应关系,该对应关系可参照上述内容中的一项或多项来设置,且该对应关系可以以表格、栈、数据库、队列或其它形式中的一种或多种形式来表示。其中,S个码长可以包括如下码长中的一个或多个:1024bit、512bit、256bit、128bit或者64bit,T个码率可以包括如下码率中的一个或多个:1/4、3/8、1/2、5/8、3/4或7/8。
需要指出的是,发送端设备和接收端设备中预先定义或者配置有S个码长、T个码率、以及S×T个数据长度的对应关系保持一致。
在一种可能的设计中,当T个码率包括1/4、3/8、1/2、5/8、3/4或7/8中的一个或多个时,预设降阶阈值可以预先设定或者配置为1/8。
在一种可能的设计中,C个编码块中包含:C 10个第一编码块,C 10个第一编码块中的每个第一编码块的码长为S个码长中的最大码长,每个第一编码块中包含一个针对于第一编码块所包含的信息比特的第一校验码;和/或,C 20个第二编码块,任一第二编码块的码长为S个码长中的一个非最大码长,C 20个第二编码块中包含一个针对于C 20个第二编码块所包含的全部信息比特的第二校验码;其中,C 10为正整数,且C 20为大于或等于0的整数;或者,C 10为大于或等于0的整数,且C 20为正整数。
在一种可能的设计中,C个编码块中包含C 10个第一编码块和/或C 20个第二编码块的情况下,接收端设备还可以根据信息比特的总数据长度和第一码率,获得C 10个第一编码块中的每个第一编码块包含的信息比特和第一校验码,并校验每个第一编码块中包含的信息比特和第一校验码;和/或,获得C 20个第一编码块包含的信息比特和第二校验码,并校验C 20个第一编码块中包含的信息比特和第二校验码。如此,通过接收端设备在使用信息比特之前进行校验,能有效保证接收信息比特的准确性。且,如果校验失败,说明传输出现问题,接收端设备还可要求发送端设备重传校验失败的第一编码块或第二编码块,以有 效降低重传时延。
在一种可能的设计中,针对于第一码率,在S个码长中的每个码长对应一个预先定义或者配置的数据长度的情况下,C 10和C 20可以是根据信息比特的总数据长度和每个第一编码块中包含的信息比特的数据长度得到的,其中,每个第一编码块中包含的信息比特的数据长度是最大码长对应的数据长度和第一校验码的数据长度之差。
在一种可能的设计中,信息比特的总数据长度和每个第一编码块中包含的信息比特的数据长度的比值为整数的情况下,C 10的取值可以为该比值,而C 20的取值为0,也即是不存在第二编码块。
在一种可能的设计中,信息比特的总数据长度和每个第一编码块中包含的信息比特的数据长度的比值不为整数的情况下,C 10的取值可以为该比值中的整数部分,C 20个第二编码块中可以包含L种第二编码块,L种第二编码块对应S个码长中的L个非最大码长,L种第二编码块中的每种第二编码块的数据长度为所对应的非最大码长对应的数据长度,L种第二编码块的数量是根据剩余待分段数据的数据长度和L种第二编码块的数据长度得到的,剩余待分段数据的数据长度是剩余信息比特的数据长度和第二校验码的数据长度之和,剩余信息比特的数据长度为信息比特的总数据长度与C 10个第一编码块中包含的信息比特的数据长度之差。其中,L为小于或等于S-1的正整数。
在一种可能的设计中,L种第二编码块的数量可以是根据最小码长对应的编码块的预计数量、以及L种第二编码块的数据长度和最小码长对应的数据长度的相对关系确定的,最小码长对应的编码块的预计数量为大于或等于剩余待分段数据的数据长度和最小码长对应的数据长度的比值的最小整数。
在一种可能的设计中,接收端设备可以采用比特位数量优先原则确定L种第二编码块的数量,在比特位数量优先原则中,L种第二编码块的数量可以是按照所对应的L个非最大码长由大到小的顺序依次确定的,针对于L种第二编码块中的每种第二编码块:第二编码块的数量可以为最小码长对应的编码块的剩余预计数量与第一比值的比值中的整数,第一比值为第二编码块的数据长度和最小码长对应的数据长度的比值,最小码长对应的编码块的剩余预计数量为最小码长对应的编码块的预计数量与码长大于第二编码块对应的非最大码长的其它非最大码长所对应的第二编码块的数量和第二比值的乘积的差值,第二比值为其它非最大码长对应的第二编码块的数据长度和最小码长对应的数据长度的比值。
在一种可能的设计中,L种第二编码块的数量可以是根据最小码长对应的编码块的预计数量的二进制数据中取值不为0的L个数值确定的,其中,二进制数据由低位到高位的取值一一对应码长由小到大的S-1个非最大码长。
在一种可能的设计中,L种第二编码块的数量可以是根据最小码长对应的编码块的预计数量和预设的码长、码率、数据长度、编码块数量和预计数量的对应关系得到的,该对应关系是根据S-1个非最大码长对应的预先设定或者配置的数据长度和最小码长对应的数据长度的相对关系进行预先设定或者配置的。其中,该对应关系可以以表格、数据库或栈等中的任一形式来表示。
在一种可能的设计中,接收端设备可以采用分段数量优先原则确定L种第二编码块的数量,在分段数量优先原则中,接收端设备在确定L种第二编码块的数量之前,还可以先确定满足如下条件中的一项或多项:剩余待分段数据的数据长度不大于预先设定或者配置的数据长度阈值;或者,最小码长对应的编码块的预计数量不大于预先设定或者配置的数 量阈值,最小码长对应的编码块的预计数量为大于或等于剩余待分段数据的数据长度和最小码长对应的预先设定或者配置的数据长度的比值的最小整数。
在一种可能的设计中,在分段数量优先原则中,当信息比特的总数据长度和每个第一编码块中包含的信息比特的数据长度的比值不为整数时,C 10的取值可以为大于比值的最小整数,C 20的取值可以为0,也即是不存在第二编码块。
在一种可能的设计中,在分段数量优先原则中,接收端设备在确定C 10的取值为大于比值的最小整数,C 20的取值可以为0之前,还可以先确定满足如下条件中的一项或多项:剩余待分段数据的数据长度大于预先设定或者配置的数据长度阈值;或者,最小码长对应的编码块的预计数量大于预先设定或者配置的数量阈值,最小码长对应的编码块的预计数量为大于或等于剩余待分段数据的数据长度和最小码长对应的预先设定或者配置的数据长度的比值的最小整数。
在一种可能的设计中,在分段数量优先原则中,上述条件中的预先设定或者配置预设的数量阈值可以为2 S-1-1,和/或,上述条件中的预先设定或者配置预设的数据长度阈值可以为K S-1×(2 S-1-1),K S-1为第一码率和最小码长对应的数据长度。
需要指出的是,接收端设备所采用的原则与发送端设备保持一致,例如通过预先设定或者配置的方式指示接收端设备和发送端设备采用同一原则,或者由接收端设备接收发送端设备发送的指示所采用原则的指示消息,以便接收端设备根据该指示消息采用相同的原则进行解码等。其中,指示所采用原则的指示消息可以承载在C个编码块编码后的码字所在的消息中,也可以承载在额外设置的一个消息中,还可以承载在其它信息所在的消息中。另外,指示消息可以以文字、字符、数字或其他形式中的一项或多项来表示,具体不作限定。
第四方面,本申请提供一种通信装置,可以是具有通信功能的发送端设备,该通信装置包括:获取单元,用于获取信息比特;处理单元,用于根据信息比特的总数据长度和预设的第一码率获取C个编码块,编码C个编码块获得C个编码块编码后的码字;发送单元,用于发送C个编码块编码后的码字。其中,C个编码块对应至少一个或多个码长,且至少一个或多个码长属于预先定义或者配置的S个码长,C个编码块的数据长度对应第一码率,S个码长中的每个码长满足2的正整数次幂的形式,S为大于或等于2的正整数,C为正整数。
在一种可能的设计中,处理单元具体用于:采用Polar码编码C个编码块。
在一种可能的设计中,针对于第一码率,S个码长中的每个码长可以对应一个预先定义或者配置的数据长度,其中,对应的码长和数据长度可以满足以下内容中的一项或多项:S个码长中的最大码长对应的数据长度的值为第一码率和最大码长的乘积;第一码率为预先定义或者配置的T个码率中的最小码率的情况下,S个码长中的非最大码长对应的数据长度为第一码率与预设降阶阈值的差值和非最大码长的乘积;或者,第一码率为预先定义或者配置的T个码率中的非最小码率的情况下,S个码长中的非最大码长对应的数据长度为码率小于第一码率的上一阶码率和非最大码长的乘积。
在一种可能的设计中,处理单元具体用于:参照预先定义或者配置有S个码长、T个码率、以及S×T个数据长度的对应关系,根据信息比特的总数据长度和预设的第一码率获取C个编码块。其中,该对应关系可参照上述内容中的一项或多项来设置,且该对应关系可以以表格、栈、数据库、队列或其它形式中的一种或多种形式来表示。其中,S个码长 可以包括如下码长中的一个或多个:1024bit、512bit、256bit、128bit或者64bit,T个码率可以包括如下码率中的一个或多个:1/4、3/8、1/2、5/8、3/4或7/8。
在一种可能的设计中,当T个码率包括1/4、3/8、1/2、5/8、3/4或7/8中的一个或多个时,预设降阶阈值可以预先设定或者配置为1/8。
在一种可能的设计中,C个编码块中可以包含:C 10个第一编码块,C 10个第一编码块中的每个第一编码块的码长为S个码长中的最大码长,每个第一编码块中包含一个针对于第一编码块所包含的信息比特的第一校验码;和/或,C 20个第二编码块,任一第二编码块的码长为S个码长中的一个非最大码长,C 20个第二编码块中包含一个针对于C 20个第二编码块所包含的全部信息比特的第二校验码;其中,C 10为正整数,且C 20为大于或等于0的整数;或者,C 10为大于或等于0的整数,且C 20为正整数。
在一种可能的设计中,针对于第一码率,在S个码长中的每个码长对应一个预先定义或者配置的数据长度的情况下,C 10和C 20可以是处理单元根据信息比特的总数据长度和每个第一编码块中包含的信息比特的数据长度得到的,其中,每个第一编码块中包含的信息比特的数据长度是最大码长对应的数据长度和第一校验码的数据长度之差。
在一种可能的设计中,信息比特的总数据长度和每个第一编码块中包含的信息比特的数据长度的比值为整数的情况下,C 10的取值可以为该比值,而C 20的取值为0,也即是不存在第二编码块。
在一种可能的设计中,信息比特的总数据长度和每个第一编码块中包含的信息比特的数据长度的比值不为整数的情况下,C 10的取值可以为该比值中的整数部分,C 20个第二编码块中可以包含L种第二编码块,L种第二编码块对应S个码长中的L个非最大码长,L种第二编码块中的每种第二编码块的数据长度为所对应的非最大码长对应的数据长度,L种第二编码块的数量是处理单元根据剩余待分段数据的数据长度和L种第二编码块的数据长度得到的,剩余待分段数据的数据长度是剩余信息比特的数据长度和第二校验码的数据长度之和,剩余信息比特的数据长度为信息比特的总数据长度与C 10个第一编码块中包含的信息比特的数据长度之差。其中,L为小于或等于S-1的正整数。
在一种可能的设计中,L种第二编码块的数量可以是处理单元根据最小码长对应的编码块的预计数量、以及L种第二编码块的数据长度和最小码长对应的数据长度的相对关系确定的,最小码长对应的编码块的预计数量为大于或等于剩余待分段数据的数据长度和最小码长对应的数据长度的比值的最小整数。
在一种可能的设计中,处理单元可以采用比特位数量优先原则确定L种第二编码块的数量,在比特位数量优先原则中,L种第二编码块的数量可以是按照所对应的L个非最大码长由大到小的顺序依次确定的,针对于L种第二编码块中的每种第二编码块:第二编码块的数量可以为最小码长对应的编码块的剩余预计数量与第一比值的比值中的整数,第一比值为第二编码块的数据长度和最小码长对应的数据长度的比值,最小码长对应的编码块的剩余预计数量为最小码长对应的编码块的预计数量与码长大于第二编码块对应的非最大码长的其它非最大码长所对应的第二编码块的数量和第二比值的乘积的差值,第二比值为其它非最大码长对应的第二编码块的数据长度和最小码长对应的数据长度的比值。
在一种可能的设计中,L种第二编码块的数量可以是处理单元根据最小码长对应的编码块的预计数量的二进制数据中取值不为0的L个数值确定的,其中,二进制数据由低位到高位的取值一一对应码长由小到大的S-1个非最大码长。
在一种可能的设计中,L种第二编码块的数量可以是处理单元根据最小码长对应的编码块的预计数量和预设的码长、码率、数据长度、编码块数量和预计数量的对应关系得到的,该对应关系是根据S-1个非最大码长对应的预先设定或者配置的数据长度和最小码长对应的数据长度的相对关系进行预先设定或者配置的。其中,该对应关系可以以表格、数据库或栈等中的任一形式来表示。
在一种可能的设计中,处理单元可以采用分段数量优先原则确定L种第二编码块的数量,在分段数量优先原则中,处理单元在确定L种第二编码块的数量之前,还可以先确定满足如下条件中的一项或多项:剩余待分段数据的数据长度不大于预先设定或者配置的数据长度阈值;或者,最小码长对应的编码块的预计数量不大于预先设定或者配置的数量阈值,最小码长对应的编码块的预计数量为大于或等于剩余待分段数据的数据长度和最小码长对应的预先设定或者配置的数据长度的比值的最小整数。
在一种可能的设计中,在分段数量优先原则中,当信息比特的总数据长度和每个第一编码块中包含的信息比特的数据长度的比值不为整数时,C 10的取值可以为大于比值的最小整数,C 20的取值可以为0,也即是不存在第二编码块。
在一种可能的设计中,在分段数量优先原则中,处理单元在确定C 10的取值为大于比值的最小整数,C 20的取值可以为0之前,还可以先确定满足如下条件中的一项或多项:剩余待分段数据的数据长度大于预先设定或者配置的数据长度阈值;或者,最小码长对应的编码块的预计数量大于预先设定或者配置的数量阈值,最小码长对应的编码块的预计数量为大于或等于剩余待分段数据的数据长度和最小码长对应的预先设定或者配置的数据长度的比值的最小整数。
在一种可能的设计中,在分段数量优先原则中,上述条件中的预先设定或者配置预设的数量阈值可以为2 S-1-1,和/或,上述条件中的预先设定或者配置预设的数据长度阈值可以为K S-1×(2 S-1-1),K S-1为第一码率和最小码长对应的数据长度。
需要指出的是,发送端设备所采用的原则可通过预先设定或配置的方式进行设置,且还可以与接收端设备保持一致,例如通过预先设定或者配置的方式指示发送端设备和接收端设备采用同一原则,或者由发送端设备向接收端设备发送指示所采用原则的指示消息,以便接收端设备根据该指示消息采用相同的原则进行解码等。其中,指示所采用原则的指示消息可以承载在C个编码块编码后的码字所在的消息中,也可以承载在额外设置的一个消息中,还可以承载在其它信息所在的消息中。另外,指示消息可以以文字、字符、数字或其他形式中的一项或多项来表示,具体不作限定。
在一种可能的设计中,处理单元在根据信息比特的总数据长度和预设的第一码率获取C个编码块之后,若确定C个编码块的总数据长度与有效数据长度之差不为零,则还可以调整C 10个第一编码块和/或C 20个第二编码块。其中,有效数据长度为信息比特的总数据长度、C 10个第一校验码的数据长度和第二校验码的数据长度之和。
在一种可能的设计中,调整后的C 10个第一编码块或C 20个第二编码块满足如下内容中的一项或多项:调整后的C 10个第一编码块中存在一个或多个第一编码块包含预设数据;调整后的C 10个第一编码块中存在一个或多个第一编码块的数据长度小于最大码长对应的预先设定或者配置的数据长度;调整后的C 20个第二编码块中存在一个或多个第二编码块包含预设数据;或者,调整后的C 20个第二编码块中存在一个或多个第二编码块的数据长度小于第二编码块对应的非最大码长对应的预先设定或者配置的数据长度。
在一种可能的设计中,在通过填充预设数据来调整无用比特位的情况下,预设数据可以填充在最后一个编码块的末端,例如填充在最后一个第一编码块的第一校验码的后方,或者填充在最后一个第二编码块的第二校验码的后方。
第五方面,本申请提供一种通信装置,可以是具有通信功能的接收端设备,该通信装置包括:接收单元,用于接收C个编码块编码后的码字;处理单元,用于根据信息比特的总数据长度和第一码率,解码C个编码块编码后的码字,获取C个编码块中包含的信息比特。其中,C个编码块对应一个或多个码长,且一个或多个码长属于预先定义或者配置的S个码长,C个编码块的数据长度对应预设的第一码率,S个码长中的每个码长满足2的正整数次幂,S为大于或等于2的正整数,C为正整数。
在一种可能的设计中,处理单元具体用于:采用Polar码解码C个编码块。
在一种可能的设计中,针对于第一码率,S个码长中的每个码长可以对应一个预先定义或者配置的数据长度,其中,对应的码长和数据长度可以满足以下内容中的一项或多项:S个码长中的最大码长对应的数据长度的值为第一码率和最大码长的乘积;第一码率为预先定义或者配置的T个码率中的最小码率的情况下,S个码长中的非最大码长对应的数据长度为第一码率与预设降阶阈值的差值和非最大码长的乘积;或者,第一码率为预先定义或者配置的T个码率中的非最小码率的情况下,S个码长中的非最大码长对应的数据长度为码率小于第一码率的上一阶码率和非最大码长的乘积。
在一种可能的设计中,处理单元可以参照预先定义或者配置有S个码长、T个码率、以及S×T个数据长度的对应关系,根据信息比特的总数据长度和第一码率,获取C个编码块中包含的信息比特。其中,该对应关系可参照上述内容中的一项或多项来设置,且该对应关系可以以表格、栈、数据库、队列或其它形式中的一种或多种形式来表示。其中,S个码长可以包括如下码长中的一个或多个:1024bit、512bit、256bit、128bit或者64bit,T个码率可以包括如下码率中的一个或多个:1/4、3/8、1/2、5/8、3/4或7/8。
需要指出的是,发送端设备和接收端设备中预先定义或者配置有S个码长、T个码率、以及S×T个数据长度的对应关系保持一致。
在一种可能的设计中,当T个码率包括1/4、3/8、1/2、5/8、3/4或7/8中的一个或多个时,预设降阶阈值可以预先设定或者配置为1/8。
在一种可能的设计中,C个编码块中包含:C 10个第一编码块,C 10个第一编码块中的每个第一编码块的码长为S个码长中的最大码长,每个第一编码块中包含一个针对于第一编码块所包含的信息比特的第一校验码;和/或,C 20个第二编码块,任一第二编码块的码长为S个码长中的一个非最大码长,C 20个第二编码块中包含一个针对于C 20个第二编码块所包含的全部信息比特的第二校验码;其中,C 10为正整数,且C 20为大于或等于0的整数;或者,C 10为大于或等于0的整数,且C 20为正整数。
在一种可能的设计中,C个编码块中包含C 10个第一编码块和/或C 20个第二编码块的情况下,处理单元还可以根据信息比特的总数据长度和第一码率,获得C 10个第一编码块中的每个第一编码块包含的信息比特和第一校验码,并校验每个第一编码块中包含的信息比特和第一校验码;和/或,获得C 20个第一编码块包含的信息比特和第二校验码,并校验C 20个第一编码块中包含的信息比特和第二校验码。
在一种可能的设计中,针对于第一码率,在S个码长中的每个码长对应一个预先定义或者配置的数据长度的情况下,C 10和C 20可以是根据信息比特的总数据长度和每个第一编 码块中包含的信息比特的数据长度得到的,其中,每个第一编码块中包含的信息比特的数据长度是最大码长对应的数据长度和第一校验码的数据长度之差。
在一种可能的设计中,信息比特的总数据长度和每个第一编码块中包含的信息比特的数据长度的比值为整数的情况下,C 10的取值可以为该比值,而C 20的取值为0,也即是不存在第二编码块。
在一种可能的设计中,信息比特的总数据长度和每个第一编码块中包含的信息比特的数据长度的比值不为整数的情况下,C 10的取值可以为该比值中的整数部分,C 20个第二编码块中可以包含L种第二编码块,L种第二编码块对应S个码长中的L个非最大码长,L种第二编码块中的每种第二编码块的数据长度为所对应的非最大码长对应的数据长度,L种第二编码块的数量是根据剩余待分段数据的数据长度和L种第二编码块的数据长度得到的,剩余待分段数据的数据长度是剩余信息比特的数据长度和第二校验码的数据长度之和,剩余信息比特的数据长度为信息比特的总数据长度与C 10个第一编码块中包含的信息比特的数据长度之差。其中,L为小于或等于S-1的正整数。
在一种可能的设计中,L种第二编码块的数量可以是根据最小码长对应的编码块的预计数量、以及L种第二编码块的数据长度和最小码长对应的数据长度的相对关系确定的,最小码长对应的编码块的预计数量为大于或等于剩余待分段数据的数据长度和最小码长对应的数据长度的比值的最小整数。
在一种可能的设计中,处理单元可以采用比特位数量优先原则确定L种第二编码块的数量,在比特位数量优先原则中,L种第二编码块的数量可以是按照所对应的L个非最大码长由大到小的顺序依次确定的,针对于L种第二编码块中的每种第二编码块:第二编码块的数量可以为最小码长对应的编码块的剩余预计数量与第一比值的比值中的整数,第一比值为第二编码块的数据长度和最小码长对应的数据长度的比值,最小码长对应的编码块的剩余预计数量为最小码长对应的编码块的预计数量与码长大于第二编码块对应的非最大码长的其它非最大码长所对应的第二编码块的数量和第二比值的乘积的差值,第二比值为其它非最大码长对应的第二编码块的数据长度和最小码长对应的数据长度的比值。
在一种可能的设计中,L种第二编码块的数量可以是处理单元根据最小码长对应的编码块的预计数量的二进制数据中取值不为0的L个数值确定的,其中,二进制数据由低位到高位的取值一一对应码长由小到大的S-1个非最大码长。
在一种可能的设计中,L种第二编码块的数量可以是处理单元根据最小码长对应的编码块的预计数量和预设的码长、码率、数据长度、编码块数量和预计数量的对应关系得到的,该对应关系是根据S-1个非最大码长对应的预先设定或者配置的数据长度和最小码长对应的数据长度的相对关系进行预先设定或者配置的。其中,该对应关系可以以表格、数据库或栈等中的任一形式来表示。
在一种可能的设计中,处理单元可以采用分段数量优先原则确定L种第二编码块的数量,在分段数量优先原则中,处理单元在确定L种第二编码块的数量之前,还可以先确定满足如下条件中的一项或多项:剩余待分段数据的数据长度不大于预先设定或者配置的数据长度阈值;或者,最小码长对应的编码块的预计数量不大于预先设定或者配置的数量阈值,最小码长对应的编码块的预计数量为大于或等于剩余待分段数据的数据长度和最小码长对应的预先设定或者配置的数据长度的比值的最小整数。
在一种可能的设计中,在分段数量优先原则中,当信息比特的总数据长度和每个第一 编码块中包含的信息比特的数据长度的比值不为整数时,C 10的取值可以为大于比值的最小整数,C 20的取值可以为0,也即是不存在第二编码块。
在一种可能的设计中,在分段数量优先原则中,处理单元在确定C 10的取值为大于比值的最小整数,C 20的取值可以为0之前,还可以先确定满足如下条件中的一项或多项:剩余待分段数据的数据长度大于预先设定或者配置的数据长度阈值;或者,最小码长对应的编码块的预计数量大于预先设定或者配置的数量阈值,最小码长对应的编码块的预计数量为大于或等于剩余待分段数据的数据长度和最小码长对应的预先设定或者配置的数据长度的比值的最小整数。
在一种可能的设计中,在分段数量优先原则中,上述条件中的预先设定或者配置预设的数量阈值可以为2 S-1-1,和/或,上述条件中的预先设定或者配置预设的数据长度阈值可以为K S-1×(2 S-1-1),K S-1为第一码率和最小码长对应的数据长度。
需要指出的是,接收端设备所采用的原则与发送端设备保持一致,例如通过预先设定或者配置的方式指示接收端设备和发送端设备采用同一原则,或者由接收端设备接收发送端设备发送的指示所采用原则的指示消息,以便接收端设备根据该指示消息采用相同的原则进行解码等。其中,指示所采用原则的指示消息可以承载在C个编码块编码后的码字所在的消息中,也可以承载在额外设置的一个消息中,还可以承载在其它信息所在的消息中。另外,指示消息可以以文字、字符、数字或其他形式中的一项或多项来表示,具体不作限定。
第六方面,本申请提供一种通信装置,可以是具有通信功能的发送端设备,该通信装置包括至少一个处理器和接口电路,接口电路用于为至少一个处理器提供数据或者代码指令,至少一个处理器用于通过逻辑电路或执行代码指令,执行如下操作:获取信息比特,根据信息比特的总数据长度和预设的第一码率获取C个编码块,编码C个编码块获得C个编码块编码后的码字,发送C个编码块编码后的码字。其中,C个编码块对应至少一个或多个码长,且至少一个或多个码长属于预先定义或者配置的S个码长,C个编码块的数据长度对应第一码率,S个码长中的每个码长满足2的正整数次幂的形式,S为大于或等于2的正整数,C为正整数。
在一种可能的设计中,至少一个处理器用于通过逻辑电路或执行代码指令,具体执行:采用Polar码编码C个编码块。
在一种可能的设计中,针对于第一码率,S个码长中的每个码长可以对应一个预先定义或者配置的数据长度,其中,对应的码长和数据长度可以满足以下内容中的一项或多项:S个码长中的最大码长对应的数据长度的值为第一码率和最大码长的乘积;第一码率为预先定义或者配置的T个码率中的最小码率的情况下,S个码长中的非最大码长对应的数据长度为第一码率与预设降阶阈值的差值和非最大码长的乘积;或者,第一码率为预先定义或者配置的T个码率中的非最小码率的情况下,S个码长中的非最大码长对应的数据长度为码率小于第一码率的上一阶码率和非最大码长的乘积。
在一种可能的设计中,至少一个处理器用于通过逻辑电路或执行代码指令,具体执行:参照预先定义或者配置有S个码长、T个码率、以及S×T个数据长度的对应关系,根据信息比特的总数据长度和预设的第一码率获取C个编码块。其中,该对应关系可参照上述内容中的一项或多项来设置,且该对应关系可以以表格、栈、数据库、队列或其它形式中的一种或多种形式来表示。其中,S个码长可以包括如下码长中的一个或多个:1024bit、512bit、 256bit、128bit或者64bit,T个码率可以包括如下码率中的一个或多个:1/4、3/8、1/2、5/8、3/4或7/8。
在一种可能的设计中,当T个码率包括1/4、3/8、1/2、5/8、3/4或7/8中的一个或多个时,预设降阶阈值可以预先设定或者配置为1/8。
在一种可能的设计中,C个编码块中可以包含:C 10个第一编码块,C 10个第一编码块中的每个第一编码块的码长为S个码长中的最大码长,每个第一编码块中包含一个针对于第一编码块所包含的信息比特的第一校验码;和/或,C 20个第二编码块,任一第二编码块的码长为S个码长中的一个非最大码长,C 20个第二编码块中包含一个针对于C 20个第二编码块所包含的全部信息比特的第二校验码;其中,C 10为正整数,且C 20为大于或等于0的整数;或者,C 10为大于或等于0的整数,且C 20为正整数。
在一种可能的设计中,针对于第一码率,在S个码长中的每个码长对应一个预先定义或者配置的数据长度的情况下,C 10和C 20可以是根据信息比特的总数据长度和每个第一编码块中包含的信息比特的数据长度得到的,其中,每个第一编码块中包含的信息比特的数据长度是最大码长对应的数据长度和第一校验码的数据长度之差。
在一种可能的设计中,信息比特的总数据长度和每个第一编码块中包含的信息比特的数据长度的比值为整数的情况下,C 10的取值可以为该比值,而C 20的取值为0,也即是不存在第二编码块。
在一种可能的设计中,信息比特的总数据长度和每个第一编码块中包含的信息比特的数据长度的比值不为整数的情况下,C 10的取值可以为该比值中的整数部分,C 20个第二编码块中可以包含L种第二编码块,L种第二编码块对应S个码长中的L个非最大码长,L种第二编码块中的每种第二编码块的数据长度为所对应的非最大码长对应的数据长度,L种第二编码块的数量是根据剩余待分段数据的数据长度和L种第二编码块的数据长度得到的,剩余待分段数据的数据长度是剩余信息比特的数据长度和第二校验码的数据长度之和,剩余信息比特的数据长度为信息比特的总数据长度与C 10个第一编码块中包含的信息比特的数据长度之差。其中,L为小于或等于S-1的正整数。
在一种可能的设计中,L种第二编码块的数量可以是根据最小码长对应的编码块的预计数量、以及L种第二编码块的数据长度和最小码长对应的数据长度的相对关系确定的,最小码长对应的编码块的预计数量为大于或等于剩余待分段数据的数据长度和最小码长对应的数据长度的比值的最小整数。
在一种可能的设计中,至少一个处理器用于通过逻辑电路或执行代码指令,具体执行:采用比特位数量优先原则确定L种第二编码块的数量。在比特位数量优先原则中,L种第二编码块的数量可以是按照所对应的L个非最大码长由大到小的顺序依次确定的,针对于L种第二编码块中的每种第二编码块:第二编码块的数量可以为最小码长对应的编码块的剩余预计数量与第一比值的比值中的整数,第一比值为第二编码块的数据长度和最小码长对应的数据长度的比值,最小码长对应的编码块的剩余预计数量为最小码长对应的编码块的预计数量与码长大于第二编码块对应的非最大码长的其它非最大码长所对应的第二编码块的数量和第二比值的乘积的差值,第二比值为其它非最大码长对应的第二编码块的数据长度和最小码长对应的数据长度的比值。
在一种可能的设计中,L种第二编码块的数量可以是根据最小码长对应的编码块的预计数量的二进制数据中取值不为0的L个数值确定的,其中,二进制数据由低位到高位的 取值一一对应码长由小到大的S-1个非最大码长。
在一种可能的设计中,L种第二编码块的数量可以是根据最小码长对应的编码块的预计数量和预设的码长、码率、数据长度、编码块数量和预计数量的对应关系得到的,该对应关系是根据S-1个非最大码长对应的预先设定或者配置的数据长度和最小码长对应的数据长度的相对关系进行预先设定或者配置的。其中,该对应关系可以以表格、数据库或栈等中的任一形式来表示。
在一种可能的设计中,至少一个处理器用于通过逻辑电路或执行代码指令,具体执行:采用分段数量优先原则确定L种第二编码块的数量。在分段数量优先原则中,至少一个处理器在确定L种第二编码块的数量之前,还可以先确定满足如下条件中的一项或多项:剩余待分段数据的数据长度不大于预先设定或者配置的数据长度阈值;或者,最小码长对应的编码块的预计数量不大于预先设定或者配置的数量阈值,最小码长对应的编码块的预计数量为大于或等于剩余待分段数据的数据长度和最小码长对应的预先设定或者配置的数据长度的比值的最小整数。
在一种可能的设计中,在分段数量优先原则中,当信息比特的总数据长度和每个第一编码块中包含的信息比特的数据长度的比值不为整数时,C 10的取值可以为大于比值的最小整数,C 20的取值可以为0,也即是不存在第二编码块。
在一种可能的设计中,在分段数量优先原则中,至少一个处理器在确定C 10的取值为大于比值的最小整数,C 20的取值可以为0之前,还可以先确定满足如下条件中的一项或多项:剩余待分段数据的数据长度大于预先设定或者配置的数据长度阈值;或者,最小码长对应的编码块的预计数量大于预先设定或者配置的数量阈值,最小码长对应的编码块的预计数量为大于或等于剩余待分段数据的数据长度和最小码长对应的预先设定或者配置的数据长度的比值的最小整数。
在一种可能的设计中,在分段数量优先原则中,上述条件中的预先设定或者配置预设的数量阈值可以为2 S-1-1,和/或,上述条件中的预先设定或者配置预设的数据长度阈值可以为K S-1×(2 S-1-1),K S-1为第一码率和最小码长对应的数据长度。
需要指出的是,发送端设备所采用的原则可通过预先设定或配置的方式进行设置,且还可以与接收端设备保持一致,例如通过预先设定或者配置的方式指示发送端设备和接收端设备采用同一原则,或者由发送端设备向接收端设备发送指示所采用原则的指示消息,以便接收端设备根据该指示消息采用相同的原则进行解码等。其中,指示所采用原则的指示消息可以承载在C个编码块编码后的码字所在的消息中,也可以承载在额外设置的一个消息中,还可以承载在其它信息所在的消息中。另外,指示消息可以以文字、字符、数字或其他形式中的一项或多项来表示,具体不作限定。
在一种可能的设计中,当存储器中存储的计算机程序被处理器执行时,使得发送端设备在根据信息比特的总数据长度和预设的第一码率获取C个编码块之后,还执行:若确定C个编码块的总数据长度与有效数据长度之差不为零,则调整C 10个第一编码块和/或C 20个第二编码块。其中,有效数据长度为信息比特的总数据长度、C 10个第一校验码的数据长度和第二校验码的数据长度之和。
在一种可能的设计中,调整后的C 10个第一编码块或C 20个第二编码块满足如下内容中的一项或多项:调整后的C 10个第一编码块中存在一个或多个第一编码块包含预设数据;调整后的C 10个第一编码块中存在一个或多个第一编码块的数据长度小于最大码长对应的 预先设定或者配置的数据长度;调整后的C 20个第二编码块中存在一个或多个第二编码块包含预设数据;或者,调整后的C 20个第二编码块中存在一个或多个第二编码块的数据长度小于第二编码块对应的非最大码长对应的预先设定或者配置的数据长度。
在一种可能的设计中,在通过填充预设数据来调整无用比特位的情况下,预设数据可以填充在最后一个编码块的末端,例如填充在最后一个第一编码块的第一校验码的后方,或者填充在最后一个第二编码块的第二校验码的后方。
第七方面,本申请提供一种通信装置,可以是具有通信功能的接收端设备,该通信装置包括至少一个处理器和接口电路,接口电路用于为至少一个处理器提供数据或者代码指令,至少一个处理器用于通过逻辑电路或执行代码指令,执行如下操作:接收C个编码块编码后的码字,根据信息比特的总数据长度和第一码率,解码C个编码块编码后的码字,获取C个编码块中包含的信息比特。其中,C个编码块对应一个或多个码长,且一个或多个码长属于预先定义或者配置的S个码长,C个编码块的数据长度对应预设的第一码率,S个码长中的每个码长满足2的正整数次幂,S为大于或等于2的正整数,C为正整数。
在一种可能的设计中,至少一个处理器用于通过逻辑电路或执行代码指令,具体执行:采用Polar码解码C个编码块。
在一种可能的设计中,针对于第一码率,S个码长中的每个码长可以对应一个预先定义或者配置的数据长度,其中,对应的码长和数据长度可以满足以下内容中的一项或多项:S个码长中的最大码长对应的数据长度的值为第一码率和最大码长的乘积;第一码率为预先定义或者配置的T个码率中的最小码率的情况下,S个码长中的非最大码长对应的数据长度为第一码率与预设降阶阈值的差值和非最大码长的乘积;或者,第一码率为预先定义或者配置的T个码率中的非最小码率的情况下,S个码长中的非最大码长对应的数据长度为码率小于第一码率的上一阶码率和非最大码长的乘积。
在一种可能的设计中,至少一个处理器用于通过逻辑电路或执行代码指令,具体执行:参照预先定义或者配置有S个码长、T个码率、以及S×T个数据长度的对应关系,根据信息比特的总数据长度和第一码率,获取C个编码块中包含的信息比特。其中,该对应关系可参照上述内容中的一项或多项来设置,且该对应关系可以以表格、栈、数据库、队列或其它形式中的一种或多种形式来表示。其中,S个码长可以包括如下码长中的一个或多个:1024bit、512bit、256bit、128bit或者64bit,T个码率可以包括如下码率中的一个或多个:1/4、3/8、1/2、5/8、3/4或7/8。
需要指出的是,发送端设备和接收端设备中预先定义或者配置有S个码长、T个码率、以及S×T个数据长度的对应关系保持一致。
在一种可能的设计中,当T个码率包括1/4、3/8、1/2、5/8、3/4或7/8中的一个或多个时,预设降阶阈值可以预先设定或者配置为1/8。
在一种可能的设计中,C个编码块中包含:C 10个第一编码块,C 10个第一编码块中的每个第一编码块的码长为S个码长中的最大码长,每个第一编码块中包含一个针对于第一编码块所包含的信息比特的第一校验码;和/或,C 20个第二编码块,任一第二编码块的码长为S个码长中的一个非最大码长,C 20个第二编码块中包含一个针对于C 20个第二编码块所包含的全部信息比特的第二校验码;其中,C 10为正整数,且C 20为大于或等于0的整数;或者,C 10为大于或等于0的整数,且C 20为正整数。
在一种可能的设计中,至少一个处理器用于通过逻辑电路或执行代码指令,还执行: 在C个编码块中包含C 10个第一编码块和/或C 20个第二编码块的情况下,根据信息比特的总数据长度和第一码率,获得C 10个第一编码块中的每个第一编码块包含的信息比特和第一校验码,并校验每个第一编码块中包含的信息比特和第一校验码;和/或,获得C 20个第一编码块包含的信息比特和第二校验码,并校验C 20个第一编码块中包含的信息比特和第二校验码。
在一种可能的设计中,针对于第一码率,在S个码长中的每个码长对应一个预先定义或者配置的数据长度的情况下,C 10和C 20可以是根据信息比特的总数据长度和每个第一编码块中包含的信息比特的数据长度得到的,其中,每个第一编码块中包含的信息比特的数据长度是最大码长对应的数据长度和第一校验码的数据长度之差。
在一种可能的设计中,信息比特的总数据长度和每个第一编码块中包含的信息比特的数据长度的比值为整数的情况下,C 10的取值可以为该比值,而C 20的取值为0,也即是不存在第二编码块。
在一种可能的设计中,信息比特的总数据长度和每个第一编码块中包含的信息比特的数据长度的比值不为整数的情况下,C 10的取值可以为该比值中的整数部分,C 20个第二编码块中可以包含L种第二编码块,L种第二编码块对应S个码长中的L个非最大码长,L种第二编码块中的每种第二编码块的数据长度为所对应的非最大码长对应的数据长度,L种第二编码块的数量是根据剩余待分段数据的数据长度和L种第二编码块的数据长度得到的,剩余待分段数据的数据长度是剩余信息比特的数据长度和第二校验码的数据长度之和,剩余信息比特的数据长度为信息比特的总数据长度与C 10个第一编码块中包含的信息比特的数据长度之差。其中,L为小于或等于S-1的正整数。
在一种可能的设计中,L种第二编码块的数量可以是根据最小码长对应的编码块的预计数量、以及L种第二编码块的数据长度和最小码长对应的数据长度的相对关系确定的,最小码长对应的编码块的预计数量为大于或等于剩余待分段数据的数据长度和最小码长对应的数据长度的比值的最小整数。
在一种可能的设计中,至少一个处理器用于通过逻辑电路或执行代码指令,具体执行:采用比特位数量优先原则确定L种第二编码块的数量。在比特位数量优先原则中,L种第二编码块的数量可以是按照所对应的L个非最大码长由大到小的顺序依次确定的,针对于L种第二编码块中的每种第二编码块:第二编码块的数量可以为最小码长对应的编码块的剩余预计数量与第一比值的比值中的整数,第一比值为第二编码块的数据长度和最小码长对应的数据长度的比值,最小码长对应的编码块的剩余预计数量为最小码长对应的编码块的预计数量与码长大于第二编码块对应的非最大码长的其它非最大码长所对应的第二编码块的数量和第二比值的乘积的差值,第二比值为其它非最大码长对应的第二编码块的数据长度和最小码长对应的数据长度的比值。
在一种可能的设计中,L种第二编码块的数量可以是根据最小码长对应的编码块的预计数量的二进制数据中取值不为0的L个数值确定的,其中,二进制数据由低位到高位的取值一一对应码长由小到大的S-1个非最大码长。
在一种可能的设计中,L种第二编码块的数量可以是根据最小码长对应的编码块的预计数量和预设的码长、码率、数据长度、编码块数量和预计数量的对应关系得到的,该对应关系是根据S-1个非最大码长对应的预先设定或者配置的数据长度和最小码长对应的数据长度的相对关系进行预先设定或者配置的。其中,该对应关系可以以表格、数据库或栈 等中的任一形式来表示。
在一种可能的设计中,至少一个处理器用于通过逻辑电路或执行代码指令,具体执行:采用分段数量优先原则确定L种第二编码块的数量。在分段数量优先原则中,至少一个处理器在确定L种第二编码块的数量之前,还可以先确定满足如下条件中的一项或多项:剩余待分段数据的数据长度不大于预先设定或者配置的数据长度阈值;或者,最小码长对应的编码块的预计数量不大于预先设定或者配置的数量阈值,最小码长对应的编码块的预计数量为大于或等于剩余待分段数据的数据长度和最小码长对应的预先设定或者配置的数据长度的比值的最小整数。
在一种可能的设计中,在分段数量优先原则中,当信息比特的总数据长度和每个第一编码块中包含的信息比特的数据长度的比值不为整数时,C 10的取值可以为大于比值的最小整数,C 20的取值可以为0,也即是不存在第二编码块。
在一种可能的设计中,在分段数量优先原则中,至少一个处理器在确定C 10的取值为大于比值的最小整数,C 20的取值可以为0之前,还可以先确定满足如下条件中的一项或多项:剩余待分段数据的数据长度大于预先设定或者配置的数据长度阈值;或者,最小码长对应的编码块的预计数量大于预先设定或者配置的数量阈值,最小码长对应的编码块的预计数量为大于或等于剩余待分段数据的数据长度和最小码长对应的预先设定或者配置的数据长度的比值的最小整数。
在一种可能的设计中,在分段数量优先原则中,上述条件中的预先设定或者配置预设的数量阈值可以为2 S-1-1,和/或,上述条件中的预先设定或者配置预设的数据长度阈值可以为K S-1×(2 S-1-1),K S-1为第一码率和最小码长对应的数据长度。
需要指出的是,接收端设备所采用的原则与发送端设备保持一致,例如通过预先设定或者配置的方式指示接收端设备和发送端设备采用同一原则,或者由接收端设备接收发送端设备发送的指示所采用原则的指示消息,以便接收端设备根据该指示消息采用相同的原则进行解码等。其中,指示所采用原则的指示消息可以承载在C个编码块编码后的码字所在的消息中,也可以承载在额外设置的一个消息中,还可以承载在其它信息所在的消息中。另外,指示消息可以以文字、字符、数字或其他形式中的一项或多项来表示,具体不作限定。
第八方面,本申请提供一种通信装置,包括处理器、收发器和存储器,处理器和存储器相连,存储器存储计算机程序,当存储器中存储的计算机程序被处理器执行时,使得通信装置实现如上述第二方面中任一项设计所述的方法。
第九方面,本申请提供一种通信装置,包括处理器、收发器和存储器,处理器和存储器相连,存储器存储计算机程序,当存储器中存储的计算机程序被处理器执行时,使得通信装置实现如上述第三方面中任一项设计所述的方法。
第十方面,本申请提供一种通信装置,包括处理器和通信接口,通信接口用于向除所述通信装置以外的其它通信装置发送信号,处理器通过逻辑电路或执行代码指令用于实现如上述第二方面中任一项设计所述的方法。
第十一方面,本申请提供一种通信装置,包括处理器和通信接口,通信接口用于接收来自除所述通信装置以外的其它通信装置的信号并传输至处理器,处理器通过逻辑电路或执行代码指令用于实现如上述第三方面中任一项设计所述的方法。
第十二方面,本申请提供一种通信装置,包括处理器,处理器与存储器相连,存储器 用于存储计算机程序,处理器用于执行存储器中存储的计算机程序,以使得发送端设备执行如上述第二方面中任一项设计所述的方法。
第十三方面,本申请提供一种通信装置,包括处理器,处理器与存储器相连,存储器用于存储计算机程序,处理器用于执行存储器中存储的计算机程序,以使得接收端设备执行如上述第三方面中任一项设计所述的方法。
第十四方面,本申请提供一种通信装置,包括处理器和存储器,存储器存储计算机程序指令,处理器运行计算机程序指令以实现如上述第二方面中任一项设计所述的方法。
第十五方面,本申请提供一种通信装置,包括处理器和存储器,存储器存储计算机程序指令,处理器运行计算机程序指令以实现如上述第三方面中任一项设计所述的方法。
第十六方面,本申请提供一种通信系统,该通信系统包括发送端设备和接收端设备,发送端设备用于实现如上述第二方面中任一项设计所述的方法,接收端设备用于实现如上述第三方面中任一项设计所述的方法。
第十七方面,本申请提供一种终端设备,该终端设备用于实现如上述第二方面中任一项设计所述的方法,或者实现如上述第三方面中任一项设计所述的方法。其中,一些终端设备的举例包括但不限于:智能家居设备(诸如电视、扫地机器人、智能台灯、音响系统、智能照明系统、电器控制系统、家庭背景音乐、家庭影院系统、对讲系统、视频监控等)、智能运输设备(诸如汽车、轮船、无人机、火车、货车、卡车等)、智能制造设备(诸如机器人、工业设备、智能物流、智能工厂等)、智能终端(手机、计算机、平板电脑、掌上电脑、台式机、耳机、音响、穿戴设备、车载设备、虚拟现实设备、增强现实设备等)。
第十八方面,本申请提供一种芯片,该芯片可以包括处理器和接口,处理器用于通过接口读取指令,以执行如上述第二方面中任一项设计所述的方法。
第十九方面,本申请提供一种芯片,该芯片可以包括处理器和接口,处理器用于通过接口读取指令,以执行如上述第三方面中任一项设计所述的方法。
第二十方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,当计算机程序被运行时,实现如上述第二方面中的任一项设计所述的方法。
第二十一方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,当计算机程序被运行时,实现如上述第三方面中的任一项设计所述的方法。
第二十二方面,本申请提供一种计算机程序产品,当所述计算机程序产品在处理器上运行时,实现如上述第二方面中任一项设计所述的方法。
第二十三方面,本申请提供一种计算机程序产品,当所述计算机程序产品在处理器上运行时,实现如上述第三方面中任一项设计所述的方法。
上述第四方面至第二十三方面的有益效果,具体请参照上述第二方面和第三方面中相应设计可以达到的技术效果,这里不再重复赘述。
附图说明
图1示例性示出本申请实施例适用的一种通信系统的架构示意图;
图2示例性示出本申请实施例提供的一种车内通信链路的架构示意图;
图3示例性示出本申请实施例提供的一种数据处理方法的交互流程示意图;
图4示例性示出本申请实施例提供的一种不同分段原则下的分段后数据呈现形式图;
图5示例性示出本申请实施例提供的另一种数据处理方法的交互流程示意图;
图6示例性示出本申请实施例提供的一种数据处理装置的结构示意图;
图7示例性示出本申请实施例提供的另一种数据处理装置的结构示意图;
图8示例性示出本申请实施例提供的又一种数据处理装置的结构示意图;
图9示例性示出本申请实施例提供的再一种数据处理装置的结构示意图。
具体实施方式
下面结合附图对本申请进行具体说明。
图1示例性示出本申请实施例适用的一种通信系统的架构示意图。如图1所示,该通信系统100中包括网络设备110和一个或多个终端设备,例如终端设备121、终端设备122、终端设备123、终端设备124、终端设备125和终端设备126。终端设备121、终端设备122、终端设备123和终端设备125可通过无线方式接入网络设备110,以便实现与网络设备110的无线通信。此外,在通信系统100中,终端设备124、终端设备125和终端设备126也可以构成一个小的通信系统,终端设备125相当于该小的通信系统中的网络设备,可以实现网络设备所执行的操作,终端设备124和终端设备126相当于该小的通信系统中的终端设备,可以实现终端设备所执行的操作。且,终端设备124和终端设备126也可通过无线方式接入终端设备125,以便实现与终端设备125的无线通信。
在通信系统100中,网络设备110是一种部署在无线接入网(radio access network,
RAN)用以提供无线通信功能的装置,又可以称为基站(base station,BS)、接入节点或接入网设备。网络设备110可以发送信号也可以接收信号,且还具有一定的管理功能。示例性的,网络设备110可以包括长期演进(long term evolution,LTE)系统或高级长期演进(long term evolution-advanced,LTE-A)中的演进型基站(NodeB或eNB或e-NodeB,evolutional Node B),或者也可以包括第五代移动通信技术(the 5 th generation,5G)新无线(new radio,NR)系统中的下一代节点B(next generation node B,gNB)。目前,一些网络设备110的举例为:2G网络中的基地无线收发站(base transceiver station,BTS)和基站控制器(base station controller,BSC),3G网络中的节点B(NodeB)和无线网络控制器(radio network controller,RNC),4G网络中的节点B(evolved NodeB,eNB),5G网络中的新无线节点B(New Radio NodeB,gNB),集中式单元(Centralized Unit,CU),分布式单元(Distributed Unit),新无线控制器,WLAN中的接入点(Access Point,AP),传输接收点(transmission reception point,TRP)、家庭基站(例如,home evolved node B,HENB,或home Node B,HNB)、基带单元(base band unit,BBU)、或无线保真(wireless fidelity,Wifi)接入点(access point,AP)等。
在通信系统100中,终端设备是指向用户提供语音和/或数据连通性的设备。例如可以包括具有无线连接功能的手持式设备、车载设备、或连接到无线调制解调器的处理设备。该终端设备可以经无线接入网与核心网进行通信。目前,一些终端设备的举例为:车联网中的具有无线通信功能的车载装置、用于机器类型通信(machine type communication,MTC)的用户设备(user equipment,UE)、第五代移动通信终端、手机(mobile phone)、计算机、平板电脑、笔记本电脑、掌上电脑、台式机、耳机、音响、移动互联网设备(mobile internet device,MID)、可穿戴设备(如智能手表,智能手环,计步器等)、虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端设备、无人驾驶(self driving)中的无线终端设备、远程手术(remote medical surgery) 中的无线终端设备、智能电网(smart grid)中的无线终端设备、运输安全(transportation safety)中的无线终端设备、智慧城市(smart city)中的无线终端设备、智慧家庭(smart home)中的无线终端设备等。
需要指出的是,上述通信系统110可以是如下通信系统中的任一种:5G(或者称为新无线(new radio,NR))通信系统、6G通信系统、LTE系统、码分多址(code division multiple access,CDMA)系统、宽带码分多址(wideband code division multiple access,简称WCDMA)通用分组无线业务(general packet radio service,简称GPRS)系统、时分双工-长期演进(time division duplexing-long term evolution,TDD LTE)、频分双工-长期演进(frequency division duplexing-long term evolution,FDD LTE)、通用移动通信系统(universal mobile telecommunication system,简称UMTS)、长期演进-增强(long term evolution-advanced,LTE-advanced)、现有短距离通信系统或者未来可能的短距离通信系统等,当然也可以为其它非授权频段的通信系统,不作限定。
应理解,本申请实施例对通信系统100中网络设备110的数量和终端设备的数量均不作限定,例如一个网络设备110可以如图1所示意的同时连接多种不同类型的终端设备,也可以连接一种类型的终端设备但不连接其它类型的终端设备,可以连接多个终端设备,也可以连接一个终端设备但不连接其它终端设备。且,通信系统100中除了包括网络设备110和终端设备以外,还可以包括其它设备,例如跟踪收集实体、核心网(core network,CN)、无线中继设备、无线回传设备、以及路由器、中继器、桥接器或交换机等数据中转设备等,对此本申请实施例也不作限定。以及,本申请实施例中的网络设备110可以将所有的功能集成在一个独立的物理设备上,也可以将功能分布在多个独立的物理设备上,对此本申请实施例也不作限定。
一种具体的应用场景中,本申请提供的数据处理方案可应用于车联网,如车-万物(vehicle to everything,V2X)、车间通信长期演进技术(long term evolution-vehicle,LTE-V)、车辆-车辆(vehicle-vehicle,V2V)等。在车联网中,终端设备具体可以是具有无线通信功能的车辆,例如图1中示意出的车辆121(图1中的终端设备121即为车辆121),或者车辆中具有无线通信功能的装置。该装置包括但不限于:车载终端、车载控制器、车载模块、车载模组、车载部件、车载芯片、车载单元、车载雷达或车载摄像头等其它传感器,车辆可通过该车载终端、车载控制器、车载模块、车载模组、车载部件、车载芯片、车载单元、车载雷达或摄像头,实施本申请提供的数据处理方法。
图2示例性示出本申请实施例提供的一种车内通信链路的架构示意图,该架构中包含一个或多个通信域,一个或多个通信域中的任一通信域是指由一组具有通信关系的通信节点以及通信节点之间的通信连接关系(即通信链路)组成的系统,通常用于完成一种特定的功能。一个通信域中包括一个主通信节点和一个或多个从通信节点。主通信节点也可以简称为主节点,用于管理所在通信域中的时频资源,并具有为所在通信域中的从节点之间的通信链路调度时频资源的功能。主节点可以与所在通信域中的从节点、其它通信域中的主节点或从节点、以及车外设备通信,例如可以接收网络设备110发送的编码后的控制数据并发送给所在通信域中的从节点以实现对车辆中的部件的控制功能,或对所在通信域中的从节点返回的控制响应进行编码后发送给网络设备110。从通信节点也可以简称为从节点,用于与所在通信域中的主节点通信,或按照所在通信域中的主节点调度的时频资源与所在通信域中的其它从节点通信。不属于通信域的节点也可以简称为外部节点,该外部节 点包括未加入至该通信域的设备以及加入过该通信域后又退出该通信域的设备,且可以通过加入该通信域而转换为该通信域中的从节点。
在一些实施例中,参见图2,车辆121的车内通信链路可包括如下一个或多个通信域:包括车机、麦克和音箱等的信息娱乐域,包括座舱域控制器、液晶仪表和触控屏等的座舱域,包括无钥匙进入及启动系统、手机钥匙和车钥匙等的开关域。在另一些实施例中,车内架构中还可以包括如下通信域中的一项或多项:包括变速控制器、防抱死控制器、制动力分配器和驱动防滑控制器等的底盘电子域,包括离合器、变速器、万向传动器、主减速器、差速器和半轴动力传动域等的动力传动域,包括安装在车上的各类传感器(例如激光雷达、毫米波雷达、单目摄像头、双目摄像头或卫星导航接收器等)、导航地图生成器、障碍感知器和路径规划器等的辅助驾驶域等。
需要指出的是,本申请实施例中所涉及的网元包括具有Polar码编码功能的发送端设备和具有Polar码解码功能的接收端设备,发送端设备和接收端设备可以是具有本申请实施例中的通信功能的任意两个节点,例如发送端设备为图1所示意的网络设备110或网络设备110中的芯片或电路,且接收端设备为图1所示意的终端设备121至终端设备126中的任一终端设备、或任一终端设备中的芯片或电路,或者,发送端设备为图1所示意的终端设备121至终端设备126中的任一终端设备、或任一终端设备中的芯片或电路,且接收端设备为图1所示意的网络设备110或网络设备110中的芯片或电路,或者,发送端设备为图1所示意的终端设备121至终端设备126中的任一终端设备、或任一终端设备中的芯片或电路,且接收端设备为图1所示意的终端设备121至终端设备126中的另一终端设备、或另一终端设备中的芯片或电路。当发送端设备或接收端设备是车辆121时,具体可以是图2所示意的任一通信域中的通信节点,该通信节点可以为主节点也可以为从节点。当是从节点时,该通信节点可以将编码后的数据发送给所在通信域中的主节点或从节点,也可以接收所在通信域中的主节点或从节点发送的编码后的数据并进行解码。当是主节点时,该通信节点可以将编码后的数据发送给所在通信域中的从节点、或其它通信域中的主节点、或网络设备110、或其它终端设备,也可以接收所在通信域中的从节点、或其它通信域中的主节点、或网络设备110、或其它终端设备发送的编码后的数据并进行解码,具体不作限定。
另外,上述内容描述的系统架构是为了更加清楚的说明本申请的技术方案,并不构成对本申请提供的技术方案的限定。本领域技术人员可知,随着系统架构的演变和新场景的出现,本申请提供的技术方案对类似的技术问题,同样适用。例如,本申请提供的技术方案还可应用于除了车辆之外的其它具有无线通信功能的智能终端,或设置于除了车辆之外的其它具有无线通信功能的智能终端中,或设置于该智能终端的部件中。该智能终端可以为智能运输设备、智能家居设备、机器人等其他终端设备,例如可包括但不限于智能终端或智能终端内的控制器、芯片、雷达或摄像头等其它传感器、以及其它部件等。
为便于理解,先介绍本申请实施例可能用到的部分术语或名词,该术语或名词也作为本申请实施例发明内容的一部分。
(1)Polar码。
在无线通信系统中,Polar码是一种可以取得香农容量且具有较低编译码复杂度的信道编码方式。Polar码的编码策略是利用无噪信道传输对用户有用的信息,且利用全噪信道传输约定的信息或者不传信息。其中,Polar码是一种线性块码,其编码矩阵为F N,编码过程 满足
Figure PCTCN2021101093-appb-000004
其中,
Figure PCTCN2021101093-appb-000005
是一个二进制的行矢量,长度为N,N也称为码长;F N是一个N×N的矩阵,且
Figure PCTCN2021101093-appb-000006
这里:
Figure PCTCN2021101093-appb-000007
定义为log 2N个矩阵F 2的克罗内克(Kronecker)乘积。该部分内容所涉及的加法和乘法操作均为二进制伽罗华域(Galois Field)上的加法和乘法操作,本申请对此不作过多介绍。
从Polar码的编码原理可以看出,Polar码的特点是编码后输出的码字所对应的码长为2的正整数次幂。如果编码后输出的码字所对应的码长不满足2的正整数次幂的形式,则还需要在Polar编码和Polar后额外配置速率匹配模块,以便通过速率匹配模块对编码后的码字进行信道重传或打孔,以匹配信道的实际传输能力。
(2)Polar码的母码。
在Polar码编码中,第一步操作即是确定母码长度,母码长度用于指示编码后输出的码字的长度,也称为码长,形式上满足N=2 m,其中,m是根据速配长度和输入比特长度来确定的。
(3)信息比特、编码块和码字。
本申请实施例中,信息比特是指发送端设备拟发送给接收端设备的信息,编码块是指Polar编码前的信息,而码字是指编码块编码后的信息。其中,编码块中可包含信息比特但不包含校验码,或同时包含信息比特和校验码。在编码块中同时包含信息比特和校验码的情况下,编码块中除去校验码以外的信息即为信息比特。
在Polar码中,业界通常采用两种方式编码信息比特:一种是直接针对整个信息比特生成一个CRC码,并将该CRC码拼接在整个信息比特的后方作为一个编码块,进而对拼接得到的该编码块进行编码;另一种是先对整个信息比特进行均匀分段,再针对于分出的每个数据段生成一个CRC码,将生成的CRC码拼接在所对应的数据段的后方作为一个编码块,然后对拼接得到的各个编码块进行编码。然而,无论是不分段还是均匀分段,都无法准确匹配Polar编码后的码字所需满足的2的正整数次幂的码长,导致Polar编码或Polar解码后都需要额外配置速率匹配模块以实现码长的调整,不利于降低系统设计的复杂度和系统功耗。
有鉴于此,本申请提供一种数据处理方法,用于根据信息比特的总数据长度和预设的第一码率获得一个或多个编码块,并使一个或多个编码块匹配Polar编码后的码字所满足的2的正整数次幂的码长,以便能使用第一码率直接传输或接收一个或多个编码块编码后的码字,而可不必再额外添加速率匹配模块,有效降低系统设计的复杂度和系统功耗。
下面将结合附图对本申请作进一步地详细描述。应理解,方法实施例中的具体操作方法也可以应用于装置实施例或系统实施例中。需要说明的是,在本申请的描述中,多个是指两个或两个以上。鉴于此,本申请实施例中也可以将“多个”理解为“两个或两个以上”。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。例如,“第一编码块”是指最大码长对应的编码块,而“第二编码块”是指非最大码长对应的编码块,“第一编码块”和“第二编码块”只是指示编码块的码长是否为最大码长,并不能理解为 其优先级或重要程度不同,也不能理解为暗示其顺序不同。
【实施例一】
图3示例性示出本申请实施例提供的一种数据处理方法的交互流程示意图,该方法适用于发送端设备和接收端设备,发送端设备和接收端设备可以是任意两个支持本申请实施例中的通信功能的装置、节点或芯片等。如图3所示,该流程包括如下步骤:
步骤301,发送端设备获取信息比特。
在上述步骤301中,信息比特是指发送端设备拟发送给接收端设备的信息比特,该信息比特可以是数据信息,也可以是控制信息,还可以是系统信息,具体不作限定。
步骤302,发送端设备根据信息比特的总数据长度和预设的第一码率获取C个编码块,其中,C个编码块对应一个或多个码长,且一个或多个码长属于预先定义或者配置的S个码长,C个编码块的数据长度对应第一码率,S个码长中的每个码长满足2的正整数次幂的形式,S为大于或等于2的正整数,C为正整数。
在上述步骤302中,信息比特的总数据长度是指发送端设备拟发送给接收端设备的信息比特的总比特位数,例如拟发送的信息比特共300bit时,信息比特的总数据长度即是300bit。另外,预设的第一码率可以是传输格式所要求的码率,也可以是根据需求人为选择的一个码率,还可以是按照规则从预先定义或者配置的多个码率中选出的一个码率,其中的规则例如可以是轮询选取或者随机选取等,具体不作限定。
示例性的,发送端设备中预先定义或者配置有S个码长、T个码率、以及S×T个数据长度的对应关系,S×T个数据长度中的每个数据长度可对应S个码长中的一个码长和T个码率中的一个码率,用于表征预先设定或者配置的使用所对应码率传输所对应码长的编码块时的一个编码块的数据长度,S和T均为大于或等于2的正整数。其中,S个码长可以是参照母码长度进行预先设定或者配置的,例如预先根据常用的速配长度和输入比特长度确定出目前常用的S个m,然后按照N=2 m的形式计算出与目前常用的S个m一一对应的S个母码长度,作为S个码长。
在实施中,S个码长、T个码率、以及S×T个数据长度的对应关系可以以表格、栈、数据库、队列或其它形式中的一种或多种来表示。示例性的,当S个码长、T个码率、以及S×T个数据长度的对应关系以表格形式来表示时,表1示出一种S个码长、T个码率、以及S×T个数据长度的对应关系表,该对应关系表也可称为分段长度参照表,或简称为K表。参照表1所示,K表中包含参照母码所配置的如下S个码长:
Figure PCTCN2021101093-appb-000008
Figure PCTCN2021101093-appb-000009
码长N 0、码长N 1、码长N 2、……和码长N S-1依次减小,码长N 0为S个码长中的最大码长,码长N S-1为S个码长中的最小码长,且S个码长中的每个码长都满足2的正整数次幂的形式,m 0为正整数。K表中还包含如下T个码率:R 0、R 1、R 2、……、R T-1,这T个码率可参照目前常用的码率进行预先设定或者配置。其中,T个码率也称为T阶码率,码率的阶数越高则码率越大,因此码率R 0、码率R 1、码率R 2、……和码率R T-1的阶数依次增大。K表中还包含每个码长和每个码率对应的预先设定或者配置的数据长度,在同一码率下,预先定义或者配置的数据长度会随着码长的增大而增大,且随着码长的减小而减小。也即是说,在同一码率下,预先定义或者配置的数据长度与码长成正相关关系,大码长会对应大编码块,而小码长则对应小编码块。
表1:分段长度参照表(K表)
Figure PCTCN2021101093-appb-000010
继续参照表1所示,一个码长和一个码率对应的预先设定或者配置的数据长度可满足如下形式中的一项或多项:
1,最大码长N 0和任一码率R i对应的预先设定或者配置的数据长度K 0,i满足如下公式(3.1):
K 0,i=N 0×R i……(3.1)
其中,i为大于或等于0且小于或等于T-1的整数。
2,任一非最大码长N j和最小码率R 0对应的预先设定或者配置的数据长度K j,0满足如下公式(3.2):
K j,0=N j×(R 0-D 0)……(3.2)
其中,D 0为预设降阶阈值,用于指示假设小于最小码率的上一阶码率存在时,上一阶码率相比于最小码率的码率差值,可预先设定或者配置为小于最小码率R 0的一个值;j为小于或等于S-1的正整数。
3,任一非最大码长N j和任一非最小码率R z对应的预先设定或者配置的数据长度K j,z满足如下公式(3.3):
K j,z=N j×R z-1……(3.3)
其中,R z-1为码率小于R z的上一阶码率,Z为小于或等于T-1的正整数。
在通信领域中,信道所能承受的数据长度为码长和码率的乘积,而信道的传输性能与码长成正相关关系,且与码率成负相关关系。也即是说,当码长越小时,信道的数据传输性能越差,当码率越小时,信道的数据传输性能越好。按照上述表1中的设置方式,通过让使用每个码率传输最大码长对应的编码块的长度刚好等于信道所能承受的数据长度,能充分利用最大码长对数据传输性能的有利性实现最大码长所对应信道的最佳传输性能。且,通过让使用每个码率传输非最大码长对应的编码块的长度小于信道所能承受的数据长度,还能通过降低码率弥补小码长对数据传输性能的不利影响。例如,使用最小码率R 0传输非最大码长N 1对应的编码块时,理论上信道所能承受的数据长度为N 1×R 0,而预先设定或者配置的编码块的数据长度为N 1×(R 0-D 0),如此,使用最小码率R 0传输非最大码长N 1对应的编码块的数据长度实际小于最小码率R 0对应的信道所能承受的数据长度,有助于提高非最大码长N 1所对应信道的传输性能。又例如,使用非最小码率(假设为R 1)传输非最大码长(假设为N 2)对应的编码块时,理论上信道所能承受的数据长度为N 2×R 1,而通过预先设定或者配置编码块的数据长度为N 2×R 0,如此,使用非最小码率R 1传输非最大码长N 2对应的编码块的数据长度实际上和上一阶码率R 0对应的信道所能承受的数据长度相同, 且小于当前非最小码率R 1对应的信道所能承受的数据长度,有助于提高非最大码长N 2所对应信道的传输性能。
示例性的,目前常用的码长主要包括:1024bit、512bit、256bit、128bit或者64bit中一个或多个,目前常用的码率主要包括:1/4、3/8、1/2、5/8、3/4和/或7/8。考虑到这些码率中任意相邻的两种码率间隔都为1/8,因此可预先设定或者配置预设的降阶阈值D 0为1/8,如此,无论实际场景中以哪个码率作为最小码率,都能尽量让K表保持一致。举例来说,当预设的降阶阈值D 0为1/8时,一种可能的场景中,如果码长包括如上五种码长,且码率包括如上六种码率,则表1中的K表可具体表示为如下表2(A)所示,计算结果参照如下表2(B)所示。当预设的降阶阈值D 0为1/8时,另一种可能的场景中,如果码长包括如上五种码长,而码率包括3/8、1/2、5/8、3/4和7/8,则表1中的K表可具体表示为如下表3(A)所示,计算结果参照如下表3(B)所示。对比表2(B)和表3(B)可知,表2(B)中的最小码率为1/2,表3(B)中的最小码率为3/8,虽然两个最小码率不同,但表3(B)也只是比表2(B)中少了1/2所对应的那行数据,其它码率所对应的数据长度则仍与表2(B)保持一致。
需要指出的是,针对本申请实施例所给出的每个表,例如无论是如下所示的表2(A)和表2(B)、或表3(A)和表3(B),还是后续出现的表4(A)至表4(F)、表5(A)至表5(F),亦或上述内容所示出的表1,都只是给出各自场景下最大可满足的一种形式,但实际上每个表中都可以包含其中的一行或多行,或者包含其中的一列或多列,未必每行和每列都要满足,本申请对此不作具体限定。另外,表只是对应关系的一种可能的承载形式,实际操作中还可以使用其它承载形式来表征对应关系,例如数据库、数据栈或队列等,本申请对此也不作具体限定。
表2(A):一种K表的具体示例
Figure PCTCN2021101093-appb-000011
表2(B):一种K表的具体示例
Figure PCTCN2021101093-appb-000012
Figure PCTCN2021101093-appb-000013
表3(A):另一种K表的具体示例
Figure PCTCN2021101093-appb-000014
表3(B):另一种K表的具体示例
Figure PCTCN2021101093-appb-000015
基于表2或表3所示意的K表,在实施中,假设第一码率为1/2,则发送端设备可先从K表中获得码率1/2所在的那一行中5个码长各自对应的预先设定或者配置的数据长度,然后按照预先设定或者配置的分段原则,利用信息比特的总数据长度和5个码长各自对应的预先设定或者配置的数据长度获得C个编码块。其中,C个编码块可以对应5个码长中的一个或多个码长,例如C个编码块都对应同一码长,或者C个编码块中存在两个或两个以上的编码块对应不同的两个码长。此处的编码块与码长对应是指编码块的数据长度与该码长对应的预先设定或者配置的数据长度相同。如此,由于K表中的码长是按照Polar编码时采用的母码长度预先设定或者配置的,因此该分段方式实际上是按照母码长度来对信息比特进行分段的,进而能使分段后的每个编码块直接匹配Polar编码的母码长度,而不需要再进行速率匹配。
本申请实施例中,不同的分段原则可对应不同的分段结果,为便于理解,图4示例性示出本申请实施例提供的一种不同分段原则下的分段后数据呈现形式图,该示例中,假设码长N 0对应的一个编码块的数据长度为K 0,码长N 1对应的一个编码块的数据长度为K 1,……,码长N S-1对应的一个编码块的数据长度为K S-1,CRC 0、CRC 1、……、CRC S-1、CRC ls是指校验码的长度,并不代表实际的校验码内容,例如最大码长N 0对应的每个编码块中的信息比特对应的校验码的长度都称为CRC 0,但这只是指示最大码长N 0对应的各个编码块中的校验码的长度相同,并不意味着最大码长N 0对应的各个编码块中的校验码内容相同。参见图4中(A)至图4中(C)所示,其中:
图4中(A)示出一种不需要添加校验码的分段后数据呈现形式图,如图4中(A)所 示,该示例对应的分段原则为:根据信息比特的总数据长度获得C 0a个码长N 0对应的编码块、C 1a个码长N 1对应的编码块、……、C (S-1)a个码长N S-1对应的编码块,且每个编码块中包含信息比特但不包含校验码。按照该分段原则,每个编码块的数据长度即为该编码块中包含的信息比特的数据长度。一种可能场景中(为便于介绍,简称为场景一),假设信息比特的总数据长度为584bit,第一码率为1/2,则基于表2(B)给出的K表可知,1/2码率在1024bit码长、512bit码长、256bit码长、128bit码长和64bit码长下的一个编码块的数据长度分别为512bit、192bit、96bit、48bit和24bit,因此,分段后的C个编码块可以包括:1个1024bit码长对应的数据长度为512bit的编码块,1个128bit码长对应的数据长度为48bit的编码块和1个64bit码长对应的数据长度为24bit的编码块。
图4中(B)示出一种需要添加校验码的分段后数据呈现形式图,如图4中(B)所示,该示例对应的分段原则为:根据信息比特的总数据长度获得C 0b个码长N 0对应的编码块、C 1b个码长N 1对应的编码块、……、C (S-1)b个码长N S-1对应的编码块,且每个编码块中都包含信息比特和针对于所包含的信息比特的一个校验码,同一码长对应的各个编码块中的校验码的数据长度相同,例如C 0b个码长N 0对应的编码块中的校验码的数据长度都为CRC 0,C 1b个码长N 0对应的编码块中的校验码的数据长度都为CRC 1,……。按照该分段原则,每个编码块的数据长度为该编码块中包含的信息比特的数据长度和校验码的数据长度之和。仍以上述场景一为例,假设预先设定或者配置的校验码的数据长度为24bit,则分段后的C个编码块可以包括:1个1024bit码长对应的数据长度为512bit的编码块,该编码块中包括488bit的信息比特和24bit的校验码;1个256bit码长对应的数据长度为96bit的编码块,该编码块中包括72bit的信息比特和24bit的校验码;1个128bit码长对应的数据长度为48bit的编码块,该编码块中包括24bit的信息比特和24bit的校验码。
图4中(C)示出另一种需要添加校验码的分段后数据呈现形式图,如图4中(C)所示,该示例对应的分段原则为:根据信息比特的总数据长度获得C 10个码长N 0对应的第一编码块和C 20个码长N 1~码长N S-1中的L个码长对应的第二编码块,C 10个第一编码块的每个第一编码块中包含信息比特和针对于所包含的信息比特的第一校验码,且每个第一编码块中包含的第一校验码的数据长度都为CRC 0,C 20个第二编码块中包含除C 10个第一编码块所包含的信息比特以外的剩余信息比特和针对于剩余信息比特的一个第二校验码,第二校验码的数据长度为CRC ls,L为大于或等于0的正整数,C 10为正整数且C 20为大于或等于0的整数,或者C 10为大于或等于0的整数且C 20为正整数。按照该分段原则,每个第一编码块的数据长度为该第一编码块中包含的信息比特的数据长度和第一校验码的数据长度之和,而C 20个第二编码块的数据长度为C 20个第二编码块中包含的信息比特的数据长度和第二校验码的数据长度。仍以上述场景一为例,假设预先设定或者配置的第一校验码的数据长度CRC 0和第二校验码的数据长度CRC ls都为24bit,则分段后的C个编码块可以包括:1个1024bit码长对应的数据长度为512bit的第一编码块,该第一编码块中包括488bit的信息比特和24bit的第一校验码;1个256bit码长对应的数据长度为96bit的第二编码块,该第二编码块中包括96bit的信息比特;1个64bit码长对应的数据长度为24bit的第二编码块,该第二编码块中包括24bit的第二校验码。
比较上述三种分段原则:图4中(A)所采用的分段原则由于并未添加校验码,因此在传输出错时只能重传全部的信息比特,而图4中(B)和图4中(C)所采用的分段原则由于添加了校验码,因此在传输出错时可只重传校验码出错的那部分编码块,从而有助于 降低重传的时延;且,图4中(B)所采用的分段原则针对于每个编码块都添加了校验码,而不考虑编码块的长短,而图4中(C)所采用的分段原则对最大码长N 0的每个长编码块都添加校验码,但并不对非最大码长的每个短编码块添加校验码,而是对非最大码长的全部短编码块添加一个校验码,该分段原则有助于在添加必要的校验码的同时,减少分段后的编码块的总数据长度,有助于降低空口开销。
另外,需要指出的是,上述给出的示例都是尽量使用大码长对应的大编码块承载尽可能多的信息比特,如此可减少编码块的数量。当然,如果不考虑编码块的数量,同一分段原则下还可以有很多种分段方式,例如,按照图4中(C)所采用的分段原则,上述场景一对应的分段后的C个编码块还可以包括:2个1024bit码长对应的数据长度为512bit的第一编码块,第一个第一编码块中包括488bit的信息比特和24bit的第一校验码,第二个第一编码块中包含96bit的信息比特和24bit的第一校验码,还包括392bit的无用比特位,这些无用比特位后续可填充预设比特序列或删除。当同一分段原则中存在多种分段结果时,最终选择哪种分段形式,则可根据实际需求来决定,例如,若需要尽可能地减少无用比特位的数量以降低空口开销,则可选择1个1024bit码长对应的第一编码块、1个256bit码长对应的编码块和1个64bit码长对应的编码块的那种分段结果,若需要尽可能地少分段以降低传输复杂度,则可选择2个1024bit码长对应的第一编码块的那种分段结果。
步骤303,发送端设备编码C个编码块,获得C个编码块编码后的码字。
在上述步骤303中,发送端设备在按照所使用的分段原则确定分段结果(例如包括几个第一编码块、几个第二编码块、每个第一编码块中包含的信息比特的数据长度、以及每个第二编码块中包含的信息比特的数据长度等)后,可按照分段结果拆分整个信息比特,并根据拆分获得的各段信息比特构建C个编码块(一个编码块中可能包含信息比特,也可能不包含信息比特,而是仅用于承载CRC),以及根据分段原则对C个编码块中的一个或多个编码块附加CRC,并对附加CRC后的编码块进行Polar码编码,以获得每个编码块的码字。
示例性的,发送端设备在获得C个编码块后,还可以执行比特映射、高阶调制或符号交织等操作中的一项或多项。其中,编码C个编码块、比特映射、高阶调制或符号交织等操作的顺序不作具体限定,例如这些操作可以是一次执行完成的,也可以是依次执行的,还可以是并行执行的。一种可能的实现方式中,在上述一项或多项操作完成后,C个编码块的码字会形成一个完整的序列,该序列中的各个第一编码块的码字和各个第二编码块的码字可以按照预先设定或者配置的顺序拼接在一起,且该顺序还可以预先设定或者配置给接收端设备,或者由发送端设备通过消息方式通知给接收端设备,以便接收端设备后续也能按照相同的顺序拆分以获得整个信息比特。关于这几个操作的具体实现,本申请对此不作过多介绍和限定。
需要说明的是,针对于一个编码块来说,该编码块的数据长度是指编码该编码块之前该编码块所包含的比特位数,而码长则是指编码编码块后所获得的编码块中的码字的比特位数。例如,如果一个编码块对应的数据长度为384bit,对应的码长为1024bit,则意味着该编码块在编码前包含384bit的数据,而编码后包含1024bit的码字。如此,由于发送端设备是按照预先设定或者配置的满足的2的正整数次幂的码长来获得编码块的,因此,每个编码块编码后的码长都能匹配Polar编码后的码字所满足的2的正整数次幂的码长,从而发送端设备可无需再对附加CRC后的编码块进行速率匹配,即可编码并发送编码块编 码后的码字。
步骤304,发送端设备将C个编码块编码后的码字发送给接收端设备。
示例性的,发送端设备可以将C个编码块的码字承载在消息中,并通过信道发送给接收端设备。其中,C个编码块的码字在消息中可呈现为一个完整的序列,还需要接收端设备从该序列中分段出C个编码块各自的码字。
步骤305,接收端设备根据信息比特的总数据长度和预设的第一码率,解码C个编码块编码后的码字,获得C个编码块中包含的信息比特。
在上述步骤305中,信息比特的总数据长度可以是发送端设备通过消息发送给接收端设备的,接收端设备解析该消息即可获得信息比特的总数据长度。其中,承载信息比特的总数据长度的消息可以是承载C个编码块编码后的码字的消息,也可以是其它消息,例如是额外发送的一个消息,或者是承载其它信息的消息等,具体不作限定。
示例性的,当C个编码块的码字呈现为一个完整的序列时,接收端设备接收到承载该序列的消息后,可以根据信息比特的总数据长度和预设的第一码率,按照与发送端设备一致的分段原则确定分段结果,并根据分段结果中指示的各种编码块的数量以及各个编码块的码长(例如第一编码块的数量、每个第一编码块的码长、各个第二编码块的数量和/或每个第二编码块的码长等),对该消息中承载C个编码块编码后的码字的序列进行分段,获得每个编码块编码后的码字,进而解码C个编码块编码后的码字,获得C个编码块。其中,接收端设备获得C个编码块编码后的码字后,还可以执行符号解交织、高阶解调或比特映射等操作中的一项或多项。其中,解码C个编码块编码后的码字、符号解交织、高阶解调或比特映射等操作顺序不作具体限定,例如这些操作可以是一次执行完成的,也可以是依次执行的,还可以是并行执行的。关于这几个操作的具体实现,本申请对此不作过多介绍和限定。
进一步示例性的,当C个编码块编码后的码字是发送端设备采用Polar码编码C个编码块所得到的时,接收端设备可以采用相对应的Polar码解码C个编码块编码后的码字,获得C个编码块。且,接收端设备按照与发送端设备一致的分段原则所确定的分段结果中还可以包含每个编码块中包含的信息比特的数据长度和校验码的数据长度,如此,接收端设备还可以根据分段结果,从每个编码块中获得信息比特和/或校验码。且,在包含校验码的情况下,接收端设备还可对编码块进行校验。例如,当校验码为CRC校验码时,如果发送端设备使用生成多项式获得CRC校验码,则每个CRC校验码对应的一个或多个编码块必然可被生成多项式整除。因此,接收端设备可使用同样的生成多项式(生成多项式是发送端设备和接收端设备预先约定好的,在发送端设备和接收端设备的整个传输过程中保持不变)和CRC校验码对应的一个或多个编码块相除,如果余数为0,意味着该CRC校验码对应的一个或多个编码块没有错误,接收端设备可获得该一个或多个编码块中包含的信息比特。反之,如果余数不为0,意味着该CRC校验码对应的一个或多个编码块中存在一个或多个比特位出错,接收端设备可要求发送端设备重传CRC校验不通过的编码块,待重传无误后再进行级联。
进一步示例性的,当C个编码块都没有错误时,接收端设备还可将C个编码块中包含的信息比特进行级联,获得完整的信息比特,该完整的信息比特即为发送端设备拟发送给接收端设备的信息比特,接收端设备可使用该完整的信息比特完成后续的相关操作。需要指出的是,级联只是一种示例,在实际操作中也可以不级联,例如也可以单独使用每个编 码块中包含的信息比特完成与每个编码块相关的操作,或者也可以级联部分编码块中包含的信息比特完成与该部分编码块相关的操作等等,具体不作限定。
在上述实施例一中,通过使C个编码块匹配Polar编码后的码字所满足的2的正整数次幂的码长,能在Polar编/解码后直接传输或接收C个编码块编码后的码字,而不必再额外配置速率匹配模块,有效简化Polar编/解码的系统设计,进而降低Polar编/解码的系统功耗。
下面以图4中(C)所示意的分段原则为例,基于实施例二介绍数据处理方法的进一步实现。
【实施例二】
图5示例性示出本申请实施例提供的另一种数据处理方法的交互流程示意图,该方法适用于发送端设备和接收端设备,发送端设备和接收端设备可以是任意两个支持本申请实施例中的通信功能的装置、节点或芯片等。如图5所示,该流程包括如下步骤:
步骤501,发送端设备获取信息比特。
步骤502,发送端设备根据预设的第一码率在最大码长下的预先设定或者配置的数据长度和预先设定或者配置的第一校验码的数据长度,确定一个第一编码块中包含的信息比特的数据长度。
在上述步骤502中,基于图4中(C)所示意的分段原则可知,每个第一编码块由信息比特和一个针对于该第一编码块中包含的信息比特的第一校验码构成,也即是说,每个第一编码块的数据长度等于该第一编码块中包含的信息比特的数据长度和第一校验码的数据长度之和,因此,每个第一编码块中包含的信息比特的数据长度也即等于该第一编码块的数据长度与该第一编码块中包含的第一校验码的数据长度之差。基于此,假设预先设定或者配置的第一校验码的数据长度为CRC 0,K表中规定预设的第一码率在最大码长N 0下的预先设定或者配置的数据长度为K 0(即K表中规定一个第一编码块的数据长度为K 0),则一个第一编码块中包含的信息比特的数据长度为:K 0-CRC 0
步骤503,发送端设备判断信息比特的总数据长度和一个第一编码块中包含的信息比特的数据长度的比值是否为整数,若是,则执行步骤504,若否,则执行步骤505。
步骤504,发送端设备确定第一编码块的数量为该比值,第二编码块的数量为0(即不存在第二编码块),之后执行步骤507。
在上述步骤504中,信息比特的总数据长度和一个第一编码块中包含的信息比特的数据长度的比值为整数,意味着信息比特刚好可以全部由第一编码块来承载,而不存在剩余的信息比特。该情况下,发送端设备可直接将该比值作为第一编码块的数量C 10,且将第二编码块的数量设置为0,之后跳转至步骤507。此情况下,由于第二编码块的数量为0,也即是不存在第二编码块,因此分段后的C个编码块全部为第一编码块,C 10等于C。
步骤505,发送端设备将不大于该比值的最大整数作为第一编码块的初始数量,根据信息比特的总数据长度、初始数量的第一编码块中包含的信息比特的数据长度、以及预先设定或者配置的第二校验码的数据长度确定剩余待分段数据的数据长度。
在上述步骤505中,假设信息比特的总数据长度为K input,则第一编码块的初始数量C 0'可满足如下公式(5.1):
C 0'=floor(K input/(K 0-CRC 0))……(5.1)
其中,floor()是向下取整函数,也称为向下舍入或向零取舍,即取不大于括号中的 数值的最大整数,例如floor(1.5)即是取不大于1.5的最大整数,计算的结果为1,floor(2)即是取不大于2的最大整数,计算结果为2。如此,通过上述公式(5.1)所计算出的第一编码块的初始数量,可用于指示承载不超过信息比特的总数据长度的第一编码块的最大数量。
进一步的,信息比特的总数据长度为K input,而初始数量C 0'个第一编码块中的每个第一编码块包含的信息比特的数据长度为K 0-CRC 0,因此,除C 0'个第一编码块所包含的信息比特以外的剩余信息比特的数据长度K ls可满足如下公式(5.2):
K ls=K input-C 0'×(K 0-CRC 0)……(5.2)
基于图4中(C)所示出的分段原则可知,剩余信息比特的后方还会附加一个针对于整个剩余信息比特的第二校验码,也即是说,剩余待分段数据由剩余信息比特和第二校验码构成,假设预先设定或者配置的第二校验码的数据长度为CRC ls,则剩余待分段数据的数据长度D ls可满足如下公式(5.3):
D ls=K ls+CRC ls……(5.3)
其中,剩余待分段数据未来可能会承载于C 20个第二编码块,也可能会承载于一个第一编码块。
为便于理解,以一个具体的场景(简称为场景二),举例说明上述计算过程:假设信息比特的总数据长度为1000bit,第一校验码的数据长度和第二校验码的数据长度被预先设定或者配置为24bit,且第一码率为3/8,则查询表2(B)所示出的K表可知,3/8码率在最大码长1024bit下的预先设定或者配置的数据长度为384bit,也即是说,K表规定在3/8码率下最大码长1024bit对应的一个第一编码块的长度为384bit;如此,一个第一编码块中包含的信息比特的数据长度为:384bit-24bit=360bit,信息比特的总数据长度1000bit和一个第一编码块中包含的信息比特的数据长度360bit的比值为1000/360,约为2.78,由于该比值2.78不为整数,因此可确定第一编码块的初始数量为不大于该比值2.78的最大整数,即2;进一步的,由于该比值2.78不为整数,意味着除2个第一编码块中所包含的信息比特之外,还存在一部分剩余信息比特,该部分剩余信息比特的数据长度为:1000bit-2×360bit=280bit;由于剩余信息比特后还会拼接一个第二校验码,因此剩余待分段数据的数据长度为:280bit+24bit=304bit。
步骤506,发送端设备根据第一编码块的初始数量、剩余待分段数据的数据长度和预设的第一码率在各个非最大码长下的预先设定或者配置的数据长度,确定第一编码块的数量和各个非最大码长对应的第二编码块的数量。
示例性的,发送端设备可采用分段数量优先原则或比特位数量优先原则来确定第一编码块的数量和各个非最大码长对应的第二编码块的数量。其中,发送端设备所采用的原则可通过预先设定或配置的方式进行设置,且还可以与接收端设备保持一致,例如通过预先设定或者配置的方式指示发送端设备和接收端设备采用同一原则,或者由发送端设备向接收端设备发送指示所采用原则的指示消息,以便接收端设备根据该指示消息采用相同的原则进行解码等。其中,指示所采用原则的指示消息可以承载在C个编码块编码后的码字所在的消息中,也可以承载在额外设置的一个消息中,还可以承载在其它信息所在的消息中。另外,指示消息可以以文字、字符、数字或其他形式中的一项或多项来表示,例如一种可能的示例中,当指示消息为0时,意味着发送端采用的是分段数量优先原则,当指示消息为1时,意味着发送端采用的是比特位数量优先原则。保持发送端和接收端采用同一原则 的方式有很多,此处不再一一赘述。
进一步地,在分段数量优先原则中,参照表1所示意的K表,考虑到最大码长对应的数据长度是根据当前码率确定的,而非最大码长对应的数据长度是根据上一阶码率确定的,因此,当待分段数据较多时,如果将待分段数据划分到非最大码长对应的短编码块中,则这些短编码块折算在当前码率下的码长可能已超过最大码长,进而导致编码块的传输时延较大,因此想要保证较小的传输时延,则需要控制编码块的数量不能过多。在比特位数量优先原则中,如果编码块中包含的无用比特位的数量越多,则在各编码块码率相差不大时,传输该编码块时所需的空口损耗也就越大,因此想要保证较低的空口损耗,则需要控制分段后的C个编码块的总数据长度尽量接近有效数据的总数据长度。其中,有效数据包括信息比特、以及第一校验码和/或第二校验码。下面分别对这两种原则下的可能分段方式进行详细地介绍。
分段数量优先原则
在分段数量优先原则中,当剩余待分段数据的数据长度较多时,对剩余待分段数据进行分段很可能会获得较多的编码块,不利于降低数据的传输时延。该情况下,发送端设备可不再对剩余待分段数据进行分段,而是额外使用一个最大码长的第一编码块来承载整个剩余待分段数据。该情况下,C个编码块中包含第一编码块但不包含第二编码块,C的取值等于第一编码块的数量C 10的取值,即第一编码块的初始数量加1。反之,当剩余待分段数据的数据长度较短时,即使对剩余待分段数据进行分段也很可能只获得较少的编码块,分段对数据传输时延的影响不大。该情况下,发送端设备可参照预设的第一码率在S-1个非最大码长下的预先设定或者配置的数据长度对剩余待分段数据进行分段,将剩余待分段数据分为L个非最大码长对应的第二编码块。其中,每个非最大码长对应的第二编码块的数量可以为1,也可以为2或者大于2的整数,具体不作限定。如此,通过在剩余待分段数据较少的情况下进行分段,能在分段数量满足传输时延的情况下尽量使用小码长的小编码块承载剩余待分段数据,有效降低编码块中承载的无用比特位的数量。
下面示例性介绍在分段数量优先原则下的几种可能的分段方式:
分段方式1-1
在分段方式1-1中,评判是否进行分段的基准为预设的数据长度阈值,当剩余待分段数据的数据长度大于预设的数据长度阈值时,发送端设备可设置第一编码块的数量为大于第一编码块的初始数量的最小整数(即第一编码块的初始数量加1),而第二编码块的数量为0,也即是不存在第二编码块。当剩余待分段数据的数据长度不大于预设的数据长度阈值时,发送端设备可设置第一编码块的数量为第一编码块的初始数量,并可参照上述步骤502、步骤503和步骤505中确定最大码长对应的第一编码块的初始数量的计算方式,按照码长由大到小的顺序依次确定出S-1个非最大码长对应的编码块的初始数量,并将非最小码长对应的编码块的初始数量作为非最小码长对应的编码块的数量,将不小于最小码长对应的编码块的初始数量的最小整数作为最小码长对应的编码块的数量,进而将S-1个非最大码长中数量不为0的L个非最大码长对应的编码块的数量作为L种第二编码块的数量。
仍以上述场景二为例,介绍分段方式1-1的具体计算过程:在场景二中,剩余待分段数据的数据长度为304bit,假设预设的数据长度阈值为246bit,则剩余待分段数据的数据长度304bit大于该预设的数据长度阈值246bit,因此发送端设备可直接使用一个最大码长1024bit对应的数据长度为384bit的第一编码块来承载整个剩余待分段数据,也即是说, 384bit的第一编码块中存在304bit用于承载剩余待分段数据,而剩下的80bit为无用比特位。
在另一个场景(简称为场景三)中,假设剩余待分段数据为200bit,第一码率为3/8,则参照表2(B)所示意的K表可知,在3/8码率下,512bit码长对应的预先设定或者配置的数据长度为128bit,因此512bit码长对应的编码块的数量为:floor(200/128)=1;更新剩余的待分段数据的数据长度D ls为:200bit-128bit=72bit,在3/8码率下,256bit码长对应的预先设定或者配置的数据长度为64bit,因此256bit码长对应的编码块的数量为:floor(72/64)=1;更新剩余的待分段数据的数据长度D ls为:72bit-64bit=8bit,在3/8码率下,128bit码长对应的预先设定或者配置的数据长度为32bit,因此128bit码长对应的编码块的数量为:floor(8/32)=0;剩余的待分段数据的数据长度D ls仍为8bit,在3/8码率下,64bit码长(即最小码长)对应的预先设定或者配置的数据长度为16bit,因此64bit码长对应的编码块的数量为:ceil(8/16)=1。由于非最大码长512bit、256bit、128bit和64bit对应的编码块的数量分别为1、1、0、1,因此共存在如下3种第二编码块:第一种第二编码块的码长为512bit,数量为1,数据长度为128bit,该128bit中存储的都是信息比特;第二种第二编码块的码长为256bit,数量为1,数据长度为64bit,该64bit中的48bit存储的是信息比特,剩下的16bit中存储的是第二校验码的16bit信息;第三种第二编码块的码长为64bit,数量为1,数据长度为16bit,该16bit中的8bit存储的是第二校验码的剩余的8bit信息,该16bit中的剩余的8bit属于无用比特位,后续可进行填充或删除。
分段方式1-2
在分段方式1-2中,评判是否进行分段的基准可为任一码长对应的数量阈值。以最小码长为例,发送端设备可先将剩余待分段数据折算到最小码长对应的编码块中,得到最小码长对应的编码块的预计数量,如果该预计数量大于最小码长对应的数量阈值,则发送端设备设置第一编码块的数量为大于第一编码块的初始数量的最小整数,而第二编码块的数量为0,也即是不存在第二编码块。如果该预计数量不大于最小码长对应的预设的数量阈值,则发送端设备可设置第一编码块的数量为第一编码块的初始数量,并可参照预设的第一码率在S-1个非最大码长下的预先设定或者配置的数据长度和预设的第一码率在最小码长N S-1下的预先设定或者配置的数据长度之间的比值关系,折算最小码长对应的编码块的预计数量,获得S-1个非最大码长对应的编码块的数量,进而将其中数量不为0的L个非最大码长对应的编码块的数量作为L种第二编码块的数量。
假设K表中规定预设的第一码率在最小码长N S-1下的预先设定或者配置的数据长度为K S-1(即K表中规定最小码长对应的一个编码块的数据长度为K S-1),则最小码长N S-1对应的编码块的预计数量C S-1'可满足如下公式(5.4):
C S-1'=ceil(K ls/K S-1)……(5.4)
其中,ceil()是向上取整函数,即取不小于括号中的数值的最小整数,例如ceil(1.5)即是取不小于1.5的最小整数,其计算结果为2,ceil(2)即是取不小于2的最小整数,其计算结果为2。如此,通过上述公式(5.4)所计算出的最小码长N S-1对应的编码块的预计数量C S-1',可用于指示承载不少于剩余待分段数据的总数据长度的最小编码块的最小数量,该最小数量能保证将全部剩余待分段数据都包含在内,以避免遗漏待分段数据。
进一步的,考虑到非最大码长N 1~N S-1共有S-1个,而随着剩余待分段数据的数据长度的逐渐变长,剩余待分段数据会按照码长逐渐变大的顺序依次被分到非最大码长N S-1~N 1所对应的编码块,等到被分到非最大码长N 1所对应的编码块后,又会开始按照码长逐渐变 大的顺序重复分到非最大码长N S-1到N 1所对应的编码块,也即是每个非最大码长对应的编码块的数量可能会大于1。基于此,一个可能的示例中,可将非最大码长N S-1作为允许分段数量的一个临界点,预先设定或者配置预设的数量阈值为2 S-1-1,通过采用该预设的数量阈值2 S-1-1作为决策是否能进行分段的基准,能尽量确保剩余待分段数据分为每个非最大码长所对应的编码块的数量不大于1。相应的,按照该原则,如果是采用上述分段方式1-1中的方案将预设的数据长度阈值作为分段基准,则预设的数据长度阈值可对应设置为K S-1×(2 S-1-1)。
基于此,当最小码长对应的编码块的预计数量C S-1'大于最小码长对应的数量阈值2 S-1-1时,发送端设备可获得C 0'+1个第一编码块。例如,在上述场景二中,由于剩余待分段数据的数据长度为304bit,3/8码率在最小码长64bit下的预先设定或者配置的数据长度为16,因此最小码长64bit对应的编码块的预计数量为不小于304和16的比值的最小整数,304和16的比值恰好为19,因此最小码长64bit对应的编码块的预计数量即为19。继续参照表2所示,K表中共存在5个码长,也即是S的取值为5,因此,当预设的数量阈值设置为2 S-1-1时,预设的数量阈值为:2 4-1=15,而场景二计算出的最小码长64bit对应的编码块的预计数量19大于该预设的数量阈值15,因此,发送端设备可不再对剩余待分段数据进行分段,而是另外设置一个第一编码块承载整个剩余待分段数据。由于第一编码块的初始数量为2,因此分段后的C个编码块可包括:3个数据长度为384bit的第一编码块,第1个第一编码块中包含360bit的信息比特和24bit的第一校验码,第2个第一编码块中包含360bit的信息比特和24bit的第一校验码,第3个第一编码块中包含280bit的信息比特和24bit的第一校验码,且还包含80bit的无用比特位,后续可进行填充或删除。
反之,当最小码长对应的编码块的预计数量C S-1'不大于最小码长对应的数量阈值2 S-1-1时,根据表1所示意的K表中同一码率所在的那行数据可知,针对于非最大码长N 1~N S-1中的任一非最大码长N j(j为小于或等于S-2的正整数),该非最大码长N j对应的预先设定或者配置的数据长度和最小码长N S-1对应的预先设定或者配置的数据长度的比值刚好等于该非最大码长N j和最小码长N S-1的比值,换句话说,同样数据长度的数据划分为非最大码长N j对应的编码块所获得的数量和划分为最小码长N S-1对应的编码块所获得的数量的比值等于最小码长N S-1和非最大码长N j的比值。例如,当K表具体表示为表2(B)时,非最大码长N 1~N S-1分别为512、256、128、64,最小码长N S-1为64,同一码率下非最大码长512、256、128、64对应的预先设定或者配置的数据长度与最小码长64对应的预先设定或者配置的数据长度的比值分别为:8:1、4:1、2:1、1:1,也即是说,最小码长64对应的8个编码块能折算到非最大码长512对应的1个编码块中,最小码长64对应的4个编码块能折算到非最大码长256对应的1个编码块中,最小码长64对应的2个编码块能折算到非最大码长128对应的1个编码块中,最小码长64对应的1个编码块能折算到非最大码长64对应的1个编码块中。
基于此,发送端设备在确定最小码长N S-1对应的编码块的预计数量C S-1'不大于最小码长对应的数量阈值2 S-1-1时,可按照如下分段方式1-21或分段方式1-22中的任一分段方式对剩余待分段数据进行分段:
分段方式1-21
实施中,发送端设备可按照码长从大到小的顺序依次确定S-1个非最大码长N 1~N S-1中的每个非最大码长对应的编码块的数量:
第一步,S-1个非最大码长N 1~N S-1中的最大的非最大码长N 1对应的编码块的数量C 1可满足如下公式(5.51):
C 1=floor(C S-1'/(N 1/N S-1))……(5.51)
其中,上述公式(5.51)是将最小码长N S-1对应的编码块的预计数量尽可能地折算在最大的非最大码长N 1中。示例性的,当最大的非最大码长N 1和最小码长N S-1分别为表2(B)所示意的512bit和64bit时,上述公式(5.51)可简化为:C 1=floor(C S-1'/8)。
第二步,当C 1不为0时,由于最小码长N S-1对应的编码块的预计数量C S-1'中的一部分已折算到非最大码长N 1对应的编码块中,因此,可更新最小码长N S-1对应的编码块的预计数量C S-1',更新后的预计数量C S-1'满足如下公式(5.52):
C S-1'=C S-1'-C 1×(N 1/N S-1)……(5.52)
其中,当最大的非最大码长N 1和最小码长N S-1分别为表2(B)所示意的512bit和64bit时,上述公式(5.52)可简化为:C S-1'=C S-1'-8C 1
第三步,剩下的S-2个非最大码长N 2~N S-1中的最大的非最大码长N 2对应的编码块的数量C 2可满足如下公式(5.53):
C 2=floor(C S-1'/(N 2/N S-1))……(5.53)
其中,上述公式(5.53)是将最小码长N S-1对应的编码块的剩余的预计数量尽可能地折算在剩下的S-2个非最大码长N 2~N S-1中的最大的非最大码长N 2中。当非最大码长N 2和最小码长N S-1分别为表2(B)所示意的256bit和64bit时,上述公式(5.53)可简化为:C 2=floor(C S-1'/4)。
第四步,当C 2不为0时,由于最小码长N S-1对应的编码块的剩余的预计数量C S-1'中的一部分已折算到非最大码长N 2对应的编码块中,因此,进一步更新最小码长N S-1对应的编码块的预计数量C S-1',更新后的预计数量C S-1'满足如下公式(5.54):
C S-1'=C S-1'-C 2×(N 2/N S-1)……(5.54)
其中,当非最大码长N 2和最小码长N S-1分别为表2(B)所示意的256bit和64bit时,上述公式(5.54)可简化为:C S-1'=C S-1'-4C 2
不断执行上述过程,直至依次遍历至最小的非最大码长N S-2时,更新后的最小码长N S-1对应的编码块的预计数量C S-1'满足如下公式(5.55):
C S-1'=C S-1'-C S-2×(N S-2/N S-1)……(5.55)
其中,当非最大码长N S-2和最小码长N S-1分别为表2(B)所示意的128bit和64bit时,上述公式(5.55)可简化为:C S-1'=C S-1'-2C S-2
最后一步,由于非最大码长N S-1即为最小码长,因此非最小码长N S-1对应的编码块的数量C S-1可满足如下公式(5.56):
C S-1=C S-1'……(5.56)
按照上述计算步骤,发送端设备最终可获得S-1个非最大码长N 1~N S-1各自对应的编码块的数量,任一非最大码长对应的编码块的数量可能为0(即不存在该非最大码长对应的编码块),也可能不为0,发送端设备可将其中数量不为0的L个非最大码长对应的编码块的数量作为L种第二编码块的数量。
仍以上述场景三为例,由于剩余待分段数据的数据长度为200bit,表2(B)所示意出的K表中显示最小码长64bit对应的预先设定或者配置的数据长度为16bit,因此最小码长64bit对应的编码块的预计数量为:ceil(200bit/16bit)=13。根据该预计数量13,发送端设 备可按照码长由大到小的顺序依次执行如下分析:首先,最大的非最大码长512bit和最小码长64bit的比值为8:1,意味着8个最小码长64bit对应的编码块可折算为1个非最大码长512bit对应的编码块,最小码长64bit对应的编码块的预计数量13可折算出1个非最大码长512bit对应的编码块,因此非最大码长512bit对应的编码块的数量为1,折算后剩余的最小码长64bit对应的编码块的预计数量为:13-1×8=5;其次,非最大码长256bit和最小码长64bit的比值为4:1,意味着4个最小码长64bit对应的编码块可折算为1个非最大码长256bit对应的编码块,而剩余的最小码长64bit对应的编码块的预计数量5可折算出1个非最大码长256bit对应的编码块,因此非最大码长256bit对应的编码块的数量为1,折算后剩余的最小码长64bit对应的编码块的预计数量为:5-1×4=1;再者,非最大码长128bit和最小码长64bit的比值为2:1,意味着2个最小码长64bit对应的编码块可折算为1个非最大码长128bit对应的编码块,而剩余的最小码长64bit对应的编码块的预计数量1不足以折算出1个非最大码长128bit对应的编码块,因此非最大码长128bit对应的编码块的数量为0(即不存在非最大码长128bit对应的编码块),由于未进行折算,因此剩余的最小码长64bit对应的编码块的预计数量仍为1;最后,非最大码长64bit对应的编码块的数量等于剩余的最小码长64bit对应的编码块的预计数量1。由于非最大码长512bit、256bit、128bit和64bit对应的编码块的数量分别为1、1、0、1,因此C个编码块中共包含如下3种第二编码块:第一种第二编码块的码长为512bit,数量为1,数据长度为128bit,该128bit中存储的都是信息比特;第二种第二编码块的码长为256bit,数量为1,数据长度为64bit,该64bit中的48bit存储的是信息比特,剩下的16bit中存储的是第二校验码的16bit信息;第三种第二编码块的码长为64bit,数量为1,数据长度为16bit,该16bit中的8bit存储的是第二校验码的剩余的8bit信息,剩下的8bit属于无用比特位,后续可进行填充或删除。
分段方式1-22
参照表1所示意的K表,考虑到S-1个非最大码长N 1~N S-1与最小码长N S-1的比值关系依次满足2 S-2、2 S-3、……、2 1和2 0,因此,在每个非最大码长对应的第二编码块的数量不大于1的情况下,最小码长N S-1对应的编码块的数量和S-1个非最大码长N 1~N S-1对应的编码块的数量之间的折算关系可以一个S-1位的二进制数据来表示。基于此,发送端设备在获得最小码长N S-1对应的编码块的预计数量C S-1'后,可将C S-1'转换为S-1位的二进制数据,该二进制数据中的由高位到低位的S-1个比特位一一对应码长由大到小的S-1个非最大码长N 1~N S-1,发送端设备可将该二进制数据中取值不为0的L个比特位的取值作为L种第二编码块的数量,L种第二编码块中的每种第二编码块的数据长度为所对应的比特位对应的非最大码长的预先设定或者配置的数据长度。
仍以上述场景三为例,介绍分段方式1-22的具体计算过程:表2(B)所示意的K表中共存在4个非最大码长512bit、256bit、128bit和64bit,因此,在获得最小码长64bit对应的编码块的预计数量13后,可将十进制的数值13转化为4位的二进制数据1101(即13=2 3+2 2+2 0),二进制数据1101中的4个比特位的取值1、1、0和1分别对应非最大码长512bit对应的编码块的数量、非最大码长256bit对应的编码块的数量、非最大码长128bit对应的编码块的数量和非最大码长64bit对应的编码块的数量。由低位到高位来说,由于取值不为0的比特位为第一位、第二位和第四位,因此待分段数据可分为3种第二编码块,第一种第二编码块的码长为512bit,数量为1,第二种第二编码块的码长为256bit,数量为1,第三种第二编码块的码长为64bit,数量为1。
在上述分段方式1-2中,先将剩余待分段数据折算到最小码长对应的编码块中,获得最小码长对应的编码块的预计数量,再参照各个非最大码长对应的预先设定或者配置的数据长度的比值关系,将最小码长对应的编码块的预计数量折算到各个非最大码长对应的编码块。由于最小码长对应的编码块的数据长度最小,因此向最小码长对应的编码块进行折算能尽量确保分段时产生最少的无用比特位,有效节省后续填充或删除操作的复杂性,有助于节省空口开销。
分段方式1-3
上述分段方式1-1需要根据剩余待分段数据的数据长度进行实时计算,上述分段方式1-2需要根据最小码长N S-1对应的编码块的预计数量C S-1'进行实时计算,而分段方式1-3给出一种可根据剩余待分段数据的数据长度和/或最小码长N S-1对应的编码块的预计数量C S-1',通过查询预设的码率、码长、剩余待分段数据的数据长度和/或最小码长对应的编码块的预计数量、以及各个码长对应的编码块的数量的对应关系,直接获得L种第二编码块各自对应数量的方式。其中,预设的码率、码长、剩余待分段数据的数据长度和/或最小码长对应的编码块的预计数量、以及各个码长对应的编码块的数量的对应关系可以以表格、数据库或栈等中的任一形式来表示,具体不作限定。
示例性的,当预设的码率、码长、剩余待分段数据的数据长度和/或最小码长对应的编码块的预计数量、以及各个码长对应的编码块的数量的对应关系以表格形式表示时,表4示出本申请实施例提供的一种预设的码率、码长、剩余待分段数据的数据长度和/或最小码长对应的编码块的预计数量、以及各个码长对应的编码块的数量的对应关系示意表,其中,表4(A)示出的是在1/4码率下各个码长对应的编码块数量的示意表,表4(B)示出的是在3/8码率下各个码长对应的编码块数量的示意表,表4(C)示出的是在1/2码率下各个码长对应的编码块数量的示意表,表4(D)示出的是在5/8码率下各个码长对应的编码块数量的示意表,表4(E)示出的是在3/4码率下各个码长对应的编码块数量的示意表,表4(F)示出的是在7/8码率下各个码长对应的编码块数量的示意表。
在表4(A)~表4(F)中:K ls为除最大码长的第一编码块包含的信息比特以外的剩余信息比特的数据长度,单位为bit;D ls为剩余待分段数据的数据长度,单位为bit,D ls为剩余信息比特的数据长度K ls和第二校验码的数据长度CRC ls之和,第二校验码的数据长度CRC ls预先设定或者配置为24bit;N为码长,单位为bit;C S-1'为最小码长64bit对应的编码块的预计数量。除这些信息以外,该对应关系表中还可包括如下内容中的一项或多项:
C ls,是指承载剩余待分段数据的编码块的数量。在最小码长64bit对应的编码块的预计数量C S-1'大于预设的数量阈值(在表4(A)~表4(F)中,由于共存在5个码长,因此预设的数量阈值设置为:2 5-1-1=15)的情况下,由于剩余待分段数据都承载在一个最大码长对应的第一编码块中,因此C ls的取值为1,例如表4(A)自C S-1'大于15开始(即编号13至编号29),C ls的取值都为1。在预计数量C S-1'不大于预设的数量阈值的情况下,剩余待分段数据承载在C 20个非最大码长对应的第二编码块中,C ls的取值会随着预计数量C S-1'的变化而变化,例如当表4(A)中的C S-1'取6(即编号3)时,C ls的取值为2,但C S-1'取7时(即编号4),C ls的取值为3。
K Diff,是指在表4(A)~表4(F)所给出的分段方式下,承载剩余待分段数据的编码块的总数据长度和剩余待分段数据的数据长度的比特差值,单位为bit,这些比特差值用于指示所存在的无用比特位的数量。在最小码长64bit对应的编码块的预计数量C S-1'大于预 设的数量阈值的情况下,由于剩余待分段数据都承载在一个最大码长对应的第一编码块中,而最大码长对应的第一编码块的数据长度相对较长,因此无用比特位的数量K Diff一般也较大,例如表4(A)自C S-1'大于15开始(即编号13至编号29),K Diff的取值大都达到了上百比特。在最小码长64bit对应的编码块的预计数量C S-1'不大于预设的数量阈值的情况下,剩余待分段数据承载在一个或多个非最大码长对应的第二编码块中,而非最大码长对应的第二编码块的数据长度相对较短,因此无用比特位的数量K Diff一般也较小,例如在C S-1'不大于15的情况下,表4(A)中的K Diff的取值均为0(即不存在无用比特位),表4(B)中的K Diff的取值在0和8bit之间循环,表4(C)中的K Diff的取值在0、8bit和16bit之间循环,表4(D)中的K Diff的取值在0、8bit、16bit和24bit之间循环,表4(E)中的K Diff的取值在0、8bit、16bit、24bit和32bit之间循环,而表4(F)中的K Diff的取值在0、8bit、16bit、24bit、32bit和40bit之间循环,可见,针对于表4(A)至表4(F)中示出的任一码率,最大的K Diff均不超过40bit,相比于采用第一编码块承载时的上百比特来说是非常小的。
需要指出的是,表4(A)~表4(F)所示意的对应关系表中还可包含一些其它信息,例如信息比特的总数据长度,或第一编码块的数量等,具体不作限定。
表4(A):1/4码率下各个码长对应的编码块数量的示意表
Figure PCTCN2021101093-appb-000016
Figure PCTCN2021101093-appb-000017
表4(B):3/8码率下各个码长对应的编码块数量的示意表
Figure PCTCN2021101093-appb-000018
Figure PCTCN2021101093-appb-000019
表4(C):1/2码率下各个码长对应的编码块数量的示意表
Figure PCTCN2021101093-appb-000020
Figure PCTCN2021101093-appb-000021
表4(D):5/8码率下各个码长对应的编码块数量的示意表
Figure PCTCN2021101093-appb-000022
Figure PCTCN2021101093-appb-000023
表4(E):3/4码率下各个码长对应的编码块数量的示意表
Figure PCTCN2021101093-appb-000024
Figure PCTCN2021101093-appb-000025
表4(F):7/8码率下各个码长对应的编码块数量的示意表
Figure PCTCN2021101093-appb-000026
Figure PCTCN2021101093-appb-000027
Figure PCTCN2021101093-appb-000028
为便于理解,仍以上述场景二和场景三为例,介绍分段方式1-3的具体计算过程:
在场景二中,剩余待分段数据的数据长度D ls为304bit,第一码率为3/8,最小码长64bit对应的编码块的预计数量为19,发送端设备可根据这些信息直接查询预设的码率、码长、剩余待分段数据的数据长度和/或最小码长对应的编码块的预计数量、以及各个码长对应的编码块的数量的对应关系,并获得如下信息(例如,当对应关系以表4(A)至表4(F)中的对应关系表的方式承载时,可查询表4(B)所示意的对应关系表,获得编号为35的那行数据):1024bit码长对应的编码块的数量为1,而512bit码长、256bit码长、128bit码长和64bit码长对应的编码块的数量均为0(即不存在512bit码长、256bit码长、128bit码长和64bit码长对应的编码块)。因此,剩余待分段数据都承载在一个1024bit码长的第一编码块中,该第一编码块的数据长度为384bit,其中的304bit用于承载剩余待分段数据,剩下的80bit为无用比特位。
在场景三中,剩余待分段数据的数据长度D ls为200bit,第一码率为3/8,最小码长64bit对应的编码块的预计数量为13,数据分段装置可根据这些信息查询预设的码率、码长、剩余待分段数据的数据长度和/或最小码长对应的编码块的预计数量、以及各个码长对应的编码块的数量的对应关系,并获得如下信息(例如,当对应关系以表4(A)至表4(F)中的对应关系表的方式承载时,可查询表4(B)所示意的对应关系表,获得编号为22的那行数据):1024bit码长对应的编码块的数量为0(即不存在1024bit码长对应的编码块),512bit码长对应的编码块的数量为1,256bit码长对应的编码块的数量为1,128bit码长对应的编码块的数量为0(即不存在128bit码长对应的编码块),64bit码长对应的编码块的数量为1。因此,剩余待分段数据可承载在一个512bit码长的第二编码块、1个256bit码长的第二编码块和1个64bit码长的第二编码块中,且存在8bit的无用比特位。
需要指出的是,在预设的码率、码长、剩余待分段数据的数据长度和/或最小码长对应的编码块的预计数量、以及各个码长对应的编码块的数量的对应关系,最大码长1024bit对应的编码块的数量是指用于承载剩余待分段数据D ls的第一编码块的数量,而并是指承载信息比特的第一编码块的数量。例如,以表4(A)为例,虽然编号1至编号9中最大码长1024bit对应的编码块的数量都为0,但这只是限定剩余待分段数据D ls不承载在第一编码块中,而除剩余待分段数据D ls中所包含的剩余信息比特K ls以外的信息比特承载在第一编码块的数量可以为0,也可以为1个、2个或2个以上,具体不作限定。
在上述分段数量优先原则中,先将信息比特尽可能多地承载在最大码长的第一编码块 中,再根据剩余信息比特的多少来执行不同的分段操作,在剩余信息比特较多时不再进行分段,而是另外使用一个最大码长的第一编码块来承载整个剩余信息比特,能通过避免过多分出短编码块来保持较低的数据传输时延,而在剩余信息比特较少时采用小码长对应的短编码块进行分段,还能在数据传输时延本身较低的情况下通过更精细地分段来减少编码块中包含的无用比特位的数量,有效降低数据传输所产生的空口开销。更进一步的,通过在剩余信息比特较少时使用小码长对应的第二编码块来承载剩余信息比特,而第二编码块的数据长度相比于最大码长的第一编码块来说更小,因此即使是需要重传剩余信息比特,也能重传数据长度更小的第二编码块而不重传第一编码块,进一步降低重传的数据量和重传时延。
比特位数量优先原则
在比特位数量优先原则中,考虑到最大码长对应的第一编码块的数据长度大于非最大码长对应的第二编码块的数据长度,因此,如果使用最大码长的第一编码块来承载整个待分段数据,则很可能会使该第一编码块中包含较多的无用比特位,无形中增大了传输的数据量,不利于降低数据传输的空口损耗。基于此,发送端设备在获得第一编码块的初始数量和剩余待分段数据的数据长度后,可直接将第一编码块的初始数量作为第一编码块的数量,并采用非最大码长对剩余待分段数据进行分段,而不再关注剩余待分段数据的数据长度是多还是少。该原则在各种场景下都能尽量使用小码长对应的短编码块承载剩余待分段数据,有助于降低分段后的编码块中包含的无用比特位的数量,进而降低数据传输所产生的空口损耗。
下面示例性地介绍在比特位数量优先原则下的几种可能的分段方式:
分段方式2-1
分段方式2-1可利用剩余待分段数据的数据长度进行分段。在实施中,发送端设备可将第一编码块的初始数量作为第一编码块的数量,并可参照上述步骤502、步骤503和步骤505中确定最大码长对应的第一编码块的初始数量的计算方式,按照码长由大到小的顺序依次确定出S-1个非最大码长对应的编码块的初始数量,并将非最小码长对应的编码块的初始数量作为非最小码长对应的编码块的数量,将不小于最小码长对应的编码块的初始数量的最小整数作为最小码长对应的编码块的数量,进而将S-1个非最大码长中数量不为0的L个非最大码长对应的编码块的数量作为L种第二编码块的数量。
仍以上述场景二为例,介绍分段方式2-1的具体计算过程:在场景二中,剩余待分段数据的数据长度为304bit,参照表2(B)所示意的K表可知,在3/8码率下,512bit码长对应的预先设定或者配置的数据长度为128bit,因此512bit码长对应的编码块的数量为:floor(304/128)=2;更新剩余的待分段数据的数据长度D ls为:304bit-2×128bit=48bit,在3/8码率下,256bit码长对应的预先设定或者配置的数据长度为64bit,因此256bit码长对应的编码块的数量为:floor(48/64)=0;剩余的待分段数据的数据长度D ls仍为48bit,在3/8码率下,128bit码长对应的预先设定或者配置的数据长度为32bit,因此128bit码长对应的编码块的数量为:floor(48/32)=1;更新剩余的待分段数据的数据长度D ls为:48bit-32bit=16bit,在3/8码率下,最小码长64bit对应的预先设定或者配置的数据长度为16bit,因此最小码长64bit对应的编码块的数量设置为:ceil(16/16)=1。由于非最大码长512bit、256bit、128bit和64bit对应的编码块的数量分别为2、0、1、1,因此共存在如下3种第二编码块:第一种第二编码块的码长为512bit,数量为2,且每个第二编码块的数据 长度为128bit,2个第二编码块的128bit中存储的都是信息比特;第二种第二编码块的码长为128bit,数量为1,数据长度为32bit,该32bit中的24bit存储的是信息比特,剩下的8bit存储的是第二校验码的8bit信息;第三种第二编码块的码长为64bit,数量为1,数据长度为16bit,该16bit中存储的第二校验码的剩余的16bit信息。
分段方式2-2
分段方式2-2可利用最小码长对应的编码块的预计数量C S-1'进行分段。在实施中,发送端设备可将第一编码块的初始数量作为第一编码块的数量,并按照上述分段方式1-21中的公式(5.51)至公式(5.56)依次获得S-1个非最大码长N 1~N S-1所的编码块的数量,并从中选择出编码块的数量不为0的L个非最大码长,将该L个非最大码长对应的编码块的数量作为L种第二编码块的数量。
仍以上述场景二为例,介绍分段方式2-2的具体计算过程:在场景二中,剩余待分段数据的数据长度为304bit,将其折算到在3/8码率下的最小码长64bit对应的编码块中,获得最小码长64bit对应的编码块的预计数量为19。根据该预计数量19,发送端设备可按照码长由大到小的顺序依次执行如下分析:首先,最大的非最大码长512bit和最小码长64bit的比值为8:1,最小码长64bit对应的编码块的预计数量19可折算出2个非最大码长512bit对应的编码块,因此非最大码长512bit对应的编码块的数量为2,折算后剩余的最小码长64bit对应的编码块的预计数量为:19-2×8=3;其次,非最大码长256bit和最小码长64bit的比值为4:1,而剩余的最小码长64bit对应的编码块的预计数量3不足以折算出1个非最大码长256bit对应的编码块,因此非最大码长256bit对应的编码块的数量为0(即不存在非最大码长256bit对应的编码块),由于未进行折算,因此剩余的最小码长64bit对应的编码块的预计数量仍为3;再者,非最大码长128bit和最小码长64bit的比值为2:1,剩余的最小码长64bit对应的编码块的预计数量3可折算出1个非最大码长128bit对应的编码块,因此非最大码长128bit对应的编码块的数量为1,折算后剩余的最小码长64bit对应的编码块的预计数量更新为:3-2×1=1;最后,非最大码长64bit对应的编码块的数量等于剩余的最小码长64bit对应的编码块的预计数量1。由于非最大码长512bit、256bit、128bit和64bit对应的编码块的数量分别为2、0、1、1,因此共存在如下3种第二编码块:第一种第二编码块的码长为512bit,数量为2,且每个第二编码块的数据长度为128bit;第二种第二编码块的码长为128bit,数量为1,数据长度为32bit;第三种第二编码块的码长为64bit,数量为1,数据长度为16bit。
分段方式2-3
上述分段方式2-1需要根据剩余待分段数据的数据长度进行实时计算,上述分段方式2-2需要基于最小码长N S-1对应的编码块的预计数量C S-1'进行实时计算,而分段方式2-3给出一种可根据剩余待分段数据的数据长度和/或最小码长N S-1对应的编码块的预计数量C S-1',通过查询预设的码率、码长、剩余待分段数据的数据长度和/或最小码长对应的编码块的预计数量、以及各个码长对应的编码块的数量的对应关系,直接获得L种第二编码块各自对应数量的方式。其中,预设的码率、码长、剩余待分段数据的数据长度和/或最小码长对应的编码块的预计数量、以及各个码长对应的编码块的数量的对应关系可以以表格、数据库或栈等中的任一形式来表示,具体不作限定。
示例性的,当预设的码率、码长、剩余待分段数据的数据长度和/或最小码长对应的编码块的预计数量、以及各个码长对应的编码块的数量的对应关系以对应关系表的形式表示 时,表5示出本申请实施例提供的一种预设的码率、码长、剩余待分段数据的数据长度和/或最小码长对应的编码块的预计数量、以及各个码长对应的编码块的数量的对应关系示意表,其中,表5(A)示出的是在1/4码率下各个码长对应的编码块数量的示意表,表5(B)示出的是在3/8码率下各个码长对应的编码块数量的示意表,表5(C)示出的是在1/2码率下各个码长对应的编码块数量的示意表,表5(D)示出的是在5/8码率下各个码长对应的编码块数量的示意表,表5(E)示出的是在3/4码率下各个码长对应的编码块数量的示意表,表5(F)示出的是在7/8码率下各个码长对应的编码块数量的示意表。其中,表5(A)~表5(F)中的各项信息(例如K ls、D ls、N、C S-1'、C ls和K Diff)与上述表4(A)~表4(F)一致,此处不再重复介绍。
表5(A):1/4码率下各个码长对应的编码块数量的示意表
Figure PCTCN2021101093-appb-000029
表5(B):3/8码率下各个码长对应的编码块数量的示意表
Figure PCTCN2021101093-appb-000030
表5(C):1/2码率下各个码长对应的编码块数量的示意表
Figure PCTCN2021101093-appb-000031
Figure PCTCN2021101093-appb-000032
表5(D):5/8码率下各个码长对应的编码块数量的示意表
Figure PCTCN2021101093-appb-000033
Figure PCTCN2021101093-appb-000034
表5(E):3/4码率下各个码长对应的编码块数量的示意表
Figure PCTCN2021101093-appb-000035
Figure PCTCN2021101093-appb-000036
表5(F):7/8码率下各个码长对应的编码块数量的示意表
Figure PCTCN2021101093-appb-000037
Figure PCTCN2021101093-appb-000038
Figure PCTCN2021101093-appb-000039
仍以上述场景二为例,介绍分段方式2-3的具体计算过程:在场景二中,剩余待分段数据的数据长度D ls为304bit,第一码率为3/8,最小码长64bit对应的编码块的预计数量为19,发送端设备可根据这些信息查询预设的码率、码长、剩余待分段数据的数据长度和/或最小码长对应的编码块的预计数量、以及各个码长对应的编码块的数量的对应关系,并获得如下信息(例如,当对应关系以表5(A)至表5(F)中的对应关系表的方式承载时,可查询表5(B)所示意的对应关系表,获得编号为35的那行数据):1024bit码长对应的编码块的数量为0(即不存在1024bit码长对应的编码块),512bit码长对应的编码块的数量为2,256bit码长对应的编码块的数量为0(即不存在256bit码长对应的编码块),128bit码长对应的编码块的数量为1,64bit码长对应的编码块的数量为1。因此,剩余待分段数据可承载在2个512bit码长的第二编码块、1个128bit码长的第二编码块和1个64bit码长的第二编码块中,且不存在无用比特位。
对比分段数量优先原则和比特位数量优先原则可知,针对于同样的场景二,分段数量优先原则会另外设置一个大码长的长的第一编码块来承载整个剩余待分段数据,以通过减少短的第二编码块的分段数量来降低传输时延,而比特位数量优先原则会设置4个小码长的短的第二编码块来一起承载剩余待分段数据,以通过减少无用比特位的数量来降低空口损耗。在实际操作中,发送端设备可固定设置这两种原则中的其中一个,也可同时设置这两种原则,并根据用户输入的指示灵活启用适用于当前场景的原则,以满足不同场景下的不同需求。
步骤507,发送端设备按照第一编码块的数量和第二编码块的数量分段信息比特,并对分段后的信息比特附加第一校验码/第二校验码,获得C个编码块。
一个示例中(简称为示例一),假设使用3个最大码长1024bit对应的数据长度为384bit的第一编码块来承载1000bit的信息比特,则发送端设备可先按照顺序将1000bit的信息比特分为360bit、360bit和280bit,针对于第一个360bit生成一个24bit的第一校验码并附加在第一个360bit后获得第一个第一编码块,针对于第二个360bit生成一个24bit的第一校验码并附加在第二个360bit后获得第二个第一编码块,针对于280bit生成一个24bit的第一校验码并附加在280bit后获得第三个第一编码块。
另一个示例中(简称为示例二),假设使用1个最大码长1024bit对应的数据长度为384bit的第一编码块、1个非最大码长512bit对应的数据长度为128bit的第二编码块、1个非最大码长216bit对应的数据长度为64bit的第二编码块、和1个非最大码长64bit对应 的数据长度为16bit的第二编码块来共同承载536bit的信息比特,则发送端设备可先按照顺序将536bit的信息比特分为360bit、128bit和48bit,针对于360bit生成一个24bit的第一校验码并附加在第一个360bit后获得第一编码块,将128bit作为第一个第二编码块,针对于128bit和48bit生成一个24bit的第二校验码,将24bit的第二校验码中的16bit附加在48bit后获得第二个第二编码块,剩余的8bit第二校验码构成第三个第二编码块。
步骤508,发送端设备使用极化码编码C个编码块,获得C个编码块编码后的码字。
示例性的,发送端设备在获得C个编码块之后且编码C个编码块之前,还可以根据C个编码块的数据长度、信息比特的总数据长度、第一校验码的数据长度和/或第二校验码的数据长度,确定C个编码块中存在的无用比特位的数据长度K Diff,并根据无用比特位的数据长度K Diff调整C个编码块。其中,无用比特位的数据长度K Diff为C个编码块的数据长度和有效数据的数据长度之差,有效数据包括编码数据、第一校验码和/第二校验码。下面分别基于几种可能的情况,介绍如何确定无用比特位的数据长度K Diff以及如何调整C个编码块:
情况一,C个编码块中存在C 10个第一编码块但不存在第二编码块。
该情况下,C个编码块的数据长度为C 10个第一编码块的数据长度,而有效数据的数据长度为信息比特的总数据长度和C 10个第一校验码的数据长度之和。假设一个第一编码块的数据长度为K 0,信息比特的总数据长度为K input,一个第一校验码的数据长度为CRC 0,则无用比特位的数据长度K Diff可满足如下公式(5.71):
K Diff=C 10×K 0-K input-C 10×CRC 0……(5.71)
在调整时,由于C个编码块中存在C 10个第一编码块但不存在第二编码块,因此,发送端设备可只调整C 10个第一编码块,例如在C 10个第一编码块的一个或多个第一编码块中填充K Diff的预设比特序列(如全0比特序列、全1比特序列、字符比特序列、或按照某种规则生成的比特序列等),或删除K Diff的比特位。示例性的,在不存在第二编码块的情况下,由于上述流程只在传输性能有限原则下会额外添加一个第一编码块来承载数据长度较长的剩余待分段数据,因此无用比特位的数据长度K Diff必然小于一个第一编码块的数据长度。因此,为便于管理,发送端设备可在最后一个第一编码块中填充K Diff的预设比特序列或删除K Diff的比特位,例如在最后一个第一编码块的末端填充K Diff的预设比特序列,如此,第一校验码中可不再包含无用比特信息对应的校验信息,有效节省校验操作,又如在最后一个第一编码块的信息比特和第一校验码之间填充K Diff的预设比特序列,以便使第一校验码也能包含对K Diff的预设比特序列的校验信息,进一步提高数据校验和传输的安全性。
举例来说,在上述示例一中,3个第一编码块的数据长度之和为:3×384bit=1152bit,而内部承载的有用信息的数据长度之和为:1000bit+3×24bit=1072bit,3个第一编码块中包含的无用比特位的数据长度为:1152bit-1072bit=80bit。基于此,一种可能的方式中,发送端设备可在最后一个第一编码块的末端填充80bit的全0序列,使得最后一个第一编码块由依次拼接的280bit信息比特、24bit的第一校验码和80bit的全0序列构成。
情况二,C个编码块中同时存在C 10个第一编码块和C 20个第二编码块。
该情况下,C个编码块的数据长度为C 10个第一编码块的数据长度和C 20个第二编码块的数据长度之和,而有效数据的数据长度为信息比特的总数据长度、C 10个第一校验码的数据长度和一个第二校验码的数据长度之和。假设一个第一编码块的数据长度为K 0,信息比特的总数据长度为K input,一个第一校验码的数据长度为CRC 0,一个第二校验码的数据 长度为CRC ls,码长N 1、码长N 2、……、码长N S-1对应的第二编码块的数量分别为C 1、C 2、……、C S-1,则无用比特位的数据长度K Diff可满足如下公式(5.72):
K Diff=C 10×K 0+C 1×K 1+C 2×K 2+……+C S-1×K  S-1-K input-C 10×CRC 0-CRC ls……(5.72)
在调整时,由于C个编码块中同时存在C 10个第一编码块和C 20个第二编码块,因此,发送端设备可调整C 10个第一编码块中的一个或多个第一编码块,和/或,C 20个第二编码块中的一个或多个第二编码块。例如在C 10个第一编码块的一个或多个第一编码块和/或C 20个第二编码块的一个或多个第二编码块中共填充K Diff的预设比特序列,或共删除K Diff的比特位。示例性的,为使最大码长的第一编码块能尽可能多地携带信息比特,发送端设备可在C 20个第二编码块中填充K Diff的预设比特序列或删除K Diff的比特位,例如在最后一个第二编码块的末端填充K Diff的预设比特序列,如此,第二校验码中可不再包含无用比特信息对应的校验信息,有效节省校验操作,又如在C 20个第二编码块的信息比特和第二校验码之间填充K Diff的预设比特序列,以便加强管理和校验,或者在最后一个第二编码块中删除K Diff的比特位(在存在第二编码块的情况下,由于上述流程只在将剩余待分段数据折算到最小码长对应的编码块以获得预计数量时会执行向上取整的操作,因此无用比特位的数据长度K Diff必然小于一个最小码长的编码块的数据长度,也即小于最后一个第二编码块的数据长度)。
举例来说,在上述示例二中,1个最大码长1024bit对应的第一编码块、1个非最大码长512bit对应的第二编码块、1个非最大码长216bit对应的第二编码块和1个非最大码长64bit对应的第二编码块的数据长度之和为:384bit+128bit+64bit+16bit=592bit,而内部承载的有用信息的数据长度之和为:536bit+24bit+24bit=584bit,第一编码块和3个第二编码块中包含的无用比特位的数据长度为:592bit-584bit=8bit。基于此,一种可能的方式中,发送端设备可在最后一个第二编码块的末端填充8bit的全0序列,使得最后一个第二编码块由依次拼接的剩余8bit的第二校验码和8bit的全0序列构成。
情况三,C个编码块中存在C 20个第二编码块但不存在第一编码块。
该情况下,C个编码块的数据长度为C 20个第二编码块的数据长度,而有效数据的数据长度为信息比特的总数据长度和一个第二校验码的数据长度之和。假设信息比特的总数据长度为K input,一个第二校验码的数据长度为CRC ls,码长N 1、码长N 2、……、码长N S-1对应的第二编码块的数量分别为C 1、C 2、……、C S-1,则无用比特位的数据长度K Diff可满足如下公式(5.73):
K Diff=C 1×K 1+C 2×K 2+……+C S-1×K S-1-K input-CRC ls……(5.73)
在调整时,由于C个编码块中存在C 20个第二编码块但不存在第一编码块,因此,发送端设备可调整C 20个第二编码块中的一个或多个第二编码块,例如在最后一个第二编码块的末端填充K Diff的预设比特序列,又如在C 20个第二编码块的信息比特和第二校验码之间填充K Diff的预设比特序列,或者在最后一个第二编码块中删除K Diff的比特位等,具体不作限定。
需要指出的是,上述情况一至情况三只是示例性的介绍如何通过计算方式确定K Diff,这只是一种可选地实施方式。另一种可选地实施方式中,当采用上述分段方式1-3或分段方式2-3中的查询对应关系的方式获得分段数量时,还可以预先在对应关系中设定或者配置各种情况所对应的K Diff,并在查询分段数量的过程中同步查询所对应的K Diff,以节省计算流程,有效提高数据分段的效率,例如当对应关系以表4(A)~表4(F)或表5(A)~ 表5(F)中所示意的表格形式来表示时,发送端设备可查询K Diff所在的那列数据,直接获得所对应场景下的K Diff的取值。
另外,在上述内容中,删除某一编码块中的无用比特位,相当于降低了该编码块的数据长度,例如参照表2(B)所示,3/8码率在512bit码长下的一个编码块的数据长度原本为128bit,但删除28bit的无用比特位后,使得实际的数据长度变为100bit。换句话说,在3/8的码率下,原本传输一个编码块可以传输128bit的信息,但删除无用比特位后传输一个编码块只能传输100bit的信息,相当于降低了数据的实际码率。当然,该实际码率只是实际传输过程中的真实码率,其原本配置的3/8码率仍然保持不变,仍不需要进行速率匹配。
步骤509,发送端设备将承载C个编码块编码后的码字的消息发送给接收端设备。
步骤510,接收端设备根据信息比特的总数据长度和预设的第一码率,确定第一编码块的数量和各个非最大码长对应的第二编码块的数量。
在上述步骤510中,接收端设备所执行的操作与发送端设备所执行的操作相对应,接收端设备确定第一编码块的数量和各个非最大码长对应的第二编码块的数量的具体实现过程,可直接参照上述发送端设备侧的步骤502至步骤506,此处不再重复赘述。
步骤511,接收端设备根据第一编码块的数量和各个非最大码长对应的第二编码块的数量,从承载C个编码块编码后的码字的消息中获得C个编码块编码后的码字。
在上述步骤511中,接收端设备可以按照发送端设备拼接C个编码块编码后的码字的顺序,对消息中承载C个编码块编码后的码字的序列进行分段,获得每个编码块编码后的码字。其中,发送端设备拼接C个编码块编码后的码字的顺序可以预先设定或者配置给接收端设备,或者由发送端设备发送给接收端设备。一种可能的示例中,假设发送端设备按照第一编码块1(数据长度为384bit,码长为1024bit)、第一编码块2(数据长度为384bit,码长为1024bit)、第二编码块1(数据长度为64bit,码长为256bit)的顺序拼接得到序列,则接收端设备在根据与发送端相同的分段原则确定出序列中包含两个码长为1024bit的第一编码块对应的码字和一个码长为256bit的第二编码块对应的码字后,可以按照上述拼接顺序,先从序列的起始位置获得码长为1024bit的码字作为第一个第一编码块(即第一编码块1)对应的码字,再从第一个第一编码块对应的码字的末端位置的下一个bit开始获得码长为1024bit的码字作为第二个第一编码块(即第一编码块2)对应的码字,再从第二个第一编码块对应的码字的末端位置的下一个bit开始,获得码长为256bit的码字作为第二编码块(即第二编码块1)对应的码字。当然,也可以是反向获取的,例如先从序列的末端位置开始反向获得码长为256bit的码字作为第二编码块(即第二编码块1)对应的码字,再从第一个第二编码块对应的码字的起始位置的上一个bit开始反向获得码长为1024bit的码字作为第二个第一编码块(即第一编码块2)对应的码字,再从第二个第一编码块对应的码字的起始位置的上一个bit开始反向获得码长为1024bit的码字作为第一个第一编码块(即第一编码块1)对应的码字。当然,还可以是通过其它方式获得的,例如通过一次操作同时获得三个编码块,或者先获得第二个第一编码块,再获得第一个第一编码块,最后获得第一个第二编码块等,具体不作限定。
步骤512,接收端设备解码C个编码块编码后的码字,获得C个编码块中包含的信息比特和第一校验码/第二校验码,并校验C个编码块中包含的信息比特和第一校验码/第二校验码。
在上述步骤512中,接收端设备在按照与发送端设备相同的分段原则确定分段结果时,还能同步获得每个编码块中包含的信息比特的数据长度、校验码的数据长度、和/或无用比特位的数据长度,如此,接收端设备在解码得到每个编码块后,可以基于这些信息获得每个编码块中包含的信息比特和/或校验码。其中,如果是按照图4中(C)示出的分段原则,则接收端设备可以从每个第一编码块中获得一个第一校验码,且从全部的第二编码块中获得一个第二校验码,接收端设备还可以根据每个第一编码块中的第一校验码对应的生成多项式校验每个第一编码块,以及根据全部的第二编码块中包含的第二校验码对应的生成多项式校验全部的第二编码块。
示例性的,当编码块中包含无用比特位时,一种可能的实现方式中,如果是通过在编码块的末端填充预设数据的方式来调节编码块,则校验码会附加在编码块中包含的信息比特和预设数据之间,该情况下,校验码是针对于编码块中包含的信息比特生成的,而并未包含对预设数据的校验信息,因此,接收端设备在解码获得编码块后,可以先从编码块中删除填充在末端的预设数据(其中,预设数据的数量可在按照分段原则确定分段结果时同步获取),使得编码块中只剩余信息比特和校验码,再使用校验码对应的生成多项式和编码块中包含的信息比特和校验码相除,在余数为0时保存编码块中包含的信息比特,在余数不为0时进行重传。另一种可能的实现方式中,如果是通过在编码块中包含的信息比特后方填充预设数据的方式来调节编码块,则校验码会附加在编码块中填充的预设数据后方,该情况下,校验码是针对于编码块中包含的信息比特和预设数据一起生成的,因此,接收端设备在解码获得编码块后,可以直接使用校验码对应的生成多项式和编码块中包含的信息比特、预设数据和校验码相除,在余数为0时保存编码块中包含的信息比特,在余数不为0时进行重传。
在上述实施例二中,通过在每个最大码长的第一编码块的末端附加一个第一校验码,且在全部小码长的第二编码块的末端附加一个第二校验码,而未在每个第二编码块的末端附加一个第二校验码,不仅能节省传输数据量和编码复杂性,还能在重传时根据校验码的校验结果决定重传哪部分校验码所对应的编码块,有效降低重传的数据量和重传时延,以及提高重传效率,有助于同步兼顾降低功耗和重传时延的双重效果。且,通过设置分段数量优先原则和比特位数量优先原则所对应的分段方式,还能根据实际需求选择合适的分段原则,例如在更注重传输时延的场景下选择分段数量优先原则,以便通过减少短编码块的分段数量以降低传输时延,又如在更注重空口损耗的场景下选择比特位数量优先原则,以便通过短编码块的精细分段以降低无用比特位的数量,降低空口损耗,有效提高数据处理方法对各类编码场景的适应能力。
需要说明的是,上述各个信息的名称仅仅是作为示例,随着通信技术的演变,上述任意信息均可能改变其名称,但不管其名称如何发生变化,只要其含义与本申请上述信息的含义相同,则均落入本申请的保护范围之内。
上述主要从网元执行步骤的角度对本申请提供的方案进行了介绍。可以理解的是,网元为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出 本发明的范围。
根据前述方法,图6示例性示出本申请实施例提供的一种数据处理装置的结构示意图,如图6所示,该数据处理装置600可以为发送端设备,例如网络设备或终端设备,或芯片或电路,比如可设置于网络设备中的芯片或电路,再比如可设置于终端设备中的芯片或电路。进一步示例性的,可为车辆或设置于车辆中的芯片或电路。如图6所示,该数据处理装置600可包括分段参数计算模块601、编码块初步分段模块602、校验码编码前处理模块603、校验码编码模块604、填充或删除模块605、小编码块分段模块606和极化码编码模块607,下面分别对每个模块的功能进行介绍。
分段参数计算模块601,分别连接编码块初步分段模块602和小编码块分段模块606,用于根据信息比特的总数据长度、预设的第一码率在各个码长下的预先设定或者配置的数据长度、预先设定或者配置的第一校验码的长度和预先设定或者配置的第二校验码的长度,按照上述实施例一或实施例二中任一实施例的方式计算出第一编码块的数量C 10和L种第二编码块各自对应的数量,然后将第一编码块的数量C 10和L种第二编码块各自对应的数量发送给编码块初步分段模块602,并将L种第二编码块各自对应的数量发送给小编码块分段模块606;
编码块初步分段模块602,分别连接校验码编码前处理模块603和校验码编码模块604,用于按照第一编码块的数量C 10对信息比特进行分段,获得每个第一编码块中包含的信息比特和除第一编码块包含的信息比特以外的剩余信息比特,将各个第一编码块包含的各个信息比特发送给校验码确定模块604,将剩余信息比特和L种第二编码块各自对应的数量发送给校验码编码前处理模块603;
校验码编码前处理模块603,连接校验码编码模块604,用于根据L种第二编码块各自对应的数量生成一个数据长度为L种第二编码块的总数据长度的编码块,级联剩余信息比特后添加在该编码块的段首,并将编码块发送给校验码编码模块604;
校验码编码模块604,分别连接填充或删除模块605、小编码块分段模块606和极化码编码模块607,用于计算编码块初步分段模块602发送的每个第一编码块中包含的信息比特的第一校验码并拼接在所对应的第一编码块包含的信息比特后,针对于拼接后的任一第一编码块,若该第一编码块中存在无用比特位,则将存在无用比特位的第一编码块发送给填充或删除模块605,若该第一编码块中不存在无用比特位,则将该第一编码块发送给极化码编码模块607;以及,计算校验码编码前处理模块603发送的添加后的编码块中包含的全部信息比特的第二校验码,并拼接在全部信息比特后,若拼接后的编码块中存在空闲比特位,则将拼接后的编码块发送给填充或删除模块605,若拼接后的编码块中不存在空闲比特位,则将拼接后的编码块发送给小编码块分段模块606;
填充或删除模块605,分别连接小编码块分段模块606和极化码编码模块607,用于对校验码编码模块604发送的第一编码块末端的空闲比特位填充预设比特序列,或删除空闲比特位,将填充或删除后的第一编码块发送给极化码编码模块607;以及,用于对校验码编码模块604发送的拼接后的编码块末端的空闲比特位填充预设比特序列,或删除空闲比特位,将填充或删除后的编码块发送给小编码块分段模块606;
小编码块分段模块606,连接极化码编码模块607,用于按照分段参数计算模块601发送的L种第二编码块各自对应的数量,对填充或删除后的编码块进行分段,获得各个第二编码块后发送给极化码编码模块607;
极化码编码模块607,用于对各个第一编码块和各个第二编码块进行极化码编码,将编码后的数据发送给接收端。
需要说明的是,该数据处理装置600中各个模块的位置仅是一种示例性的说明,本申请实施例并不限定各个模块必须处于所示意的位置。例如,在另一个示例中,填充或删除模块605也可以位于校验码编码前处理模块603和校验码编码模块604之间,该情况下,校验码编码前处理模块603可将级联后的编码块发送给填充或删除模块605,由填充或删除模块605在剩余信息比特的后方填充空闲比特位的预设数据后再发送给校验码编码模块604,由校验码编码模块604生成剩余信息比特对应的第二校验码后拼接再编码块的末端。该数据处理装置600所涉及的与本申请实施例提供的技术方案相关的概念,解释和详细说明及其他步骤请参见前述方法或其他实施例中关于这些内容的描述,此处不做赘述。
另外,上述数据处理装置600中的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。例如,本申请实施例中,上述分段参数计算模块601、编码块初步分段模块602、校验码编码前处理模块603、校验码编码模块604、填充或删除模块605、小编码块分段模块606和极化码编码模块607的全部功能也可以由一个或多个处理模块来完成,具体不作限定。
此外,接收端设备的解码操作可直接参照上述发送端设备的相关介绍,区别仅在于将编码改为解码,以及多出一个针对于校验码的比对过程,本申请对此不再重复赘述。
根据前述方法,图7示例性示出本申请实施例提供的一种通信装置的结构示意图,如图7所示,该装置可以为发送端设备或接收端设备,例如可以为网络设备或终端设备,也可以为芯片或电路,比如可设置于网络设备中的芯片或电路,再比如可设置于终端设备中的芯片或电路。如图7所示,该通信装置701可以包括处理器702、存储器704和收发器703,还可以进一步包括总线系统,其中,处理器702、存储器704和收发器703可以通过总线系统相连。
应理解,上述处理器702可以是一个芯片。例如,该处理器702可以是现场可编程门阵列(field programmable gate array,FPGA),可以是专用集成芯片(application specific integrated circuit,ASIC),还可以是系统芯片(system on chip,SoC),还可以是中央处理器(central processor unit,CPU),还可以是网络处理器(network processor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。
在实现过程中,上述方法的各步骤可以通过处理器702中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器702中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器704,处理器702读取存储器704中的信息,结合其硬件完成上述方法的步骤。
应注意,本申请实施例中的处理器702可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤 及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本申请实施例中的存储器704可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
当通信装置701为发送端设备时,该通信装置701可以包括处理器702、收发器703和存储器704。该存储器704用于存储指令,该处理器702用于执行该存储器704存储的指令,以实现如上图3或图5中所示的任一项或任意多项对应的方法中发送端设备的相关方案,或执行上述实施例一或实施例二所示任一实施例中发送端设备所执行的方法。例如,当通信装置701为发送端设备,且执行实施例一时:处理器702可以获取信息比特,并根据信息比特的总数据长度和预设的第一码率获取C个编码块,编码C个编码块获得C个编码块编码后的码字,收发器703可以发送C个编码块编码后的码字。其中,C个编码块对应一个或多个码长,且一个或多个码长属于预先定义或者配置的S个码长,C个编码块的数据长度对应第一码率,S个码长中的每个码长满足2的正整数次幂的形式,S为大于或等于2的正整数,C为正整数。
当通信装置701为接收端设备时,该通信装置701可以包括处理器702、收发器703和存储器704。该存储器704用于存储指令,该处理器702用于执行该存储器704存储的指令,以实现如上图3或图5中所示的任一项或任意多项对应的方法中接收端设备的相关方案,或执行上述实施例一或实施例二所示任一实施例中接收端设备所执行的方法。例如,当通信装置701为接收端设备,且执行实施例一时:收发器703可以接收C个编码块编码后的码字,处理器702可以根据信息比特的总数据长度和预设的第一码率,解码C个编码块编码后的码字,获得C个编码块中包含的信息比特。其中,C个编码块对应一个或多个码长,且一个或多个码长属于预先定义或者配置的S个码长,C个编码块的数据长度对应第一码率,S个码长中的每个码长满足2的正整数次幂的形式,S为大于或等于2的正整数,C为正整数。
该通信装置701所涉及的与本申请实施例提供的技术方案相关的概念,解释和详细说明及其他步骤请参见前述方法或其他实施例中关于这些内容的描述,此处不做赘述。
基于以上实施例以及相同构思,图8示例性示出本申请实施例提供的一种通信装置的结构示意图,如图8所示,该通信装置801可以为发送端设备,例如可以为网络设备或终端设备,也可以为芯片或电路,比如可设置于网络设备中的芯片或电路,或者设置于终端设备中的芯片或电路。该通信装置可以实现如上图3或图5中所示的任一项或任意多项对应的方法中发送端设备所执行的步骤,或执行上述实施例一或实施例二所示任一实施例中发送端设备所执行的方法。
如图8所示,该通信装置801可以包括获取单元802、处理单元803和发送单元804。当通信装置801为发送端设备,且执行实施例一时:获取单元802可以获取信息比特,处理单元803可以根据信息比特的总数据长度和预设的第一码率获取C个编码块,并编码C个编码块获得C个编码块编码后的码字,发送单元804可以将C个编码块编码后的码字发送给接收端设备。其中,C个编码块对应一个或多个码长,且一个或多个码长属于预先定义或者配置的S个码长,C个编码块的数据长度对应第一码率,S个码长中的每个码长满足2的正整数次幂的形式,S为大于或等于2的正整数,C为正整数。
示例性的,通信装置801还可包含存储单元,该存储单元用于存储计算机指令,获取单元802和处理单元803分别与存储单元通信连接,获取单元802和处理单元803分别执行存储单元存储的计算机指令,使通信装置801可以用于执行上述实施例一或实施例二所示任一实施例中发送端设备所执行的方法。其中,获取单元802和处理单元803可以是一个通用中央处理器(CPU),微处理器,特定应用集成电路(application specific intergrated circuit,ASIC)。可选地,存储单元为芯片内的存储单元,如寄存器、缓存等,存储单元还可以是通信装置801内的位于该芯片外部的存储单元,如只读存储器(read only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
该通信装置801所涉及的与本申请实施例提供的技术方案相关的概念,解释和详细说明及其他步骤请参见前述方法或其他实施例中关于这些内容的描述,此处不做赘述。
基于以上实施例以及相同构思,图9示例性示出本申请实施例提供的一种通信装置的结构示意图,如图9所示,该通信装置901可以为接收端设备,例如可以为网络设备或终端设备,也可以为芯片或电路,比如可设置于网络设备中的芯片或电路,或者设置于终端设备中的芯片或电路。该通信装置可以实现如上图3或图5中所示的任一项或任意多项对应的方法中接收端设备所执行的步骤,或执行上述实施例一或实施例二所示任一实施例中接收端设备所执行的方法。
如图9所示,该通信装置901可以包括接收单元902和处理单元903。当通信装置901为接收端设备,且执行实施例一时:接收单元902可以接收发送端设备发送的C个编码块编码后的码字,处理单元903可以根据信息比特的总数据长度和预设的第一码率,解码C个编码块编码后的码字,获得C个编码块中包含的信息比特。其中,C个编码块对应一个或多个码长,且一个或多个码长属于预先定义或者配置的S个码长,C个编码块的数据长度对应第一码率,S个码长中的每个码长满足2的正整数次幂的形式,S为大于或等于2的正整数,C为正整数。
示例性的,通信装置901还可包含存储单元,该存储单元用于存储计算机指令,处理单元903分别与存储单元通信连接,处理单元903执行存储单元存储的计算机指令,使通信装置901可以用于执行上述实施例一或实施例二所示任一实施例中接收端设备所执行的 方法。其中,处理单元903可以是一个通用中央处理器(CPU),微处理器,特定应用集成电路(application specific intergrated circuit,ASIC)。可选地,存储单元为芯片内的存储单元,如寄存器、缓存等,存储单元还可以是通信装置901内的位于该芯片外部的存储单元,如只读存储器(read only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
该通信装置901所涉及的与本申请实施例提供的技术方案相关的概念,解释和详细说明及其他步骤请参见前述方法或其他实施例中关于这些内容的描述,此处不做赘述。
应理解,以上通信装置801和通信装置901的单元的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。本申请实施例中,发送单元804和接收单元902可以由上述图7的收发器703实现,获取单元802、处理单元803和处理单元903可以由上述图7的处理器702实现。
根据本申请实施例提供的方法,本申请还提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行如上述图3或图5所示实施例的任意一个实施例中发送端设备所执行的方法,或者执行如上述图3或图5所示实施例的任意一个实施例中接收端设备所执行的方法。
根据本申请实施例提供的方法,本申请还提供一种计算机可读存储介质,该计算机可读介质存储有程序代码,当该程序代码在计算机上运行时,使得该计算机执行如上述图3或图5所示实施例的任意一个实施例中发送端设备所执行的方法,或者执行如上述图3或图5所示实施例的任意一个实施例中接收端设备所执行的方法。
根据本申请实施例提供的方法,本申请还提供一种终端设备,该终端设备可以是具有通信功能的任意终端设备,例如可以是进行短距通信的通信系统中的终端设备,该终端设备可以执行如上述图3或图5所示实施例的任意一个实施例中发送端设备所执行的方法,或者执行如上述图3或图5所示实施例的任意一个实施例中接收端设备所执行的方法。其中,一些终端设备的举例包括但不限于:智能家居设备(诸如电视、扫地机器人、智能台灯、音响系统、智能照明系统、电器控制系统、家庭背景音乐、家庭影院系统、对讲系统、视频监控等)、智能运输设备(诸如汽车、轮船、无人机、火车、货车、卡车等)、智能制造设备(诸如机器人、工业设备、智能物流、智能工厂等)、智能终端(手机、计算机、平板电脑、掌上电脑、台式机、耳机、音响、穿戴设备、车载设备、虚拟现实设备、增强现实设备等)。
根据本申请实施例提供的方法,本申请还提供一种通信系统,包括前述的发送端设备和接收端终端,发送端设备可以执行如上述图3或图5所示实施例的任意一个实施例中发送端设备所执行的方法,接收端设备可以执行如上述图3或图5所示实施例的任意一个实施例中接收端设备所执行的方法。
上述实施例可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、车辆管理服务器或数据中心通过有线(例如同轴电缆、光纤、 数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、车辆管理服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的车辆管理服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(digital video disc,DVD))、或者半导体介质(例如,固态硬盘(solid state drive,SSD))等。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (39)

  1. 一种数据处理方法,其特征在于,包括:
    获取信息比特的总数据长度;
    根据所述信息比特的总数据长度和预设的第一码率获取C个编码块;其中,所述C个编码块对应一个或多个码长,且所述一个或多个码长属于预先定义或者配置的S个码长,所述C个编码块的数据长度对应所述第一码率,所述S个码长中的每个码长满足2的正整数次幂,S为大于或等于2的正整数,C为正整数。
  2. 如权利要求1所述的方法,其特征在于,针对于所述第一码率,所述S个码长中的每个码长对应一个预先定义或者配置的数据长度,其中,所述码长和数据长度满足以下中的一个或多个:
    所述S个码长中的最大码长对应的数据长度的值为所述第一码率和所述最大码长的乘积;
    所述第一码率为预先定义或者配置的T个码率中的最小码率,所述S个码长中的非最大码长对应的数据长度为所述第一码率与预设降阶阈值的差值和所述非最大码长的乘积;或者
    所述第一码率为预先定义或者配置的T个码率中的非最小码率,所述S个码长中的非最大码长对应的数据长度为码率小于所述第一码率的上一阶码率和所述非最大码长的乘积。
  3. 如权利要求1或2所述的方法,其特征在于,所述C个编码块中包含:
    C 10个第一编码块,每个所述第一编码块的码长为所述S个码长中的最大码长,每个所述第一编码块中包含一个针对于所述第一编码块所包含的信息比特的第一校验码;
    和/或,
    C 20个第二编码块,任一所述第二编码块的码长为所述S个码长中的一个非最大码长,所述C 20个第二编码块中包含一个针对于所述C 20个第二编码块所包含的全部信息比特的第二校验码;
    其中,C 10为正整数,且C 20为大于或等于0的整数;或者,C 10为大于或等于0的整数,且C 20为正整数。
  4. 如权利要求3所述的方法,其特征在于,针对于所述第一码率,所述S个码长中的每个码长对应一个预先定义或者配置的数据长度;
    所述C 10和所述C 20是根据所述信息比特的总数据长度和每个所述第一编码块中包含的信息比特的数据长度得到的,每个所述第一编码块中包含的信息比特的数据长度是所述最大码长对应的数据长度和所述第一校验码的数据长度之差。
  5. 如权利要求4所述的方法,其特征在于,所述信息比特的总数据长度和每个所述第一编码块中包含的信息比特的数据长度的比值为整数,所述C 10为所述比值,所述C 20为0。
  6. 如权利要求4所述的方法,其特征在于,所述信息比特的总数据长度和每个所述第一编码块中包含的信息比特的数据长度的比值不为整数,
    所述C 10为所述比值中的整数部分;
    所述C 20个第二编码块中包含L种第二编码块,所述L种第二编码块对应所述S个码长中的L个非最大码长,L为小于或等于S-1的正整数;所述L种第二编码块中的每种第 二编码块的数据长度为所对应的非最大码长对应的数据长度,所述L种第二编码块的数量是根据剩余待分段数据的数据长度和所述L种第二编码块的数据长度得到的,所述剩余待分段数据的数据长度是剩余信息比特的数据长度和第二校验码的数据长度之和,所述剩余信息比特的数据长度为所述信息比特的总数据长度与所述C 10个第一编码块中包含的信息比特的数据长度之差。
  7. 如权利要求6所述的方法,其特征在于,所述L种第二编码块的数量是根据所述最小码长对应的编码块的预计数量、以及所述L种第二编码块的数据长度和所述最小码长对应的数据长度的相对关系确定的,所述最小码长对应的编码块的预计数量为大于或等于所述剩余待分段数据的数据长度和所述最小码长对应的数据长度的比值的最小整数。
  8. 如权利要求7所述的方法,其特征在于,所述L种第二编码块的数量是按照所对应的L个非最大码长由大到小的顺序依次确定的,针对于所述L种第二编码块中的每种第二编码块:
    所述第二编码块的数量为所述最小码长对应的编码块的剩余预计数量与所述第一比值的比值中的整数,所述第一比值为所述第二编码块的数据长度和所述最小码长对应的数据长度的比值,所述最小码长对应的编码块的剩余预计数量为所述最小码长对应的编码块的预计数量与码长大于所述第二编码块对应的非最大码长的其它非最大码长所对应的第二编码块的数量和第二比值的乘积的差值,所述第二比值为所述其它非最大码长对应的第二编码块的数据长度和所述最小码长对应的数据长度的比值。
  9. 如权利要求7所述的方法,其特征在于,所述L种第二编码块的数量是根据所述最小码长对应的编码块的预计数量的二进制数据中取值不为0的L个数值确定的,所述二进制数据由低位到高位的取值一一对应码长由小到大的所述S-1个非最大码长。
  10. 如权利要求7所述的方法,其特征在于,所述L种第二编码块的数量是根据所述最小码长对应的编码块的预计数量和预设的码长、码率、数据长度、编码块数量和预计数量的对应关系得到的,所述对应关系是根据所述S-1个非最大码长对应的预先设定或者配置的数据长度和所述最小码长对应的数据长度的相对关系进行预先设定或者配置的。
  11. 如权利要求6至10任一项所述的方法,其特征在于,
    所述剩余待分段数据的数据长度不大于预先设定或者配置的数据长度阈值;或者,
    所述最小码长对应的编码块的预计数量不大于预先设定或者配置的数量阈值,所述最小码长对应的编码块的预计数量为大于或等于所述剩余待分段数据的数据长度和所述最小码长对应的预先设定或者配置的数据长度的比值的最小整数。
  12. 如权利要求4所述的方法,其特征在于,所述信息比特的总数据长度和每个所述第一编码块中包含的信息比特的数据长度的比值不为整数,
    所述C 10为大于所述比值的最小整数,所述C 20为0。
  13. 如权利要求12所述的方法,其特征在于,
    所述剩余待分段数据的数据长度大于预先设定或者配置的数据长度阈值;或者,
    所述最小码长对应的编码块的预计数量大于预先设定或者配置的数量阈值,所述最小码长对应的编码块的预计数量为大于或等于所述剩余待分段数据的数据长度和所述最小码长对应的预先设定或者配置的数据长度的比值的最小整数。
  14. 如权利要求3至13任一项所述的方法,其特征在于,
    所述根据所述信息比特的总数据长度和预设的第一码率获取C个编码块之后,还包括:
    编码所述C个编码块获得所述C个编码块编码后的码字;
    发送所述C个编码块编码后的码字。
  15. 如权利要求14所述的方法,其特征在于,所述根据所述信息比特的总数据长度和预设的第一码率获取C个编码块之后,所述编码所述C个编码块获得所述C个编码块编码后的码字之前,还包括:
    在所述C个编码块的总数据长度与有效数据长度之差不为零的情况下,调整所述C 10个第一编码块和/或所述C 20个第二编码块;其中,所述有效数据长度为所述信息比特的总数据长度、C 10个所述第一校验码的数据长度和所述第二校验码的数据长度之和。
  16. 如权利要求15所述的方法,其特征在于,调整后的所述C 10个第一编码块或所述C 20个第二编码块满足如下内容中的一项或多项:
    调整后的所述C 10个第一编码块中存在一个或多个第一编码块包含预设数据;
    调整后的所述C 10个第一编码块中存在一个或多个第一编码块的数据长度小于所述最大码长对应的预先设定或者配置的数据长度;
    调整后的所述C 20个第二编码块中存在一个或多个第二编码块包含所述预设数据;
    或者,
    调整后的所述C 20个第二编码块中存在一个或多个第二编码块的数据长度小于所述第二编码块对应的非最大码长对应的预先设定或者配置的数据长度。
  17. 如权利要求3至13任一项所述的方法,其特征在于,
    所述根据所述信息比特的总数据长度和预设的第一码率获取C个编码块之前,还包括:
    接收C个编码块编码后的码字;
    所述根据所述信息比特的总数据长度和预设的第一码率获取C个编码块,包括:
    根据所述信息比特的总数据长度和所述第一码率,解码所述C个编码块编码后的码字,获取所述C个编码块中包含的信息比特。
  18. 如权利要求17所述的方法,其特征在于,所述方法还包括:
    根据所述信息比特的总数据长度和所述第一码率,获得所述C 10个第一编码块中的每个第一编码块包含的信息比特和第一校验码,并校验所述每个第一编码块中包含的信息比特和第一校验码;和/或,获得所述C 20个第一编码块包含的信息比特和所述第二校验码,并校验所述C 20个第一编码块中包含的信息比特和所述第二校验码。
  19. 一种通信装置,其特征在于,包括:
    获取单元,用于获取信息比特的数据长度;
    处理单元,用于根据所述信息比特的总数据长度和预设的第一码率获取C个编码块;其中,所述C个编码块对应一个或多个码长,且所述一个或多个码长属于预先定义或者配置的S个码长,所述C个编码块的数据长度对应所述第一码率,所述S个码长中的每个码长满足2的正整数次幂,S为大于或等于2的正整数,C为正整数。
  20. 如权利要求19所述的通信装置,其特征在于,针对于所述第一码率,所述S个码长中的每个码长对应一个预先定义或者配置的数据长度,其中,所述码长和数据长度满足以下中的一个或多个:
    所述S个码长中的最大码长对应的数据长度的值为所述第一码率和所述最大码长的乘积;
    所述第一码率为预先定义或者配置的T个码率中的最小码率,所述S个码长中的非最 大码长对应的数据长度为所述第一码率与预设降阶阈值的差值和所述非最大码长的乘积;或者
    所述第一码率为预先定义或者配置的T个码率中的非最小码率,所述S个码长中的非最大码长对应的数据长度为码率小于所述第一码率的上一阶码率和所述非最大码长的乘积。
  21. 如权利要求19或20所述的通信装置,其特征在于,所述C个编码块中包含:
    C 10个第一编码块,每个所述第一编码块的码长为所述S个码长中的最大码长,每个所述第一编码块中包含一个针对于所述第一编码块所包含的信息比特的第一校验码;
    和/或,
    C 20个第二编码块,任一所述第二编码块的码长为所述S个码长中的一个非最大码长,所述C 20个第二编码块中包含一个针对于所述C 20个第二编码块所包含的全部信息比特的第二校验码;
    其中,C 10为正整数,且C 20为大于或等于0的整数;或者,C 10为大于或等于0的整数,且C 20为正整数。
  22. 如权利要求21所述的通信装置,其特征在于,针对于所述第一码率,所述S个码长中的每个码长对应一个预先定义或者配置的数据长度;
    所述C 10和所述C 20是根据所述信息比特的总数据长度和每个所述第一编码块中包含的信息比特的数据长度得到的,每个所述第一编码块中包含的信息比特的数据长度是所述最大码长对应的数据长度和所述第一校验码的数据长度之差。
  23. 如权利要求22所述的通信装置,其特征在于,所述信息比特的总数据长度和每个所述第一编码块中包含的信息比特的数据长度的比值为整数,所述C 10为所述比值,所述C 20为0。
  24. 如权利要求22所述的通信装置,其特征在于,所述信息比特的总数据长度和每个所述第一编码块中包含的信息比特的数据长度的比值不为整数,
    所述C 10为所述比值中的整数部分;
    所述C 20个第二编码块中包含L种第二编码块,所述L种第二编码块对应所述S个码长中的L个非最大码长,L为小于或等于S-1的正整数;所述L种第二编码块中的每种第二编码块的数据长度为所对应的非最大码长对应的数据长度,所述L种第二编码块的数量是根据剩余待分段数据的数据长度和所述L种第二编码块的数据长度得到的,所述剩余待分段数据的数据长度是剩余信息比特的数据长度和第二校验码的数据长度之和,所述剩余信息比特的数据长度为所述信息比特的总数据长度与所述C 10个第一编码块中包含的信息比特的数据长度之差。
  25. 如权利要求24所述的通信装置,其特征在于,所述L种第二编码块的数量是根据所述最小码长对应的编码块的预计数量、以及所述L种第二编码块的数据长度和所述最小码长对应的数据长度的相对关系确定的,所述最小码长对应的编码块的预计数量为大于或等于所述剩余待分段数据的数据长度和所述最小码长对应的数据长度的比值的最小整数。
  26. 如权利要求25所述的通信装置,其特征在于,所述L种第二编码块的数量是按照所对应的L个非最大码长由大到小的顺序依次确定的,针对于所述L种第二编码块中的每种第二编码块:
    所述第二编码块的数量为所述最小码长对应的编码块的剩余预计数量与所述第一比 值的比值中的整数,所述第一比值为所述第二编码块的数据长度和所述最小码长对应的数据长度的比值,所述最小码长对应的编码块的剩余预计数量为所述最小码长对应的编码块的预计数量与码长大于所述第二编码块对应的非最大码长的其它非最大码长所对应的第二编码块的数量和第二比值的乘积的差值,所述第二比值为所述其它非最大码长对应的第二编码块的数据长度和所述最小码长对应的数据长度的比值。
  27. 如权利要求25所述的通信装置,其特征在于,所述L种第二编码块的数量是根据所述最小码长对应的编码块的预计数量的二进制数据中取值不为0的L个数值确定的,所述二进制数据由低位到高位的取值一一对应码长由小到大的所述S-1个非最大码长。
  28. 如权利要求25所述的通信装置,其特征在于,所述L种第二编码块的数量是根据所述最小码长对应的编码块的预计数量和预设的码长、码率、数据长度、编码块数量和预计数量的对应关系得到的,所述对应关系是根据所述S-1个非最大码长对应的预先设定或者配置的数据长度和所述最小码长对应的数据长度的相对关系进行预先设定或者配置的。
  29. 如权利要求24至28任一项所述的通信装置,其特征在于,
    所述剩余待分段数据的数据长度不大于预先设定或者配置的数据长度阈值;或者,
    所述最小码长对应的编码块的预计数量不大于预先设定或者配置的数量阈值,所述最小码长对应的编码块的预计数量为大于或等于所述剩余待分段数据的数据长度和所述最小码长对应的预先设定或者配置的数据长度的比值的最小整数。
  30. 如权利要求22所述的通信装置,其特征在于,所述信息比特的总数据长度和每个所述第一编码块中包含的信息比特的数据长度的比值不为整数,
    所述C 10为大于所述比值的最小整数,所述C 20为0。
  31. 如权利要求30所述的通信装置,其特征在于,
    所述剩余待分段数据的数据长度大于预先设定或者配置的数据长度阈值;或者,
    所述最小码长对应的编码块的预计数量大于预先设定或者配置的数量阈值,所述最小码长对应的编码块的预计数量为大于或等于所述剩余待分段数据的数据长度和所述最小码长对应的预先设定或者配置的数据长度的比值的最小整数。
  32. 如权利要求21至31任一项所述的通信装置,其特征在于,所述通信装置还包括发送单元,
    在所述处理单元在根据所述信息比特的总数据长度和预设的第一码率获取C个编码块之后:
    所述处理单元,还用于:编码所述C个编码块获得所述C个编码块编码后的码字;
    所述发送单元,用于:发送所述C个编码块编码后的码字。
  33. 如权利要求32所述的通信装置,其特征在于,所述处理单元在根据所述信息比特的总数据长度和预设的第一码率获取C个编码块之后,还用于:
    在所述C个编码块的总数据长度与有效数据长度之差不为零的情况下,调整所述C 10个第一编码块和/或所述C 20个第二编码块;其中,所述有效数据长度为所述信息比特的总数据长度、C 10个所述第一校验码的数据长度和所述第二校验码的数据长度之和。
  34. 如权利要求33所述的通信装置,其特征在于,调整后的所述C 10个第一编码块或所述C 20个第二编码块满足如下内容中的一项或多项:
    调整后的所述C 10个第一编码块中存在一个或多个第一编码块包含预设数据;
    调整后的所述C 10个第一编码块中存在一个或多个第一编码块的数据长度小于所述最 大码长对应的预先设定或者配置的数据长度;
    调整后的所述C 20个第二编码块中存在一个或多个第二编码块包含所述预设数据;
    或者,
    调整后的所述C 20个第二编码块中存在一个或多个第二编码块的数据长度小于所述第二编码块对应的非最大码长对应的预先设定或者配置的数据长度。
  35. 如权利要求21至31任一项所述的通信装置,其特征在于,所述通信装置还包括接收单元,
    在所述处理单元根据所述信息比特的总数据长度和预设的第一码率获取C个编码块之前,所述接收单元用于:接收C个编码块编码后的码字;
    所述处理单元,具体用于:根据所述信息比特的总数据长度和所述第一码率,解码所述C个编码块编码后的码字,获取所述C个编码块中包含的信息比特。
  36. 如权利要求35所述的通信装置,其特征在于,所述处理单元还用于:
    根据所述信息比特的总数据长度和所述第一码率,获得所述C 10个第一编码块中的每个第一编码块包含的信息比特和第一校验码,并校验所述每个第一编码块中包含的信息比特和第一校验码;和/或,获得所述C 20个第一编码块包含的信息比特和所述第二校验码,并校验所述C 20个第一编码块中包含的信息比特和所述第二校验码。
  37. 一种通信装置,其特征在于,包括至少一个处理器和接口电路,所述接口电路用于为所述至少一个处理器提供数据或者代码指令,所述至少一个处理器用于通过逻辑电路或执行代码指令实现如权利要求1至16中任一项所述的方法、或者实现如权利要求1至13、17、18中任一项所述的方法。
  38. 一种通信系统,其特征在于,包括发送端设备和接收端设备,所述发送端设备用于执行如权利要求1至16中任一项所述的方法,所述接收端设备用于执行如权利要求1至13、17、18中任一项所述的方法。
  39. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被运行时,执行如权利要求1至16中任一项所述的方法、或执行如权利要求1至13、17、18中任一项所述的方法。
PCT/CN2021/101093 2021-06-18 2021-06-18 一种数据处理方法、装置及系统 WO2022261991A1 (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
PCT/CN2021/101093 WO2022261991A1 (zh) 2021-06-18 2021-06-18 一种数据处理方法、装置及系统
CN202180098837.2A CN117413475A (zh) 2021-06-18 2021-06-18 一种数据处理方法、装置及系统
PCT/CN2021/105608 WO2022262031A1 (zh) 2021-06-18 2021-07-09 一种数据处理方法、装置及系统
EP21945613.4A EP4351049A1 (en) 2021-06-18 2021-07-09 Data processing method, apparatus and system
CN202180098840.4A CN117441302A (zh) 2021-06-18 2021-07-09 一种数据处理方法、装置及系统
US18/543,603 US20240137147A1 (en) 2021-06-18 2023-12-18 Data Processing Method, Apparatus, and System

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/101093 WO2022261991A1 (zh) 2021-06-18 2021-06-18 一种数据处理方法、装置及系统

Publications (1)

Publication Number Publication Date
WO2022261991A1 true WO2022261991A1 (zh) 2022-12-22

Family

ID=84526657

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/CN2021/101093 WO2022261991A1 (zh) 2021-06-18 2021-06-18 一种数据处理方法、装置及系统
PCT/CN2021/105608 WO2022262031A1 (zh) 2021-06-18 2021-07-09 一种数据处理方法、装置及系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/105608 WO2022262031A1 (zh) 2021-06-18 2021-07-09 一种数据处理方法、装置及系统

Country Status (4)

Country Link
US (1) US20240137147A1 (zh)
EP (1) EP4351049A1 (zh)
CN (2) CN117413475A (zh)
WO (2) WO2022261991A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116701271A (zh) * 2023-06-13 2023-09-05 上海奎芯集成电路设计有限公司 Ucie适配层的兼容多种批长度的数据传输模块和方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101667884A (zh) * 2008-09-03 2010-03-10 中兴通讯股份有限公司 信道编码方法及装置、信道译码方法及装置
CN104618068A (zh) * 2015-02-16 2015-05-13 中国科学院上海高等研究院 用于无线广播通信系统的比特交织编码调制装置及方法
CN107342843A (zh) * 2017-01-05 2017-11-10 华为技术有限公司 速率匹配方法、编码装置和通信装置
WO2019047237A1 (en) * 2017-09-11 2019-03-14 Qualcomm Incorporated TECHNIQUES AND APPARATUS FOR POLAR CODING OF FIXED AND PERIODIC VARIATION MESSAGES

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108288970B (zh) * 2017-01-09 2020-03-03 电信科学技术研究院 一种极化码编译码方法及装置
EP3520224A1 (en) * 2017-02-10 2019-08-07 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
CN112583522B (zh) * 2019-09-27 2022-09-23 华为技术有限公司 一种极化码分段编码的方法及通信设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101667884A (zh) * 2008-09-03 2010-03-10 中兴通讯股份有限公司 信道编码方法及装置、信道译码方法及装置
CN104618068A (zh) * 2015-02-16 2015-05-13 中国科学院上海高等研究院 用于无线广播通信系统的比特交织编码调制装置及方法
CN107342843A (zh) * 2017-01-05 2017-11-10 华为技术有限公司 速率匹配方法、编码装置和通信装置
WO2019047237A1 (en) * 2017-09-11 2019-03-14 Qualcomm Incorporated TECHNIQUES AND APPARATUS FOR POLAR CODING OF FIXED AND PERIODIC VARIATION MESSAGES

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116701271A (zh) * 2023-06-13 2023-09-05 上海奎芯集成电路设计有限公司 Ucie适配层的兼容多种批长度的数据传输模块和方法
CN116701271B (zh) * 2023-06-13 2023-11-17 上海奎芯集成电路设计有限公司 Ucie适配层的兼容多种批长度的数据传输模块和方法

Also Published As

Publication number Publication date
CN117413475A (zh) 2024-01-16
WO2022262031A1 (zh) 2022-12-22
US20240137147A1 (en) 2024-04-25
EP4351049A1 (en) 2024-04-10
CN117441302A (zh) 2024-01-23

Similar Documents

Publication Publication Date Title
WO2023044938A1 (zh) 一种反馈信息传输方法、装置及存储介质
CN111133704B (zh) 用于基于代码块组的第五代(5g)或其它下一代系统的自适应两级下行链路控制信道结构
WO2020143428A1 (zh) 传输上行信息的方法和通信装置
WO2021057461A1 (zh) 一种极化码分段编码的方法及通信设备
CN113114410A (zh) 数据处理方法、配置方法及通信设备
JP2022551321A (ja) 通信方法及び装置
US20240137147A1 (en) Data Processing Method, Apparatus, and System
WO2020143366A1 (zh) 发送、接收方法及装置
WO2019028892A1 (zh) 发送和接收数据的方法和装置
TWI695603B (zh) 實現數據映射傳輸的方法及相關產品
WO2021244264A1 (zh) 通信方法、装置和系统
WO2021179864A1 (zh) 码本反馈方法、网络设备、终端设备及计算机存储介质
WO2021169522A1 (zh) 数据处理方法及装置
WO2021000937A1 (zh) 多时间单元传输方法及相关装置
WO2023134363A1 (zh) 编码方法、解码方法和通信装置
US9668238B1 (en) Multicast file delivery
WO2022047809A1 (zh) 一种通信方法及装置
WO2018201903A1 (zh) 数据传输方法、终端和基站
JP2024523043A (ja) データ処理方法、装置、及びシステム
WO2023030166A1 (zh) 通信方法及装置
WO2022011715A1 (zh) 数据传输方法及装置
WO2024078074A1 (zh) 信道状态信息的发送方法、接收方法及装置、存储介质
WO2022094897A1 (zh) 信道编码方法及装置
WO2023273973A1 (zh) 一种通信方法及通信装置
WO2023273975A1 (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: 21945574

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202180098837.2

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21945574

Country of ref document: EP

Kind code of ref document: A1