Data processing method, device and equipment

CN119547359APending Publication Date: 2025-02-28HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202280098390.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-08-08
Publication Date
2025-02-28

AI Technical Summary

Technical Problem

When implementing stream decoding and blind decoding, existing Polar codes are difficult to effectively handle the problem of mismatch in the number of information bits, resulting in sudden changes in performance when switching coding blocks.

Method used

By designing a new Polar code encoding matrix G, the block to be encoded is divided and the number of encoding sub-blocks is adjusted to ensure that the number of information bits in each encoding block is evenly distributed. The sub-blocks are sent in reverse order to achieve stream coding and blind decoding.

Benefits of technology

It achieves performance stability when switching coding blocks, reduces encoder and cache sizes in terminal devices, and supports efficient stream decoding and blind decoding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119547359A_ABST
    Figure CN119547359A_ABST
Patent Text Reader

Abstract

The invention provides a data processing method, device and equipment, and realizes a coding method supporting blind decoding. Wherein when the number of information bits is large, the information bits need to be borne by a plurality of to-be-coded blocks, so that when the to-be-coded blocks (namely, the coding blocks are divided) are divided, part of information bits of the next coding block can be moved to the previous coding block, and the problem that the coding efficiency is influenced when the adjacent coding blocks are switched in the decoding process can be avoided. And performance mutation caused by too small number of information bits in the next coding block is avoided.
Need to check novelty before this filing date? Find Prior Art

Description

Data processing method, device and equipment Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a data processing method, apparatus, and device. Background Art

[0002] Polar code is a channel coding scheme that can be rigorously proven to "reach" the Shannon channel capacity. It has the characteristics of good performance and low complexity and can be applied to the fifth generation (5 th generation, 5G) communication systems and future communication systems. The mother code length of the Polar code is an integer power of 2 (that is, 2 n ), when the code length N required for actual communication is not the mother code length (for example, not 2 n ), further code length matching is required through methods such as puncturing and retransmission to achieve rate matching. Furthermore, when the total number of transmitted bits exceeds the mother code length, segmentation is required (i.e., division into multiple coding blocks). Information bits are then constructed and rate matching is performed based on the number of coding blocks and the number of information bits in each coding block. However, existing methods for constructing information bits and performing rate matching for these scenarios cannot achieve stream decoding, and blind decoding is also difficult to implement.

[0003] Summary of the Invention

[0004] The present application provides a data processing method, apparatus, and device. The coded data obtained by the method can realize stream decoding and avoid performance mutation caused by too few information bits in the coding block when switching between adjacent coding blocks during the decoding process.

[0005] In a first aspect, the present application provides a data processing method that can be executed by a terminal device or a network device. Taking a terminal device as the execution subject and the terminal device as the encoding side as an example, the terminal device obtains K information bits and determines the number of blocks to be encoded based on the K information bits. When K is less than or equal to M×R+k (which can be expressed as K≤M×R+k), the number of blocks to be encoded, C=1; when K is greater than M×R+k (which can be expressed as K>M×R+k), the number of blocks to be encoded, C>1, and the number of information bits of each block to be encoded, except for the 0th block to be encoded and the last block to be encoded, is the same, M×R. The number of information bits of the last block to be encoded is less than or equal to M×R, and the number of information bits of the 0th encoding block is equal to M×R+k; k is greater than or equal to 0. The terminal device determines the number of information bits of each of the C blocks to be encoded based on the maximum mother code length M and the code rate R. The C blocks to be encoded are encoded to obtain and transmit encoded data.

[0006] In this method, when the number of information bits is large and needs to be carried by multiple blocks to be coded, then when dividing the blocks to be coded (that is, dividing the coding blocks), part of the information bits of the latter coding block are moved to the previous coding block. This can avoid performance mutation caused by the latter coding block being too small when switching coding blocks.

[0007] In one possible implementation, when C>1,

[0008] The number of information bits included in the C blocks to be coded is: I0=M×R+k, I c =M×R, c satisfies c∈{1,2,...,C-2}, I C-1 =KM×R×(C-1)-k,

[0009] The coded data includes C coding blocks, and the code length of C coding blocks is: X c′ =M, c′ satisfies c′∈{0,1,2,...,C-2}, X C-1 =EM×(C-1), where E is the total code length corresponding to K information bits.

[0010] In this method, when there are multiple blocks to be encoded, for each sub-block to be encoded in the block to be encoded, the last sub-block to be encoded in the block to be encoded is designed to carry the least number of information bits, so that the last sub-block to be encoded can be a rate matching sub-block, which is conducive to ensuring the progress of blind decoding.

[0011] In a possible implementation, the coded data includes C coded blocks, each coded block includes m coded sub-blocks, and the coded sub-blocks are sent via a sending sub-block;

[0012] When the code length of the coding block is X, the number of transmitted sub-blocks of the coding block satisfies

[0013] When the number of transmitted sub-blocks of a coding block satisfies D>S, the number of coding sub-blocks of the coding block satisfies m=S; or,

[0014] When the number of transmitted sub-blocks of a coding block satisfies D≤S, the number of coding sub-blocks of the coding block satisfies m=D;

[0015] Said N' is the coding sub-block size;

[0016] The S is the maximum number of coding sub-blocks included in the coding block, for example,

[0017] In a possible implementation, if the last coding subblock in the coding block is a repeated subblock, the 0th to m-1th sending subblocks are m coding subblocks, and the mth sending subblock is obtained by repeating the m-1th coding subblock.

[0018] In one possible implementation, if the penultimate coding subblock in the coding block is a punctured subblock, the m-1th sending subblock is obtained by puncturing the penultimate coding subblock, and the remaining m-1 sending subblocks are the remaining m-1 coding subblocks.

[0019] In the above method, the number of transmitted sub-blocks of a coding block is the same as the number of coding sub-blocks of the coding block; and, if the coding block adopts a repetition mode when being transmitted, the last coding sub-block in the coding block is a repetition sub-block, and the number of transmitted sub-blocks is the maximum number of coding sub-blocks; if the coding block adopts a puncture mode when being transmitted, the second-to-last coding sub-block in the coding block is a punctured sub-block.

[0020] In one possible implementation, the length of the sending sub-block of the coding block is Y j =N′, j satisfies j∈{0,1,2,...,D-2}, Y D-1 =X-(D-1)*N′.

[0021] In one possible implementation, the number of information bits of the coding sub-block of the coding block is J i =A i , i∈{0,1,2,...,m-3}, where,

[0022] When the number of coding sub-blocks of a coding block is D>S, J m-2 =A m-2 ,or,

[0023] When the number of coding sub-blocks in a coding block satisfies D≤S, the number of information bits of the m-2th coding sub-block is The A m-2 To allocate the S-2th element in the sequence, the Δ is calculated based on the Y D-1 The difference between the N′ and the N′ is determined to be 0 or 1;

[0024] The number of information bits of the m-1th coding sub-block is

[0025] A i is an element in an allocation sequence, wherein the allocation sequence is a sequence of S-1 variables {A0, A1, A2, ..., A S-2}, where the relationship between the elements in the allocation sequence is A0≤A1≤...≤A S-2 .

[0026] In the above method, the number of information bits in the sending sub-block of the coding block and the number of information bits in the coding sub-block of the coding block are designed, which is conducive to realizing stream coding.

[0027] In one possible implementation, the terminal device may divide the information bits to be encoded into C segments according to the number of information bits in each coding block; divide the bits to be encoded in each segment into m sub-segments according to the number of information bits in each coding sub-block; determine the information bits and frozen bits of each coding sub-block according to the code length N′ and the number of information bits of each coding sub-block, and construct a m×2 n information sequence; according to the position information of the information bits in the information sequence, the information bits to be encoded are inserted into the sequence to be encoded, and a modular square multiplication process is performed with the encoding matrix G to obtain the encoded data.

[0028] Among them, the encoding matrix G is of size (m×2 n )×(m×2 n ), m and n are positive integers, the matrix G N′ For size 2 n ×2 n Polar generator matrix, matrix O is of size 2 n ×2 n An all-zero matrix.

[0029] In this method, a new Polar code encoding matrix G is designed. When a terminal device uses this encoding matrix G to encode the information bits to be encoded, it can encode and send the encoded data after receiving a portion of the information bits during the encoding process, realizing stream coding, which is beneficial to reducing the size of the encoder and cache in the terminal device.

[0030] In one possible implementation, the order in which the coded sub-blocks are sent is:

[0031] First, the m-1th sending sub-block is sent, and then the i-th coding sub-block is sent in sequence. The order of i is 0, 1, 2, ..., m-2.

[0032] For example, the m-1th coding subblock is the 0th transmitted subblock, the 0th coding subblock is the 1st transmitted subblock, the 1st coding subblock is the 2nd transmitted subblock, and so on, the m-2th coding subblock is the D-1th transmitted subblock.

[0033] In one possible implementation, the order of sending the coded bits in the sending sub-block is:

[0034] According to the length of the transmission sub-block, the coded bits are transmitted in reverse order starting from the N′-1th position of the transmission sub-block.

[0035] In this method, the sending sub-blocks are sent in reverse order, which is conducive to directly sending the sending sub-blocks as rate matching sub-blocks to the corresponding decoding addresses, reducing the complexity and power consumption of data transmission.

[0036] It should be noted that the method described in the first aspect above can also be executed by a network device. In this case, the network device is the encoding side and the terminal device is the decoding side.

[0037] In a second aspect, the present application provides another data processing method, which can be executed by a terminal device or a network device. Taking the network device as the execution subject and the network device as the decoding side as an example, the network device receives the encoded data and decodes the encoded data. The encoded data is obtained by encoding C blocks to be encoded, and the number of information bits of each block to be encoded in the C blocks to be encoded is determined according to the maximum mother code length M and the code rate R. The number of blocks to be encoded C is determined according to the number of information bits K. When K is less than or equal to M×R+k (which can be expressed as K≤M×R+k), C=1; when K is greater than M×R+k (which can be expressed as K>M×R+k), C>1; the number of information bits of each block to be encoded except the 0th block to be encoded and the last block to be encoded is the same, both M×R, the number of information bits of the last block to be encoded is less than or equal to M×R, and the number of information bits of the 0th encoding block is equal to M×R+k; k is greater than or equal to 0.

[0038] In this method, since the coded data includes multiple coded blocks and the number of information bits in the multiple coded blocks is designed according to a certain rule, blind decoding can be implemented for the coded data.

[0039] In one possible implementation, when C>1,

[0040] The number of information bits included in the C blocks to be coded is: I0=M×R+k, I c =M×R, c satisfies c∈{1,2,...,C-2}, I C-1 =KM×R×(C-1)-k,

[0041] The coded data includes C coding blocks, and the code length of C coding blocks is: X c′ =M, c′ satisfies c′∈{0,1,2,...,C-2}, X C-1 =EM×(C-1), where E is the total code length corresponding to K information bits.

[0042] In this method, when there are multiple blocks to be encoded, for each sub-block to be encoded in the block to be encoded, the last sub-block to be encoded in the block to be encoded is designed to carry the least number of information bits, so that the last sub-block to be encoded can be a rate matching sub-block, which is conducive to ensuring the progress of blind decoding.

[0043] In a possible implementation, the coded data includes C coded blocks, each coded block includes m coded sub-blocks, and the coded sub-blocks are sent via a sending sub-block;

[0044] When the code length of the coding block is X, the number of transmitted sub-blocks of the coding block satisfies

[0045] When the number of transmitted sub-blocks of a coding block satisfies D>S, the number of coding sub-blocks of the coding block satisfies m=S; or,

[0046] When the number of transmitted sub-blocks of a coding block satisfies D≤S, the number of coding sub-blocks of the coding block satisfies m=D;

[0047] Said N' is the coding sub-block size;

[0048] The S is the maximum number of coding sub-blocks included in the coding block, for example,

[0049] In a possible implementation, if the last coding subblock in the coding block is a repeated subblock, the 0th to m-1th sending subblocks are m coding subblocks, and the mth sending subblock is obtained by repeating the m-1th coding subblock.

[0050] In one possible implementation, if the penultimate coding subblock in the coding block is a punctured subblock, the m-1th sending subblock is obtained by puncturing the penultimate coding subblock, and the remaining m-1 sending subblocks are the remaining m-1 coding subblocks.

[0051] In one possible implementation, the length of the sending sub-block of the coding block is Y j =N′, j satisfies j∈{0,1,2,...,D-2}, Y D-1 =X-(D-1)*N′.

[0052] In one possible implementation, the number of information bits of the coding sub-block of the coding block is J i =A i , i∈{0,1,2,...,m-3}, where,

[0053] When the number of coding sub-blocks of a coding block is D>S, J m-2 =A m-2 ,or,

[0054] When the number of coding sub-blocks in a coding block satisfies D≤S, the number of information bits of the m-2th coding sub-block is The A m-2 To allocate the S-2th element in the sequence, the Δ is calculated based on the Y D-1 The difference between the N′ and the N′ is determined to be 0 or 1;

[0055] The number of information bits of the m-1th coding sub-block is

[0056] A i is an element in an allocation sequence, wherein the allocation sequence is a sequence of S-1 variables {A0, A1, A2, ..., A S-2}, where the relationship between the elements in the allocation sequence is A0≤A1≤...≤A S-2 .

[0057] In one possible implementation, a network device receives coded data by receiving at least two receiving sub-blocks, where the at least two receiving sub-blocks correspond to at least two coding sub-blocks. When the network device decodes the coded data, if the at least two receiving sub-blocks are both located before the last receiving sub-block of the last coding block (that is, neither is the last receiving sub-block of the last coding block), and the at least two receiving sub-blocks belong to different coding blocks, the first-received receiving sub-block is decoded and the later-received receiving sub-block is cached; or, if the at least two receiving sub-blocks are both located before the last receiving sub-block of the last coding block (that is, neither is the last receiving sub-block of the last coding block), and the at least two receiving sub-blocks belong to the same coding block, the first-received receiving sub-block is used to decouple and decode the later-received receiving sub-block.

[0058] In this method, at least two coding sub-blocks need to be cached during the blind decoding process, and it is determined whether the two coding sub-blocks belong to the last coding block or the same coding block, so that different decoding methods are used to ensure the logical correctness of the blind decoding.

[0059] In one possible implementation, if one of the at least two receiving sub-blocks is the last receiving sub-block of the last coding block, and the at least two receiving sub-blocks belong to different coding blocks, the at least two receiving sub-blocks are decoded independently; or, if one of the at least two receiving sub-blocks is the last receiving sub-block of the last coding block, and the at least two receiving sub-blocks belong to the same coding block, the at least two receiving sub-blocks are jointly decoded.

[0060] The method further describes a method that can be used during decoding if one of the two coding sub-blocks is the last coding sub-block of the last coding block, to ensure the logical correctness of the blind decoding.

[0061] It should be noted that the method described in the second aspect can also be executed by a terminal device. In this case, the network device is the encoding side and the terminal device is the decoding side.

[0062] In a third aspect, an embodiment of the present application provides a data processing device, which may be a terminal device, a device in a terminal device, or a device that can be used in conjunction with a terminal device. In one design, the data processing device may include a module that executes the method / operation / step / action described in the first aspect and any possible implementation of the first aspect, and the module may be a hardware circuit, software, or a combination of a hardware circuit and software. In one design, the data processing device may include a processing unit and a communication unit.

[0063] For a detailed description of the method / operation / step / action performed by the terminal device, reference may be made to the corresponding description in the first aspect and any possible implementation of the first aspect, and no further details will be given here. It is understandable that the data processing device can also achieve the effects that can be achieved in the first aspect.

[0064] In a fourth aspect, an embodiment of the present application provides another data processing device, which may be a network device, a device in a network device, or a device that can be used in conjunction with a network device. In one design, the data processing device may include a module that executes the method / operation / step / action described in the second aspect and any possible implementation of the second aspect, and the module may be a hardware circuit, software, or a combination of a hardware circuit and software. In one design, the data processing device may include a processing unit and a communication unit.

[0065] The specific description of the method executed by the network device can refer to the corresponding description of the second aspect and any possible implementation of the second aspect, which will not be repeated here. It can be understood that the data processing device can also achieve the effect that can be achieved in the second aspect.

[0066] In a fifth aspect, an embodiment of the present application provides a communication device, which consists of an input and output interface and a logic circuit, wherein the input and output interface is used to input or output data; the logic circuit processes the data according to the method in the first aspect and any possible implementation method of the first aspect to obtain the processed data.

[0067] In a sixth aspect, an embodiment of the present application provides a communication device, which consists of an input / output interface and a logic circuit, wherein the input / output interface is used to input or output data; the logic circuit processes the data according to the method in the second aspect and any possible implementation method of the second aspect to obtain the processed data.

[0068] In the seventh aspect, an embodiment of the present application provides a terminal device, comprising: a processor, the processor being coupled to a memory, the memory being used to store instructions, and when the instructions are executed by the processor, the terminal device implements the method of the above-mentioned first aspect and any possible implementation of the first aspect, or the method of the second aspect and any possible implementation of the second aspect.

[0069] In an eighth aspect, an embodiment of the present application provides a network device, comprising: a processor, the processor being coupled to a memory, the memory being used to store instructions, and when the instructions are executed by the processor, the network device implements the method of the above-mentioned first aspect and any possible implementation of the first aspect, or the method of the second aspect and any possible implementation of the second aspect.

[0070] In the ninth aspect, an embodiment of the present application also provides a computer-readable storage medium, on which instructions are stored. When the instructions are run on a computer, the computer executes the method in the first aspect and any possible implementation of the first aspect, or the method in the second aspect and any possible implementation of the second aspect.

[0071] In a tenth aspect, embodiments of the present application provide a chip system, which includes a processor and may also include a memory, for implementing the method of the first aspect and any possible implementation of the first aspect, or the method of the second aspect and any possible implementation of the second aspect. The chip system may be composed of a chip, or may include a chip and other discrete devices.

[0072] In the eleventh aspect, an embodiment of the present application also provides a computer program product, comprising instructions, which, when executed on a computer, enable the computer to execute the method in the first aspect and any possible implementation of the first aspect, or the method in the second aspect and any possible implementation of the second aspect.

[0073] In a twelfth aspect, an embodiment of the present application provides a communication system, comprising a transmitting end and a receiving end. The transmitting end is used to implement the functions of the method in the first aspect or any possible implementation of the first aspect. The receiving end is used to implement the functions of the method in the second aspect or any possible implementation of the second aspect. Optionally, the communication system may include a data processing device as described in the third and fourth aspects, or may include a communication device as described in the fifth and sixth aspects, or may include a device as described in the seventh and eighth aspects. BRIEF DESCRIPTION OF THE DRAWINGS

[0074] FIG1 is a schematic diagram of a communication system provided by the present application;

[0075] FIG2 is a schematic diagram of an 8×8 polar code encoding;

[0076] FIG3 is a schematic diagram of the relationship between information bits, blocks to be encoded, encoding blocks, encoding sub-blocks, and sending sub-blocks provided by the present application;

[0077] FIG4 is a flow chart of the first data processing method provided by this application;

[0078] FIG5 is a schematic diagram of a sending sub-block provided by the present application;

[0079] FIG6 is a schematic diagram of another sending sub-block provided by the present application;

[0080] FIG7 is a flow chart of a second data processing method provided by the present application;

[0081] FIG8 is a performance analysis diagram of the second data processing method provided by this application;

[0082] FIG9 is a schematic diagram of a device provided by the present application;

[0083] FIG10 is a schematic diagram of a communication device provided in this application. DETAILED DESCRIPTION

[0084] In this application, " / " can indicate that the objects associated with each other are in an "or" relationship. For example, A / B can mean A or B. "And / or" can be used to describe the existence of three relationships between the associated objects. For example, "A and / or B" can mean: A exists alone, A and B exists simultaneously, and B exists alone. A and B can be singular or plural. To facilitate the description of the technical solutions of this application, the words "first" and "second" may be used to distinguish between technical features with the same or similar functions. The words "first" and "second" do not limit the quantity or order of execution, and the words "first" and "second" do not necessarily mean different. In this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any design described as "exemplary" or "for example" should not be construed as preferred or advantageous over other designs. The use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete way to facilitate understanding.

[0085] The technical solution in this application will be described below in conjunction with the drawings in this application.

[0086] This application provides a data processing method that constructs a new coding matrix for Polar codes. This coding matrix is ​​used to process the information bits to be encoded, thereby implementing stream encoding and / or stream decoding of Polar codes. This data processing method can be applied to a communication system, the system architecture of which is shown in Figure 1. The communication system includes network devices and terminal devices, and the network devices can provide communication services to the terminal devices.

[0087] The communication systems mentioned in this application include but are not limited to: narrowband Internet of Things (NB-IoT), global system for mobile communications (GSM), enhanced data rate for GSM evolution (EDGE), wideband code division multiple access (WCDMA), code division multiple access 2000 (CDMA2000), time division-synchronization code division multiple access (TD-SCDMA), long term evolution (LTE), and three major application scenarios of 5G mobile communication systems: enhanced mobile broadband (eMBB), ultra-reliable and low latency communications (URLLC), and enhanced machine-type communications (eMTC), as well as future communication systems (such as 6G / 7G, etc.).

[0088] Among them, the network device can be a device that can communicate with the terminal device. The network device can be a base station, a relay station or an access point. Among them, the base station can be a base transceiver station (BTS) in the global system for mobile communication (GSM) system or the code division multiple access (CDMA) network, or it can be a 3G base station NodeB in the wideband code division multiple access (WCDMA) system, or it can be an evolutionary NodeB (abbreviated as eNB or eNodeB) in the long term evolution (LTE) system. The network device can also be a satellite in a satellite communication system. The network device can also be a wireless controller in a cloud radio access network (CRAN) scenario. The network device can also be a network device in a 5G network or a network device (such as gNodeB) in a future evolved public land mobile network (PLMN) network. The network device may also be a wearable device, a drone, or a device in an Internet of Vehicles (e.g., vehicle to everything (V2X)), or a communication device in device to device (D2D) communication, or a network device used in future communication systems.

[0089] The terminal device may be user equipment (UE), access terminal, terminal unit, terminal station, mobile station, mobile station, remote station, remote terminal, mobile device, terminal, wireless communication device, terminal agent or terminal apparatus, etc. The access terminal may be a cellular phone, a cordless phone, a session initiation protocol (SIP) phone, a wireless local loop (WLL) station, a personal digital assistant (PDA), a handheld device with wireless communication capabilities, a computing device or other processing device connected to a wireless modem, a wearable device, a drone, a V2X device, a D2D device, a terminal device in a 5G network, a terminal device in a future evolved PLMN network, or a terminal device in a future communication system, etc.

[0090] It is understood that the present application is a coding scheme that can be used in dedicated network equipment or general equipment, can be used in network equipment, and can also be used in various terminal devices. The present application can be implemented through a dedicated chip (such as an application specific integrated circuit (ASIC)), can also be implemented through a programmable chip (such as a field programmable gate array (FPGA)), and can also be implemented through software (program code in memory), and the present application does not limit this.

[0091] 1. Relevant concepts of this application

[0092] 1. Polar code:

[0093] Polar code is a channel coding scheme that can be rigorously proven to reach the channel capacity. Polar code has the characteristics of high performance, low complexity, and flexible matching methods. Currently, Polar code has been identified as the fifth generation mobile communication (the 5 th generation, 5G) control channel enhanced mobile broadband (eMBB) scenarios uplink and / or downlink control channel coding scheme.

[0094] For example, Figure 2 shows an 8×8 polar code encoding scheme, where the bits to be encoded are sorted by their reliability and arranged in different positions within the block to be encoded. Generally speaking, bits with higher reliability are set as information bits (data), while bits with lower reliability are set as fixed bits (frozen). The value of the fixed bits is usually set to 0 and is known to both the sender and receiver in actual transmission. As shown in Figure 2, u7, u6, u5, and u3 are the four bits with the highest reliability and are set as information bits; u4, u2, u1, and u0 are the four bits with the lowest reliability and are set as fixed bits.

[0095] Among them, Polar code is a linear block code. Its generator matrix is ​​G N , the encoding process is in, G is a binary row vector with a length of N (i.e., code length). N is an N×N matrix, and in, It is defined as the Kronecker product of log2(N) matrices F2. For example, when N=4, log2(N)=log2(4)=2, then When N=8, log2(N)=log2(8)=3, then Therefore, the mother code length of the standard Polar code is N=2 n , n is a positive integer.

[0096] 2. A coding matrix G provided in this application:

[0097] The coding matrix provided by this application Among them, G is a n )×(m×2 n ), m and n are positive integers, the matrix G N′ For size 2 n ×2 n The Polar generator matrix is ​​expressed as The matrix O is of size 2 n ×2 n An all-zero matrix.

[0098] That is to say, if the encoding matrix G is regarded as an m×m matrix, each element in the matrix is ​​a 2 n ×2 n The matrix, each element in the diagonal of the matrix is ​​the matrix G N′ , each element in the bottom side of the matrix is ​​the matrix G N′ , all elements except the diagonal and base are matrix O.

[0099] The mother code length of the encoding matrix G is N′=m×2 n It can be understood that when m=1 or m=2, the encoding matrix G is the same as the encoding matrix of the common Polar code. When m≥3, the encoding matrix

[0100] 3. Information bits, blocks to be encoded, encoding blocks, encoding sub-blocks, sending sub-blocks, and receiving sub-blocks:

[0101] Information bits: Information bits are information bits to be encoded. For example, assume there are K information bits.

[0102] Block to be coded: The information bits are divided, and each group of information bits after division is carried by the block to be coded. Among them, the number of blocks to be coded C is determined according to the number of information bits K, for example, the number of blocks to be coded R is the code rate, and M is the maximum mother code length of the block to be encoded.

[0103] Coding block and coding sub-block: Encoding a block to be coded yields a coding block. The number of information bits in the block to be coded and the coding block is the same. Dividing the coding block yields m coding sub-blocks, each of which has a fixed length (e.g., length N′).

[0104] Sending sub-blocks: For the encoding side, the coding sub-blocks are sent using sending sub-blocks. The number of sending sub-blocks is determined by the code length of the coding block and the length of the coding sub-block. For example, the number of sending sub-blocks is X is the code length of the coding block, and N′ is the length of the coding sub-block.

[0105] Receiving sub-block: The sending sub-block is transmitted via a channel to the decoding side. The sub-block received by the decoding side can be referred to as the receiving sub-block. It is understood that the coded data carried by the sending sub-block and the receiving sub-block are the same. Therefore, the decoding side decodes the receiving sub-block to obtain the information bits before encoding. For example, the coded sub-block sent in this application can be referred to as the sending sub-block, and the coded sub-block received in this application can be referred to as the receiving sub-block.

[0106] For example, Figure 3 is a schematic diagram of the relationship between information bits, blocks to be encoded, coding blocks, coding sub-blocks, and sending sub-blocks provided in this application. Assuming there are K information bits, the K information bits are divided, and each group of information bits after division is carried by a block to be encoded; each block to be encoded includes m sub-blocks to be encoded. Coding blocks can be encoded to obtain coding blocks. The number of coding blocks is the same as the number of blocks to be encoded, and each coding block also includes m coding sub-blocks. Multiple coding sub-blocks are sent separately through sending sub-blocks, as shown in Figure 3.

[0107] 4. Stream decoding:

[0108] During the process of receiving coded data, decoding can begin based on the received coded data, without having to wait until all coded data has been received. For example, when the decoding side receives at least two coded sub-blocks, since there is no coupling relationship between the coded sub-blocks, the decoding side can start decoding based on these two coded sub-blocks while continuing to receive coded sub-blocks, thus achieving stream decoding.

[0109] 5. Blind decoding:

[0110] During stream decoding, start and end symbols are typically used to mark the beginning and end of received coded data. Therefore, the decoder does not know the true length of the code until the end symbol is received. Therefore, blind decoding is a more demanding stream decoding method, simplifying system interaction and control signals while placing higher design requirements on channel coding. Convolutional codes are one type of code that can implement blind decoding, but their decoding performance is poor for long code lengths.

[0111] For example, to implement blind decoding, it is necessary to perform rate matching (e.g., puncturing) on ​​the last transmitted sub-block based on the coding matrix G described above. Moreover, since the coupling blocks of the coupled polar code cannot be too many (e.g., the number of coding sub-blocks is limited to m≤1.5 / R), it is necessary to limit the maximum mother code length. In the process of blind decoding, the coding blocks (CB) cannot be evenly divided, so this application assumes that all coding blocks except the last coding block adopt the maximum mother code length, and the last coding block contains the remaining information bits. However, if the number of information bits included in the last coding block is too small, the decoding performance will be reduced. Therefore, this application also provides a method for adjusting the number of information bits between CBs.

[0112] 6. Rate matching:

[0113] Because the last coding sub-block of the last coding block may not be fully populated (i.e., the last coding sub-block has fewer information bits), rate matching is required for the last coding sub-block. For example, when the code rate is low, puncturing is often used to rate match the coding sub-block. However, puncturing in polar codes generally refers to puncturing the bits from positions 0 to N′-Y-1 of the coding sub-block, where N′ is the length of the coding sub-block and Y is the transmission length of the coding sub-block. After puncturing, the bits from positions 0 to N′-Y-1 of the coding sub-block will no longer be transmitted. Therefore, if the bits from positions N′-Y to N′-1 of the coding sub-block are transmitted, the receiving end will fill the data at positions N′-Y with address 0 (because the length of J′ is unknown), which will affect decoding. Therefore, in this application, the transmission order of each transmission sub-block used to transmit the coding sub-block should be designed to start from position N′-1 and send in reverse order to positions N′-Y.

[0114] 7. F operation:

[0115] The F operation is the basic operation for decoding Polar codes, and is processed using a predefined F-function. The input of the F-function is L0 and L1, and the F-function can be simplified as follows:

[0116] f(L0,L1)=(sig(L0)∧sig(L1)?-1:1)*(abs(L0)>abs(L1)?abs(L1):abs(L0)),

[0117] Among them, sig is the sign operation. If the immediate value is greater than 0, the return value is 0, otherwise the return value is 1. abs is the absolute value operation. For example, suppose there are coded data x0 and x1 of length N'. m-1, for x0 and x m-1 Perform F operation to compare x0 and x m-1 If the two signs are the same, the immediate value is 1, otherwise it is -1.

[0118] 8. G operation:

[0119] The G operation is the basic operation for decoding Polar codes and uses a predefined G-function. The inputs to the G-function are L0, L1, and the feedback value B. The G-function is: g(L0, L1, B) = (B == 0)? L1 + L0: L1 - L0.

[0120] 2. The first data processing method provided by this application

[0121] Figure 4 is a flow chart of the first data processing method provided by this application. This data processing method can be executed by a terminal device or a network device, and mainly performs an encoding process, including the following steps:

[0122] S101: Obtain K information bits.

[0123] S102: Determine the number of blocks to be encoded according to K information bits.

[0124] Determining the number of blocks to be encoded according to the number of information bits K may include the following two cases:

[0125] Case 1: When K satisfies K≤M×R+k, the number of blocks to be encoded C=1.

[0126] M is the maximum mother code length, determined by the maximum number of sub-blocks to be encoded in the block to be encoded (S) and the size of the sub-block to be encoded (N′), where M = N′ × S. The maximum mother code length does not include all sub-blocks of the repetition code. k is the number of adjustment bits, used to adjust the number of information bits between CBs when the last block to be encoded contains too few information bits. k can be 2 or 3, and can be a preset value.

[0127] For example, when K satisfies K≤M×R+k, that is, when the number of information bits to be encoded is less than or equal to the maximum number of information bits that can be carried by a block to be encoded, only one block to be encoded is needed to carry the information bits to be encoded.

[0128] Case 2: When K satisfies K>M×R+k, the number of blocks to be encoded C>1.

[0129] Among them, the number of information bits of each to-be-coded block except the 0th to-be-coded block and the last to-be-coded block is the same, which is M×R. The number of information bits of the last to-be-coded block is less than or equal to M×R, and the number of information bits of the 0th coding block is equal to M×R+k; k is greater than or equal to 0.

[0130] For example, when K satisfies K>M×R+k, that is, when the number of information bits to be encoded is greater than the maximum number of information bits that can be carried by a block to be encoded, multiple blocks to be encoded are required to carry the information bits to be encoded.

[0131] S103: Determine the number of information bits of each of the C blocks to be encoded according to the maximum mother code length M and the code rate R.

[0132] S104: Encode the C blocks to be encoded to obtain encoded data.

[0133] According to the description in S102 , when the number of blocks to be encoded C=1, only one block to be encoded is needed to carry the information bits to be encoded, and the number of information bits included in the block to be encoded is K.

[0134] When the number of blocks to be coded C>1, the number of information bits of each block to be coded in the C blocks to be coded may include the following two cases:

[0135] Case 1: If the number of information bits of the last block to be coded is KM×R×(C-1)>k, it means that the number of information bits of the last block to be coded is not too small to affect the decoding performance. In this case, the number of blocks to be coded is E is the total code length corresponding to K information bits.

[0136] For each block to be coded, first try to fill up the other blocks to be coded except the last one, that is, the number of information bits of each block to be coded except the last one is the same, which is M×R (that is, the maximum number of information bits that each block to be coded can carry); at this time, the number of information bits of the last block to be coded is KM×R×(C-1).

[0137] For example, the number of information bits included in each block to be encoded is I c =M×R,I C-1 =KM×R×(C-1), c∈{0,1,2,...,C-2}. It can be understood that the number of coding blocks corresponding to each block to be coded is also The code length of each coding block is X c =M,X C-1 =EM×(C-1).

[0138] Case 2: If the number of information bits in the last block to be encoded is K - M × R × (C - 1) < k, it means that the too few information bits in the last block to be encoded may affect the decoding performance. In this case, it is necessary to adjust the number of information bits in each block to be encoded, and finally adjust the number of blocks to be encoded.

[0139] For example, if each block to be encoded needs to move k information bits forward, the number of information bits included in the moved block to be encoded is I0 = M × R + k, I c = M × R, c ∈ {1, 2,..., C - 2}, I C-1 = K - M × R × (C - 1) - k, and the number of blocks to be encoded after adjustment At this time, the number of blocks to be encoded is one less than the number of blocks to be encoded before adjustment.

[0140] It can be understood that moving k information bits forward for each block to be encoded is equivalent to sequentially stacking the small amount of information bits included in the last block to be encoded forward. Then, the last block to be encoded originally will no longer include information bits, and the number of blocks to be encoded is reduced by 1; for the blocks to be encoded other than the 0th block to be encoded, moving k information bits forward in sequence is equivalent to the number of information bits they include remaining unchanged, still being M × R. The 0th block to be encoded increases by k information bits. In this case, the transmission length of the encoded block will be greater than the maximum mother code length.

[0141] In a possible implementation, the encoded data includes C encoded blocks, each encoded block includes m encoded sub - blocks, and the encoded sub - blocks are sent through transmission sub - blocks.

[0142] For example, assume that each encoded block has at most S encoded sub - blocks, and the size of each encoded sub - block is N'. Among them, assume that the code length of the encoded block is X, and the number of transmission sub - blocks of this encoded block When the number of transmission sub - blocks of the encoded block satisfies D > S, the number of encoded sub - blocks of this encoded block satisfies m = S; or, when the number of transmission sub - blocks of the encoded block satisfies D ≤ S, the number of encoded sub - blocks of this encoded block satisfies m = D. That is, when D > S, the last encoded sub - block is a repeated sub - block, and the number of transmission sub - blocks is greater than the number of encoded sub - blocks; when D ≤ S, the number of encoded sub - blocks is the same as the number of transmission sub - blocks, and there is no repeated sub - block.

[0143] Case 1: When D > S, the last encoded sub - block in the encoded block is a repeated sub - block. The 0th to the (m - 1)th transmission sub - blocks are m encoded sub - blocks, and the mth transmission sub - block is obtained by repeating the (m - 1)th encoded sub - block. [[ID=?]]

[0144] In this case, the length of the transmission sub - block of the encoded block is Y j=N′, j satisfies j∈{0,1,2,...,D-2}, Y D-1 =XM. The length of the coding sub-block of the coding block is Y i =N′, i satisfies i∈{0,1,2,...,m-2}, Y S-1 =X-(m-1)×N′. The number of information bits of the coding sub-block of the coding block is J i =A i , i∈{0,1,2,...,m-3,m-2}, the number of information bits of the m-1th coding sub-block is

[0145] Among them, A i For the elements in the allocation sequence, when the code rate is R, it is assumed that there is an allocation sequence of information quantity. The allocation sequence includes S-1 variables, represented as {A0, A1, A2, ..., A S-2}, where the relationship between the elements in the allocation sequence is A0≤A1≤...≤A S-2 For example, when the code rate is R=1 / 8, assuming the number of information bits K=64, the allocation sequence includes 4 variables, represented as {A0, A1, A2, A3}; where A0=1, A1=4, A2=5, and A3=64-(1+4+5)=54.

[0146] Case 2: When D ≤ S, there are no repeated sub-blocks. If the penultimate coded sub-block in the coded block is a punctured sub-block, the m-1th transmitted sub-block is obtained by puncturing the penultimate coded sub-block, and the remaining m-1 transmitted sub-blocks are the remaining m-1 coded sub-blocks.

[0147] In this case, the length of the transmitted sub-block of the coded block is Y j =N′, j satisfies j∈{0,1,2,...,D-2}, Y D-1 =X-(D-1)*N′. The length of the coding sub-block of the coding block is Y i =N′, i satisfies i∈{0,1,2,...,m-2}, Y S-1 =X-(m-1)×N′. The number of information bits of the coding sub-block of the coding block is J i =A i , i∈{0,1,2,...,m-3}, the number of information bits of the m-2th coding sub-block is The number of information bits of the m-1th coding sub-block is Among them, A m-2 To allocate the S-2th element in the sequence, Δ is based on Y D-1 The difference between N and N′ is determined and takes the value of 0 or 1.

[0148] In one possible implementation, encoding C blocks to be encoded to obtain encoded data specifically includes the following steps:

[0149] According to the number of information bits in each coding block, the information bits to be encoded are divided into C segments;

[0150] According to the number of information bits in each coding sub-block, the bits to be coded in each segment are divided into m sub-segments;

[0151] According to the code length and number of information bits of each coding sub-block, the information bits and frozen bits of each coding sub-block are determined, and a size of m×2 is constructed according to the number of coding sub-blocks m. n Information sequence;

[0152] According to the position information of the information bits in the information sequence, the information bits to be encoded are inserted into the sequence to be encoded, and are subjected to modular square multiplication with the encoding matrix G to obtain encoded data.

[0153] The description of the encoding matrix G can refer to the definition in the previous article and will not be repeated here.

[0154] For example, for any coding sub-block of a coding block, the frozen position N′ is determined according to the length of the coding sub-block, and the information bits are constructed according to a sequence of size N′. The selection of frozen bits can be based on the provisions of the existing protocol or can be designed separately, which is not limited by this application. Based on the information bits and frozen bits of each coding sub-block, and the number of coding sub-blocks m, a sequence of size m×2 can be constructed. n Information sequence u N ={u0,u1,u2,...,u N-1}, and the information sequence u N Perform modular square multiplication with the encoding matrix G to obtain

[0155] It should be noted that the bits to be encoded in this application may also include cyclic redundancy check (CRC) bits and / or parity check (PC) bits, and may also involve scrambling of some of the bits. Since these are not actually relevant to the solution of this application, they are all uniformly stated as bits to be encoded and will not be further described here.

[0156] S105, sending the encoded data.

[0157] The coded data is transmitted via a transmission sub-block. Specifically, the transmission sub-blocks are transmitted in the following order: first, the D-1th transmission sub-block is transmitted, followed by the jth transmission sub-block, where j∈{0,1,2,...,D-2}. Furthermore, the bits in the transmission sub-block are transmitted in the following order: starting from the N′-1th position of the transmission sub-block, bits are transmitted in reverse order based on the length of the transmission sub-block. It should be noted that rate matching can also be performed when transmitting coded data, which helps ensure that the decoding side can perform blind decoding after receiving the coded data.

[0158] For example, for any m coding sub-blocks of a coding block, they can be sent through D sending sub-blocks. Among them, the sending order of the coding sub-blocks is that the last coding sub-block is sent first (sequence number is m-1), and then the 0th coding sub-block, the 1st coding sub-block are sent in sequence until the D sending sub-blocks (m coding sub-blocks) are sent. It should be noted that since the sending order of the coding sub-blocks is designed in this application, for the convenience of description, the following description is taken as an example of sending sub-blocks, which specifically includes the following two cases:

[0159] Case 1: When the number of transmission sub-blocks of the coding block satisfies D>S, it indicates that the transmission sub-block adopts repetition mode. For example, Figure 5 is a schematic diagram of a transmission sub-block provided by the present application. In the figure, it is assumed that the last transmission sub-block is a repeated sub-block, and the transmission starts from the transmission sub-block before the repeated sub-block (the sequence number of the transmission sub-block is S-1), and then the 0th transmission sub-block, the 1st transmission sub-block, and so on are sent in sequence until the S-2th transmission sub-block is sent. After the S transmission sub-blocks are sent, the coding sub-block with sequence number S-1 is repeated and the repeated sub-block is sent, as shown in Figure 5.

[0160] Case 2: When the number of transmitted sub-blocks in a coding block satisfies D≤S, the transmitted sub-blocks adopt a puncture mode. For example, Figure 6 is a schematic diagram of another type of transmitted sub-block provided by this application. In the figure, assuming that the last transmitted sub-block is punctured, the last transmitted sub-block is still sent first (sequence number D-1), followed by the 0th transmitted sub-block and the 1st transmitted sub-block, and the transmission ends at the D-2th sub-block, as shown in Figure 6.

[0161] For another example, for the bits in a transmission sub-block, each transmission sub-block is transmitted starting from the bit at position N′-1 until the bit at position 0 is transmitted or until the coding block count ends, as shown in FIG5 or FIG6. For example, assuming that the transmission sub-block includes 128 bits, the transmission sub-block is transmitted first, and then the bit at position 127 is transmitted, and then the bit at position 126 is transmitted, and so on, until the bit at position 0 is transmitted.

[0162] As can be seen, in the data processing method provided by this application, when the number of information bits is large and needs to be carried by multiple blocks to be coded, when dividing the blocks to be coded (that is, dividing the coding blocks), some information bits of the subsequent coding block can be moved to the previous coding block. This can avoid the performance mutation caused by the subsequent coding block being too small when switching coding blocks. In addition, the use of this coding method is conducive to blind decoding.

[0163] 3. The second data processing method provided by this application

[0164] Figure 7 is a flow chart of the second data processing method provided by this application. This data processing method can be executed by a terminal device or a network device, and mainly performs a decoding process, including the following steps:

[0165] S201: Receive coded data, where the coded data is obtained by encoding C blocks to be coded. The number of information bits of each of the C blocks to be coded is determined based on a maximum mother code length M and a code rate R. The number C of blocks to be coded is determined based on the number K of information bits.

[0166] The description of the coded data, the block to be coded, the coded block, etc. can be referred to the corresponding description in the second part of the previous text, and will not be repeated here. It can be understood that the coded data generated in the second part and the order in which the coded data is sent are conducive to blind decoding.

[0167] It should be noted that, since the transmission order (reception order) of the coding sub-blocks is designed in this application, the decoding side may receive multiple receiving sub-blocks. For example, receiving coded data may include receiving at least two receiving sub-blocks, where the at least two receiving sub-blocks correspond to at least two coding sub-blocks.

[0168] S202: Decode the encoded data.

[0169] To implement blind decoding, the decoding side needs to receive at least two coded sub-blocks (received sub-blocks) before decoding. S202 may include:

[0170] s11, receive and buffer at least two coded sub-blocks;

[0171] s12, determining whether at least two cached coding sub-blocks belong to the same coding block;

[0172] s13a, if at least two buffered coding sub-blocks belong to different coding blocks, decoding the first received coding sub-block;

[0173] s13b: If at least two buffered coding sub-blocks belong to the same coding block, the coding sub-block received later is used to decouple and decode the coding sub-block received earlier.

[0174] s14, when the last coded sub-block is received, the buffered but undecoded coded sub-blocks are decoded.

[0175] For example, decoding is performed after receiving the first two coded sub-blocks, or after receiving each coded sub-block starting from the third coded sub-block. During the decoding process, it is necessary to determine whether the two coded sub-blocks to be decoded belong to the same coded block; further, it is necessary to determine whether the two coded sub-blocks to be decoded belong to the last coded block.

[0176] It should be noted that since the sending order (receiving order) of the coded sub-blocks is designed in this application, for the convenience of description, the following description is taken as an example of receiving sub-blocks. Blind decoding includes the following cases:

[0177] Case 1: If at least two received sub-blocks are both located before the last received sub-block of the last coded block, and at least two received sub-blocks belong to different coded blocks, the first received sub-block is decoded, and the later received sub-block is buffered.

[0178] For example, assuming that the first received sub-block is the last received sub-block of the 0th coding block, and the second received sub-block is the 0th received sub-block of the 1st coding block, then the last received sub-block of the 0th coding block is decoded, and the decoded data obtained is the decoded data of the 0th coding block. Furthermore, the 0th received sub-block of the 1st coding block is cached.

[0179] It should be noted that the 0th received sub-block of the first coding block described in Case 1 is actually the m-1th coded sub-block of the first coding block. Therefore, the 0th received sub-block is decoded last in the first coding block. Moreover, when the 0th received sub-block of the first coding block is decoded, the received sub-block has already been combined and enhanced D-1 times.

[0180] Case 2: If at least two received sub-blocks are both located before the last received sub-block of the last coding block, and at least two received sub-blocks belong to the same coding block, the first received sub-block is used to decouple and decode the later received sub-block.

[0181] For example, assuming that the first received sub-block is the 0th received sub-block of the 1st coding block, and the second received sub-block is the 1st received sub-block of the 1st coding block, the 0th received sub-block is used to decouple the 1st received sub-block, and the decoupling result is decoded, and the decoding result is the decoded data of the 1st coding block. Then pass and the soft value of the 1st received sub-block, and enhance the soft value of the 0th received sub-block.

[0182] Case 3: If one of the at least two received sub-blocks is the last received sub-block of the last coding block, and the at least two received sub-blocks belong to different coding blocks, the two received sub-blocks are decoded independently.

[0183] For example, assuming that the first received sub-block is the last received sub-block of the penultimate coding block, and the later received sub-block is the last received sub-block of the last coding block, the above two received sub-blocks are decoded independently. The specific decoding method can refer to the existing Polar code decoding method (for example, using F operation and / or G operation for processing), and this application is not limited.

[0184] Case 4: If one of the at least two received sub-blocks is the last received sub-block of the last coding block, and the at least two received sub-blocks belong to the same coding block, the at least two received sub-blocks are jointly decoded.

[0185] For example, when D>S, at least two receiving sub-blocks are jointly decoded, which may be merging and decoding at least two receiving sub-blocks. The specific implementation method may refer to the existing Polar code merging decoding method, and this application does not limit it.

[0186] For another example, when D≤S, jointly decoding at least two received sub-blocks includes:

[0187] Decoupling and decoding the later received receiving sub-block using the earlier received receiving sub-block;

[0188] The subsequently received sub-block is then decoded.

[0189] The specific implementation method can refer to the description in Case 2 of using the first received receiving sub-block to decouple and decode the later received receiving sub-block, and refer to the existing Polar code decoding method to decode the later received receiving sub-block, which is not limited in this application.

[0190] It can be seen that in the data processing method provided by the present application, since the encoded data includes multiple encoding blocks, and the number of information bits in the multiple encoding blocks is designed according to a certain rule, blind decoding can be implemented for the encoded data.

[0191] 4. Performance Analysis of the Data Processing Method Provided in This Application in Blind Decoding Scenario

[0192] Figure 8 is a performance analysis diagram of the second data processing method provided by the present application. The performance analysis diagram is a schematic diagram of the decoding performance obtained by a simulated decoder using QPSK modulation and a code rate of R = 1 / 8. The horizontal axis of the performance analysis diagram is the length of each transport block (TB); the vertical axis is the EsN0 required for each code when the block error rate (BLER) reaches 0.01, and EsN0 represents the ratio of each symbol energy to the noise power spectral density (the vertical axis can also be regarded as the signal-to-noise ratio). The transport block refers to a collection of coding blocks.

[0193] The solid line and the dotted line are grouped together, which can be used to illustrate the difference in decoding performance when using decoders of different sizes and different decoding methods under the same bit rate and modulation method.

[0194] The first group: The solid line with a circular symbol and the solid line with an asterisk are the first group of decoding performance comparisons. It is assumed that the same decoder size of 512 is used, and the decoding method is to use the existing Polar code decoding or the blind decoding provided by this application. For example, the solid line with a circular symbol represents the decoding performance when the decoder size is 512 and the blind decoding method provided by this application is used; the solid line with an asterisk represents the decoding performance when the decoder size is 512 and the existing Polar code decoding is used. Comparing the first group, it can be seen that there is no performance mutation when the blind decoding method provided by this application is used (for example, the line type is relatively smooth and there is no large bump); and under the same TB length, the signal-to-noise ratio is lower when the blind decoding method provided by this application is used.

[0195] The second group: the dotted line with a circular symbol and the dotted line with an asterisk are the second group of decoding performance comparisons. It is assumed that the same decoder size of 256 is used, and the decoding method is to use the existing Polar code decoding or the blind decoding provided by this application. For example, the dotted line with a circular symbol represents the decoding performance when the decoder size is 256 and the blind decoding method provided by this application is used; the dotted line with an asterisk represents the decoding performance when the decoder size is 256 and the existing Polar code decoding is used. Comparing the first group, it can be seen that there is no performance mutation when the blind decoding method provided by this application is used (for example, the line type is relatively smooth and there is no large bump); and under the same TB length, the signal-to-noise ratio is lower when the blind decoding method provided by this application is used.

[0196] The third group: The dotted line with a circular symbol and the solid line with an asterisk are the third group of decoding performance comparisons. For example, the dotted line with a circular symbol represents the decoding performance when the decoder size is 256 and the blind decoding method provided by the present application is adopted; the solid line with an asterisk represents the decoding performance when the decoder size is 512 and the existing Polar code decoding is adopted. Comparing the third group, it can be seen that there is no performance mutation when the blind decoding method provided by the present application is adopted (for example, the line type is relatively smooth and there is no large bump); and after excluding the performance mutation area (for example, removing the bump), the two lines are very close (that is, the performance of the two decoding methods is close), but the decoder using the blind decoding method provided by the present application is smaller (decoder size is 256), and the decoding power consumption will be greatly reduced.

[0197] In order to realize the various functions in the method provided by the present application, the device or equipment provided by the present application may include a hardware structure and / or a software module, and realize the above-mentioned various functions in the form of a hardware structure, a software module, or a hardware structure plus a software module. Whether a certain function among the above-mentioned functions is executed in the form of a hardware structure, a software module, or a hardware structure plus a software module depends on the specific application and design constraints of the technical solution. The division of modules in the present application is schematic and is only a logical function division. There may be other division methods in actual implementation. In addition, the various functional modules in the various embodiments of the present application can be integrated into a processor, or they can exist physically separately, or two or more modules can be integrated into one module. The above-mentioned integrated modules can be implemented in the form of hardware or in the form of software functional modules.

[0198] Figure 9 is a schematic diagram of an apparatus provided by the present application. The apparatus may include modules that execute the methods / operations / steps / actions described in the method embodiments corresponding to Figures 4 to 7 . The modules may be implemented as hardware circuits, software, or a combination of hardware circuits and software. For example, the apparatus may be referred to as a data processing apparatus or a communication apparatus.

[0199] The apparatus includes a communication unit 901 and a processing unit 902, and is configured to implement the method executed by the terminal device or the network device in the aforementioned embodiment.

[0200] In one possible implementation, the communication unit 901 is configured to obtain K information bits; the processing unit 902 is configured to determine the number of blocks to be encoded based on the K information bits; determine the number of information bits of each of the C blocks to be encoded based on the maximum mother code length M and the code rate R; encode the C blocks to be encoded to obtain encoded data; and the communication unit 901 is configured to send the encoded data. When K is less than or equal to M×R+k, the number of blocks to be encoded C=1; when K is greater than M×R+k, the number of blocks to be encoded C>1; the number of information bits of each block to be encoded, except for the 0th block to be encoded and the last block to be encoded, is the same, namely M×R; the number of information bits of the last block to be encoded is less than or equal to M×R, and the number of information bits of the 0th encoding block is equal to M×R+k; and k is greater than or equal to 0.

[0201] Optional, when C>1,

[0202] The number of information bits included in the C blocks to be coded is: I0=M×R+k, I c =M×R, c satisfies c∈{1,2,...,C-2}, I C-1 =KM×R×(C-1)-k,

[0203] The coded data includes C coding blocks, and the code length of C coding blocks is: X c′ =M, c′ satisfies c′∈{0,1,2,...,C-2}, X C-1 =EM×(C-1), where E is the total code length corresponding to K information bits.

[0204] Optionally, the coded data includes C coding blocks, each coding block includes m coding sub-blocks, and the coding sub-blocks are sent via a sending sub-block;

[0205] When the code length of the coding block is X, the number of transmitted sub-blocks of the coding block is

[0206] When the number of transmitted sub-blocks of a coding block satisfies D>S, the number of coding sub-blocks of the coding block satisfies m=S; or,

[0207] When the number of transmitted sub-blocks of a coding block satisfies D≤S, the number of coding sub-blocks of the coding block satisfies m=D;

[0208] Said N' is the coding sub-block size;

[0209] The S is the maximum number of coding sub-blocks included in the coding block.

[0210] Optionally, if the last coding subblock in the coding block is a repeated subblock, the 0th to m-1th sending subblocks are the m coding subblocks, and the mth sending subblock is obtained by repeating the m-1th coding subblock.

[0211] Optionally, if the penultimate coding sub-block in the coding block is a punctured sub-block, the m-1th sending sub-block is obtained by puncturing the penultimate coding sub-block, and the remaining m-1 sending sub-blocks are the remaining m-1 coding sub-blocks.

[0212] Optionally, the length of the sending sub-block of the coding block is Y j =N′, the j satisfies j∈{0,1,2,...,D-2}, Y D-1 =X-(D-1)*N′.

[0213] Optionally, the number of information bits of the coding sub-block of the coding block is J i =A i , i∈{0,1,2,...,m-3}, where,

[0214] When the number of coding sub-blocks of a coding block satisfies D>S, J m-2 =A m-2 ,or,

[0215] When the number of coding sub-blocks in a coding block satisfies D≤S, the number of information bits of the m-2th coding sub-block is The A m-2 To allocate the S-2th element in the sequence, the Δ is calculated based on the Y D-1 The difference between the N′ and the N′ is determined to be 0 or 1;

[0216] The number of information bits of the m-1th coding sub-block is

[0217] A i is an element in an allocation sequence, wherein the allocation sequence is a sequence of S-1 variables {A0, A1, A2, ..., A S-2}, where the relationship between the elements in the allocation sequence is A0≤A1≤...≤A S-2 .

[0218] Optionally, the processing unit 902 is configured to encode the C blocks to be encoded to obtain encoded data, including:

[0219] According to the number of information bits in each coding block, the information bits to be encoded are divided into C segments;

[0220] According to the number of information bits in each coding sub-block, the bits to be coded in each segment are divided into m sub-segments;

[0221] According to the code length and number of information bits of each coding sub-block, the information bits and frozen bits of each coding sub-block are determined, and a size of m×2 is constructed according to the number of coding sub-blocks m. n Information sequence;

[0222] According to the position information of the information bits in the information sequence, the information bits to be encoded are inserted into the sequence to be encoded, and a modular square multiplication process is performed with the encoding matrix G to obtain the encoded data;

[0223] The encoding matrix The size of G is (m×2 n )×(m×2 n ), said m and said n are positive integers,

[0224] The matrix G N′ For size 2 n ×2 n The Polar generator matrix,

[0225] The matrix O is of size 2 n ×2 n An all-zero matrix.

[0226] Optionally, the order in which the coded sub-blocks are sent is:

[0227] First, the m-1th coding sub-block is sent, and then the i-th coding sub-block is sent in sequence, where the order of i is 0, 1, 2, ..., m-2.

[0228] Optionally, the order in which the coded bits in the sending sub-block are sent is:

[0229] According to the length of the transmission sub-block, the coded bits are transmitted in reverse order starting from the N′-1th position of the transmission sub-block.

[0230] The specific execution process of the communication unit 901 and the processing unit 902 in this embodiment can also refer to the description of the method embodiment corresponding to Figures 4 to 7, and will not be repeated here. The data processing method implemented by the communication device can realize blind decoding. When the number of information bits is large, it needs to be carried by multiple blocks to be encoded. Then, when the blocks to be encoded are divided (that is, the coding blocks are divided), part of the information bits of the latter coding block are moved to the previous coding block. This can avoid the performance mutation caused by the latter coding block being too small when the coding block is switched.

[0231] In another possible implementation, the communication unit 901 is configured to receive coded data, and the processing unit 902 is configured to decode the coded data. The coded data is obtained by encoding C blocks to be coded, the number of information bits of each of the C blocks to be coded is determined based on the maximum mother code length M and the code rate R, and the number of blocks to be coded C is determined based on the number of information bits K. When K is less than or equal to M×R+k, the number of blocks to be coded C=1; when K is greater than M×R+k, the number of blocks to be coded C>1. The number of information bits of each block to be coded, except for the 0th block to be coded and the last block to be coded, is the same, namely, M×R. The number of information bits of the last block to be coded is less than or equal to M×R, and the number of information bits of the 0th coded block is equal to M×R+k. K is greater than or equal to 0.

[0232] Optionally, when the number of blocks to be encoded C>1,

[0233] The number of information bits included in the C blocks to be coded is: I0=M×R+k, I c =M×R, c satisfies c∈{1,2,...,C-2}, I C-1 =KM×R×(C-1)-k,

[0234] The coded data includes C coding blocks, and the code length of C coding blocks is: X c′ =M, c′ satisfies c′∈{0,1,2,...,C-2}, X C-1 =EM×(C-1).

[0235] Optionally, the coded data includes C coding blocks, each coding block includes m coding sub-blocks, and the coding sub-blocks are sent via a sending sub-block;

[0236] When the code length of the coding block is X, the number of transmitted sub-blocks of the coding block satisfies

[0237] When the number of transmitted sub-blocks of a coding block satisfies D>S, the number of coding sub-blocks of the coding block satisfies m=S; or,

[0238] When the number of transmitted sub-blocks of a coding block satisfies D≤S, the number of coding sub-blocks of the coding block satisfies m=D;

[0239] Said N' is the coding sub-block size;

[0240] The S is the maximum number of coding sub-blocks included in the coding block.

[0241] Optionally, if the last coding subblock in the coding block is a repeated subblock, the 0th to m-1th sending subblocks are the m coding subblocks, and the mth sending subblock is obtained by repeating the m-1th coding subblock.

[0242] Optionally, if the penultimate coding sub-block in the coding block is a punctured sub-block, the m-1th sending sub-block is obtained by puncturing the penultimate coding sub-block, and the remaining m-1 sending sub-blocks are the remaining m-1 coding sub-blocks.

[0243] Optionally, the length of the sending sub-block of the coding block is Y j =N′, the j satisfies j∈{0,1,2,...,D-2}, Y D-1 =X-(D-1)*N′.

[0244] Optionally, the number of information bits of the coding sub-block of the coding block is J i =A i , i∈{0,1,2,...,m-3}, where,

[0245] When the number of coding sub-blocks of a coding block satisfies D>S, J m-2 =A m-2 ,or,

[0246] When the number of coding sub-blocks in a coding block satisfies D≤S, the number of information bits of the m-2th coding sub-block is The A m-2 To allocate the S-2th element in the sequence, the Δ is calculated based on the Y D-1 The difference between the N′ and the N′ is determined to be 0 or 1;

[0247] The number of information bits of the m-1th coding sub-block is

[0248] A i is an element in an allocation sequence, wherein the allocation sequence is a sequence of S-1 variables {A0, A1, A2, ..., A S-2}, where the relationship between the elements in the allocation sequence is A0≤A1≤...≤A S-2 .

[0249] Optionally, the communication unit 901 receives the encoded data, including:

[0250] receiving at least two receiving sub-blocks, where the at least two receiving sub-blocks correspond to at least two encoding sub-blocks;

[0251] The processing unit 902 is configured to decode the encoded data, including:

[0252] If the at least two received sub-blocks are both located before the last received sub-block of the last coding block, and the at least two received sub-blocks belong to different coding blocks, decoding the received sub-block received first and buffering the received sub-block received later, or,

[0253] If the at least two receiving sub-blocks are both located before the last receiving sub-block of the last coding block, and the at least two receiving sub-blocks belong to the same coding block, the first received receiving sub-block is used to decouple and decode the later received receiving sub-block.

[0254] Optionally, the processing unit 902 is configured to decode the encoded data, including:

[0255] If one of the at least two receiving subblocks is the last receiving subblock of the last coding block, and the at least two receiving subblocks belong to different coding blocks, the at least two receiving subblocks are decoded independently, or,

[0256] If one of the at least two receiving sub-blocks is the last receiving sub-block of the last coding block, and the at least two receiving sub-blocks belong to the same coding block, the at least two receiving sub-blocks are jointly decoded.

[0257] The specific execution process of the communication unit 901 and the processing unit 902 in this embodiment can also refer to the description of the method embodiment corresponding to Figures 4 to 7, which will not be repeated here. The data processing method implemented by the communication device designs a coding method that supports blind decoding. When the number of information bits is large, it needs to be carried by multiple blocks to be coded. Then, when the blocks to be coded are divided (that is, the coding blocks are divided), part of the information bits of the latter coding block are moved to the previous coding block. This can avoid the performance mutation caused by the latter coding block being too small when the coding block is switched.

[0258] The following describes a device including the multiple functional units shown in Figure 9. The device described in this application includes the multiple functional units shown in Figure 9. Figure 10 is a schematic diagram of a communication device provided in this application, which is used to implement the data processing method in the above method embodiment. The communication device 1000 can also be a chip system. It is understood that the communication device 1000 can be, for example, a terminal device or a network device.

[0259] Communication device 1000 includes a communication interface 1001 and a processor 1002. Communication interface 1001 may be, for example, a transceiver, an interface, a bus, a circuit, or a device capable of performing transceiver functions. Communication interface 1001 is used to communicate with other devices via a transmission medium, thereby enabling device 1000 to communicate with other devices. Processor 1002 is used to execute processing-related operations.

[0260] In one possible implementation, the communication interface 1001 is configured to obtain K information bits; the processor 1002 is configured to determine the number of blocks to be encoded based on the K information bits; determine the number of information bits for each of the C blocks to be encoded based on the maximum mother code length M and the code rate R; encode the C blocks to be encoded to obtain encoded data; and the communication interface 1001 is configured to send the encoded data. Specifically, when K is less than or equal to M×R+k, the number of blocks to be encoded C=1; when K is greater than M×R+k, the number of blocks to be encoded C>1; the number of information bits of each block to be encoded, except for the 0th block to be encoded and the last block to be encoded, is the same, namely M×R; the number of information bits of the last block to be encoded is less than or equal to M×R, and the number of information bits of the 0th encoding block is equal to M×R+k; and k is greater than or equal to 0.

[0261] The specific execution process of the communication interface 1001 and the processor 1002 in this embodiment can also refer to the description in the first aspect and the method embodiments corresponding to Figures 4 to 7, or refer to the description in the communication unit 901 and the processing unit 902 in Figure 9, which will not be repeated here. The data processing method implemented by the communication device can realize blind decoding. When the number of information bits is large, it needs to be carried by multiple blocks to be encoded. Then, when the blocks to be encoded are divided (that is, the coding blocks are divided), part of the information bits of the latter coding block are moved to the previous coding block. This can avoid the performance mutation caused by the latter coding block being too small when the coding block is switched.

[0262] In another possible implementation, the communication interface 1001 is configured to receive coded data, and the processor 1002 is configured to decode the coded data. The coded data is obtained by encoding C blocks to be coded, the number of information bits of each of the C blocks to be coded is determined based on a maximum mother code length M and a code rate R, and the number of blocks to be coded C is determined based on the number of information bits K. When K is less than or equal to M×R+k, the number of blocks to be coded C=1; when K is greater than M×R+k, the number of blocks to be coded C>1. The number of information bits of each block to be coded, except for the 0th block to be coded and the last block to be coded, is the same, namely, M×R. The number of information bits of the last block to be coded is less than or equal to M×R, and the number of information bits of the 0th coded block is equal to M×R+k. K is greater than or equal to 0.

[0263] The specific execution process of the communication interface 1001 and the processor 1002 in this embodiment can also refer to the description of the second aspect and the method embodiments corresponding to Figures 4 to 7, or refer to the description of the communication unit 901 and the processing unit 902 in Figure 9, and will not be repeated here. The coded data in the data processing method implemented by the communication device includes multiple coding blocks, and the number of information bits in the multiple coding blocks is designed according to a certain rule, then blind decoding can be implemented for the coded data.

[0264] Optionally, the communication device 1000 may further include at least one memory 1003 for storing program instructions and / or data. In one embodiment, the memory and the processor are coupled. Coupling in this application is an indirect coupling or communication connection between devices, units, or modules, which may be electrical, mechanical, or other forms, and is used for information exchange between devices, units, or modules. The processor may operate in conjunction with the memory. The processor may execute program instructions stored in the memory. The at least one memory and the processor are integrated together.

[0265] The specific connection medium between the communication interface, processor, and memory described above is not limited in this application. For example, the memory, processor, and communication interface are connected via a bus. Bus 1004 is represented by a bold line in Figure 10 . The connection methods between other components are merely illustrative and not limiting. The bus can be categorized as an address bus, a data bus, a control bus, etc. For ease of illustration, Figure 10 uses only a single bold line, but this does not imply that there is only one bus or only one type of bus.

[0266] In this application, a processor may be a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field-programmable gate array or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component, and may implement or execute the methods, steps, and logic block diagrams disclosed in this application. A general-purpose processor may be a microprocessor or any conventional processor. The steps of the methods disclosed in this application may be directly executed by a hardware processor, or by a combination of hardware and software modules within the processor.

[0267] In the present application, the memory may be a non-volatile memory, such as a hard disk drive (HDD) or a solid-state drive (SSD), or a volatile memory, such as a random-access memory (RAM). The memory is any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory in the present application may also be a circuit or any other device that can implement a storage function, for storing program instructions and / or data.

[0268] The present application provides a communication device, which is composed of an input and output interface and a logic circuit. The input and output interface is used to input or output data; the logic circuit processes the data according to the methods in the embodiments corresponding to Figures 4 to 7 to obtain processed data.

[0269] The present application provides a communication device, which is composed of an input and output interface and a logic circuit. The input and output interface is used to input or output data; the logic circuit processes the data according to the methods in the embodiments corresponding to Figures 4 to 7 to obtain processed data.

[0270] The present application provides a communication system, which includes a terminal device and a network device as shown in the embodiments corresponding to Figures 4 to 7.

[0271] The present application provides a computer-readable storage medium. The computer-readable storage medium stores a program or instruction. When the program or instruction is executed on a computer, the computer executes the data processing method in the embodiments corresponding to Figures 4 to 7.

[0272] The present application provides a computer program product. The computer program product includes instructions. When the instructions are executed on a computer, the computer executes the data processing method in the embodiments corresponding to Figures 4 to 7.

[0273] The present application provides a chip or chip system, which includes at least one processor and an interface, the interface and the at least one processor are interconnected through lines, and the at least one processor is used to run computer programs or instructions to execute the data processing methods in the embodiments corresponding to Figures 4 to 7.

[0274] The interface in the chip may be an input / output interface, a pin, or a circuit.

[0275] The chip system may be a system on chip (SOC) or a baseband chip, wherein the baseband chip may include a processor, a channel encoder, a digital signal processor, a modem, an interface module, and the like.

[0276] In one implementation, the chip or chip system described above in this application further includes at least one memory, in which instructions are stored. The memory may be a storage unit within the chip, such as a register, a cache, etc., or a storage unit of the chip (e.g., a read-only memory, a random access memory, etc.).

[0277] The technical solutions provided in this application can be implemented in whole or in part through software, hardware, firmware, or any combination thereof. When implemented using software, they can 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 program instructions are loaded and executed on a computer, the processes or functions described in this application are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a network device, a terminal device, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that includes one or more available media. The available medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a digital video disc (DVD)), or a semiconductor medium.

[0278] In this application, under the premise that there is no logical contradiction, the various embodiments may reference each other, for example, the methods and / or terms between method embodiments may reference each other, for example, the functions and / or terms between device embodiments may reference each other, for example, the functions and / or terms between device embodiments and method embodiments may reference each other.

[0279] Obviously, those skilled in the art may make various changes and modifications to the present application without departing from the scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include these modifications and variations.

Claims

1. A data processing method, characterized in that: include: Obtain K information bits; Determine the number of blocks to be encoded according to K; Determine the number of information bits of each of the C blocks to be coded based on the maximum mother code length M and the code rate R; Encoding the C blocks to be encoded to obtain encoded data; sending the encoded data; The method of determining the number of blocks to be encoded according to K is as follows: When K is less than or equal to M×R+k, C=1; When K is greater than M×R+k, C>1, wherein the number of information bits of each block to be encoded except the 0th block to be encoded and the last block to be encoded is the same, which is M×R, the number of information bits of the last block to be encoded is less than or equal to M×R, and the number of information bits of the 0th encoding block is equal to M×R+k; and k is greater than or equal to 0.

2. The method according to claim 1, characterized in that When C>1, the The number of information bits included in the C blocks to be encoded is: I0=M×R+k, I c =M×R, where c satisfies c∈{1,2,...,C-2}, I C-1 =KM×R×(C-1)-k, The coded data includes C coded blocks, and the code length of the C coded blocks is: X c′ =M, the c′ satisfies c′∈{0,1,2,...,C-2}, X C-1 =EM×(C-1), where E is the total code length corresponding to K information bits.

3. The method according to claim 1 or 2, characterized in that The coded data includes C coded blocks, each coded block includes m coded sub-blocks, and the coded sub-blocks are sent via a sending sub-block; When the code length of the coding block is X, the number of transmitted sub-blocks of the coding block is When the number of transmitted sub-blocks of a coding block satisfies D>S, the number of coding sub-blocks of the coding block satisfies m=S; or, When the number of transmitted sub-blocks of a coding block satisfies D≤S, the number of coding sub-blocks of the coding block satisfies m=D; Said N' is the coding sub-block size; The S is the maximum number of coding sub-blocks included in the coding block.

4. The method according to claim 3, characterized in that If the last coding subblock in the coding block is a repeated subblock, the 0th to m-1th transmitted subblocks are the m coding subblocks, and the mth transmitted subblock is obtained by repeating the m-1th coding subblock.

5. The method according to claim 3, characterized in that If the penultimate coding subblock in the coding block is a punctured subblock, the m-1th sending subblock is obtained by puncturing the penultimate coding subblock, and the remaining m-1 sending subblocks are the remaining m-1 coding subblocks.

6. The method according to claim 4 or 5, characterized in that The length of the transmitted sub-block of the coding block is Y j =N′, the j satisfies j∈{0,1,2,...,D-2}, Y D-1 =X-(D-1)*N′.

7. The method according to claim 6, characterized in that The number of information bits of the coding sub-block of the coding block is J i =A i , i∈{0,1,2,...,m-3}, where, When the number of coding sub-blocks of a coding block satisfies D>S, J m-2 =A m-2 ,or, When the number of coding sub-blocks in a coding block satisfies D≤S, the number of information bits of the m-2th coding sub-block is The A m-2 To allocate the S-2th element in the sequence, the Δ is calculated based on the Y D-1 The difference between the N′ and the N′ is determined to be 0 or 1; The number of information bits of the m-1th coding sub-block is A i is an element in an allocation sequence, wherein the allocation sequence is a sequence of S-1 variables {A0, A1, A2, ..., A S-2 }, where the relationship between the elements in the allocation sequence is A0≤A1≤...≤A S-2 .

8. The method according to any one of claims 1 to 7, characterized in that Encoding the C blocks to be encoded to obtain encoded data includes: According to the number of information bits in each coding block, the information bits to be encoded are divided into C segments; According to the number of information bits in each coding sub-block, the bits to be coded in each segment are divided into m sub-segments; According to the code length and number of information bits of each coding sub-block, the information bits and frozen bits of each coding sub-block are determined, and a size of m×2 is constructed according to the number of coding sub-blocks m. n Information sequence; According to the position information of the information bits in the information sequence, the information bits to be encoded are inserted into the sequence to be encoded, and a modular square multiplication process is performed with the encoding matrix G to obtain the encoded data; The encoding matrix The size of G is (m×2 n )×(m×2 n ), said m and said n are positive integers, The matrix G N′ For size 2 n ×2 n The Polar generator matrix, The matrix O is of size 2 n ×2 n An all-zero matrix.

9. The method according to any one of claims 3 to 7, characterized in that The order in which the coded sub-blocks are sent is: First, the m-1th coding sub-block is sent, and then the i-th coding sub-block is sent in sequence, where the order of i is 0, 1, 2, ..., m-2.

10. The method according to claim 9, characterized in that The order in which the coded bits in the transmit sub-block are sent is: According to the length of the transmission sub-block, the coded bits are transmitted in reverse order starting from the N′-1th position of the transmission sub-block.

11. A data processing method, characterized in that: include: Receive coded data, the coded data being obtained by encoding C blocks to be coded, The number of information bits of each of the C blocks to be coded is determined according to the maximum mother code length M and the code rate R. The number of blocks to be coded C is determined by the number of information bits K. Wherein, when K is less than or equal to M×R+k, C=1; When K is greater than M×R+k, C>1, wherein the number of information bits of each block to be coded except the 0th block to be coded and the last block to be coded is the same, which is M×R, the number of information bits of the last block to be coded is less than or equal to M×R, and the number of information bits of the 0th coding block is equal to M×R+k; k is greater than or equal to 0; The encoded data is decoded.

12. The method according to claim 11, characterized in that When C>1, the The number of information bits included in the C blocks to be encoded is: I0=M×R+k, I c =M×R, where c satisfies c∈{1,2,...,C-2}, I C-1 =KM×R×(C-1)-k, The coded data includes C coded blocks, and the code length of the C coded blocks is: X c′ =M, the c′ satisfies c′∈{0,1,2,...,C-2}, X C-1 =EM×(C-1).

13. The method according to claim 11 or 12, characterized in that The coded data includes C coded blocks, each coded block includes m coded sub-blocks, and the coded sub-blocks are sent via a sending sub-block; When the code length of the coding block is X, the number of transmitted sub-blocks of the coding block satisfies When the number of transmitted sub-blocks of a coding block satisfies D>S, the number of coding sub-blocks of the coding block satisfies m=S; or, When the number of transmitted sub-blocks of a coding block satisfies D≤S, the number of coding sub-blocks of the coding block satisfies m=D; Said N' is the coding sub-block size; The S is the maximum number of coding sub-blocks included in the coding block.

14. The method according to claim 13, characterized in that If the last coding subblock in the coding block is a repeated subblock, the 0th to m-1th transmitted subblocks are the m coding subblocks, and the mth transmitted subblock is obtained by repeating the m-1th coding subblock.

15. The method according to claim 13, characterized in that If the penultimate coding subblock in the coding block is a punctured subblock, the m-1th sending subblock is obtained by puncturing the penultimate coding subblock, and the remaining m-1 sending subblocks are the remaining m-1 coding subblocks.

16. The method according to claim 14 or 15, characterized in that The length of the transmitted sub-block of the coding block is Y j =N′, the j satisfies j∈{0,1,2,...,D-2}, Y D-1 =X-(D-1)*N′.

17. The method according to claim 16, characterized in that The number of information bits of the coding sub-block of the coding block is J i =A i , i∈{0,1,2,...,m-3}, where, When the number of coding sub-blocks of a coding block satisfies D>S, J m-2 =A m-2 ,or, When the number of coding sub-blocks in a coding block satisfies D≤S, the number of information bits of the m-2th coding sub-block is The A m-2 To allocate the S-2th element in the sequence, the Δ is calculated based on the Y D-1 The difference between the N′ and the N′ is determined to be 0 or 1; The number of information bits of the m-1th coding sub-block is A i is an element in an allocation sequence, wherein the allocation sequence is a sequence of S-1 variables {A0, A1, A2, ..., A S-2 }, where the relationship between the elements in the allocation sequence is A0≤A1≤...≤A S-2 .

18. The method according to any one of claims 11 to 17, characterized in that The receiving of coded data comprises: receiving at least two receiving sub-blocks, where the at least two receiving sub-blocks correspond to at least two encoding sub-blocks; Decoding the encoded data includes: If the at least two received sub-blocks are both located before the last received sub-block of the last coding block, and the at least two received sub-blocks belong to different coding blocks, decoding the received sub-block received first and buffering the received sub-block received later, or, If the at least two receiving sub-blocks are both located before the last receiving sub-block of the last coding block, and the at least two receiving sub-blocks belong to the same coding block, the first received receiving sub-block is used to decouple and decode the later received receiving sub-block.

19. The method according to claim 18, characterized in that The method further comprises: If one of the at least two receiving subblocks is the last receiving subblock of the last coding block, and the at least two receiving subblocks belong to different coding blocks, the at least two receiving subblocks are decoded independently, or, If one of the at least two receiving sub-blocks is the last receiving sub-block of the last coding block, and the at least two receiving sub-blocks belong to the same coding block, the at least two receiving sub-blocks are jointly decoded.

20. A data processing device, characterized in that: The method comprises units or modules for executing the method according to any one of claims 1 to 19.

21. A communication device, characterized in that: include: memory and processor; The memory is used to store instructions; The processor is configured to execute the instructions so that the method according to any one of claims 1 to 19 is performed.

22. A communication system, characterized in that: include: A sending end, configured to execute the method according to any one of claims 1 to 10; A receiving end, configured to execute the method according to any one of claims 11 to 19.

23. A chip, characterized in that: Including processor and interface; The processor is configured to read instructions to execute the method according to any one of claims 1 to 19.

24. A communication device, characterized in that: The communication device is composed of an input / output interface and a logic circuit, wherein the input / output interface is used to input or output data; the logic circuit processes the data according to the method according to any one of claims 1 to 10 to obtain the processed data.

25. A communication device, characterized in that: The communication device is composed of an input / output interface and a logic circuit, wherein the input / output interface is used to input or output data; the logic circuit processes the data according to the method according to any one of claims 11 to 19 to obtain the processed data.

26. A computer-readable storage medium, characterized in that The method comprises a program or an instruction, and when the program or the instruction is run on a computer, the method according to any one of claims 1 to 19 is executed.