Data processing method, device and equipment

CN119605130APending Publication Date: 2025-03-11HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202280098388.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-08-08
Publication Date
2025-03-11

AI Technical Summary

Technical Problem

It is difficult to quickly and flexibly construct a Polar code encoding matrix with a mother code length other than 2n using the existing technology, resulting in a lack of fast and effective methods for rate matching mode and affecting the performance of the communication system.

Method used

By designing an information bit construction method based on the allocation sequence, the terminal device or network device can determine the number of information bits for each sub-block to be encoded in the block to be encoded, and use the new Polar code encoding matrix G or G′ for encoding, Supports information bit construction and rate matching when the coding sub-block length is less than an integer multiple of 2n.

Benefits of technology

It achieves fast information bit construction and rate matching for encoded data whose mother code length is not 2n, improves system performance, reduces system power consumption, and supports stream encoding and stream decoding, improving the efficiency and performance of the communication system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119605130A_ABST
    Figure CN119605130A_ABST
Patent Text Reader

Abstract

The invention provides a data processing method, device and equipment, and designs an information bit construction and coding method based on a distribution sequence. According to the method, the number of information bits of each to-be-coded sub-block in the to-be-coded block can be determined according to the number of the information bits and the distribution sequence, so that information bit construction and coding are realized. The information bit construction method is simple and effective, and is favorable for improving system performance and reducing system power consumption. In addition, the method can support information bit construction and rate matching when the length of the coding sub-block is less than an integral multiple of 2n.
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 ), it is necessary to further implement the code length matching process through puncturing, retransmission, etc., so as to achieve rate matching. For ordinary Polar codes, the existing protocol standard stipulates a sequence construction method and a rate matching mode based on sub-block interleaving. However, this sequence construction method is only applicable to mother code lengths of 2 n The encoding matrix of the mother code is not 2 n The coding matrix can only be constructed through Gaussian approximation at present, and there is no fast and flexible construction method and corresponding rate matching mode.

[0003] Summary of the Invention

[0004] The present application provides a data processing method, apparatus and device. The method can process data with a mother code length not exceeding 2. n The information bits are quickly constructed and the rate is matched based on the integer multiples of the coded data. The construction method is simple and effective, which is conducive to improving the system performance.

[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 the 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 length of the block to be encoded based on K, and determines the number of information bits of each sub-block to be encoded in the block to be encoded based on the length of the block to be encoded and the allocation sequence. The allocation sequence is used to describe the number of information bits in all sub-blocks to be encoded in the block to be encoded except the last sub-block to be encoded under the same bit rate and sub-block size to be encoded. The terminal device encodes the block to be encoded, obtains encoded data, and sends the encoded data.

[0006] In this method, an information bit construction and encoding method based on an allocation sequence is designed. The information bit construction method is simple and effective, and is conducive to improving system performance and reducing system power consumption.

[0007] In one possible implementation, the length of the block to be encoded is E=K / R, where R is the code rate;

[0008] The block to be coded includes m sub-blocks to be coded.

[0009] The coded data includes a coding block, which includes m coding sub-blocks, and the size of the coding sub-block is N′, where N′=2 n ;

[0010] The allocation sequence consists of S-1 variables {A0,A1,A2,...,A S-2}; The relationship between the elements in the allocation sequence is A0≤A1≤...≤A S-2 .

[0011] In this method, the length of the block to be coded and the number of sub-blocks to be coded in the block to be coded are designed, thereby determining the number of coding sub-blocks, and the size of the coding sub-block is designed to be 2 n , so that the code rate and the size of the coding sub-block are fixed, which is conducive to the realization of information bit construction based on the allocation sequence. A distribution sequence is also designed to support a simpler information bit construction. In addition, this method can support coding sub-blocks with a length of less than 2 n Information bit construction and rate matching when the value is an integer multiple of .

[0012] In one possible implementation, the length of each sub-block to be encoded is:

[0013] E0=E-(m-1)×N′, or, E i =N′, i∈{1,2,...,m-2,m-1}.

[0014] In one possible implementation, the terminal device determines the number of information bits of each to-be-encoded sub-block in the to-be-encoded block according to the length of the to-be-encoded block and the allocation sequence, which may specifically include:

[0015] When i=0, the number of information bits of the 0th sub-block to be encoded is determined as A0 is the 0th element in the allocation sequence, Δ0 is determined according to the difference between E0 and N′, and has a value of 0 or 1; or

[0016] When i=1, the number of information bits of the first sub-block to be encoded is determined to be J1=A1-Δ1, where A1 is the first element in the allocation sequence, and Δ1 is determined according to the difference between E0 and N′ and has a value of 0 or 1; or

[0017] When i∈{2,3,...,m-2}, the number of information bits of the i-th sub-block to be encoded is determined to be J i =A i , the A i is the i-th element in the allocation sequence; or,

[0018] When i=m-1, the number of information bits of the m-1th sub-block to be encoded is determined as

[0019] In the above method, the length of the sub-block to be coded and the number of information bits of each sub-block to be coded in the block to be coded are designed to support the information bit construction under the coding matrix G′.

[0020] In one possible implementation, the length of each sub-block to be encoded is:

[0021] E m-2 =E-(m-1)×N′, or, E i =N′, i∈{0,1,2,...,m-3,m-1}.

[0022] In one possible implementation, the terminal device determines the number of information bits of each to-be-encoded sub-block in the to-be-encoded block according to the length of the to-be-encoded block and the allocation sequence, which may specifically include:

[0023] When i∈{2,3,...,m-3}, determine the number of information bits in the i-th sub-block to be encoded as J i =A i , the A i is the i-th element in the allocation sequence; or,

[0024] When i=m-2, the number of information bits in the m-2th sub-block to be encoded is determined as The A m-2 For the m-2th element in the allocation sequence, the Δ2 is based on the E m-2 and the difference between N′, which is 0 or 1; or

[0025] When i=m-1, the number of information bits in the m-1th sub-block to be encoded is determined as

[0026] In the above method, the length of the sub-block to be encoded and the number of information bits of each sub-block to be encoded in the block to be encoded are designed to support the information bit construction under the encoding matrix G.

[0027] In one possible implementation, the terminal device encodes the block to be encoded to obtain encoded data, which may specifically include:

[0028] According to the information bit data of each sub-block to be encoded, the K information bits are divided into m sub-segments;

[0029] Determine the information bits and frozen bits of each coding sub-block, and construct a size of m×2 according to the number of coding sub-blocks m n Information sequence;

[0030] According to the positions of the information bits in the information sequence, the K information bits are inserted into the sequence to be encoded, and the sequence to be encoded and the encoding matrix are subjected to modular square multiplication to obtain encoded data.

[0031] In a possible implementation, the encoding matrix is

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

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

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

[0035] 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.

[0036] In one possible implementation, when sending coded data (the coded data is obtained according to the coding matrix G), the m-1th sub-block to be coded is sent first, and then the i-th coded sub-block is sent in sequence, where i satisfies 0≤i≤m-2.

[0037] In this method, the sending order of the encoded data is designed, which is conducive to stream decoding on the decoding side.

[0038] In one possible implementation, the encoding matrix is The G′ is a matrix with a size of (m×2 n )×(m×2 n ), said m and said n are positive integers,

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

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

[0041] In a possible implementation, when sending coded data (the coded data is obtained according to the coding matrix G′), the i-th coded sub-block is sent in sequence, where i satisfies 0≤i≤m-1.

[0042] Optionally, the method described in the first aspect may 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.

[0043] 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 to obtain decoded data. The encoded data is obtained by encoding a block to be encoded, and the block to be encoded includes multiple sub-blocks to be encoded. The number of information bits of each sub-block to be encoded in the block to be encoded is determined according to the length of the block to be encoded and an allocation sequence. The allocation sequence is used to describe the number of information bits in all sub-blocks to be encoded in the block to be encoded except the last sub-block to be encoded under the same code rate and sub-block size.

[0044] 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, stream decoding can be implemented for the coded data.

[0045] In one possible implementation, the length of the block to be encoded is E=K / R, where R is the code rate;

[0046] The block to be coded includes m sub-blocks to be coded.

[0047] The coded data includes a coding block, which includes m coding sub-blocks, and the size of the coding sub-block is N′, where N′=2 n ;

[0048] The allocation sequence consists of S-1 variables {A0,A1,A2,...,A S-2}; The relationship between the elements in the allocation sequence is A0≤A1≤...≤A S-2 .

[0049] In one possible implementation, the length of each sub-block to be encoded is:

[0050] E0=E-(m-1)×N′, or, Ei =N′, i∈{1,2,...,m-2,m-1}.

[0051] In one possible implementation, when i=0, the number of information bits of the 0th sub-block to be encoded is A0 is the 0th element in the allocation sequence, Δ0 is determined according to the difference between E0 and N′, and has a value of 0 or 1; or

[0052] When i=1, the number of information bits of the first sub-block to be encoded is J1=A1-Δ1, where A1 is the first element in the allocation sequence, and Δ1 is determined according to the difference between E0 and N′ and has a value of 0 or 1; or

[0053] When i∈{2,3,...,m-2}, the number of information bits of the i-th sub-block to be encoded is J i =A i , the A i is the i-th element in the allocation sequence; or,

[0054] When i=m-1, the number of information bits of the m-1th sub-block to be encoded is

[0055] In one possible implementation, the length of each sub-block to be encoded is:

[0056] E m-2 =E-(m-1)×N′, or, E i =N′, i∈{0,1,2,...,m-3,m-1}.

[0057] In one possible implementation, when i∈{2,3,...,m-3}, the number of information bits in the i-th sub-block to be encoded is J i =A i , the A i is the i-th element in the allocation sequence; or,

[0058] When i=m-2, the number of information bits in the m-2th sub-block to be encoded is The A m-2 For the m-2th element in the allocation sequence, the Δ2 is based on the E m-2 and the difference between N′, which is 0 or 1; or

[0059] When i=m-1, the number of information bits in the m-1th sub-block to be encoded is

[0060] In a possible implementation, the coded data is obtained by encoding using a coding matrix G. 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.

[0061] In one possible implementation, the network device decodes the encoded data to obtain decoded data, which may specifically include:

[0062] Obtain the marked data corresponding to the 0th receiving sub-block and the marked data corresponding to the 1st receiving sub-block, where the 0th receiving sub-block is the m-1th coding sub-block and the 1st receiving sub-block is the 0th coding sub-block;

[0063] Performing an F operation on the label data corresponding to the 0th receiving sub-block and the label data corresponding to the 1st receiving sub-block to obtain the label data corresponding to the 1st receiving sub-block after the F operation,

[0064] Perform Polar code decoding on the marked data corresponding to the first receiving sub-block after the F operation to obtain the decoded data corresponding to the first receiving sub-block;

[0065] The marked data corresponding to the 0th receiving sub-block is enhanced according to the marked data corresponding to the 1st receiving sub-block and the decoded data corresponding to the 1st receiving sub-block.

[0066] In this method, the network device performs decoding based on the first received 0th receiving sub-block and its adjacent 1st receiving sub-block, thereby realizing stream decoding, and enhances the 0th receiving sub-block, which is conducive to realizing stream decoding based on the enhanced 0th receiving sub-block in the subsequent decoding process.

[0067] In one possible implementation, the network device obtains the marked data corresponding to the qth receiving sub-block, where the qth receiving sub-block is the q-1th coding sub-block, and q is 2≤q≤m-1; performs an F operation on the marked data corresponding to the qth receiving sub-block and the marked data corresponding to the enhanced 0th receiving sub-block to obtain the marked data corresponding to the qth receiving sub-block after the F operation; performs Polar code decoding on the marked data corresponding to the qth receiving sub-block after the F operation to obtain the decoded data corresponding to the qth receiving sub-block; and enhances the marked data corresponding to the enhanced 0th receiving sub-block according to the marked data corresponding to the qth receiving sub-block and the decoded data corresponding to the qth receiving sub-block.

[0068] In this method, the same method is used to decode the second received sub-block to the m-1th received sub-block. In addition, the marker data corresponding to the 0th received sub-block is continuously enhanced as the decoding proceeds, which is conducive to stream decoding.

[0069] In a possible implementation, the coded data is obtained by encoding using a coding matrix G′. G′ is a unit with the size of (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.

[0070] In one possible implementation, the network device decodes the encoded data to obtain decoded data, which may specifically include:

[0071] Obtain the marked data corresponding to the 0th receiving sub-block and the marked data corresponding to the 1st receiving sub-block, where the 0th receiving sub-block is the 0th coding sub-block and the 1st receiving sub-block is the 1st coding sub-block;

[0072] Performing an F operation on the label data corresponding to the 0th receiving sub-block and the label data corresponding to the 1st receiving sub-block to obtain the label data corresponding to the 0th receiving sub-block after the F operation,

[0073] Perform Polar code decoding on the marked data corresponding to the 0th receiving sub-block after the F operation to obtain the decoded data corresponding to the 0th receiving sub-block;

[0074] The marked data corresponding to the first receiving sub-block is enhanced according to the marked data corresponding to the 0th receiving sub-block and the decoded data corresponding to the 0th receiving sub-block.

[0075] In one possible implementation, the network device obtains the marked data corresponding to the p-th receiving sub-block, where the p-th receiving sub-block is the p-th coding sub-block, and p is 2≤p≤m-1; performs an F operation on the marked data corresponding to the p-th receiving sub-block and the enhanced marked data corresponding to the p-1-th receiving sub-block to obtain the marked data corresponding to the p-1-th receiving sub-block after the F operation; performs Polar code decoding on the marked data corresponding to the p-1-th receiving sub-block after the F operation to obtain the decoded data corresponding to the p-1-th receiving sub-block; and enhances the marked data corresponding to the p-th receiving sub-block according to the enhanced marked data corresponding to the p-1-th receiving sub-block and the decoded data corresponding to the p-1-th receiving sub-block.

[0076] Optionally, the method described in the second aspect may 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.

[0077] 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 capable of being used in conjunction with a terminal device. In one design, the data processing device may include a module that executes the methods / operations / steps / actions described in the first and second aspects in a one-to-one manner. The module may be a hardware circuit, software, or a combination of hardware circuits and software. In one design, the device may include a processing unit and a transceiver unit.

[0078] The specific description of the method / operation / step / action performed by the data processing device can refer to the corresponding descriptions in the first and second aspects above, and will not be repeated here. It is understandable that the data processing device can also achieve the effects that can be achieved in the first and second aspects.

[0079] In a fourth aspect, an embodiment of the present application provides a 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 methods / operations / steps / actions described in the first and second aspects, and the module may be a hardware circuit, software, or a combination of hardware circuits and software. In one design, the data processing device may include a processing unit and a transceiver unit.

[0080] The specific description of the method executed by the data processing device can refer to the corresponding descriptions in the first and second aspects above, which will not be repeated here. It can be understood that the data processing device can also achieve the effects that can be achieved in the first and second aspects.

[0081] 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.

[0082] 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 of the second aspect and any possible implementation method of the second aspect to obtain the processed data.

[0083] In the seventh aspect, an embodiment of the present application provides a communication 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 in any possible implementation of the first or second aspect above.

[0084] In a possible implementation, the communication device is a terminal device.

[0085] In another possible implementation, the communication device is a network device.

[0086] In an eighth aspect, the present application provides a communication system. The communication system includes one or more devices of the data processing device provided in the third and fourth aspects. Alternatively, the communication system includes the terminal device and network device provided in the seventh aspect.

[0087] In one possible implementation, the communication system includes a transmitting end and a receiving end, wherein the transmitting end is configured to execute the method described in the first aspect and any one of the possible implementations of the first aspect. The receiving end is configured to execute the method described in the second aspect and any one of the possible implementations of the second aspect.

[0088] In a ninth aspect, the present application provides a chip system. The chip system includes a processor and may also include a memory, and is configured to implement the method described in the first aspect and any possible implementation of the first aspect, or the method described in 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 components.

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

[0090] 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.

[0091] In a tenth aspect, the present application provides a computer-readable storage medium. The computer-readable storage medium stores a computer program. The computer program is executed by a processor to implement 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.

[0092] In an eleventh aspect, 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 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. BRIEF DESCRIPTION OF THE DRAWINGS

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

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

[0095] FIG3 is a schematic diagram of calculating the log-likelihood ratio (LLR) during a decoding process;

[0096] FIG4 is a schematic diagram of another method for calculating the log-likelihood ratio (LLR) in a decoding process;

[0097] FIG5a is a schematic diagram showing the number of information bits of a coding sub-block;

[0098] FIG5 b is a schematic diagram showing the number of information bits of another coding sub-block;

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

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

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

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

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

[0104] 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.

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

[0106] This application provides a data processing method that designs an information bit construction and encoding method based on an allocation sequence. 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 a network device and a terminal device, and the network device can provide communication services to the terminal device.

[0107] 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.).

[0108] 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.

[0109] 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.

[0110] It is understood that the present application includes 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 is not limited thereto.

[0111] 1. Relevant concepts of this application

[0112] 1. This application is based on Polar code encoding:

[0113] 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.

[0114] 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.

[0115] 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.

[0116] 2. The first Polar code encoding matrix G provided in this application:

[0117] 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.

[0118] 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.

[0119] 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

[0120] 3. Calculate each G based on the encoding matrix G N′ The mean change of the log likelihood ratio (LLR) is:

[0121] When the decoding side receives the coded data obtained based on the coding matrix G, it can decode the coded data. For example, the decoding process is shown in Figure 3. The decoding side can calculate each G based on the coding matrix G. N′ Assume that in the additive white Gaussian noise (AWGN) channel, the mean of the received LLR is L. As shown in Figure 3, the Gaussian approximate function (GAF) can be used to calculate the mean of each G N′The mean of the LLR distribution after being decoupled by the last coupling sub-block. Therefore, it is possible to calculate the mean of each G N′ The LLR mean of the coded sub-block (received sub-block) of size G when entering the ordinary Polar code decoding. N′ The LLR mean of the coded sub-blocks of size is shown in the following formula:

[0122]

[0123] in, is the LLR mean of any coding sub-block except the last coding sub-block in the m-1 coding sub-blocks, is the LLR mean of the last coding sub-block. It can be seen that, except for the last coding sub-block, the capacity of the other m-1 coding sub-blocks is only related to their own sequence number i, and has nothing to do with the total number of coding sub-blocks m in the coding block.

[0124] 4. The second Polar code encoding matrix provided in this application:

[0125] 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.

[0126] 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 lower triangular area of ​​the matrix is ​​the matrix G N′ , except for the lower triangular area, all elements of the matrix are matrix O. Among them, the mother code length of the coding matrix G is N′=m×2 n .

[0127] 5. Calculate each G based on the second encoding matrix N′ The mean change of the LLR.

[0128] After the decoding side receives the coded data obtained based on the coding matrix G′, it can decode the coded data. For example, the decoding process is shown in Figure 4. The decoding side can calculate each G according to the coding matrix G′. N′Assume that in AWGN channel, the mean of received LLR is L. As shown in Figure 4, GAF can be used to calculate the mean of each G N′ The mean of the LLR distribution after being decoupled by the last coupling sub-block. Therefore, it is possible to calculate the mean of each G N′ The LLR mean of the coded sub-block (received sub-block) of size G when entering the ordinary Polar code decoding. N′ The LLR mean of the coded sub-blocks of size is shown in the following formula:

[0129]

[0130] in, is the LLR mean of any coding sub-block except the last coding sub-block in the m-1 coding sub-blocks, is the LLR mean of the last coding sub-block. It can be seen that, except for the last coding sub-block, the capacity of the other m-1 coding sub-blocks is only related to their own sequence number i, and has nothing to do with the total number of coding sub-blocks m in the coding block.

[0131] 6. Based on each G N′ The mean change of LLR determines the information distribution result of each sub-block

[0132] As described in Sections 2-5 above, regardless of whether coding matrix G or coding matrix G′ is used, the LLR mean distribution of each sub-block after the coding result passes through the channel and before sub-block decoupling decoding is performed is as shown in Formula (1). Based on the capacity calculation results, the capacity of each corresponding sub-block / information bit reflected in the respective decoding graphs of the two coding matrices is consistent, so the same information construction method can be used.

[0133] Furthermore, based on the mean value of the coding subblocks, except for the last coding subblock, the capacity of the remaining m-1 coding subblocks depends only on their own sequence number i and is independent of the total number of coding subblocks m in the coding block. Therefore, when the code rate and N′ are fixed, a distribution of information bits in the coding subblocks can be obtained that satisfies a certain pattern. For example, Figure 5a shows the number of information bits per coding subblock when R = 1 / 8 and N′ = 128, and the number of information bits is 32, 48, 64, ..., 192. It can be seen that as the number of information bits gradually increases, the number of coding subblocks also gradually increases (for example, from 2 to 12). The first row of Figure 5a shows K = 32 and m = 2, with two coding subblocks. The first coding subblock is allocated 1 information bit, and the second coding subblock is allocated 31 information bits. The second row shows K = 48, m = 3, and three coding subblocks. The first coding subblock is allocated 1 information bit, the second coding subblock is allocated 4 information bits, the third coding subblock is allocated 43 information bits, and so on, as shown in Figure 5a. For another example, Figure 5b shows the amount of information in each subblock when R = 1 / 8, N′ = 256, and the information length is 64, 96, 128, ... 384. It can be seen that as the number of information bits gradually increases, the number of coding subblocks also gradually increases (for example, from 2 to 12). The first row shows K = 64, m = 2, and two coding subblocks. The first coding subblock is allocated 5 information bits, and the second coding subblock is allocated 59 information bits. The second row shows K = 96, m = 3, and three coding subblocks. The first coding subblock is allocated 4 information bits, the second coding subblock is allocated 6 information bits, the third coding subblock is allocated 89 information bits, and so on, as shown in Figure 5b. As shown in Figures 5a and 5b, except for the last coding sub-block, the number of information bits allocated to the other coding sub-blocks belonging to the same column is the same or differs by only 1 or 2 information bits. Therefore, an allocation sequence can be used to describe the number of information bits in all coding sub-blocks except the last coding sub-block in the coding block under the same code rate and coding sub-block size. It can be understood that since the number of information bits included in the coding sub-block and the sub-block to be coded is the same, and the length of the sub-block to be coded and the coding sub-block is also the same, the allocation sequence can also be used to describe the number of information bits in all sub-blocks to be coded in the coding block except the last sub-block to be coded under the same code rate and sub-block size.

[0134] 7. F operation:

[0135] 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:

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

[0137] 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.

[0138] 8. G operation:

[0139] 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.

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

[0141] Figure 6 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:

[0142] S101: Obtain K information bits.

[0143] S102: Determine the length of the block to be encoded according to K information bits.

[0144] S103 : Determine the number of information bits of each to-be-encoded sub-block in the to-be-encoded block according to the length of the to-be-encoded block and the allocation sequence.

[0145] The block to be coded is used to carry K information bits, so the length of the block to be coded is E = K / R, where R is the code rate. The block to be coded includes m sub-blocks to be coded, and the size of the sub-block to be coded is N′ = 2 n ,but It can be understood that the block to be coded corresponds to the coding block, and the sub-block to be coded corresponds to the coding sub-block. Then the coding block includes m coding sub-blocks, and the size of the coding sub-block is N′=2 n .

[0146] The allocation sequence is used to describe the number of information bits in all sub-blocks to be coded except the last sub-block to be coded in the same bit rate and sub-block size. For example, assuming that the allocation sequence includes S-1 variables {A0, A1, A2, ..., A S-2}, the relationship between the elements in the allocation sequence is A0≤A1≤...≤A S-2 It is understandable that when a fixed code rate and N' are used, a distribution of information bits in the coded sub-block that satisfies a certain pattern can be obtained, such as the information bit distribution results of the coded sub-blocks shown in Figures 5a and 5b. That is, each row in Figures 5a and 5b can correspond to an allocation sequence. For example, according to Figure 5a, when the fixed code rate R = 1 / 8 and N' = 128, assuming the number of information bits K = 64, the allocation sequence is {1, 4, 5, 54}.

[0147] Specifically, the number of information bits of each sub-block to be coded in the block to be coded is determined according to the length of the block to be coded and the allocation sequence, including the following two methods:

[0148] Method 1: If the allocated block to be coded is to be coded based on the coding matrix G, the length of each sub-block to be coded can be determined as shown in the following formulas (2) and (3):

[0149] E i =N′,i∈{0,1,2,...,m-3,m-1} (2)

[0150] E m-2 =E-(m-1)×N′ (3)

[0151] Where i is the sequence number of the sub-block to be encoded, m is the total number of blocks to be encoded, N′ is the size of the block to be encoded, and E is the length of the block to be encoded. In this application, it is assumed that when the encoded data is obtained after encoding the block to be encoded and the encoded data is sent, the last encoded sub-block is sent first (then the second-to-last encoded sub-block will be sent last), which is conducive to stream decoding. In this method, when designing the number of information bits in the sub-block to be encoded, the second-to-last encoded sub-block to be encoded is regarded as the last sub-block, and its length is the total length of the block to be encoded minus the sum of the lengths of the other sub-blocks to be encoded, as shown in formula (3).

[0152] If the allocated blocks to be coded are to be coded based on the coding matrix G, the number of information bits of each sub-block to be coded can be determined as shown in the following formulas (4) to (6):

[0153] J i =A i ,i∈{2,3,...,m-3} (4)

[0154]

[0155]

[0156] Among them, J i is the number of information bits in the i-th sub-block to be encoded, A i To allocate the i-th element in the sequence, A m-2 is the m-2th element in the allocation sequence, Δ2 is the length E of the m-2th sub-block to be encoded m-2 The difference between N and N′ is determined and takes the value of 0 or 1.

[0157] From the above formulas (4) to (6), it can be seen that the number of information bits in the sub-blocks to be coded, except for the last and penultimate sub-blocks to be coded, is equal to the variable value of the corresponding sequence number in the allocation sequence; the number of information bits in the penultimate sub-block to be coded is determined based on the length of the sub-block to be coded, the value of the variable of the penultimate sequence number in the allocation sequence, and parameter values ​​such as N′ and Δ2; the number of information bits in the last sub-block to be coded is equal to the total number of information bits K minus the sum of the number of information bits in the other sub-blocks to be coded. In other words, once the allocation sequence is determined, the number of information bits in each sub-block to be coded can be determined relatively simply and quickly, thereby facilitating a simpler and faster construction of information bits.

[0158] Method 2: If the allocated block to be coded is to be coded based on the coding matrix G′ or the coding matrix G, the length of each sub-block to be coded can be determined as shown in the following formulas (7) and (8):

[0159] E0=E-(m-1)×N′ (7)

[0160] E i =N′, i∈{1,2,...,m-2,m-1} (8)

[0161] Where i is the sequence number of the sub-block to be coded, m is the total number of blocks to be coded, and N′ is the size of the block to be coded. In this application, it is assumed that when the coded data is obtained after the block to be coded is coded and sent, the 0th coded sub-block is sent first, which is conducive to stream decoding. In this method, when designing the number of information bits in the sub-block to be coded, the 0th sub-block to be coded is regarded as the last sub-block, and its length is the total length of the block to be coded minus the sum of the lengths of other sub-blocks to be coded, as shown in formula (7).

[0162] If the allocated blocks to be coded are to be coded based on the coding matrix G′ or the coding matrix G, the number of information bits of each sub-block to be coded can be determined as shown in the following formulas (9) to (12):

[0163]

[0164] J1=A1-Δ1 (10)

[0165] J i =A i ,i∈{2,3,...,m-2} (11)

[0166]

[0167] Among them, J i is the number of information bits in the i-th sub-block to be encoded, A i is the i-th element in the allocation sequence. Δ0 is determined based on the difference between the length E0 of the 0th sub-block to be encoded and N′, and takes a value of 0 or 1. Δ1 is determined based on the difference between the length E0 of the 0th sub-block to be encoded and N′, and takes a value of 0 or 1. When generating the allocation sequence, the length E0 of the 0th sub-block to be encoded is assumed to be full. If the length E0 of the 0th sub-block to be encoded is punctured excessively, the increased capacity of the 1st sub-block to be encoded may be limited. In this case, E1 needs to be adjusted using parameter Δ1, which is determined based on the difference between the length E0 of the 0th sub-block to be encoded and N′.

[0168] From the above formulas (9) to (12), it can be seen that the number of information bits of the sub-blocks to be coded, except for the last, 0th, and 1st sub-blocks to be coded, is equal to the variable value of the corresponding sequence number in the allocation sequence; the number of information bits of the 0th sub-block to be coded is determined based on the length of the sub-block to be coded, the variable value of the 0th sequence number in the allocation sequence, N′, Δ0 and other parameter values; the number of information bits of the 1st sub-block to be coded is determined based on the variable value of the 1st sequence number in the allocation sequence and parameter values ​​such as Δ1; the number of information bits of the last sub-block to be coded is equal to the total number of information bits K minus the sum of the number of information bits of the other sub-blocks to be coded. In other words, once the allocation sequence is determined, the number of information bits of each sub-block to be coded can be determined relatively simply and quickly, which is conducive to a simpler and faster implementation of information bit construction.

[0169] S104: Encode the block to be encoded to obtain encoded data.

[0170] S105, sending the encoded data.

[0171] The step of encoding the block to be encoded to obtain encoded data may include the following steps:

[0172] S11, according to the information bit data of each sub-block to be encoded, divide the K information bits into m sub-segments;

[0173] S12, determine the information bits and frozen bits of each coding sub-block, and construct a size of m×2 according to the number of coding sub-blocks m nInformation sequence;

[0174] s13, inserting K information bits into the sequence to be encoded according to the position of the information bits in the information sequence, and performing modular square multiplication on the sequence to be encoded and the encoding matrix to obtain encoded data.

[0175] When different encoding matrices are used, the obtained encoding data are different.

[0176] Method 1: When the encoding matrix is For a detailed description of the encoding matrix G, please refer to the corresponding description above.

[0177] 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 the encoding result:

[0178] For example, u N Divide into m segments The length of each segment is N'; according to the encoding matrix G, each segment is N′ Performing modular square multiplication, the result is The resulting encoding is

[0179] In the first method, after the coded data is generated, the coded data is sent. The order of sending the coded data may be:

[0180] First, send the m-1th sub-block to be encoded.

[0181] Then send the i-th coded sub-block in sequence, 0≤i≤m-2.

[0182] It can be understood that adopting this order of sending the encoded data is conducive to stream decoding on the decoding side.

[0183] Method 2: When the encoding matrix is For a detailed description of the encoding matrix G′, please refer to the corresponding description above.

[0184] 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 and obtain the encoding result as

[0185] For example, u N Divide into m segments The length of each segment is N'; according to the encoding matrix G', each segment is N′ Performing modular square multiplication, the result is Adjacent data are coupled from back to front (for example, starting from the m-2th data and going forward to the 0th data), so that the encoding result is

[0186] In the second method, after the coded data is generated, the coded data is sent. The order of sending the coded data may be:

[0187] The i-th coded sub-block is sent sequentially, 0≤i≤m-1.

[0188] It can be seen that the first data processing method provided by this application designs an information bit construction and encoding method based on the allocation sequence. The information bit construction method is simple and effective, which is conducive to improving system performance and reducing system power consumption. In addition, this method can support the length of the coding sub-block is less than 2 n Furthermore, the information bits to be encoded are encoded using the encoding matrix G to obtain encoded data, which is conducive to stream decoding.

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

[0190] FIG7 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. It is understood that when the terminal device executes the data processing method described in the third section hereof, that is, the terminal device is on the decoding side, and the network device executes the data processing method described in the second section above, that is, the network device is on the encoding side. When executing the decoding process, the following steps are included:

[0191] S201, receiving coded data, where the coded data is obtained by encoding a block to be coded.

[0192] The block to be encoded includes multiple sub-blocks to be encoded, and the number of information bits of each sub-block to be encoded in the block to be encoded is determined according to the length of the block to be encoded and an allocation sequence. The allocation sequence is used to describe the number of information bits in all sub-blocks to be encoded in the block to be encoded except the last sub-block to be encoded under the same bit rate and size of the sub-block to be encoded.

[0193] The description of the block to be coded, the sub-block to be coded, the coded block, the coded sub-block, the number of information bits in the block to be coded, the allocation sequence, and how to encode the block to be coded is referred to the corresponding description in the second part of the previous text and is not repeated here. For example, to support stream decoding, the coded data can be obtained by encoding the information bit sequence based on the coding matrix G.

[0194] S202: Decode the encoded data to obtain decoded data.

[0195] Among them, when the encoded data is obtained using different encoding matrices, the corresponding decoding process is different, including the following two cases:

[0196] Case 1: If the coded data is encoded using the coding matrix G, the decoding process for the coded data is a stream decoding process. The terminal device can first decode the received 0th receiving sub-block and the 1st receiving sub-block. That is, after receiving a portion of the information during the decoding process, it can decode the portion of information. Specifically, the following steps may be included:

[0197] s11, obtain the marked data corresponding to the 0th receiving sub-block and the marked data corresponding to the 1st receiving sub-block, where the 0th receiving sub-block is the m-1th coding sub-block and the 1st receiving sub-block is the 0th coding sub-block;

[0198] s12, performing an F operation on the labeled data corresponding to the 0th receiving sub-block and the labeled data corresponding to the 1st receiving sub-block to obtain the labeled data corresponding to the 1st receiving sub-block after the F operation;

[0199] s13, performing Polar code decoding on the marked data corresponding to the first receiving sub-block after the F operation to obtain the decoded data corresponding to the first receiving sub-block;

[0200] s14, enhancing the marked data corresponding to the 0th receiving sub-block according to the marked data corresponding to the 1st receiving sub-block and the decoded data corresponding to the 1st receiving sub-block.

[0201] The labeled data corresponding to the 0th receiving sub-block is the log likelihood ratio (LLR) of the 0th receiving sub-block, which is also the LLR of the m-1th coding sub-block; the labeled data corresponding to the 1st receiving sub-block is the LLR of the 1st receiving sub-block, which is also the LLR of the 0th coding sub-block. The LLR of the 0th receiving sub-block and the LLR of the 1st receiving sub-block are used as inputs of the F function to obtain the labeled data corresponding to the 1st receiving sub-block after the F operation (that is, the coded data received after decoupling). The description of the F function refers to the previous description and will not be repeated here.

[0202] Among them, the method of performing Polar code decoding on the marked data corresponding to the first receiving sub-block after the F operation can refer to the existing Polar code decoding method, and this application is not limited. The LLR of the 0th receiving sub-block, the LLR of the 1st receiving sub-block and the decoded data corresponding to the 1st receiving sub-block are used as the input of the G function, so as to enhance the marked data corresponding to the 0th receiving sub-block (that is, enhance the encoded data received first), which is beneficial to the subsequent decoding process based on the enhanced 0th receiving sub-block to achieve stream decoding. Among them, the description of the G function refers to the previous description and will not be repeated here.

[0203] Optionally, the labeled data corresponding to the 0th receiving sub-block can be the likelihood probability of the 0th receiving sub-block, and the labeled data corresponding to the 1st receiving sub-block can be the likelihood probability of the 1st receiving sub-block. In this case, the above step s12 will be changed to: perform a probability operation on the labeled data corresponding to the 0th receiving sub-block and the labeled data corresponding to the 1st receiving sub-block to obtain the labeled data corresponding to the 1st receiving sub-block in the probability domain. It can be understood that the subsequent processing flow is still executed according to s13 and s14, and the labeled data corresponding to the 0th receiving sub-block can be enhanced.

[0204] Furthermore, for each subsequently received sub-block, the processing method is similar to that of steps s11 to s14 above, and may include the following steps:

[0205] s15, obtain the label data corresponding to the qth receiving sub-block, q is 2≤q≤m-1, and the qth receiving sub-block is the q-1th encoding sub-block;

[0206] s16, performing an F operation on the labeled data corresponding to the qth receiving sub-block and the labeled data corresponding to the enhanced 0th receiving sub-block to obtain the labeled data corresponding to the qth receiving sub-block after the F operation;

[0207] s17, performing Polar code decoding on the marked data corresponding to the qth receiving sub-block after the F operation to obtain the decoded data corresponding to the qth receiving sub-block;

[0208] s18, enhancing the enhanced marked data corresponding to the 0th receiving sub-block according to the marked data corresponding to the qth receiving sub-block and the decoded data corresponding to the qth receiving sub-block.

[0209] For example, obtain the labeled data corresponding to the second receiving sub-block, and perform an F operation on the labeled data corresponding to the second receiving sub-block and the labeled data corresponding to the enhanced 0th receiving sub-block to obtain the labeled data corresponding to the second receiving sub-block after the F operation; perform Polar code decoding on the labeled data corresponding to the second receiving sub-block after the F operation to obtain the decoded data corresponding to the second receiving sub-block, and perform secondary enhancement on the labeled data corresponding to the enhanced 0th receiving sub-block according to the labeled data corresponding to the second receiving sub-block and the decoded data corresponding to the second receiving sub-block to obtain the labeled data corresponding to the 0th receiving sub-block after the secondary enhancement. For the specific implementation of the above steps, please refer to the specific implementation corresponding to s11 to s14, which will not be repeated here.

[0210] Case 2: If the coded data is obtained by encoding using the coding matrix G′, the process of decoding the coded data may include the following steps:

[0211] s21, obtain the mark data corresponding to the 0th receiving sub-block and the mark data corresponding to the 1st receiving sub-block, the 0th receiving sub-block is the 0th coding sub-block, and the 1st receiving sub-block is the 1st coding sub-block;

[0212] s22, perform F operation on the marked data corresponding to the 0th receiving sub-block and the marked data corresponding to the 1st receiving sub-block to obtain the marked data corresponding to the 0th receiving sub-block after the F operation,

[0213] s23, performing Polar code decoding on the marked data corresponding to the 0th receiving sub-block after the F operation to obtain the decoded data corresponding to the 0th receiving sub-block;

[0214] s24, enhancing the marked data corresponding to the 1st receiving sub-block according to the marked data corresponding to the 0th receiving sub-block and the decoded data corresponding to the 0th receiving sub-block.

[0215] The labeled data corresponding to the 0th received sub-block is the LLR of the 0th received sub-block, and the labeled data corresponding to the 1st received sub-block is the LLR of the 1st received sub-block. The LLR of the 0th received sub-block and the LLR of the 1st received sub-block are used as inputs to the F function to obtain the labeled data corresponding to the 0th received sub-block after the F operation (that is, the decoupled first received encoded data). The description of the F function is described above and is not repeated here.

[0216] Among them, the method for performing Polar code decoding on the marked data corresponding to the 0th receiving sub-block after the F operation can refer to the existing Polar code decoding method, and this application is not limited. The LLR of the 1st receiving sub-block, the LLR of the 0th receiving sub-block, and the decoded data corresponding to the 0th receiving sub-block are used as the input of the G function, thereby enhancing the marked data corresponding to the 1st receiving sub-block (that is, the coded data received after enhancement). Among them, the description of the G function refers to the previous description and will not be repeated here.

[0217] Optionally, the labeled data corresponding to the 0th received sub-block can be the likelihood probability of the 0th received sub-block, and the labeled data corresponding to the 1st received sub-block can be the likelihood probability of the 1st received sub-block. In this case, the above step s22 will be changed to: perform a probability operation on the labeled data corresponding to the 0th received sub-block and the labeled data corresponding to the 1st received sub-block to obtain the labeled data corresponding to the 0th received sub-block in the probability domain. It is understood that the subsequent processing flow is still executed according to s23 and s24, and the labeled data corresponding to the 1st received sub-block can be enhanced.

[0218] Furthermore, for each subsequently received sub-block, the processing method is similar to the above steps s21 to s24, and may include the following steps:

[0219] s25, obtain the label data corresponding to the p-th receiving sub-block, where p is 2≤p≤m-1, and the p-th receiving sub-block is the p-th encoding sub-block;

[0220] s26, performing an F operation on the labeled data corresponding to the p-th receiving sub-block and the enhanced labeled data corresponding to the p-1-th receiving sub-block to obtain labeled data corresponding to the p-1-th receiving sub-block after the F operation;

[0221] s27, performing Polar code decoding on the marked data corresponding to the p-1th receiving sub-block after the F operation to obtain decoded data corresponding to the p-1th receiving sub-block;

[0222] s28, enhancing the marked data corresponding to the p-th receiving sub-block according to the enhanced marked data corresponding to the p-1-th receiving sub-block and the decoded data corresponding to the p-1-th receiving sub-block.

[0223] For example, obtain the labeled data corresponding to the second receiving sub-block, and perform an F operation on the labeled data corresponding to the second receiving sub-block and the labeled data corresponding to the enhanced first receiving sub-block to obtain the labeled data corresponding to the first receiving sub-block after the F operation; perform Polar code decoding on the labeled data corresponding to the first receiving sub-block after the F operation to obtain the decoded data corresponding to the first receiving sub-block, and enhance the labeled data corresponding to the second receiving sub-block based on the labeled data corresponding to the first receiving sub-block and the decoded data corresponding to the first receiving sub-block to obtain the enhanced labeled data corresponding to the second receiving sub-block. For the specific implementation of the above steps, please refer to the specific implementation corresponding to s21 to s24, which will not be repeated here.

[0224] It can be seen that after receiving the encoded data, the data processing method provided by the present application can support decoding of part of the information after receiving it during the decoding process, that is, stream decoding is realized, which can reduce the size of the decoder and thus reduce the overhead on the decoding side.

[0225] IV. Performance Analysis of the Data Processing Method Provided in This Application in Decoding Scenario

[0226] Figure 8 is a performance analysis diagram of the data processing method provided by the present application. The performance analysis diagram is a schematic diagram of the decoding performance obtained by using a simulated decoder with a code length of N′={128,256,512} and a code rate of R=1 / 8, wherein the horizontal axis of the performance analysis diagram is EsN0, which represents the ratio of each symbol energy to the noise power spectrum density; the vertical axis is the block error rate (BLER), which is used to measure the system performance test. For example, when N′=128 and R=1 / 8, it is assumed that the allocation sequence is A={1,4,5,6,6,8,9,9,10,10,10}; when N′=256 and R=1 / 8, it is assumed that the allocation sequence is A={3,6,10,13,16,17,18,19,20,21,21}. In addition, it is assumed that Δ0=1 and Δ1=1.

[0227] Among them, three line types are grouped together: a solid line with a circle symbol, a dashed line with an asterisk, and a dashed line with a square symbol. They can be used to compare the differences in decoding performance when using decoders of different sizes and different decoding methods with different numbers of information bits.

[0228] 1. The solid line with a circular symbol, the dotted line with an asterisk, and the dotted line with a square symbol are a set of decoding performance comparisons, as shown in (a) of Figure 8. Assuming that the number of information bits K = 48, the transmission length E = K / R = 48 / (1 / 8) = 384; assuming that the decoder size is 128, 256, or 512, the decoding method is to use the existing Polar code decoding or the stream decoding provided by this application. For example, the solid line with a circular symbol indicates that the decoder size is 128, the number of information bits is K = 48, the number of coding sub-blocks is 3, and the decoding performance when the stream decoding provided by this application is used; the dotted line with an asterisk indicates that the decoder size is 512, the number of information bits is K = 48, and the decoding performance is obtained by using ordinary Polar code decoding; the dotted line with a square symbol indicates that the decoder size is 256, the number of information bits is K = 48, and the decoding performance is obtained by using ordinary Polar code decoding. Comparing the above performance, it can be seen that the dotted line with an asterisk represents the decoding result with a decoder size of 512. Because the maximum decoding length can support 512 (512 is larger than the transmission length of 384), no segmentation is performed, so the performance is slightly better than the decoding performance of the present application represented by the solid line with a circle symbol. However, the size of its decoder is twice that of the present application, and the present application significantly reduces the overhead on the decoding side. The dotted line with a square symbol represents the decoding result with a decoder size of 256. Because the maximum decoding length can support 256 (256 is smaller than the transmission length of 384), two segments are performed, so the performance is worse than the decoding performance of the present application represented by the solid line with a circle symbol.

[0229] 2. The solid line with a circular symbol, the dotted line with an asterisk, and the dotted line with a square symbol are a set of decoding performance comparisons, as shown in (six) in Figure 8. Assuming that the number of information bits in the information bit sequence is K=88, the transmission length E=K / R=88 / (1 / 8)=704; assuming that the decoder size is 128, 256, or 512, the decoding method is to use the existing Polar code decoding or the stream decoding provided by this application. For example, the solid line with a circular symbol indicates the decoding performance when the decoder size is 128, the number of information bits is K=88, and the stream decoding of this application is used; at this time, if the code length is not an integer multiple of the decoder size, the first coding sub-block can be rate matched (for example, puncturing is performed to puncture 64 bit positions). The dotted line with an asterisk represents the decoding performance when the decoder size is 512, the number of information bits is K=88, and ordinary Polar code decoding is used; the dotted line with a square symbol represents the decoding performance when the decoder size is 256, the number of information bits is K=88, and ordinary Polar code decoding is used. Comparing the above performance, it can be seen that the dotted line with an asterisk represents the decoding result when the decoder size is 512. Because the maximum decoding length can support 512 (512 is less than the transmission length 704), it is divided into two segments, so the performance is worse than the decoding performance of the present application represented by the solid line with a circle symbol; and its decoder size is twice that of the present application, and the present application significantly reduces the overhead on the decoding side. The dotted line with a square symbol represents the decoding result when the decoder size is 256. Because the maximum decoding length can support 256 (256 is less than the transmission length 704), it is divided into three segments, so the performance is worse than the decoding performance of the present application represented by the solid line with a circle symbol.

[0230] It is understandable that the performance analysis in other sub-graphs (ii) to (v) in FIG8 can refer to the performance analysis in the above two subsections, which will not be repeated here.

[0231] 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.

[0232] 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 3 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.

[0233] 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.

[0234] In one possible implementation, the communication unit 901 is configured to obtain K information bits, and the processing unit 902 is configured to determine the length of the block to be encoded based on K, and to determine the number of information bits for each sub-block to be encoded in the block to be encoded based on the length of the block to be encoded and an allocation sequence. The allocation sequence describes the number of information bits in all sub-blocks to be encoded in the block to be encoded except for the last sub-block to be encoded, given the same bit rate and sub-block size. The processing unit 902 is configured to encode the block to be encoded to obtain encoded data, and the communication unit 901 is configured to transmit the encoded data.

[0235] Optionally, the length of the block to be encoded is E=K / R, where R is the code rate;

[0236] The block to be coded includes m sub-blocks to be coded.

[0237] The coded data includes a coding block, which includes m coding sub-blocks, and the size of the coding sub-block is N′, where N′=2 n ;

[0238] The allocation sequence consists of S-1 variables {A0,A1,A2,...,A S-2}; The relationship between the elements in the allocation sequence is A0≤A1≤...≤A S-2 .

[0239] Optionally, the length of each sub-block to be encoded is:

[0240] E0=E-(m-1)×N′, or, E i =N′, i∈{1,2,...,m-2,m-1}.

[0241] Optionally, the processing unit 902 is configured to determine the number of information bits of each to-be-encoded sub-block in the to-be-encoded block according to the length of the to-be-encoded block and the allocation sequence, which may specifically include:

[0242] When i=0, the number of information bits of the 0th sub-block to be encoded is determined as A0 is the 0th element in the allocation sequence, Δ0 is determined according to the difference between E0 and N′, and has a value of 0 or 1; or

[0243] When i=1, the number of information bits of the first sub-block to be encoded is determined to be J1=A1-Δ1, where A1 is the first element in the allocation sequence, and Δ1 is determined according to the difference between E0 and N′ and has a value of 0 or 1; or

[0244] When i∈{2,3,...,m-2}, the number of information bits of the i-th sub-block to be encoded is determined to be J i =A i , the A i is the i-th element in the allocation sequence; or,

[0245] When i=m-1, the number of information bits of the m-1th sub-block to be encoded is determined as

[0246] Optionally, the length of each sub-block to be encoded is:

[0247] E m-2 =E-(m-1)×N′, or, E i =N′, i∈{0,1,2,...,m-3,m-1}.

[0248] Optionally, the processing unit 902 is configured to determine the number of information bits of each to-be-encoded sub-block in the to-be-encoded block according to the length of the to-be-encoded block and the allocation sequence, which may specifically include:

[0249] When i∈{2,3,...,m-3}, determine the number of information bits in the i-th sub-block to be encoded as J i =A i , the A i is the i-th element in the allocation sequence; or,

[0250] When i=m-2, the number of information bits in the m-2th sub-block to be encoded is determined as The A m-2 For the m-2th element in the allocation sequence, the Δ2 is based on the E m-2 and the difference between N′, which is 0 or 1; or

[0251] When i=m-1, the number of information bits in the m-1th sub-block to be encoded is determined as

[0252] Optionally, the processing unit 902 is configured to encode the block to be encoded to obtain encoded data, which may specifically include:

[0253] According to the information bit data of each sub-block to be encoded, the K information bits are divided into m sub-segments;

[0254] Determine the information bits and frozen bits of each coding sub-block, and construct a size of m×2 according to the number of coding sub-blocks m n Information sequence;

[0255] According to the positions of the information bits in the information sequence, the K information bits are inserted into the sequence to be encoded, and the sequence to be encoded and the encoding matrix are subjected to modular square multiplication to obtain encoded data.

[0256] Optionally, the encoding matrix is

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

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

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

[0260] Optionally, when the communication unit 901 is used to send coded data (the coded data is obtained according to the coding matrix G), it first sends the m-1th sub-block to be coded, and then sends the i-th coded sub-block in sequence, where i satisfies 0≤i≤m-2.

[0261] Optionally, the encoding matrix is The G′ is a matrix with a size of (m×2 n )×(m×2 n ), said m and said n are positive integers,

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

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

[0264] Optionally, when the communication unit 901 is used to send coded data (the coded data is obtained according to the coding matrix G′), it sends the i-th coded sub-block in sequence, where i satisfies 0≤i≤m-1.

[0265] 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 3 to 7, which will not be repeated here. The data processing method implemented by the communication device designs an information bit construction and encoding method based on the allocation sequence. The information bit construction method is simple and effective, which is conducive to improving system performance and reducing system power consumption. In addition, the method can support the length of the coding sub-block is less than 2 n Information bit construction and rate matching when the value is an integer multiple of .

[0266] In another possible implementation, the communication unit 901 is configured to receive encoded data, and the processing unit 902 is configured to decode the encoded data to obtain decoded data. The encoded data is obtained by encoding a block to be encoded, where the block to be encoded includes multiple sub-blocks to be encoded. The number of information bits in each sub-block to be encoded in the block to be encoded is determined based on the length of the block to be encoded and an allocation sequence. The allocation sequence is used to describe the number of information bits in all sub-blocks to be encoded in the block to be encoded except for the last sub-block to be encoded, given the same bit rate and sub-block size.

[0267] Optionally, the length of the block to be encoded is E=K / R, where R is the code rate;

[0268] The block to be coded includes m sub-blocks to be coded.

[0269] The coded data includes a coding block, which includes m coding sub-blocks, and the size of the coding sub-block is N′, where N′=2 n ;

[0270] The allocation sequence consists of S-1 variables {A0,A1,A2,...,A S-2}; The relationship between the elements in the allocation sequence is A0≤A1≤...≤A S-2 .

[0271] Optionally, the length of each sub-block to be encoded is:

[0272] E0=E-(m-1)×N′, or, E i =N′, i∈{1,2,...,m-2,m-1}.

[0273] Optionally, when i=0, the number of information bits of the 0th sub-block to be encoded is A0 is the 0th element in the allocation sequence, Δ0 is determined according to the difference between E0 and N′, and has a value of 0 or 1; or

[0274] When i=1, the number of information bits of the first sub-block to be encoded is J1=A1-Δ1, where A1 is the first element in the allocation sequence, and Δ1 is determined according to the difference between E0 and N′ and has a value of 0 or 1; or

[0275] When i∈{2,3,...,m-2}, the number of information bits of the i-th sub-block to be encoded is J i =A i , the A i is the i-th element in the allocation sequence; or,

[0276] When i=m-1, the number of information bits of the m-1th sub-block to be encoded is

[0277] Optionally, the length of each sub-block to be encoded is:

[0278] E m-2 =E-(m-1)×N′, or, E i =N′, i∈{0,1,2,...,m-3,m-1}.

[0279] Optionally, when i∈{2,3,...,m-3}, the number of information bits in the i-th sub-block to be encoded is J i =A i , the A i is the i-th element in the allocation sequence; or,

[0280] When i=m-2, the number of information bits in the m-2th sub-block to be encoded is The A m-2 For the m-2th element in the allocation sequence, the Δ2 is based on the E m-2 and the difference between N′, which is 0 or 1; or

[0281] When i=m-1, the number of information bits in the m-1th sub-block to be encoded is

[0282] Optionally, the coded data is obtained by encoding using a coding matrix G. 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.

[0283] Optionally, the processing unit 902 is configured to decode the encoded data to obtain decoded data, which may specifically include:

[0284] Obtain the marked data corresponding to the 0th receiving sub-block and the marked data corresponding to the 1st receiving sub-block, where the 0th receiving sub-block is the m-1th coding sub-block and the 1st receiving sub-block is the 0th coding sub-block;

[0285] Performing an F operation on the label data corresponding to the 0th receiving sub-block and the label data corresponding to the 1st receiving sub-block to obtain the label data corresponding to the 1st receiving sub-block after the F operation,

[0286] Perform Polar code decoding on the marked data corresponding to the first receiving sub-block after the F operation to obtain the decoded data corresponding to the first receiving sub-block;

[0287] The marked data corresponding to the 0th receiving sub-block is enhanced according to the marked data corresponding to the 1st receiving sub-block and the decoded data corresponding to the 1st receiving sub-block.

[0288] Optionally, the processing unit 902 is further configured to:

[0289] Obtaining the label data corresponding to the qth receiving sub-block, where q is 2≤q≤m-1, and the qth receiving sub-block is the q-1th encoding sub-block;

[0290] Performing an F operation on the labeled data corresponding to the qth receiving sub-block and the labeled data corresponding to the enhanced 0th receiving sub-block to obtain labeled data corresponding to the qth receiving sub-block after the F operation;

[0291] Perform Polar code decoding on the marked data corresponding to the qth receiving sub-block after the F operation to obtain the decoded data corresponding to the qth receiving sub-block;

[0292] The enhanced marked data corresponding to the 0th receiving sub-block is enhanced according to the marked data corresponding to the qth receiving sub-block and the decoded data corresponding to the qth receiving sub-block.

[0293] Optionally, the coded data is obtained by encoding using a coding matrix G′. G′ is a unit with the size of (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.

[0294] Optionally, the processing unit 902 is configured to decode the encoded data to obtain decoded data, which may specifically include:

[0295] Obtain the marked data corresponding to the 0th receiving sub-block and the marked data corresponding to the 1st receiving sub-block, where the 0th receiving sub-block is the 0th coding sub-block and the 1st receiving sub-block is the 1st coding sub-block;

[0296] Performing an F operation on the label data corresponding to the 0th receiving sub-block and the label data corresponding to the 1st receiving sub-block to obtain the label data corresponding to the 0th receiving sub-block after the F operation,

[0297] Perform Polar code decoding on the marked data corresponding to the 0th receiving sub-block after the F operation to obtain the decoded data corresponding to the 0th receiving sub-block;

[0298] The marked data corresponding to the first receiving sub-block is enhanced according to the marked data corresponding to the 0th receiving sub-block and the decoded data corresponding to the 0th receiving sub-block.

[0299] Optionally, the processing unit 902 is further configured to:

[0300] Get the label data corresponding to the p-th receiving sub-block, where p is 2≤p≤m-1, and the p-th receiving sub-block is the p-th encoding sub-block;

[0301] Perform an F operation on the labeled data corresponding to the p-th receiving sub-block and the enhanced labeled data corresponding to the p-1-th receiving sub-block to obtain the labeled data corresponding to the p-1-th receiving sub-block after the F operation;

[0302] Perform Polar code decoding on the marked data corresponding to the p-1th receiving sub-block after the F operation to obtain the decoded data corresponding to the p-1th receiving sub-block;

[0303] The marked data corresponding to the p-th receiving sub-block is enhanced according to the enhanced marked data corresponding to the p-1-th receiving sub-block and the decoded data corresponding to the p-1-th receiving sub-block.

[0304] The specific execution process of the communication unit 901 and the processing unit 902 in this embodiment can also be referred to the description of the method embodiments corresponding to Figures 3 to 7, and will not be repeated here. The coded data designed 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, so that stream decoding can be implemented for the coded data.

[0305] 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.

[0306] 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 perform processing-related operations.

[0307] In one possible implementation, the communication interface 1001 is configured to obtain K information bits, and the processor 1002 is configured to determine the length of the block to be encoded based on K, and to determine the number of information bits for each sub-block to be encoded in the block to be encoded based on the length of the block to be encoded and an allocation sequence. The allocation sequence describes the number of information bits in all sub-blocks to be encoded in the block to be encoded except for the last sub-block to be encoded, given the same bit rate and sub-block size. The processor 1002 is configured to encode the block to be encoded to obtain encoded data, and the communication interface 1001 is configured to transmit the encoded data.

[0308] The specific execution process of the communication interface 1001 and the processor 1002 in this embodiment can also refer to the description of the first aspect and the method embodiments corresponding to Figures 3 to 7, or refer to the description of 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 designs an information bit construction and encoding method based on the allocation sequence. The information bit construction method is simple and effective, which is conducive to improving system performance and reducing system power consumption. In addition, the method can support the length of the coding sub-block is less than 2 n Information bit construction and rate matching when the value is an integer multiple of .

[0309] In another possible implementation, the communication interface 1001 is configured to receive encoded data, and the processor 1002 is configured to decode the encoded data to obtain decoded data. The encoded data is obtained by encoding a block to be encoded, where the block to be encoded includes multiple sub-blocks to be encoded. The number of information bits in each sub-block to be encoded in the block to be encoded is determined based on the length of the block to be encoded and an allocation sequence. The allocation sequence is used to describe the number of information bits in all sub-blocks to be encoded in the block to be encoded except for the last sub-block to be encoded, given the same bit rate and sub-block size.

[0310] 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 3 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 encoded 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 stream decoding can be implemented for the encoded data.

[0311] 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.

[0312] 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.

[0313] 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.

[0314] 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.

[0315] 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 3 to 7 to obtain processed data.

[0316] 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 3 to 7 to obtain processed data.

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

[0318] 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 3 to 7.

[0319] 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 3 to 7.

[0320] 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 3 to 7.

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

[0322] 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.

[0323] 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.).

[0324] 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.

[0325] 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.

[0326] 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 length of the block to be encoded according to K; Determine the number of information bits of each to-be-encoded sub-block in the to-be-encoded block according to the length of the to-be-encoded block and the allocation sequence, The allocation sequence is used to describe the number of information bits in all sub-blocks to be encoded except the last sub-block to be encoded in the block to be encoded under the same code rate and size of the sub-block to be encoded; Encoding the block to be encoded to obtain encoded data; The encoded data is transmitted.

2. The method according to claim 1, characterized in that The length of the block to be encoded is E=K / R, where R is the code rate; The block to be coded includes m sub-blocks to be coded. The coded data includes a coded block, the coded block includes m coded sub-blocks, the size of the coded sub-block is N′, and N′=2 n ; The allocation sequence includes S-1 variables {A0, A1, A2, ..., A S-2 }; The relationship between the elements in the allocation sequence is A0≤A1≤...≤A S-2 .

3. The method according to claim 1 or 2, characterized in that The length of each sub-block to be encoded is: E0 = E - (m - 1) × N', or E i =N′, where i∈{1,2,...,m-2,m-1}.

4. The method according to claim 3, characterized in that Determining the number of information bits of each to-be-encoded sub-block in the to-be-encoded block according to the length of the to-be-encoded block and the allocation sequence includes: When i=0, the number of information bits of the 0th sub-block to be encoded is determined as A0 is the 0th element in the allocation sequence, Δ0 is determined according to the difference between E0 and N′, and has a value of 0 or 1; or When i=1, the number of information bits of the first sub-block to be encoded is determined to be J1=A1-Δ1, where A1 is the first element in the allocation sequence, and Δ1 is determined according to the difference between E0 and N′ and has a value of 0 or 1; or When i∈{2,3,...,m-2}, the number of information bits of the i-th sub-block to be encoded is determined to be J i =A i , the A i is the i-th element in the allocation sequence; or, When i=m-1, the number of information bits of the m-1th sub-block to be encoded is determined as 5. The method according to claim 1 or 2, characterized in that The length of each sub-block to be encoded is: E m-2 =E-(m-1)×N′, or E i =N′, where i∈{0,1,2,...,m-3,m-1}.

6. The method according to claim 5, characterized in that Determining the number of information bits of each to-be-encoded sub-block in the to-be-encoded block according to the length of the to-be-encoded block and the allocation sequence includes: When i∈{2,3,...,m-3}, determine the number of information bits in the i-th sub-block to be encoded as J i =A i , the A i is the i-th element in the allocation sequence; or, When i=m-2, the number of information bits in the m-2th sub-block to be encoded is determined as The A m-2 For the m-2th element in the allocation sequence, the Δ2 is based on the E m-2 and the difference between N′, which is 0 or 1; or When i=m-1, the number of information bits in the m-1th sub-block to be encoded is determined as 7. The method according to any one of claims 1 to 6, characterized in that The encoding of the block to be encoded to obtain encoded data includes: According to the information bit data of each sub-block to be encoded, the K information bits are divided into m sub-segments; Determine the information bits and frozen bits of each coding sub-block, and construct a size of m×2 according to the number of coding sub-blocks m n Information sequence; According to the positions of the information bits in the information sequence, the K information bits are inserted into the sequence to be encoded, and the sequence to be encoded and the encoding matrix are subjected to modular square multiplication to obtain encoded data.

8. The method according to claim 7, characterized in that The encoding matrix is 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 claim 8, characterized in that The sending of the encoded data comprises: Send the m-1th sub-block to be encoded, Then, the i-th coded sub-block is sent in sequence, where i satisfies 0≤i≤m-2.

10. The method according to claim 7, characterized in that The encoding matrix is The G′ is a matrix with a size of (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.

11. The method according to claim 10, characterized in that The sending of the encoded data comprises: The i-th coded sub-block is sent sequentially, where i satisfies 0≤i≤m-1.

12. A data processing method, characterized in that: include: receiving coded data obtained by encoding the block to be encoded, The block to be encoded includes multiple sub-blocks to be encoded, and the number of information bits of each sub-block to be encoded in the block to be encoded is determined according to the length of the block to be encoded and the allocation sequence. The allocation sequence is used to describe the number of information bits in all sub-blocks to be encoded except the last sub-block to be encoded in the block to be encoded under the same code rate and size of the sub-block to be encoded; The encoded data is decoded to obtain decoded data.

13. The method according to claim 12, characterized in that The length of the block to be encoded is E=K / R, where R is the code rate; The block to be coded includes m sub-blocks to be coded. The coded data includes a coded block, the coded block includes m coded sub-blocks, the size of the coded sub-block is N′, and N′=2 n ; The allocation sequence includes S-1 variables {A0, A1, A2, ..., A S-2 }; The relationship between the elements in the allocation sequence is A0≤A1≤...≤A S-2 .

14. The method according to claim 12 or 13, characterized in that The length of each sub-block to be encoded is: E0 = E - (m - 1) × N', or E i =N′, where i∈{1,2,...,m-2,m-1}.

15. The method according to claim 14, characterized in that When i=0, the number of information bits of the 0th sub-block to be encoded is A0 is the 0th element in the allocation sequence, and Δ0 is determined according to the difference between E0 and N′, and has a value of 0 or 1; or, When i=1, the number of information bits of the first sub-block to be encoded is J1=A1-Δ1, where A1 is the first element in the allocation sequence, and Δ1 is determined according to the difference between E0 and N′ and has a value of 0 or 1; or, When i∈{2,3,...,m-2}, the number of information bits of the i-th sub-block to be encoded is J i =A i , the A i The i-th element in the allocation sequence; or, When i=m-1, the number of information bits of the m-1th sub-block to be encoded is 16. The method according to claim 12 or 13, characterized in that The length of each sub-block to be encoded is: E m-2 =E-(m-1)×N′, or E i =N′, where i∈{0,1,2,...,m-3,m-1}.

17. The method according to claim 16, characterized in that When i∈{2,3,...,m-3}, the number of information bits in the i-th sub-block to be encoded is J i =A i , the A i The i-th element in the allocation sequence; or, When i=m-2, the number of information bits in the m-2th sub-block to be encoded is The A m-2 For the m-2th element in the allocation sequence, the Δ2 is based on the E m-2 The difference between the N′ and the N′ is determined to be 0 or 1; or, When i=m-1, the number of information bits in the m-1th sub-block to be encoded is 18. The method according to any one of claims 12 to 17, characterized in that The coded data is obtained by encoding using a coding matrix G. 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.

19. The method according to claim 18, characterized in that The decoding of the encoded data to obtain decoded data includes: Obtaining the mark data corresponding to the 0th receiving sub-block and the mark data corresponding to the 1st receiving sub-block, wherein the 0th receiving sub-block is the m-1th coding sub-block and the 1st receiving sub-block is the 0th coding sub-block; Performing an F operation on the label data corresponding to the 0th receiving sub-block and the label data corresponding to the 1st receiving sub-block to obtain the label data corresponding to the 1st receiving sub-block after the F operation, Perform Polar code decoding on the marked data corresponding to the first receiving sub-block after the F operation to obtain the decoded data corresponding to the first receiving sub-block; The marked data corresponding to the 0th receiving sub-block is enhanced according to the marked data corresponding to the 1st receiving sub-block and the decoded data corresponding to the 1st receiving sub-block.

20. The method according to claim 19, wherein The method further comprises: Obtaining the label data corresponding to the qth receiving sub-block, where q is 2≤q≤m-1, and the qth receiving sub-block is the q-1th coding sub-block; Performing an F operation on the labeled data corresponding to the qth receiving sub-block and the labeled data corresponding to the enhanced 0th receiving sub-block to obtain labeled data corresponding to the qth receiving sub-block after the F operation; Perform Polar code decoding on the marked data corresponding to the qth receiving sub-block after the F operation to obtain the decoded data corresponding to the qth receiving sub-block; The enhanced marked data corresponding to the 0th receiving sub-block is enhanced according to the marked data corresponding to the qth receiving sub-block and the decoded data corresponding to the qth receiving sub-block.

21. The method according to any one of claims 12 to 15, characterized in that The coded data is obtained by encoding using a coding matrix G′. The G′ is a matrix with a size of (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.

22. The method according to claim 21, characterized in that The decoding of the encoded data to obtain decoded data includes: Obtaining the mark data corresponding to the 0th receiving sub-block and the mark data corresponding to the 1st receiving sub-block, wherein the 0th receiving sub-block is the 0th coding sub-block and the 1st receiving sub-block is the 1st coding sub-block; Performing an F operation on the label data corresponding to the 0th receiving sub-block and the label data corresponding to the 1st receiving sub-block to obtain the label data corresponding to the 0th receiving sub-block after the F operation, Perform Polar code decoding on the marked data corresponding to the 0th receiving sub-block after the F operation to obtain the decoded data corresponding to the 0th receiving sub-block; The marked data corresponding to the first receiving sub-block is enhanced according to the marked data corresponding to the 0th receiving sub-block and the decoded data corresponding to the 0th receiving sub-block.

23. The method according to claim 22, characterized in that The method further comprises: Obtaining label data corresponding to the p-th receiving sub-block, where p is 2≤p≤m-1, and the p-th receiving sub-block is the p-th coding sub-block; Performing an F operation on the labeled data corresponding to the p-th receiving sub-block and the enhanced labeled data corresponding to the p-1-th receiving sub-block to obtain labeled data corresponding to the p-1-th receiving sub-block after the F operation; Perform Polar code decoding on the marked data corresponding to the p-1th receiving sub-block after the F operation to obtain the decoded data corresponding to the p-1th receiving sub-block; The marked data corresponding to the p-th receiving sub-block is enhanced according to the enhanced marked data corresponding to the p-1-th receiving sub-block and the decoded data corresponding to the p-1-th receiving sub-block.

24. 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 11 or 12 to 23.

25. 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 11 or 12 to 23 is performed.

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

27. 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 11 or 12 to 23.

28. 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 11 to obtain the processed data.

29. 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 12 to 23 to obtain the processed data.

30. 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 11 or 12 to 23 is executed.