Data processing methods, apparatus, and devices

The new coding matrix for Polar codes addresses the inefficiency of complete data dependency by enabling stream encoding and decoding, reducing encoder and decoder sizes through partial data processing.

JP7880485B2Active Publication Date: 2026-06-25HUAWEI TECH CO LTD

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2022-08-08
Publication Date
2026-06-25

AI Technical Summary

Technical Problem

Existing Polar code implementations require complete data before initiating coding or decoding, leading to inefficiencies in encoder and decoder size and buffer management.

Method used

A new coding matrix for Polar codes allows for stream coding and decoding by segmenting information bits and using a transformed matrix to enable partial encoding and decoding, reducing encoder and buffer sizes.

Benefits of technology

Enables efficient stream encoding and decoding by allowing partial data processing, thereby reducing the size of encoders and decoders and facilitating real-time data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007880485000040
    Figure 0007880485000040
  • Figure 0007880485000041
    Figure 0007880485000041
  • Figure 0007880485000042
    Figure 0007880485000042
Patent Text Reader

Abstract

This application provides a data processing method, apparatus, and device. According to the method, a new encoding matrix G of a polar code is designed. When a terminal device uses the encoding matrix G to encode information bits to be encoded, after receiving a portion of the information bits in the encoding process, the terminal device can encode the portion of the information bits to perform stream encoding, which helps reduce the size of the encoder and buffer of the terminal device. Furthermore, the information bits to be encoded are encoded using the encoding matrix to obtain coded data, which makes stream decoding easier and reduces the size of the decoder.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This application relates to the field of communication technology, particularly to data processing methods, apparatus, and devices. [Background technology]

[0002] Polar code is a channel coding scheme that can rigorously prove that the Shannon channel capacity is "reached." Polar code is characterized by its superior performance and low complexity, and has potential applications in 5th generation (5G) communication systems and future communication systems. Polar code is a linear block code, and the coded data can be generated using a coding matrix. Currently, the coding matrix of Polar code determines that a device can begin coding or decoding only after receiving the complete data to be coded or decoded. [Overview of the Initiative]

[0003] This application provides a data processing method, apparatus, and device. According to the method, a new coding matrix of Polar codes is designed to perform stream coding and / or stream decoding.

[0004] In accordance with the first aspect, the present application provides a first data processing method. The data processing method can be performed by a terminal device or a network device. An example is used in which the terminal device is the performant and the terminal device is the encoder. The terminal device acquires an information bit sequence, encodes the information bit sequence based on an encoding matrix G to obtain encoded data, and then transmits the encoded data. The encoding matrix G is:

number

[0005] According to the method, a new encoding matrix G of the Polar code is designed. When the terminal device encodes the information bit to be encoded using the encoding matrix G, after receiving a part of the information bits in the encoding process, the terminal device encodes that part of the information bits, transmits the encoded data, performs stream encoding, and can help reduce the sizes of the encoder and buffer of the terminal device. Furthermore, the information bit to be encoded is encoded by using the encoding matrix to obtain the encoded data, thereby facilitating stream decoding.

[0006] In a possible implementation, the information bit sequence includes m segments, and the Polar generating matrix of each segment is G N’ .

[0007] According to the method, the information bit sequence may alternatively be divided into m segments, and a modulo-2 multiplication operation is performed for each segment and the matrix GN'.

[0008] In a possible implementation, the number of information bits in the m segments is k0, k1, ···, k m-1 where k0 is smaller than k m-1 and k0 ≤ k1 ≤ ··· ≤ k m-1 .

[0009] In a possible implementation, the number of information bits in the i-th segment is k i where i satisfies 0 ≤ i ≤ m - 1.

[0010] According to the method, the number of information bits in all segments is different and changes according to a specific quantity rule.

[0011] In a possible implementation, m buffered data points are obtained, and the j-th buffered data point is matrix G N’ It is obtained by encoding the j-th segment of the information bit sequence using, where j satisfies 0 ≤ j ≤ m-1. The encoded data contains m segments, the encoded data of the 0th segment is the (m-1)th buffered data, and the encoded data of the i-th segment is obtained by performing an exclusive OR operation on the j-th buffered data and the (m-1)th buffered data, where i satisfies 0 ≤ i ≤ m-1 and j satisfies 0 ≤ j ≤ m-2.

[0012] In a possible implementation, the (m-1)th buffered data is transmitted first, followed by the encoded data of the i-th segment, where 0 ≤ i ≤ m-1.

[0013] According to the method, the information bits within m segments are converted into m buffered data, and then the encoded data is transmitted in a specific order.

[0014] In a possible implementation, elementary row operations are performed on the coding matrix G, and the transformed coding matrix G' is:

number

[0015] According to the method, elementary column transformations are performed on the coding matrix G, thereby enabling stream coding when the terminal device uses the transformed coding matrix G' to encode the information bits to be coded. This helps to reduce the size of the encoder and buffers in the terminal device.

[0016] In a possible implementation, the number of information bits in m segments is k0, k1, ..., k m-1 Therefore, k1 is smaller than k0, and k1 ≤ ... ≤ k m-1 ≤ k0.

[0017] Depending on the method, the number of information bits contained in each segment will differ. The first k0 information bits received will have the largest number (i.e., the 0th segment will have the largest number of information bits), and it is assumed that the encoder will then encode the remaining m-1 segments individually based on the encoded data corresponding to the first k0 information bits received, thereby facilitating stream encoding.

[0018] In a possible implementation, the encoded data contains m segments, and the encoded data of the 0th segment is matrix G N’ Based on this, the 0th segment of the information bit sequence is obtained by encoding, and the encoded data of the i-th segment is matrix G N’ It is obtained by encoding the i-th segment of the information bit sequence based on this, and then performing an exclusive OR operation on the encoded data of the i-th segment and the encoded data of the 0th segment.

[0019] According to the method, the information bit sequence is divided into m segments, and the encoded data corresponding to the m segments is also divided into m segments. In this encoding scheme, the encoded data of the 0th segment is buffered, and exclusive OR (e.g., information interleaving) is performed individually on the encoded data of the 0th segment and the encoded data of the remaining m-1 segments to support stream encoding.

[0020] In accordance with a second aspect, the present application provides a second data processing method. The data processing method can be performed by a terminal device or a network device. An example is used in which the terminal device is the implementing entity and the terminal device is the encoding side. The terminal device acquires an information bit sequence, the information bit sequence contains m segments, and each segment is processed by the Polar generator matrix G of that segment. N’ By using this method, m buffered data points are obtained, and matrix G is formed. N’ The size is 2 n ×2 n This is the Polar generator matrix. The terminal device then obtains and transmits encoded data based on m buffered data. The encoded data consists of m segments, the encoded data of the 0th segment is the (m-1)th buffered data, and the encoded data of the i-th segment is obtained by performing an exclusive OR operation on the j-th buffered data and the (m-1)th buffered data, where i satisfies 1 ≤ i ≤ m-1 and j satisfies 0 ≤ j ≤ m-2.

[0021] According to the method, the terminal device divides the information bit sequence to be encoded into m segments, each with a size of 2 n ×2 n By using the Polar generation matrix, encoding and information interleaving are performed for each segment, and the encoded data is transmitted in an interleaved manner to facilitate stream decoding.

[0022] In a possible implementation, the number of information bits in m segments is k0, k1, ..., k m-1 And k0 is k m-1 Smaller than k0 ≤ k1 ≤ ... ≤ k m-1 That is the case.

[0023] In a possible implementation, the number of information bits in the i-th segment is k i Therefore, i satisfies 0 ≤ i ≤ m-1.

[0024] In a possible implementation, a terminal device may encode an information bit sequence based on a coding matrix G to obtain encoded data. The coding matrix G is:

number

[0025] According to the method, an encoding matrix based on the Polar generator matrix is ​​designed, which is analogous to constructing a combined matrix of Polar generator matrices, facilitating stream decoding by the encoding matrix G.

[0026] In accordance with a third aspect, the present application provides a third data processing method. The data processing method can be performed by a terminal device or a network device. An example is used in which the terminal device is the implementing entity and the terminal device is the encoding side. The terminal device acquires an information bit sequence, the information bit sequence contains m segments, and each segment is processed by the Polar generator matrix G of that segment. N’ The data is processed using the matrix G, and then the encoded data is retrieved and transmitted. N’ The size is 2 n ×2 n The polar generator matrix is ​​such that the encoded data contains m segments, and the encoded data of the 0th segment is matrix G. N’ Based on this, the 0th segment of the information bit sequence is obtained by encoding, and the encoded data of the i-th segment is matrix G N’It is obtained by encoding the i-th segment of the information bit sequence based on this, and then performing an exclusive OR operation on the encoded data of the i-th segment and the encoded data of the 0th segment.

[0027] According to the method, the terminal device divides the information bit sequence to be encoded into m segments, each with a size of 2 n ×2 n By using the Polar generation matrix, encoding and information interleaving are performed for each segment. In this way, after receiving a portion of the information in the encoding process, the terminal device can encode and transmit that portion of the information (i.e., to support stream encoding), thereby reducing the size of the encoder and buffer.

[0028] In a possible implementation, the number of information bits in m segments is k0, k1, ..., k m-1 Therefore, k1 is smaller than k0, and k1 ≤ ... ≤ k m-1 ≤ k0.

[0029] In a possible implementation, the number of information bits in the i-th segment is k i Therefore, i satisfies 0 ≤ i ≤ m-1.

[0030] In a possible implementation, a terminal device may encode an information bit sequence based on a coding matrix G' to obtain encoded data. The coding matrix G' is:

number

[0031] According to the method, an encoding matrix based on the Polar generator matrix is ​​designed, which is analogous to constructing a combined matrix of Polar generator matrices, facilitating stream coding by the encoding matrix G'.

[0032] It should be noted that the methods described in the first through third aspects may, alternatively, be performed by a network device. In this case, the network device acts as the encoding side, and the terminal device acts as the decoding side.

[0033] In accordance with the fourth aspect, the present application provides a fourth data processing method. The data processing method can be performed by a terminal device or a network device. An example is used in which the network device is the performer and the network device is the decoder. The network device receives encoded data, decodes the encoded data, and obtains the decoded data. The encoded data is obtained by encoding an information bit sequence based on an encoding matrix G, where the encoding matrix G is:

number

[0034] According to the method, the encoded data is obtained based on the new encoding matrix G of the Polar code designed in this application. Therefore, after receiving the encoded data, the decoding side can reduce the size of the decoder by supporting the decoding of the portion of the information received during the decoding process.

[0035] In a possible implementation, the information bit sequence contains m segments, and the Polar generator matrix for each segment is G N’ That is the case.

[0036] In a possible implementation, the network device obtains marked data corresponding to the encoded data of the 0th segment and marked data corresponding to the encoded data of the 1st segment, performs an F operation on the marked data corresponding to the encoded data of the 0th segment and the marked data corresponding to the encoded data of the 1st segment to obtain marked data corresponding to the encoded data of the 1st segment after the F operation, performs Polar code decoding on the marked data corresponding to the encoded data of the 1st segment after the F operation to obtain decoded data corresponding to the encoded data of the 1st segment, and then enhances the marked data corresponding to the encoded data of the 0th segment based on the marked data corresponding to the encoded data of the 1st segment and the decoded data corresponding to the encoded data of the 1st segment. Note that the encoded data of the 0th segment includes the last N' column of the coding matrix G, or the encoded data of the 0th segment is the first (m-1) × 2 of the coding matrix G. n Column and last 2 n It should be noted that this includes the first N' column of the coding matrix G' obtained by performing elementary row operations on the columns. The coded data of the first segment includes either the first N' column of the coding matrix G, or the coded data of the first segment includes the first N'+1 to the first N'×2 columns of the coding matrix G'.

[0037] According to the method, the network device performs stream decoding by decoding the encoded data of the first received segment (segment 0) and the encoded data of the adjacent segment (segment 1). Furthermore, the encoded data of segment 0 is enhanced, which facilitates stream decoding based on the enhanced encoded data of segment 0 in subsequent decoding processes.

[0038] In a possible implementation, the network device obtains marked data corresponding to the encoded data of the q-th segment, and if q is 2 ≤ q ≤ m-1, it performs an F operation on the marked data corresponding to the encoded data of the q-th segment and the enhanced marked data corresponding to the encoded data of the 0th segment to obtain marked data corresponding to the encoded data of the q-th segment after the F operation, performs Polar code decoding on the marked data corresponding to the encoded data of the q-th segment after the F operation to obtain decoded data corresponding to the encoded data of the q-th segment, and enhances the enhanced marked data corresponding to the encoded data of the 0th segment based on the marked data corresponding to the encoded data of the q-th segment and the decoded data corresponding to the encoded data of the q-th segment.

[0039] According to the method, the encoded data of the (m-1)th segment is decoded from the encoded data of the second segment by using the same method. Furthermore, once the decoding is performed, the marked data corresponding to the encoded data of the 0th segment is successively enhanced, which facilitates stream decoding.

[0040] It should be noted that the method in the fourth aspect may, alternatively, be performed by a terminal device. In this case, the network device is the encoding side, and the terminal device is the decoding side.

[0041] In accordance with the fifth aspect, embodiments of the present application provide a data processing device. The data processing device may be a terminal device, or a device within a terminal device, or a device that can be used with a terminal device. In design, the data processing device may include one-to-one corresponding modules for performing methods / operations / steps / actions described in any one of the first to third aspects or possible implementations of the first to third aspects. The modules may be hardware circuits, or software, or implemented by a combination of hardware circuits and software. In design, the data processing device may include a processing unit and a communication unit.

[0042] For a specific description of the methods / operations / steps / actions performed by the terminal device, please refer to the corresponding description in either Aspects 1 through 3 or any possible implementation of Aspects 1 through 3. Further details are not provided here. It should be understood that the data processing device can also achieve the effects that can be achieved in Aspects 1 through 3.

[0043] In accordance with the sixth aspect, embodiments of the present application provide a data processing device. The data processing device may be a network device, or a device within a network device, or a device that can be used with a network device. In design, the data processing device may include one-to-one corresponding modules for performing methods / operations / steps / actions described in the fourth aspect or any one of the possible implementations of the fourth aspect. The modules may be hardware circuits, or software, or implemented by a combination of hardware circuits and software. In design, the data processing device may include a processing unit and a communication unit.

[0044] For a specific description of the methods / operations / steps / actions performed by network devices, please refer to the corresponding description in Aspect 4 or any one of the possible implementations of Aspect 4. Further details are not provided here. It should be understood that data processing devices can also achieve the effects that can be achieved in Aspect 4.

[0045] According to the seventh aspect, embodiments of the present application provide a communication device. The communication device includes an input / output interface and logic circuitry. The input / output interface is configured to input or output data. The logic circuitry processes the data in any one of the methods in the first to third aspects or in any one of the possible implementations of the first to third aspects to obtain the processed data.

[0046] According to the eighth aspect, embodiments of the present application provide a communication device. The communication device includes an input / output interface and logic circuitry. The input / output interface is configured to input or output data. The logic circuitry processes the data in accordance with the methods in the fourth aspect or any one of the possible embodiments of the fourth aspect to obtain the processed data.

[0047] In accordance with the ninth aspect, embodiments of the present application provide a terminal device including a processor, the processor being coupled to memory, the memory being configured to store instructions, and when instructions are executed by the processor, the terminal device can implement a method in any one of the first to third aspects or any possible implementations of the first to third aspects.

[0048] In accordance with the tenth aspect, embodiments of the present application provide a network device including a processor, the processor being coupled to memory, the memory being configured to store instructions, and when instructions are executed by the processor, the terminal device can implement a method in the fourth aspect or any one of the possible implementations of the fourth aspect.

[0049] According to the eleventh aspect, embodiments of the present application provide a communication system. The communication system includes a transmitting end and a receiving end. The transmitting end is configured to perform a function of the method in any one of the first to third aspects or possible implementations of the first to third aspects. The receiving end is configured to perform a function of the method in any one of the fourth aspect or possible implementations of the fourth aspect. Optionally, the communication system may include data processing devices described in the fifth and sixth aspects, or communication devices described in the seventh and eighth aspects, or devices described in the ninth and tenth aspects.

[0050] In accordance with the twelfth aspect, embodiments of the present application further provide a computer-readable storage medium that stores instructions, and when an instruction is executed by a computer, the computer can perform a method in any one of the first through fourth aspects or any possible implementations of the first through fourth aspects.

[0051] According to the thirteenth aspect, embodiments of the present application provide a chip system. The chip system includes a processor and may further include memory configured to perform a function of the method in any one of the first to fourth aspects or possible implementations of the first to fourth aspects. The chip system may include a chip, or it may include a chip and other discrete components.

[0052] In accordance with the fourteenth aspect, embodiments of the present application further provide a computer program product including instructions. When the instructions are executed by a computer, the computer may perform a method in any one of the first through fourth aspects or a possible implementation of the first through fourth aspects. [Brief explanation of the drawing]

[0053] [Figure 1] This is a diagram of a communication system in accordance with the present invention. [Figure 2] This is a diagram illustrating the coding of an 8x8 polar code. [Figure 3] This is a schematic flowchart of the data processing method according to the present invention. [Figure 4] This is a diagram of stream coding that supports stream decoding according to the present invention. [Figure 5] This is a diagram of stream coding in accordance with the present invention. [Figure 6] This is a schematic flowchart of another data processing method in accordance with the present invention. [Figure 7] This is a diagram illustrating data decoding in accordance with the present invention. [Figure 8] This is a performance analysis diagram of the data processing method according to the present invention. [Figure 9] This is a diagram of a device in accordance with the present invention. [Figure 10] This is a diagram of a communication device in accordance with the present invention. [Modes for carrying out the invention]

[0054] In this application, “ / ” may represent an “OR” relationship between related objects. For example, A / B may represent A or B. Furthermore, “and / or” may indicate that there are three relationships between related objects. For example, A and / or B may represent the following three cases: A exists only, both A and B exist, and B exists only. Here, A and B may be singular or plural. In order to facilitate the description of the technical solutions of this application, terms such as “first” and “second” may be used in this application to distinguish between technical features that have the same or similar characteristics. Terms such as “first” and “second” are not intended to limit the quantity or order of execution, nor are they intended to limit clear differences. In this application, terms such as “example” or “for example” are used to mean example, instance, or description. No embodiment or design scheme described as “example” or “for example” should be described as preferable to or having more advantages than other embodiments or design schemes. Terms such as "example" or "for example" are used to specifically present related concepts in order to facilitate understanding.

[0055] The following describes the technical solution of this application with reference to the attached drawings.

[0056] This application provides a data processing method. According to the method, a new coding matrix for Polar codes is constructed, and the information bits to be coded are processed by using the coding matrix to perform stream coding and / or stream decoding of Polar codes. The 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 terminal devices, the network device providing communication services for the terminal devices.

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

[0058] A network device may be a device capable of communicating with a terminal device. A network device may be a base station, a relay station, or an access point. A base station may be a base transceiver station (BTS) in a global system for mobile communications (GSM) or code division multiple access (CDMA) network, or a 3G base station NodeB in a wideband code division multiple access (WCDMA) system, or an evolutionary NodeB (abbreviated as eNB or eNodeB) in a long-term evolution (LTE) system. Alternatively, a network device may be a satellite in a satellite communications system. Alternatively, a network device may be a radio controller in a cloud radio access network (CRAN) scenario. Alternatively, a network device may be a network device in a 5G network or a network device in a future advanced public land mobile network (PLMN) network (e.g., a gNodeB). Network devices may alternatively include wearable devices, unmanned aerial vehicles, devices in the Internet of Vehicles (e.g., vehicle-to-everything (V2X) devices), communication devices in device-to-device (D2D) communication, or network devices used in future communication systems.

[0059] Terminal devices may include user equipment (UE), access terminals, terminal units, terminal stations, mobile stations, remote stations, remote terminals, mobile devices, terminals, wireless communication devices, terminal agents, terminal equipment, etc. Access terminals may include cellular telephones, cordless telephones, session initiation protocol (SIP) telephones, wireless local loop (WLL) stations, personal digital assistants (PDAs), portable devices with wireless communication capabilities, computing devices, other processing devices connected to wireless modems, wearable devices, unmanned aerial vehicles, V2X devices, D2D devices, terminal devices in 5G networks, terminal devices in future advanced PLMN networks, terminal devices in future communication systems, etc.

[0060] This application is an encoding scheme and may be used in dedicated network devices or general-purpose devices, in network devices, or in various terminal devices, etc. This application may be implemented by a dedicated chip (e.g., an application-specific integrated circuit (ASIC)), by using a programmable chip (e.g., a field-programmable gate array (FPGA)), or by using software (program code in memory). This is not limited to this application.

[0061] (1) Related concepts of this application 1.Polar code: Polar coding is a channel coding scheme that can rigorously prove that channel capacity has been reached. Polar coding is characterized by its superior performance, low complexity, and flexible matching methods. Currently, Polar coding is the designated uplink and / or downlink control channel coding scheme in 5th generation (5G) enhanced mobile broadband (eMBB) scenarios.

[0062] For example, Figure 2 shows the encoding of an 8x8 Polar code. The bits to be encoded are sorted based on their reliability and then placed in different positions within the encoding block. Generally, more reliable bits are set as information bits (data), and less reliable bits are set as frozen bits. The value of the frozen bits is usually set to 0 and is known to both the transmitting and receiving ends during actual transmission. As shown in Figure 2, u7, u6, u5, and u3 are the four more reliable bits, each set as an information bit, while u4, u2, u1, and u0 are the four less reliable bits, each set as a frozen bit.

[0063] Polar codes are linear block codes. The generator matrix for Polar codes is G N Therefore, the encoding process for Polar codes is x1 N =u1 N G N That is. u1 N =(u1,u2,···,u N ) is a binary row vector with length N (i.e., code length). G N This is an N×N matrix,

number

number

number

number

[0064] 2. The coding matrix G given in this application: The coding matrix given in this application is,

number

number

[0065] In other words, if the coding matrix G is considered to be an m × m matrix, then each element in the matrix is ​​2 n ×2 n It is a matrix, and each element on the diagonal of the matrix is ​​matrix G N’ And each element at the bottom of the matrix is ​​matrix G N’ The matrix is ​​O, and all elements except those at the diagonals and bottom ends are matrix O.

[0066] The mother code length of the coding matrix G is N' = m × 2 nIt is as follows. When m = 1 or m = 2, the encoding matrix G is the same as the encoding matrix of the normal Polar code. When m ≥ 3, the encoding matrix is

Number

[0067] 3. Another encoding matrix G’ given in the present application: Column elementary transformation can be performed on the encoding matrix G, and the transformed encoding matrix

Number

Number

[0068] 4. F operation: The F operation is a basic decoding operation of the Polar code, and a pre-defined F function (f-function) is used for processing. The inputs of the F operation are L0 and L1, and the F function is:

Number

[0069] 5. G operation: The G operation is a basic decoding operation of Polar codes, and a pre-defined G function (g-function) is used for processing. The inputs of the G function are L0, L1, and the feedback value B, and the G function is g(L0,L1,B)=(B==0)?L1+L0:L1-L0.

[0070] (2) Data processing method for implementing the stream encoding provided in this application 1. Procedure for implementing stream encoding by using an encoding matrix G: FIG. 3 is a schematic flowchart of a data processing method according to this application. The data processing method may be executed by a terminal device or by a network device, and the encoding procedure is mainly executed, including the following steps.

[0071] S101: Obtain an information bit sequence.

[0072] The information bit sequence includes a plurality of information bits to be encoded. For example, the information bit sequence can be expressed as {a0,a1,a2,···,a k-1}, and one element in the information bit sequence represents one bit to be encoded. The length of the information bit sequence does not have to be a specific code length (e.g., the length is not m×2 n ), and the information bit sequence is such that the length of the encoded data obtained by encoding the information bit sequence is N’=m×2​n It can be understood that it can be processed in that way.

[0073] It can be further understood that the encoded bits of this application may further include cyclic redundancy check (CRC) bits and / or parity check (PC) bits, and may be further accompanied by operations such as scrambling some or all bits. This is irrelevant to the essence of the solution of this application, and the term encoded bits is used for a unified description. Further details are not described here.

[0074] S102: The information bit sequence is encoded based on the coding matrix G, and the encoded data is obtained.

[0075] For an explanation of the coding matrix G, please refer to the related concepts above. Further details will not be provided here. The coding process will be described below using an example. The information bit sequence is u={a0,a1,a2,···,a k-1} and the encoding process is:

number

[0076] In a possible implementation, the information bit sequence is divided into m segments, that is, the information bit sequence contains m segments, and the Polar generator matrix for each segment is G N’ The length of each segment is 2 n In this case, the multiplication modulo 2 is performed when each segment and size is 2. n ×2 n Polar generation matrix G N’Information interleaving may be performed between segments to obtain encoded data. Specifically, this implementation includes two cases in which information bit sequences are encoded to obtain encoded data.

[0077] Case 1: The number of information bits in m segments is k0, k1, ..., k m-1 And k0 is k m-1 Smaller than k0 ≤ k1 ≤ ... ≤ k m-1 That is the case.

[0078] k0 is the number of information bits in the 0th segment, k1 is the number of information bits in the 1st segment, and by analogy, k m-1 is the number of information bits in the (m-1)th segment. Furthermore, the number of information bits in the 0th segment is less than the number of information bits in the (m-1)th segment, and the (m-1)th segment has the largest number of information bits (i.e., the last segment contains the most information bits). In this case, the encoding process involves the following steps: m buffered data points are obtained, and the j-th buffered data point is matrix G. N’ It is obtained by encoding the j-th segment of the information bit sequence using, where j satisfies 0 ≤ j ≤ m-1. The encoded data contains m segments. The encoded data of the 0th segment is the (m-1)th buffered data, The encoded data of the i-th segment is obtained by performing an exclusive OR operation on the j-th buffered data and the (m-1)-th buffered data, such that i satisfies 0 ≤ i ≤ m-1 and j satisfies 0 ≤ j ≤ m-2.

[0079] For example, the terminal device first creates matrix G N’By using this method, a modulo 2 multiplication operation is individually performed on each segment of the information bit sequence to obtain m buffered data, and then an exclusive OR operation (e.g., modulo 2 addition) is individually performed on the (m-1)th buffered data and the first m-2 buffered data to obtain the encoded data.

[0080] It can be understood that the coding principle for coding an information bit sequence using the coding process described in Case 1 is similar to that for coding an information bit sequence using a coding matrix G.

[0081] Case 2: The number of information bits in m segments is k0, k1, ..., k m-1 Therefore, k1 is smaller than k0, and k1 ≤ ... ≤ k m-1 ≤ k0.

[0082] k0 is the number of information bits in the 0th segment, k1 is the number of information bits in the 1st segment, and by analogy, k m-1 is the number of information bits in the (m-1)th segment. Furthermore, the number of information bits in the 0th segment is greater than the number of information bits in the 1st segment, and the 0th segment has the largest number of information bits (i.e., the first segment has the most information bits). In this case, the encoded data contains m segments, and the encoded data of the 0th segment is matrix G. N’ Based on this, the 0th segment of the information bit sequence is obtained by encoding, and the encoded data of the i-th segment is matrix G N’ It is obtained by encoding the i-th segment of the information bit sequence based on this, and then performing an exclusive OR operation on the encoded data of the i-th segment and the encoded data of the 0th segment.

[0083] For example, the terminal device first creates matrix G N’By using this, a modulo 2 multiplication operation is performed on the 0th segment of the information bit sequence to obtain the encoded data of the 0th segment, and then matrix G N’ By using this method, a modulo 2 multiplication operation is performed on the first segment of the information bit sequence, and an exclusive OR operation (e.g., modulo 2 addition) is performed on the result of the operation and the encoded data of the 0th segment to obtain the encoded data of the first segment, and so on until the encoded data of the (m-1)th segment is obtained. The above encoding process can be considered a stream encoding process, meaning that the encoder can receive the data to be encoded while encoding the received data to be encoded, and then transmit the encoded data.

[0084] Optionally, the coding matrix G' corresponding to the coding process described in Case 2 is obtained by performing elementary row operations on the coding matrix G, in which case,

number

[0085] S103: Sends encoded data.

[0086] If the encoding procedure described in S102 can perform stream encoding (e.g., 2 as described in S102), the terminal device may transmit the segment of encoded data after completing the segment, without waiting for all bits in the information bit sequence to be encoded before transmitting all the encoded data. If the encoding procedure described in S102 is designed to perform stream decoding (e.g., 1 as described in S102), the terminal device transmits all the encoded data after all bits in the information bit sequence have been encoded.

[0087] The data processing method provided in this application involves the design of a new coding matrix G for Polar codes. When a terminal device encodes information bits to be encoded using the coding matrix G, after receiving a portion of the information bits in the encoding process, the terminal device can encode that portion of the information bits and transmit the encoded data, thereby performing stream encoding and helping to reduce the size of the encoder and buffers of the terminal device. Furthermore, the information bits to be encoded are encoded using the coding matrix so that the encoded data can be obtained, thereby facilitating stream decoding.

[0088] 2. Stream coding processes that support stream decoding Figure 4 is a diagram of stream coding that supports stream decoding according to the present invention. The information bit sequence is {a0, a1, a2, ..., a k-1 It can be expressed as}, and one element in the information bit sequence represents one bit to be encoded. The information bit sequence is divided into m segments, and each segment contains k i Each information bit is assigned. u0 N’ To obtain the first k0 information bits {a0, a1, a2, ..., a k0-1 A freeze bit is inserted into}, and y0 N’ To obtain u0N’ and matrix G N’ In contrast, a multiplication operation modulo 2 is performed, resulting in y0 N’ It is held in the buffer. y1 N’ ~y m-1 N’ This can be obtained by using the same processing procedure for k0 information bits, y1 N’ ~y m-1 N’ It is held in a buffer.

[0089] Note y1 N’ ~y m-1 N’ The order in which to send them is as follows: First, y m-1 N’ is x m-1 N’ It is assigned to and sent. Next, the exclusive OR is y0 N’ and y m-1 N’ It is executed on x0 N’ It is retrieved and sent. Next, the exclusive OR is y1 N’ and y m-1 N’ It is executed by x1 N’ It is retrieved and sent. By analogy, exclusive OR is y m-2 N’ and y m-1 N’ It is executed on x m-2 N’ It is retrieved and sent.

[0090] After transmission is completed in the order described above, the stream coding process is finished.

[0091] 3. Procedures that support stream coding Figure 5 is a diagram of stream coding according to the present invention. The information bit sequence is {a0, a1, a2, ..., a k-1It can be expressed as}, and one element in the information bit sequence represents one bit to be encoded. The information bit sequence is divided into m segments, and each segment contains k i Each information bit is assigned. u0 N’ To obtain the first k0 information bits {a0, a1, a2, ..., a k0-1 A freeze bit is inserted into}, and y0 N’ To obtain u0 N’ and matrix G N’ In contrast, a multiplication operation modulo 2 is performed, resulting in y0 N’ It is held in the buffer, y0 N’ is x0 N’ It is assigned to and sent.

[0092] u1 N’ To obtain the k1 information bits {a} that were received afterwards k0 ,a k0+1 ,a k0+2 ,···,a k0+k1-1 A freeze bit is inserted into}, and y1 N’ To obtain u1 N’ and matrix G N’ In contrast, a multiplication operation modulo 2 is performed. y0 N’ It is retrieved from the buffer, x1 N’ To obtain y1 N’ and y0 N’ An exclusive OR operation is performed on x1 N’ It will be sent. x2 N’ ~x m-1 N’ This can be obtained and transmitted by using the same processing procedure for k1 information bits. m-1 N’ The sent a and y0 in the buffer N’ It is removed, and the stream encoding process is completed.

[0093] (3) Data processing method for performing stream decoding provided in this application 1. Stream Decoding Procedure Figure 6 is a schematic flowchart of another data processing method according to the present invention. The data processing method may be performed by a terminal device or by a network device. When a terminal device performs the data processing method described in Part 3 of this specification, that is, when the terminal device is the decoder, a network device performs the data processing method described in Part 2, that is, when the network device is the encoder. When a decoding procedure is performed, the following steps are included.

[0094] S201: Encoded data is received, and the encoded data is obtained by encoding an information bit sequence based on the coding matrix G.

[0095] For a description of the coding matrix G, the coded data, and the coding of the information bit sequence based on the coding matrix G, please refer to the corresponding description in Part 2. Further details are not provided here. For example, to support stream decoding, the coded data can be obtained by coding the information bit sequence based on the coding matrix G, or by coding the information bit sequence in the manner described in S102, Case 1.

[0096] S202: Decode the encoded data and obtain the decoded data.

[0097] The process of decrypting encoded data is a stream decoding procedure. A terminal device can initially decode the encoded data of the received 0th segment and the encoded data of the received 1st segment. In other words, after receiving a portion of the information in the decoding process, the terminal device can decode that portion of the information. Specifically, the following steps may be included:

[0098] s11: Retrieves the marked data corresponding to the encoded data of segment 0 and the marked data of the encoded data of segment 1.

[0099] s12: Perform the F operation on the marked data corresponding to the encoded data of the 0th segment and the marked data corresponding to the encoded data of the 1st segment, and obtain the marked data corresponding to the encoded data of the 1st segment after the F operation.

[0100] s13: Polar code decoding is performed on the marked data corresponding to the encoded data of the first segment after the F operation to obtain the decoded data corresponding to the encoded data of the first segment.

[0101] s14: Enhance the marked data corresponding to the encoded data of the 0th segment based on the marked data corresponding to the encoded data of the 1st segment and the decoded data corresponding to the encoded data of the 1st segment.

[0102] The marked data corresponding to the encoded data of the 0th segment is the log likelihood ratio (LLR) of the encoded data of the 0th segment, and the marked data corresponding to the encoded data of the 1st segment is the LLR of the encoded data of the 1st segment. To obtain the marked data corresponding to the encoded data of the 1st segment after the F operation, the LLR of the encoded data of the 0th segment and the LLR of the encoded data of the 1st segment are used as inputs to the F operation. For a description of the F function, please refer to the above description. Further details will not be provided here.

[0103] For a method of performing Polar code decoding on marked data corresponding to the encoded data of the first segment after the F operation, please refer to existing Polar code decoding schemes, which are not limited to those present. The marked data corresponding to the encoded data of the 0th segment is enhanced, and in the subsequent decoding process, the LLR of the encoded data of the 0th segment, the LLR of the encoded data of the 1st segment, and the decoded data corresponding to the encoded data of the 1st segment are used as inputs to the G function to facilitate stream decoding based on the enhanced encoded data of the 0th segment. For a description of the G function, please refer to the above description. Further details are not provided here.

[0104] In a possible implementation, the marked data corresponding to the encoded data of the 0th segment may be the likelihood probability of the encoded data of the 0th segment, and the marked data corresponding to the encoded data of the 1st segment may be the likelihood probability of the encoded data of the 1st segment. In this case, step s12 above is changed to performing a probability operation on the marked data corresponding to the encoded data of the 0th segment and the marked data corresponding to the encoded data of the 1st segment to obtain the marked data corresponding to the encoded data of the 1st segment in the probability domain. The subsequent processing procedure is still performed according to s13 and s14, and it can be understood that the marked data corresponding to the encoded data of the 0th segment may be enhanced.

[0105] Furthermore, for each segment of the encoded data received thereafter, the processing method is the same as that in s11 to S14, and may include the following steps.

[0106] s15: Obtain the marked data corresponding to the encoded data of the q-th segment, where q is 2 ≤ q ≤ m-1.

[0107] s16: Perform the F operation on the marked data corresponding to the encoded data of the q-th segment and the enhanced marked data corresponding to the encoded data of the 0th segment to obtain the marked data corresponding to the encoded data of the q-th segment after the F operation.

[0108] s17: Polar code decoding is performed on the marked data corresponding to the encoded data of the q-th segment after the F operation to obtain the decoded data corresponding to the encoded data of the q-th segment.

[0109] s18: Enhance the enhanced marked data corresponding to the encoded data of segment 0, based on the marked data corresponding to the encoded data of segment q and the decoded data corresponding to the encoded data of segment q.

[0110] For example, marked data corresponding to the encoded data of the second segment is obtained, the F operation is performed on the marked data corresponding to the encoded data of the second segment and the enhanced marked data corresponding to the encoded data of the 0th segment in order to obtain the marked data corresponding to the encoded data of the second segment after the F operation, Polar code decoding is performed on the marked data corresponding to the encoded data of the second segment after the F operation in order to obtain the decoded data corresponding to the encoded data of the second segment, and secondary enhancement is performed on the enhanced marked data corresponding to the encoded data of the 0th segment based on the marked data corresponding to the encoded data of the second segment and the decoded data corresponding to the encoded data of the second segment in order to obtain the marked data corresponding to the encoded data of the 0th segment after secondary enhancement. For specific implementations of the above steps, please refer to the specific implementations corresponding to s11 to s14. Details are not described again here.

[0111] In the data processing method provided in this application, after the encoded data is received, the decoding of a portion of the information can be supported after the decoding process has received that portion of the information, stream decoding is performed, the size of the decoder is reduced, and the overhead on the decoding side is further reduced.

[0112] 2. Specific Examples of Stream Decoding Procedures Figure 7 shows a diagram of stream decoding according to the present invention. Encoded data of the 0th segment (length N'=2 n When (is received), according to the description in the above embodiment, the encoded data of the 0th segment is the (m-1)th buffered data, and the encoded data of the 0th segment is L m-1 N’ It is marked and buffered. L m-1 N’x for data transmission m-1 N’ It is LLR and x m-1 N’ For the transmission described in the third section of the second part, y m-1 N’ x is assigned m-1 N’ That is the case.

[0113] Encoded data of the first segment (length is N'=2 n When (is received), the encoded data of the first segment is the 0th buffered data, and the encoded data of the first segment is L0 N’ It was marked as such,

number

number

number

number

[0114] Encoded data of the second segment (length is N'=2 nIf (is received), the encoded data of the second segment is the first buffered data, and the encoded data of the second segment is L1 N’ It was marked as such,

number

number

number

number

[0115] decrypted data

number

number

[0116] (4) Performance analysis of the data processing method provided in this application The performance analysis diagram shows the decoding performance obtained by using a simulated decoder with a code length of N'={128,512,2048} and a code rate of R=1 / 8. The horizontal axis of the performance analysis diagram is EsN0, which represents the ratio of the energy of each symbol to the noise power spectral density, and the vertical axis is the block error rate (BLER) used to measure the system performance test. By using the stream decoding procedure described in Part 3, the decoder can begin decoding only after receiving two segments of encoded data (i.e., N'×2 LLR). Therefore, the size of the decoder can be designed as N'×2.

[0117] The solid line, the first dashed line, and the second dashed line form a group and can be used to compare the difference in decoding performance when decoders of different sizes but the same decoding scheme are used for the same information bit sequence, or when decoders of the same size but different decoding schemes are used.

[0118] Group 1: The solid line containing the diamond-shaped symbol, the first dashed line containing the diamond-shaped symbol, and the second dashed line containing the diamond-shaped symbol represent a comparison of the decoding performance of Group 1. It is assumed that the number of information bits in the information bit sequence is K=64, and the transmission length is E=K / R=64 / (1 / 8)=512. It is assumed that the decoder size is 256 or 512, and the decoding scheme is either existing Polar code decoding or the stream decoding provided in this application. For example, the first dashed line containing the diamond-shaped symbol represents the decoding performance when an existing Polar code decoding method is used, with a transmission length E=512, a decoder size of 512, and a number of information bits K=64. The solid line containing the diamond-shaped symbol represents the decoding performance when stream decoding is used, with a transmission length E=512, a decoder size of 256, and a number of information bits K=64. The second dashed line containing the diamond-shaped symbol represents the decoding performance when an existing Polar code decoding method is used, with a transmission length E=512, a decoder size of 256, and a number of information bits K=64. As can be seen from the comparison of the first group, for the same EsN0, the decoding performance of stream decoding is better than that of a normal Polar code decoding method with a larger decoder (i.e., a longer code length). decryption Although its decoding performance is worse than that of conventional polar coding, the decoder used by the decoding side in stream decoding is smaller, which significantly reduces the overhead on the decoding side. For the same EsN0 and the same decoder size, the decoding performance of stream decoding is worse than that of conventional polar coding. decryption Its decoding performance is superior to that of [another system].

[0119] Group 2: The solid line containing the square symbol, the first dashed line containing the square symbol, and the second dashed line containing the square symbol represent a comparison of the decoding performance of Group 2. It is assumed that the number of information bits in the information bit sequence is K=256, and the transmission length is E=K / R=256 / (1 / 8)=2048. It is assumed that the decoder size is 1024 or 2048, and the decoding scheme is either existing Polar code decoding or the stream decoding provided in this application. For example, the first dashed line containing a square symbol represents the decoding performance when the transmission length E=2048, the decoder size 2048, the number of information bits K=256, and the existing Polar code decoding is used; the solid line containing a square symbol represents the decoding performance when the transmission length E=2048, the decoder size 1024, the number of information bits K=256, and the stream decoding is used; the second dashed line containing a square symbol represents the transmission length E=2048, the decoder size is 1024 This shows the decoding performance when the number of information bits is K=256 and an existing Polar code decoding is used. As can be seen from the comparison of the second group, for the same EsN0, the decoding performance of stream decoding is better than that of a normal Polar code with a larger decoder (i.e., a longer code length). decryption Although its decoding performance is worse than that of conventional polar coding, the decoder used by the decoding side in stream decoding is smaller, which significantly reduces the overhead on the decoding side. For the same EsN0 and the same decoder size, the decoding performance of stream decoding is worse than that of conventional polar coding. decryption Its decoding performance is superior to that of [another system].

[0120] Third group: Solid lines containing the asterisk symbol, first dashed lines containing the asterisk, and second dashed lines containing the asterisk are the 3This is a comparison of the decoding performance of groups. It is assumed that the number of information bits in the information bit sequence is K=1024, and the transmission length is E=K / R=1024 / (1 / 8)=8192. It is assumed that the decoder size is 4096 or 8192, and the decoding method is either existing Polar code decoding or the stream decoding provided in this application. For example, asterisk The first dashed line containing an asterisk represents the decoding performance when the transmission length E=8192, the decoder size is 8192, the number of information bits K=1024, and existing Polar code decoding is used. The solid line containing an asterisk represents the decoding performance when the transmission length E=8192, the decoder size is 4096, the number of information bits K=1024, and stream decoding is used. The second dashed line containing an asterisk represents the transmission length E=8192, the decoder size is 4096 This shows the decoding performance when the number of information bits is K=1024 and an existing Polar code decoding is used. As can be seen from the comparison of the third group, for the same EsN0, the decoding performance of stream decoding is better than that of a normal Polar code with a larger decoder (i.e., a longer code length). decryption Although its decoding performance is worse than that of conventional polar coding, the decoder used by the decoding side in stream decoding is smaller, which significantly reduces the overhead on the decoding side. For the same EsN0 and the same decoder size, the decoding performance of stream decoding is worse than that of conventional polar coding. decryption Its decoding performance is superior to that of [another system].

[0121] To perform the functions of the method provided herein, the apparatus or device provided herein includes a hardware structure and / or software modules, and the above functions may be performed in the form of a hardware structure, software modules, or a combination of hardware structures and software modules. Whether any of the above functions are performed by using a hardware structure, software modules, or a combination of hardware structures and software modules depends on the specific application and design constraints of the technical solution. The modularization in this application is an example and merely a logical functional division. Other modes of division may be used in actual implementation. Furthermore, the functional modules in embodiments of this application may be integrated into a single processor, or may exist physically independently, or two or more modules may be integrated into a single module. The integrated module may be implemented in hardware form or in the form of a software functional module.

[0122] Figure 9 is a diagram of a device according to the present application. The device may include one-to-one corresponding modules for performing the methods / operations / steps / actions described in the method embodiments corresponding to Figures 3 to 7. The modules may be hardware circuits, software, or a combination of hardware circuits and software. For example, the device may be called a data processing device or a communication device.

[0123] The apparatus includes a communication unit 901 and a processing unit 902 configured to carry out the method performed by a terminal device or network device in the above embodiment.

[0124] In a possible implementation, the processing unit 902 is configured to acquire an information bit sequence, encode the information bitstream based on the encoding matrix G, and obtain encoded data. The encoding matrix is

number

[0125] Optionally, the information bit sequence contains m segments, and the Polar generator matrix for each segment is G N’ That is the case.

[0126] The number of information bits in any m segments can be k0, k1, ..., k m-1 And k0 is k m-1 Smaller than k0 ≤ k1 ≤ ... ≤ k m-1 That is the case.

[0127] Arbitrarily, the number of information bits in the i-th segment is k. i Therefore, i satisfies 0 ≤ i ≤ m-1.

[0128] Optionally, the processing unit 902 is configured to acquire m buffered data, and the j-th buffered data is matrix G N’ The information bit sequence is obtained by encoding the j-th segment using, where j satisfies 0 ≤ j ≤ m-1, the encoded data contains m segments, the encoded data of the 0th segment is the (m-1)th buffered data, and the encoded data of the i-th segment is obtained by performing an exclusive OR operation on the j-th buffered data and the (m-1)th buffered data, where i satisfies 0 ≤ i ≤ m-1 and j satisfies 0 ≤ j ≤ m-2.

[0129] Optionally, the communication unit 901 is configured to first transmit the (m - 1)-th buffered data and then successively transmit the encoded data of the i-th segment, where 0 ≤ i ≤ m - 1.

[0130] Optionally, the processing unit 902 performs column elementary transformation on the encoding matrix G, and the transformed encoding matrix G’ is

Number

[0131] Optionally, the number of information bits in the m segments is k0, k1, ···, k m-1 where k1 is smaller than k0, and k1 ≤ ··· ≤ k m-1 ≤ k0.

[0132] Optionally, the encoded data includes m segments. The encoded data of the 0-th segment is obtained by encoding the 0-th segment of the information bit sequence based on the matrix G N’ and the encoded data of the i-th segment is obtained by encoding the i-th segment of the information bit sequence based on the matrix G N’ and then performing an exclusive OR operation on the encoded data of the i-th segment and the encoded data of the 0-th segment.

[0133] For specific execution procedures of the communication unit 901 and processing unit 902 in this implementation, please refer to the descriptions in the method embodiments corresponding to Figures 3 to 7. Details are not described again here. In the data processing method implemented by the device, a new coding matrix G for Polar codes is designed. When a terminal device codes the information bits to be coded by using the coding matrix G, after receiving a portion of the information bits in the coding process, the terminal device can code that portion of the information bits and transmit the coded data to perform stream coding, which helps reduce the size of the encoder and buffer of the terminal device. Furthermore, the information bits to be coded are coded by using the coding matrix to obtain the coded data, thereby facilitating stream decoding.

[0134] In other possible implementations, the processing unit 902 obtains an information bit sequence, where the information bit sequence contains m segments, and each segment is a Polar generator matrix G of that segment. N’ It is configured to process and obtain m buffered data using the matrix G. N’ The size is 2 n ×2 n This is the Polar generation matrix. The processing unit 902 is further configured to obtain encoded data based on m buffered data. The encoded data consists of m segments, the encoded data of the 0th segment is the (m-1)th buffered data, and the encoded data of the i-th segment is obtained by performing an exclusive OR operation on the j-th buffered data and the (m-1)th buffered data, where i satisfies 1 ≤ i ≤ m-1 and j satisfies 0 ≤ j ≤ m-2. The communication unit 901 is configured to transmit the encoded data.

[0135] The number of information bits in any m segments can be k0, k1, ..., k m-1 And k0 is km-1 Smaller than k0 ≤ k1 ≤ ... ≤ k m-1 That is the case.

[0136] Arbitrarily, the number of information bits in the i-th segment is k. i Therefore, i satisfies 0 ≤ i ≤ m-1.

[0137] Optionally, the processing unit 902 is configured to encode an information bit sequence based on the encoding matrix G and obtain encoded data. The encoding matrix G is

number

[0138] For specific execution procedures of the communication unit 901 and processing unit 902 in this implementation, please refer to the description in the method embodiment corresponding to Figures 3 to 7. Details are not described again here. In the data processing method implemented by the device, the information bit sequence to be encoded is divided into m segments, and encoding and information interleaving are performed in 2 n ×2 n This is performed for each segment using a Polar generator matrix of size [size], and the encoded data is transmitted in an interleaved manner to facilitate stream decoding.

[0139] In other possible implementations, the processing unit 902 obtains an information bit sequence, where the information bit sequence contains m segments, and each segment is a Polar generator matrix G of that segment. N’It is configured to process and obtain encoded data using matrix G. N’ The size is 2 n ×2 n The polar generator matrix is ​​such that the encoded data contains m segments, and the encoded data of the 0th segment is matrix G. N’ Based on this, the 0th segment of the information bit sequence is obtained by encoding, and the encoded data of the i-th segment is matrix G N’ The i-th segment of the information bit sequence is encoded based on this, and then obtained by performing an exclusive OR operation on the encoded data of the i-th segment and the encoded data of the 0th segment. The communication unit 901 is configured to transmit the encoded data.

[0140] The number of information bits in any m segments can be k0, k1, ..., k m-1 Therefore, k1 is smaller than k0, and k1 ≤ ... ≤ k m-1 ≤ k0.

[0141] Arbitrarily, the number of information bits in the i-th segment is k. i Therefore, i satisfies 0 ≤ i ≤ m-1.

[0142] Optionally, the processing unit 902 is configured to encode an information bit sequence based on the encoding matrix G' and obtain encoded data. The encoding matrix G' is:

number

[0143] For specific execution procedures of the communication unit 901 and processing unit 902 in this implementation, please refer to the description in the method embodiment corresponding to Figures 3 to 7. Details are not described again here. In the data processing method implemented by the device, the information bit sequence to be encoded is divided into m segments, and encoding and information interleaving are performed in 2 n ×2 n This is performed for each segment by using a Polar generation matrix of size [size]. In this way, after taking on a portion of the information in the encoding process, the terminal device can encode and transmit that portion of the information, thereby reducing the size of the encoder and buffer.

[0144] In other possible implementations, the communication unit 901 is configured to receive encoded data, and the processing unit 902 is configured to decode the encoded data to obtain the decoded data. The encoded data is obtained by encoding an information bit sequence based on a coding matrix G, where the coding matrix G is

number

[0145] Optionally, the processing unit 902 is configured to obtain marked data corresponding to the encoded data of the 0th segment and marked data corresponding to the encoded data of the 1st segment, perform an F operation on the marked data corresponding to the encoded data of the 0th segment and the marked data corresponding to the encoded data of the 1st segment to obtain marked data corresponding to the encoded data of the 1st segment after the F operation, perform Polar code decoding on the marked data corresponding to the encoded data of the 1st segment after the F operation to obtain decoded data corresponding to the encoded data of the 1st segment, and then enhance the marked data corresponding to the encoded data of the 0th segment based on the marked data corresponding to the encoded data of the 1st segment and the decoded data corresponding to the encoded data of the 1st segment.

[0146] Optionally, the processing unit 902 is configured to obtain marked data corresponding to the encoded data of the q-th segment, and if q is 2 ≤ q ≤ m-1, perform an F operation on the marked data corresponding to the encoded data of the q-th segment and the enhanced marked data corresponding to the encoded data of the 0th segment to obtain marked data corresponding to the encoded data of the q-th segment after the F operation, perform Polar code decoding on the marked data corresponding to the encoded data of the q-th segment after the F operation to obtain decoded data corresponding to the encoded data of the q-th segment, and enhance the enhanced marked data corresponding to the encoded data of the 0th segment based on the marked data corresponding to the encoded data of the q-th segment and the decoded data corresponding to the encoded data of the q-th segment.

[0147] For the specific execution procedures of the communication unit 901 and the processing unit 902 in this implementation, refer to the descriptions in the method embodiments corresponding to FIGS. 3 to 7. Details will not be described again here. In the data processing method implemented by the device, the decryption of a part of the information is supported after that part of the information is received in the decryption process, and the size of the decoder can be reduced.

[0148] The following describes a device including a plurality of functional units shown in FIG. 9. The device of the present application includes a plurality of functional units shown in FIG. 9. FIG. 10 is a diagram of a communication device according to the present application. The communication device is configured to implement the data processing method in the above method embodiment. The communication device 1000 may alternatively be a chip system. It can be understood that the communication device 1000 may be, for example, a terminal device or a network device.

[0149] The communication device 1000 includes a communication interface 1001 and a processor 1002. The communication interface 1001 may be, for example, a transceiver, an interface, a bus, a circuit, or a device capable of implementing a receiving function and a transmitting function. The communication interface 1001 is configured to communicate with other devices through a transmission medium, whereby the device 1000 can communicate with other devices. The processor 1002 is configured to execute processing-related operations.

[0150] In a possible implementation, the processor 1002 is configured to obtain an information bit sequence, encode the information bit stream based on the encoding matrix G, and obtain the encoded data. The encoding matrix is

Number

[0151] For specific execution procedures of the communication interface 1001 and processor 1002 in this implementation, please refer to the descriptions in the method embodiments corresponding to Figures 3 to 7. Details are not described again here. In the data processing method implemented by the communication device, a new coding matrix G for Polar codes is designed. When a terminal device encodes information bits to be encoded by using the coding matrix G, after receiving a portion of the information bits in the encoding process, the terminal device can encode that portion of the information bits and transmit the encoded data to perform stream encoding, which helps reduce the size of the encoder and buffer of the terminal device. Furthermore, the information bits to be encoded are encoded by using the coding matrix to obtain the encoded data, thereby facilitating stream decoding.

[0152] In other possible implementations, processor 1002 obtains an information bit sequence, where the information bit sequence contains m segments, and each segment is a Polar generator matrix G of that segment. N’ It is configured to process and obtain m buffered data using the matrix G. N’ The size is 2 n ×2 nThis is the Polar generator matrix. The processor 1002 is further configured to obtain encoded data based on m buffered data. The encoded data consists of m segments, the encoded data of the 0th segment is the (m-1)th buffered data, and the encoded data of the i-th segment is obtained by performing an exclusive OR operation on the j-th buffered data and the (m-1)th buffered data, where i satisfies 1 ≤ i ≤ m-1 and j satisfies 0 ≤ j ≤ m-2. The communication interface 1001 is configured to transmit the encoded data.

[0153] For specific execution procedures of the communication interface 1001 and processor 1002 in this implementation, please refer to the description in the method embodiment corresponding to Figures 3 to 7. Details are not described again here. In the data processing method implemented by the communication device, the information bit sequence to be encoded is divided into m segments, and encoding and information interleaving are performed in 2 n ×2 n This is performed for each segment using a Polar generator matrix of size [size], and the encoded data is transmitted in an interleaved manner to facilitate stream decoding.

[0154] In other possible implementations, processor 1002 obtains an information bit sequence, where the information bit sequence contains m segments, and each segment is a Polar generator matrix G of that segment. N’ It is configured to process and obtain encoded data using matrix G. N’ The size is 2 n ×2 n The polar generator matrix is ​​such that the encoded data contains m segments, and the encoded data of the 0th segment is matrix G. N’ Based on this, the 0th segment of the information bit sequence is obtained by encoding, and the encoded data of the i-th segment is matrix G N’The i-th segment of the information bit sequence is encoded based on this, and then obtained by performing an exclusive OR operation on the encoded data of the i-th segment and the encoded data of the 0th segment. The communication interface 1001 is configured to transmit the encoded data.

[0155] For specific execution procedures of the communication interface 1001 and processor 1002 in this implementation, please refer to the description in the method embodiment corresponding to Figures 3 to 7. Details are not described again here. In the data processing method implemented by the communication device, the information bit sequence to be encoded is divided into m segments, and encoding and information interleaving are performed in 2 n ×2 n This is performed for each segment by using a Polar generation matrix of size [size]. In this way, after taking on a portion of the information in the encoding process, the terminal device can encode and transmit that portion of the information, thereby reducing the size of the encoder and buffer.

[0156] In other possible implementations, the communication interface 1001 is configured to receive encoded data, and the processor 1002 is configured to decode the encoded data to obtain the decoded data. The encoded data is obtained by encoding an information bit sequence based on a coding matrix G, where the coding matrix G is

number

[0157] For specific execution procedures of the communication interface 1001 and processor 1002 in this implementation, please refer to the descriptions in the method embodiments corresponding to Figures 3 to 7. Details are not described again here. In the data processing method implemented by the communication device, the decoding of a portion of the information is supported in the decoding process after that portion of the information has been received, which can reduce the size of the decoder.

[0158] Optionally, the communication device 1000 may further include at least one memory 1003 configured to store program instructions and / or data. In implementation, the memory is coupled to a processor. The coupling in this application may be an indirect coupling or communication connection between devices, units, or modules in an electrical, mechanical, or other form used for information exchange between devices, units, or modules. The processor may perform operations in cooperation with the memory. The processor may execute program instructions stored in the memory. At least one memory and the processor are integrated.

[0159] In this application, the specific communication medium between the communication interface, the processor, and the memory is not limited. For example, the memory, processor, and communication interface are connected by a bus. Bus 1004 is represented by a thick line in Figure 10. The configurations of connections between other components are merely illustrative examples and should not be interpreted as limitations. Buses can be classified into address buses, data buses, control buses, etc. For ease of representation, the single thick line in Figure 10 represents a bus, and this does not mean that there is only one bus or only one type of bus.

[0160] In this application, the 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 that can implement or perform the methods, steps, and logic block diagrams disclosed herein. The general-purpose processor may be a microprocessor, any conventional processor, etc. The steps of the methods disclosed with reference to this application may be implemented directly by a hardware processor or by a combination of hardware and software modules in the processor.

[0161] In this application, memory may be non-volatile memory, such as a hard disk drive (HDD) or solid-state drive (SSD), or volatile memory, such as random access memory (RAM). Memory may be any other medium that can carry or store expected program code in the form of instruction structures or data structures and is accessible by a computer, but is not limited to these. Alternatively, memory in this application may be a circuit or any other device that can implement a storage function and is configured to store program instructions and / or data.

[0162] This application provides a communication device. The communication device includes an input / output interface and logic circuits. The input / output interface is configured to input or output data. The logic circuits process data according to the methods of the embodiments corresponding to Figures 3 to 7 and obtain the processed data. 。

[0163] This application provides a communication system. The communication system includes terminal devices and network devices in embodiments corresponding to Figures 3 to 7.

[0164] This application provides a computer-readable storage medium. The computer-readable storage medium stores a program or instruction. When the program or instruction is executed by a computer, the computer can execute the data processing method in the embodiment corresponding to Figures 3 to 7.

[0165] This application provides a computer program product. The computer program product includes instructions. When the instructions are executed by a computer, the computer can perform a data processing method in the embodiments corresponding to Figures 3 to 7.

[0166] This application provides a chip or chip system. The chip or chip system includes at least one processor and an interface. The interface and the at least one processor are interconnected via lines. The at least one processor is configured to execute a computer program or instructions to perform a data processing method in embodiments corresponding to Figures 3 to 7.

[0167] The interfaces within the chip may include input / output interfaces, pins, circuits, and so on.

[0168] The chip system may be a system-on-a-chip (SoC) or a baseband chip, etc. The baseband chip may include a processor, channel encoder, digital signal processor, modem, interface module, etc.

[0169] In practice, the chip or chip system described herein further includes at least one memory, the memory of which stores instructions. The memory may be a storage unit within the chip, such as a register or buffer, or a storage unit of the chip (e.g., read-only memory or random-access memory).

[0170] All or part of the technical solutions provided herein can be implemented using software, hardware, firmware, or any combination thereof. Where software is used to implement the embodiments, all or part of the embodiments can be implemented in the form of a computer program product. A computer program product includes one or more computer instructions. When the computer program instructions are loaded into a computer and executed, all or part of the procedures or functions according to this application are generated. The computer may be a general-purpose computer, a dedicated computer, a computer network, a network device, a terminal device, or other programmable device. Computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wire (e.g., coaxial cable, optical fiber, or digital subscriber line (DSL)) or wirelessly (e.g., infrared, radio waves, or microwaves). The computer-readable storage medium may be any available medium accessible to a computer, or a data storage device such as a server or data center that incorporates one or more available media. The usable media may include magnetic media (e.g., floppy disks, hard disks, or magnetic tapes), optical media (e.g., digital video discs (DVDs)), semiconductor media, and the like.

[0171] In this application, embodiments may be cross-referenced, provided there is no logical inconsistency. For example, methods and / or terms in method embodiments may be cross-referenced. For example, functions and / or terms in apparatus embodiments may be cross-referenced. For example, functions and / or terms in apparatus embodiments and method embodiments may be cross-referenced.

[0172] It will be apparent to those skilled in the art that various modifications and variations can be made to the present application without departing from its scope. The present application is intended to cover such modifications and variations, provided that they fall within the scope of protection defined by the subsequent claims and their equivalent art.

Claims

1. A data processing method, Obtaining an information bit sequence containing m segments, The method involves individually encoding each of the m segments of the information bit sequence based on the encoding matrix G, and obtaining the encoded data, wherein the encoding matrix G is [Math 1] And G has a size of (m x 2 n ) × (m × 2 n The matrix is ​​such that m and n are positive integers, and the matrix G N’ There are two sizes. n x2 n This is a polar generation matrix where each of the m segments is encoded using the polar generation matrix G N', and matrix O has a size of 2 n x2 n The fact that it is a total zero matrix, Transmitting the aforementioned encoded data A method of having.

2. The number of information bits in the m segments is k 0 , k 1 , ···, k m-1 and k 0 Hak m-1 Smaller than k 0 ≤k 1 ≦・・・≦k m-1 That is, The method according to claim 1.

3. The number of information bits in the i-th segment is k. i And i satisfies 0 ≤ i ≤ m-1, The method according to claim 1.

4. The process of encoding the information bit sequence based on the aforementioned encoding matrix G and obtaining the encoded data is as follows: This includes obtaining m buffered data items. The j-th buffered data is the Polar generation matrix G N’ It is obtained by encoding the j-th segment of the information bit sequence using, where j satisfies 0 ≤ j ≤ m-1. The encoded data includes m segments, The encoded data of the 0th segment is the (m-1)th buffered data, The encoded data of the i-th segment is obtained by performing an exclusive OR operation on the j-th buffered data and the (m-1)-th buffered data, such that i satisfies 0 ≤ i ≤ m-1 and j satisfies 0 ≤ j ≤ m-2. The method according to claim 3.

5. Transmitting the encoded data as described above is Transmitting the (m-1)th buffered data, The encoded data of the i-th segment is subsequently transmitted. It includes such that i satisfies 0 ≤ i ≤ m-1. The method according to claim 4.

6. The aforementioned method, This involves performing elementary row operations on the coding matrix G, and the transformed coding matrix G' is: [Math 2] That is, The information bit sequence is encoded based on the transformed coding matrix G' to obtain the encoded data. It further has, The method according to claim 1.

7. The number of information bits in the m segments is k. 0 ,k 1 , ..., k m-1 And, k 1 Hak 0 Smaller than k 1 ≦・・・≦k m-1 ≤k 0 That is, The method according to claim 1.

8. The encoded data includes m segments, The encoded data of the 0th segment is the Polar generation matrix G N’ It is obtained by encoding the 0th segment of the information bit sequence based on the above, The encoded data of the i-th segment is the Polar generation matrix G N’ Based on this, the i-th segment of the information bit sequence is encoded, and then obtained by performing an exclusive OR operation on the encoded data of the i-th segment and the encoded data of the 0th segment. The method according to claim 7.

9. A data processing method, The process involves receiving encoded data, which is obtained by individually encoding each of the m segments included in the information bit sequence based on an encoding matrix G, and the encoding matrix G is [Math 3] The coding matrix G has a size of (m × 2 n ) × (m × 2 n The matrix is ​​such that m and n are positive integers, and the matrix G N’ There are two sizes. n x2 n This is a polar generation matrix where each of the m segments is encoded using the polar generation matrix G N', and matrix O has a size of 2 n x2 n The fact that it is a total zero matrix, The above-mentioned encoded data is decoded to obtain the decoded data. A method of having.

10. The above-mentioned process of decrypting the encoded data and obtaining the decrypted data is, Obtain the marked data corresponding to the encoded data of the 0th segment and the marked data corresponding to the encoded data of the 1st segment, The process involves performing an F operation on the marked data corresponding to the encoded data of the 0th segment and the marked data corresponding to the encoded data of the 1st segment, thereby obtaining the marked data corresponding to the encoded data of the 1st segment after the F operation, wherein the F operation is a basic decoding operation of Polar codes using a predefined F function. Perform Polar code decoding on the marked data corresponding to the encoded data of the first segment after the F calculation to obtain the decoded data corresponding to the encoded data of the first segment, The G operation is performed on the marked data corresponding to the encoded data of the first segment and the decoded data corresponding to the encoded data of the first segment to enhance the marked data corresponding to the encoded data of the 0th segment, wherein the G operation is a basic decoding operation of Polar codes using a predefined G function. including, The method according to claim 9.

11. The aforementioned method, The objective is to obtain the marked data corresponding to the encoded data of the q-th segment, where q is 2 ≤ q ≤ m-1, and The process involves performing an F operation on the marked data corresponding to the encoded data of the q-th segment and the enhanced marked data corresponding to the encoded data of the 0th segment to obtain the marked data corresponding to the encoded data of the q-th segment after the F operation, wherein the F operation is a basic decoding operation of Polar codes using a predefined F function. Perform Polar code decoding on the marked data corresponding to the encoded data of the q-th segment after the F operation to obtain the decoded data corresponding to the encoded data of the q-th segment, The G operation is performed on the marked data corresponding to the encoded data of the q-th segment and the decoded data corresponding to the encoded data of the q-th segment to enhance the enhanced marked data corresponding to the encoded data of the 0th segment, wherein the G operation is a basic decoding operation of Polar codes using a predefined G function. It further has, The method according to claim 10.

12. A data processing method, Obtaining an information bit sequence containing m segments, Each segment is represented by the Polar generation matrix G of that segment. N’ The process involves using the Polar generation matrix G to obtain m buffered data, N’ There are two sizes. n x2 n The fact that it is a Polar generator matrix, Obtaining encoded data based on the aforementioned m buffered data, The transmission of the encoded data, The encoded data includes m segments, the encoded data of the 0th segment is the (m-1)th buffered data, the encoded data of the i-th segment is obtained by performing an exclusive OR operation on the j-th buffered data and the (m-1)th buffered data, where i satisfies 1 ≤ i ≤ m-1 and j satisfies 0 ≤ j ≤ m-2. method.

13. The number of information bits in the m segments is k. 0 ,k 1 , ..., k m-1 And, k 0 Hak m-1 Smaller than k 0 ≤k 1 ≦・・・≦k m-1 That is, The method according to claim 12.

14. The number of information bits in the i-th segment is k. i And i satisfies 0 ≤ i ≤ m-1, The method according to claim 13.

15. Obtaining the encoded data as described above is possible. encoding matrix [Math 4] This includes encoding the information bit sequence based on and obtaining the encoded data, G is the size (m x 2 n ) × (m × 2 n The matrix is ​​such that m and n are positive integers, and the matrix G N’ There are two sizes. n x2 n The Polar generation matrix is ​​such that matrix O has a size of 2 n x2 n This is a total zero matrix, The method according to claim 12.

16. A data processing method, Obtaining an information bit sequence containing m segments, Each segment is represented by the Polar generation matrix G of that segment. N’ By using this, the data is processed and encoded, The transmission of the encoded data, The Polar generation matrix G N’ There are two sizes. n x2 n This is a Polar generator matrix, The encoded data includes m segments, and the encoded data of the 0th segment is the Polar generation matrix G N’ Based on this, the 0th segment of the information bit sequence is obtained by encoding it, and the encoded data of the i-th segment is obtained from the Polar generation matrix G N’ Based on this, the i-th segment of the information bit sequence is encoded, and then obtained by performing an exclusive OR operation on the encoded data of the i-th segment and the encoded data of the 0th segment. method.

17. The number of information bits in the m segments is k. 0 ,k 1 , ..., k m-1 And, k 1 Hak 0 Smaller than k 1 ≦・・・≦k m-1 ≤k 0 That is, The method according to claim 16.

18. Obtaining the encoded data as described above is possible. encoding matrix [Math 5] This includes encoding the information bit sequence based on and obtaining the encoded data, G' is the size (m x 2 n ) × (m × 2 n The matrix is ​​such that m and n are positive integers, and the matrix G N’ There are two sizes. n x2 n The Polar generation matrix is ​​such that matrix O has a size of 2 n x2 n This is a total zero matrix, The method according to claim 16.