Data processing method, apparatus, and device

The new coding matrix for polar codes allows partial data processing and transmission, addressing inefficiencies in existing polar code encoding and decoding by reducing encoder and decoder sizes and enhancing processing efficiency.

JP2025529715AActive Publication Date: 2025-09-09HUAWEI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2025507233
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-08-08
Publication Date
2025-09-09
Estimated Expiration
2042-08-08

AI Technical Summary

Technical Problem

Existing polar code encoding and decoding processes require complete data before initiating the encoding or decoding process, leading to inefficiencies in encoder and decoder size and buffer requirements.

Method used

A new coding matrix for polar codes is designed to enable stream encoding and decoding by allowing partial information processing and transmission, reducing encoder and decoder sizes through segment-based encoding and interleaving operations.

Benefits of technology

Facilitates efficient stream encoding and decoding by enabling partial data processing, thereby reducing the size of the encoder and decoder buffers and improving processing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025529715000001_ABST
    Figure 2025529715000001_ABST
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] The present application relates to the field of communications technology, and in particular to data processing methods, apparatus and devices. [Background technology]

[0002] Polar code is a channel coding scheme that can be rigorously proven to "reach" the Shannon channel capacity. Polar code is characterized by excellent performance, low complexity, etc., and may be applied to 5th generation (5G) communication systems and future communication systems. Polar code is a linear block code, and encoded data can be generated by using an encoding matrix. Currently, the encoding matrix of Polar code determines that a device can start encoding or decoding only after receiving the complete data to be encoded or decoded. Summary of the Invention

[0003] The present application provides a data processing method, apparatus, and device, according to which a new coding matrix of a polar code is designed to implement stream encoding and / or stream decoding.

[0004] According to a 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 in which the terminal device is the executing entity and the terminal device is the encoding side is used. The terminal device obtains 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 coding matrix G of the Polar code is designed. When a terminal device uses the coding 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 and transmit the encoded data to implement stream encoding, which helps to 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, which makes stream decoding easier.

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

[0007] According to the method, the information bit sequence may alternatively be divided into m segments and a modulo 2 multiplication operation is performed on 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 and k0 is k m-1 is smaller than k0≦k1≦ ≦ k m-1 is.

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

[0010] According to the method, the number of information bits in every segment is different and varies according to certain quantity rules.

[0011] In a possible implementation, m buffered data are obtained, and the j-th buffered data is stored in the matrix G N’ 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, and the encoded data of the ith segment is obtained by performing an exclusive OR operation on the jth 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, then the coded data of the i-th segment is transmitted subsequently, where 0≦i≦m-1.

[0013] According to the method, after the information bits in the m segments are converted into m buffered data, the coded data are transmitted in a particular order.

[0014] In a possible implementation, a column-based transformation is performed on the encoding matrix G, and the transformed encoding matrix G′ is

number

[0015] According to the method, a column-based transformation is performed on the encoding matrix G, so that the terminal device uses the transformed encoding matrix G′ to encode the information bits to be encoded, and stream encoding can also be implemented, which helps to reduce the size of the encoder and buffer of the terminal device.

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

[0017] According to the method, all segments contain different numbers of information bits. It is assumed that the first k0 received information bits have the largest number (i.e., the 0th segment has the largest amount of information bits), and the encoder encodes the remaining m-1 segments individually based on the encoded data corresponding to the first k0 received information bits to facilitate stream encoding.

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

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

[0020] According to a second aspect, the present application provides a second data processing method. The data processing method can be executed by a terminal device or a network device. An example in which the terminal device is the executing entity and the terminal device is the encoding side is used. The terminal device obtains an information bit sequence, the information bit sequence includes m segments, and each segment is divided into a polar generator matrix G N’ and process it by using N’ is size 2 n ×2 n is a Polar generator matrix where m is the number of segments. Then, the terminal device obtains and transmits coded data based on the m buffered data. The coded data includes m segments, the coded data of the 0th segment is the (m-1)th buffered data, and the coded data of the i-th segment is obtained by performing an exclusive OR operation on the jth 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 coded into m segments, each of which has a size of 2 n ×2 n Encoding and information interleaving is performed for each segment by using a Polar generator matrix, where ∇ ...

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

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

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

number

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

[0026] According to a third aspect, the present application provides a third data processing method. The data processing method can be executed by a terminal device or a network device. An example in which the terminal device is the executing entity and the terminal device is the encoding side is used. The terminal device obtains an information bit sequence, the information bit sequence includes m segments, and each segment is divided into a polar generator matrix G N’ The encoded data is then processed using the matrix G N’ is size 2 n ×2 n is a polar generator matrix, and the encoded data includes m segments. The encoded data of the 0th segment is the matrix G N’ is obtained by encoding the 0-th segment of the information bit sequence based on the matrix G N’and then performing an exclusive OR operation on the coded data of the i-th segment and the coded data of the 0-th segment.

[0027] According to the method, the terminal device divides the information bit sequence to be coded into m segments, each of which has a size of 2 n ×2 n Encoding and information interleaving is performed for each segment by using a Polar generator matrix, where: 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), reducing the size of the encoder and buffer.

[0028] In a possible implementation, the number of information bits in the m segments is k0, k1, . . . , k m-1 and 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 and i satisfies 0≦i≦m−1.

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

number

[0031] According to the method, an encoding matrix based on a Polar generator matrix is ​​designed, which is similar to constructing a combination matrix of Polar generator matrices, and facilitates stream encoding with the encoding matrix G′.

[0032] It should be noted that the methods of the first to third aspects may alternatively be performed by a network device, in which case the network device is the encoding side and the terminal device is the decoding side.

[0033] According to a 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 in which the network device is the executing entity and the network device is the decoding end is used. The network device receives coded data and decodes the coded data to obtain decoded data. The coded data is obtained by encoding an information bit sequence based on a coding matrix G, where the coding 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, so that after receiving the encoded data, the decoding side can support decoding of a part of the information after receiving the part of the information in the decoding process, thereby reducing the size of the decoder.

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

[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 coding and 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 may include the last N' columns of the encoding matrix G, or the encoded data of the 0th segment may include the first (m-1)×2 columns of the encoding matrix G. n Column and last 2 n It should be noted that the encoded data of the first segment includes the first N' columns of the encoding matrix G' obtained by performing elementary column transformations on the columns. The encoded data of the first segment includes the first N' columns of the encoding matrix G, or the encoded data of the first segment includes the first N'+1 columns to the first N' x 2 columns of the encoding matrix G'.

[0037] According to the method, the network device performs stream decoding by performing decoding based on the encoded data of the first received 0th segment and the encoded data of the adjacent 1st segment, and further enhances the encoded data of the 0th segment, thereby facilitating stream decoding based on the enhanced encoded data of the 0th segment in a subsequent decoding process.

[0038] In a possible implementation, the network device obtains marked data corresponding to the encoded data of the qth segment, where q is 2≦q≦m−1, performs an F operation on the marked data corresponding to the encoded data of the qth segment and enhanced marked data corresponding to the encoded data of the 0th segment to obtain marked data corresponding to the encoded data of the qth segment after the F operation, performs polar code decoding on the marked data corresponding to the encoded data of the qth segment after the F operation to obtain decoded data corresponding to the encoded data of the qth 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 qth segment and the decoded data corresponding to the encoded data of the qth segment.

[0039] According to the method, the coded data of the 2nd segment to the coded data of the (m-1)th segment are decoded by using the same method. Furthermore, when decoding is performed, the marked data corresponding to the coded data of the 0th segment are continuously enhanced, which makes the stream decoding easier.

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

[0041] According to a fifth aspect, an embodiment of the present application provides a data processing apparatus. The data processing apparatus may be a terminal device, or may be an apparatus within a terminal device, or may be an apparatus that can be used with a terminal device. In design, the data processing apparatus may include modules corresponding one-to-one to perform the 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 may be implemented by a combination of hardware circuits and software. In design, the data processing apparatus may include a processing unit and a communication unit.

[0042] For a specific description of the method / operation / step / action performed by the terminal device, please refer to the corresponding description in the first to third aspects or any one of the possible implementations of the first to third aspects. The details will not be described again here. It can be understood that the data processing device can also achieve the effects that can be achieved in the first to third aspects.

[0043] According to a sixth aspect, an embodiment of the present application provides a data processing apparatus. The data processing apparatus may be a network device, or may be a device within a network device, or may be a device that can be used in conjunction with a network device. In design, the data processing apparatus may include modules that correspond one-to-one to perform the 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 may be implemented by a combination of hardware circuits and software. In design, the data processing apparatus may include a processing unit and a communication unit.

[0044] For a specific description of the methods / operations / steps / actions performed by the network device, please refer to the corresponding description in the fourth aspect or any one of the possible implementations of the fourth aspect. The details will not be described again here. It can be understood that the data processing device can also achieve the effects that can be achieved in the fourth aspect.

[0045] According to a seventh aspect, an embodiment of the present application provides a communication device. The communication device includes an input / output interface and a logic circuit. The input / output interface is configured to input or output data. The logic circuit processes the data according to the method of any one of the first to third aspects or possible implementations of the first to third aspects to obtain processed data.

[0046] According to an eighth aspect, an embodiment of the present application provides a communication device. The communication device includes an input / output interface and a logic circuit. The input / output interface is configured to input or output data. The logic circuit processes the data according to the method of the fourth aspect or any one of the possible implementations of the fourth aspect to obtain processed data.

[0047] According to a ninth aspect, an embodiment of the present application provides a terminal device including a processor, the processor coupled to a memory, the memory configured to store instructions, and when the instructions are executed by the processor, the terminal device is capable of performing a method in any one of the first to third aspects or possible implementations of the first to third aspects.

[0048] According to a tenth aspect, an embodiment of the present application provides a network device including a processor, the processor coupled to a memory, the memory configured to store instructions, and when the instructions are executed by the processor, the terminal device is capable of performing the method of the fourth aspect or any one of the possible implementations of the fourth aspect.

[0049] According to an eleventh aspect, an embodiment of the present application provides a communication system. The communication system includes a transmitting end and a receiving end. The transmitting end is configured to perform the functions 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 the functions of the method in the fourth aspect or any one of the possible implementations of the fourth aspect. Optionally, the communication system may include a data processing device as described in the fifth and sixth aspects, or a communication device as described in the seventh and eighth aspects, or a device as described in the ninth and tenth aspects.

[0050] According to a twelfth aspect, an embodiment of the present application further provides a computer-readable storage medium having stored thereon instructions that, when executed by a computer, cause the computer to perform the method of any one of the first to fourth aspects or possible implementations of the first to fourth aspects.

[0051] According to a thirteenth aspect, an embodiment of the present application provides a chip system. The chip system includes a processor and may further include a memory configured to perform functions 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 may include a chip and other discrete components.

[0052] According to a fourteenth aspect, embodiments of the present application further provide a computer program product comprising instructions that, when executed on a computer, enable the computer to perform the method of any one of the first to fourth aspects or possible implementations of the first to fourth aspects. [Brief explanation of the drawings]

[0053] [Figure 1] 1 is a diagram of a communication system in accordance with the present application; [Figure 2] This is a diagram of encoding an 8x8 polar code. [Figure 3] 1 is a schematic flow chart of a data processing method according to the present application; [Figure 4] FIG. 1 is a diagram of stream encoding to support stream decoding in accordance with the present application. [Figure 5] FIG. 1 is a diagram of stream encoding according to the present application. [Figure 6] 4 is a schematic flow chart of another data processing method according to the present application; [Figure 7] FIG. 1 is a diagram of data decoding according to the present application. [Figure 8] FIG. 1 is a performance analysis diagram of a data processing method according to the present application. [Figure 9] 1 is a diagram of an apparatus according to the present application; [Figure 10] 1 is a diagram of a communication device according to the present application. DETAILED DESCRIPTION OF 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 the existence of three relationships between related objects. For example, A and / or B may represent the following three cases: only A exists, both A and B exist, and only B exists. Here, A and B may be singular or plural. 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 having the same or similar characteristics. Terms such as "first" and "second" do not limit the quantity and the order of execution, and terms such as "first" and "second" do not limit clear differences. In this application, terms such as "example" or "for example" are used to represent an example, instance, or description. Any embodiment or design scheme described as an "example" or "for example" should not be described as preferred or having more advantages than other embodiments or design schemes. Terms such as "example" or "for example" are used to present relevant concepts concretely for ease of understanding.

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

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

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

[0058] A network device may be a device capable of communicating with a terminal device. The 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, a 3G base station NodeB in a wideband code division multiple access (WCDMA) system, or an evolutionary NodeB (eNB or eNodeB for short) in a long term evolution (LTE) system. Alternatively, the network device may be a satellite in a satellite communication system. Alternatively, the network device may be a radio controller in a cloud radio access network (CRAN) scenario. Alternatively, the network device may be a network device in a 5G network or a network device (e.g., gNodeB) in a future evolved public land mobile network (PLMN) network. The network device may alternatively be a wearable device, an unmanned aerial vehicle, a device in the Internet of Vehicles (e.g., a vehicle-to-everything (V2X) device), a communication device in device-to-device (D2D) communication, or a network device used in future communication systems.

[0059] A terminal device may be user equipment (UE), access terminal, terminal unit, terminal station, mobile station, remote station, remote terminal, mobile device, terminal, wireless communication device, terminal agent, terminal equipment, etc. An 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, other processing device connected to a wireless modem, a wearable device, an unmanned aerial vehicle, a V2X device, a D2D device, a terminal device in a 5G network, a terminal device in a future evolved PLMN network, a terminal device in a future communication system, etc.

[0060] It can be understood that the present application is a coding scheme and may be used in dedicated network devices or general-purpose devices, or in network devices, or in various terminal devices, etc. The present application may be implemented by a dedicated chip (e.g., an application-specific integrated circuit (ASIC)), or 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 in the present application.

[0061] (1) Related concepts of the present application 1.Polar code: Polar codes are channel coding schemes that can be rigorously proven to reach channel capacity. Polar codes are characterized by excellent performance, low complexity, and flexible matching methods. Currently, Polar codes are being selected as the uplink and / or downlink control channel coding scheme for 5th generation (5G) control channel enhanced mobile broadband (eMBB) scenarios.

[0062] For example, Figure 2 illustrates the encoding of an 8x8 Polar code. The bits to be encoded are sorted based on their reliability and subsequently placed in different positions within the block to be encoded. Generally, highly 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 and are set as information bits, respectively, and u4, u2, u1, and u0 are the four less reliable bits and are set as frozen bits, respectively.

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

number

number

number

number

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

number

number

[0065] In other words, if the encoding matrix G is considered as an m×m matrix, each element in the matrix is ​​2 n ×2 n and each element on the diagonal of the matrix is ​​a matrix G N’ and each element at the bottom of the matrix is ​​a matrix G N’ and the elements other than the diagonal and bottom elements are matrix O.

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

number

[0067] 3. Another encoding matrix G' given in this application: A column-based transformation can be performed on the encoding matrix G, and the transformed encoding matrix

number

number

[0068] 4.F operation: The F-operation is the basic decoding operation of Polar codes, and a predefined F-function is used for the 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 the basic decoding operation of Polar codes, and a predefined G function is used for the process. The inputs of the G function are L0, L1, and a feedback value B, and the G function is g(L0, L1, B) = (B == 0)?L1 + L0:L1 - L0.

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

[0071] S101: Obtain an information bit sequence.

[0072] The information bit sequence includes multiple information bits to be coded. For example, the information bit sequence is {a0, a1, a2, . . . , a k-1}, where one element in the information bit sequence represents one bit to be coded. The length of the information bit sequence does not have to be a specific code length (for example, the length can be m × 2 n (Not necessarily), the information bit sequence is such that the length of the coded data obtained by coding the information bit sequence is N'=m×2n It can be understood that the .lamda.

[0073] It may be further understood that the bits to be coded in the present application may further include cyclic redundancy check (CRC) bits and / or parity check (PC) bits, and may further involve operations such as scrambling some or all of the bits. Since this is irrelevant to the essence of the solution of the present application, the bits to be coded will be used in a unified description. Details will not be described here.

[0074] S102: Encode the information bit sequence based on the encoding matrix G to obtain encoded data.

[0075] For the description of the encoding matrix G, please refer to the related concepts above. The details will not be described again here. The following describes the encoding process by 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, i.e., the information bit sequence includes m segments, and the polar generator matrix of each segment is G N’ The length of each segment is 2 n In this case, modulo 2 multiplication is performed for each segment and size is 2. n ×2 n Polar generator matrix G N’, and information interleaving can be performed between the segments to obtain coded data. Specifically, this implementation includes two cases in which an information bit sequence is coded to obtain coded data.

[0077] Case 1: The number of information bits in m segments is k0, k1, . . . , k m-1 and k0 is k m-1 is smaller than k0≦k1≦ ≦ k m-1 is.

[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 largest number of information bits). In this case, the encoding process includes the following steps: We get m buffered data, and the jth buffered data is stored in the matrix G N’ 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 coded data of the 0th segment is the (m-1)th buffered data, The coded 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.

[0079] For example, the terminal device first calculates the matrix G N’to obtain m buffered data, and then perform an exclusive-OR operation (e.g., a modulo-2 addition operation) on the (m-1)th buffered data and the first m-2 buffered data individually to obtain encoded data.

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

[0081] Case 2: The number of information bits in m segments is k0, k1, . . . , k m-1 and 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 contains the largest number of information bits). In this case, the coded data includes m segments, and the coded data of the 0th segment is represented by the matrix G N’ is obtained by encoding the 0-th segment of the information bit sequence based on the matrix G N’ and then performing an exclusive OR operation on the coded data of the i-th segment and the coded data of the 0-th segment.

[0083] For example, the terminal device first calculates the matrix G N’to obtain the coded data of the 0th segment, and then perform a modulo-2 multiplication operation on the 0th segment of the information bit sequence by using the matrix G N’ and perform an exclusive-OR operation (e.g., a modulo-2 addition operation) on the result of the operation and the coded data of the 0th segment to obtain coded data of the 1st segment, and so on until coded data of the (m-1)th segment is obtained. It can be understood that the above coding process can be considered as a stream coding process, that is, the encoder receives data to be coded while encoding the received data to be coded, and then transmits the coded data.

[0084] Optionally, the encoding matrix G′ corresponding to the encoding process described in case 2 is obtained by performing a column-elementary transformation on the encoding matrix G, where:

number

[0085] S103: Transmit the encoded data.

[0086] If the encoding procedure described in S102 is capable of performing stream encoding (e.g., case 2 described in S102), after completing a segment of encoded data, the terminal device may transmit that segment of encoded data and does not need to wait for all bits in the information bit sequence to be encoded before transmitting all of the encoded data. If the encoding procedure described in S102 is designed to perform stream decoding (e.g., case 1 described in S102), the terminal device transmits all of the encoded data after all bits in the information bit sequence have been encoded.

[0087] It can be seen that in the data processing method provided in this application, a new encoding matrix G of the Polar code is designed. When a terminal device encodes information bits to be encoded by using the encoding matrix G, after receiving a portion of the information bits in the encoding process, the terminal device can encode the portion of the information bits and transmit the encoded data to implement stream encoding, which helps to reduce the size of the encoder and buffer of the terminal device. Furthermore, the information bits to be encoded are encoded by using the encoding matrix to obtain the encoded data, which makes stream decoding easier.

[0088] 2. Stream encoding process that supports stream decoding FIG. 4 is a diagram of stream coding that supports stream decoding according to the present application. The information bit sequence is {a0, a1, a2, . . . , a k-1}, where one element in the information bit sequence represents one bit to be coded. The information bit sequence is divided into m segments, each of which contains k i information bits are assigned. N’ To obtain the k0 initially received information bits {a0, a1, a2, , a k0-1}, a freeze bit is inserted, and y0 N’ To get u0N’ and matrix G N’ A modulo 2 multiplication operation is performed on y0 N’ is held in a buffer. N’ ~y m-1 N’ can be obtained by using the same processing procedure for k0 information bits, and y1 N’ ~y m-1 N’ is held in a buffer.

[0089] In addition, y1 N’ ~y m-1 N’ The order of sending is as follows: First, y m-1 N’ x m-1 N’ are assigned to and transmitted. Then, exclusive OR y0 N’ and y m-1 N’ is executed and x0 N’ is obtained and sent. Then, exclusive OR with y1 N’ and y m-1 N’ Executes x1 N’ is obtained and sent. By analogy, exclusive OR is y m-2 N’ and y m-1 N’ is executed and x m-2 N’ is obtained and sent.

[0090] After the above transmissions are completed, the stream encoding process is complete.

[0091] 3. Procedures supporting stream encoding FIG. 5 is a diagram of stream coding according to the present application. The information bit sequence is {a0, a1, a2, . . . , a k-1}, where one element in the information bit sequence represents one bit to be coded. The information bit sequence is divided into m segments, each of which contains k i information bits are assigned. N’ To obtain the k0 initially received information bits {a0, a1, a2, , a k0-1}, a freeze bit is inserted, and y0 N’ To get u0 N’ and matrix G N’ A modulo 2 multiplication operation is performed on y0 N’ is held in a buffer, and y0 N’ x0 N’ are assigned to and transmitted.

[0092] u1 N’ To obtain k information bits {a k0 ,a k0+1 ,a k0+2 ,···,a k0+k1-1}, a freeze bit is inserted, and y1 N’ To get u1 N’ and matrix G N’ A modulo 2 multiplication operation is performed on y0. N’ is taken from the buffer and x1 N’ To get y1 N’ and y0 N’ Exclusive OR is performed on x1 N’ is sent. x2 N’ ~x m-1 N’ can be obtained and transmitted by using the same processing procedure for the k information bits. m-1 N’ a is sent and y0 is in the buffer. N’ is deleted and the stream encoding process is complete.

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

[0094] S201: Receive encoded data, where the encoded data is obtained by encoding an information bit sequence based on an encoding matrix G.

[0095] For descriptions 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 descriptions in Part 2. The details will not be described again 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 can be obtained by coding the information bit sequence in the manner described in case 1 of S102.

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

[0097] The process of decoding the encoded data is a stream decoding procedure. The terminal device may first 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 information in the decoding process, the terminal device can decode that portion of information. Specifically, the following steps may be included:

[0098] s11: Obtain marked data corresponding to the coded data of the 0th segment and the marked data of the coded data of the 1st segment.

[0099] s12: Perform 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 the marked data corresponding to the encoded data of the 1st segment after F operation.

[0100] s13: Perform polar code decoding on the marked data corresponding to the coded data of the first segment after the F operation to obtain decoded data corresponding to the coded data of the first segment.

[0101] s14: Based on the marked data corresponding to the coded data of the 1st segment and the decoded data corresponding to the coded data of the 1st segment, the marked data corresponding to the coded data of the 0th segment is enhanced.

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

[0103] For a method of performing polar code decoding on the marked data corresponding to the coded data of the first segment after the F operation, please refer to existing polar code decoding schemes. This is not limited in the present application. To enhance the marked data corresponding to the coded data of the 0th segment and facilitate stream decoding based on the enhanced coded data of the 0th segment in the subsequent decoding process, the LLR of the coded data of the 0th segment, the LLR of the coded data of the 1st segment, and the decoded data corresponding to the coded data of the 1st segment are used as inputs of the G function. For a description of the G function, please refer to the above description. The details will not be described again here.

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

[0105] Furthermore, for each segment of encoded data subsequently received, the processing method is similar to that of s11 to S14 and may include the following steps:

[0106] s15: Obtain marked data corresponding to the coded data of the qth segment, where q is in the range of 2≦q≦m−1.

[0107] s16: Perform F operation on the marked data corresponding to the encoded data of the qth 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 qth segment after F operation.

[0108] s17: Perform polar code decoding on the marked data corresponding to the coded data of the qth segment after the F operation to obtain decoded data corresponding to the coded data of the qth segment.

[0109] s18: Based on the marked data corresponding to the encoded data of the qth segment and the decoded data corresponding to the encoded data of the qth segment, enhance the enhanced marked data corresponding to the encoded data of the 0th segment.

[0110] For example, the 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 to obtain the marked data corresponding to the encoded data of the second segment after the F operation, the polar code decoding is performed on the marked data corresponding to the encoded data of the second segment after the F operation to obtain the decoded data corresponding to the encoded data of the second segment, and the 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 to obtain the marked data corresponding to the encoded data of the 0th segment after the secondary enhancement. For specific implementations of the above steps, please refer to the specific implementations corresponding to s11 to s14. Details will not be described again here.

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

[0112] 2. Specific example of stream decoding procedure FIG. 7 is a diagram of stream decoding according to the present application. The coded data of the 0th segment (length is N'=2 n When the (m-1)-th buffered data is received, based on the description in the above embodiment, the coded data of the 0-th segment is the (m-1)-th buffered data, and the coded data of the 0-th segment is L m-1 N’ It is marked as L and buffered. m-1 N’is the x for sending data m-1 N’ is the LLR of x m-1 N’ for the transmission described in Section 3 of Part 2 m-1 N’ x is assigned m-1 N’ is.

[0113] Encoded data of the first segment (length is N'=2 n When the first segment is received, the coded data of the first segment is the 0th buffered data, and the coded data of the first segment is L0 N’ and marked

number

number

number

number

[0114] Encoded data of the second segment (length is N'=2 nWhen the second segment of data 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’ and marked

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 code lengths of N'={128, 512, 2048} and code rate of R=1 / 8. The abscissa of the performance analysis diagram is EsN0, which indicates the ratio of the energy of each symbol to the noise power spectral density, and the ordinate is the block error rate (BLER) used to measure system performance testing. By using the stream decoding procedure described in Part 3, the decoder can start decoding only after receiving two segments of coded data (i.e., N'×2 LLRs). 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 that 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 with diamond-shaped symbols, the first dashed line with diamond-shaped symbols, and the second dashed line with diamond-shaped symbols are the decoding performance comparisons for 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 method is the existing polar code decoding or the stream decoding provided in this application. For example, the first dashed line including diamond-shaped symbols indicates the decoding performance when the transmission length E=512, the decoder size is 512, the number of information bits K=64, and existing polar code decoding is used; the solid line including diamond-shaped symbols indicates the decoding performance when the transmission length E=512, the decoder size is 256, the number of information bits K=64, and stream decoding is used; and the second dashed line including diamond-shaped symbols indicates the decoding performance when the transmission length E=512, the decoder size is 256, the number of information bits K=64, and existing polar code decoding is used. As can be seen from the comparison of the first group, for the same EsN0, the decoding performance of stream decoding is worse than the decoding performance of a conventional polar code with a larger decoder (i.e., a longer code length); however, the decoder used on the decoding side of 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 better than that of ordinary polar codes.

[0119] Group 2: The solid line with square symbols, the first dashed line with square symbols, and the second dashed line with square symbols are the decoding performance comparisons for 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 method is the existing polar code decoding or the stream decoding provided in this application. For example, the first dashed line including square symbols indicates the decoding performance when the transmission length E=2048, the decoder size is 2048, the number of information bits K=256, and existing polar code decoding is used; the solid line including square symbols indicates the decoding performance when the transmission length E=2048, the decoder size is 1024, the number of information bits K=256, and stream decoding is used; and the second dashed line including square symbols indicates the decoding performance when the transmission length E=2048, the decoder size is 2048, the number of information bits K=256, and 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 worse than the decoding performance of a conventional polar code with a larger decoder (i.e., a longer code length); however, the decoder used on the decoding side of 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 better than that of ordinary polar codes.

[0120] Third group: The solid line with an asterisk symbol, the first dashed line with an asterisk, and the second dashed line with an asterisk are the decoding performance comparisons of the second group. 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 the existing polar code decoding or the stream decoding provided in this application. For example, the first dashed line with square symbols indicates 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 with asterisks indicates 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 with asterisks indicates 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. As can be seen from the comparison of the third group, for the same EsN0, the decoding performance of stream decoding is worse than the decoding performance of a conventional polar code with a larger decoder (i.e., a longer code length). However, the decoder used on the decoding side of 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 better than that of ordinary polar codes.

[0121] To implement the functions of the methods provided herein, the apparatus or device provided herein may include a hardware structure and / or a software module, and may implement the functions in the form of a hardware structure, a software module, or a combination of a hardware structure and a software module. Whether a function among the functions described above is implemented using a hardware structure, a software module, or a combination of a hardware structure and a software module depends on the specific application and design constraints of the technical solution. The division into modules in this application is an example and is merely a logical division of functions. In actual implementation, other division modes may be used. Furthermore, the functional modules in the embodiments of this application may be integrated into one processor or may exist physically alone, or two or more modules may be integrated into one module. The integrated module may be implemented in the form of hardware or a software functional module.

[0122] 9 is a diagram of an apparatus according to the present application. The apparatus may include modules corresponding to one another for performing the methods / operations / steps / actions described in the corresponding method embodiments of FIGS. 3 through 7. The modules may be 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 communications apparatus.

[0123] The apparatus includes a communication unit 901 and a processing unit 902 configured to implement the methods performed by the terminal device or the network device in the above embodiments.

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

number

[0125] Arbitrarily, the information bit sequence contains m segments, and the Polar generator matrix of each segment is G N’ is.

[0126] Arbitrarily, the number of information bits in m segments is k0,k1,...,k m-1 and k0 is k m-1 is smaller than k0≦k1≦ ≦ k m-1 is.

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

[0128] Optionally, the processing unit 902 is configured to obtain m buffered data, and the j-th buffered data is stored in a matrix G N’ the coded data includes m segments, the coded data of the 0th segment is the (m-1)th buffered data, and the coded data of the i-th segment is obtained by performing an exclusive OR operation on the jth 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 subsequently transmit the encoded data of the i-th segment, where 0≦i≦m-1.

[0130] Optionally, the processing unit 902 performs a column-based transformation on the encoding matrix G, such that the transformed encoding matrix G′ is

number

[0131] Arbitrarily, the number of information bits in m segments is k0,k1,...,k m-1 and k1 is smaller than k0, and k1≦ ≦ k m-1 ≦k0.

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

[0133] For specific execution procedures of the communication unit 901 and the processing unit 902 in this implementation, please refer to the descriptions in the method embodiments corresponding to Figures 3 to 7. The details will not be described again here. In the data processing method implemented by the apparatus, a new encoding matrix G of a Polar code is designed. When a terminal device encodes information bits to be encoded by using the encoding matrix G, after receiving a portion of the information bits in the encoding process, the terminal device can encode the portion of the information bits and transmit the encoded data to perform stream encoding, which can help reduce the size of the encoder and buffer of the terminal device. Furthermore, the information bits to be encoded are encoded by using the encoding matrix to obtain the encoded data, which makes stream decoding easier.

[0134] In another possible implementation, the processing unit 902 may obtain an information bit sequence, the information bit sequence including m segments, and may further include each segment in a polar generator matrix G N’ to obtain m buffered data by using a matrix G N’ is size 2 n ×2 n where m is a polar generator matrix. The processing unit 902 is further configured to obtain coded data based on the m buffered data. The coded data includes m segments, the coded data of the 0th segment is the (m-1)th buffered data, and the coded data of the i-th segment is obtained by performing an exclusive OR operation on the jth 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 coded data.

[0135] Arbitrarily, the number of information bits in m segments is k0,k1,...,k m-1 and k0 is km-1 is smaller than k0≦k1≦ ≦ k m-1 is.

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

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

number

[0138] For the specific execution procedures of the communication unit 901 and the processing unit 902 in this implementation, please refer to the descriptions in the method embodiments corresponding to Figures 3 to 7. The details will not be described again here. In the data processing method implemented by the device, the information bit sequence to be coded is divided into m segments, and coding and information interleaving are performed in 2 n ×2 n This is performed for each segment by using a Polar generator matrix with size ∑ ∑ m ∑ ∑ m ∑ n ...

[0139] In another possible implementation, the processing unit 902 may obtain an information bit sequence, the information bit sequence including m segments, and may further include each segment in a polar generator matrix G N’to obtain the encoded data by using the matrix G N’ is size 2 n ×2 n is a polar generator matrix, and the encoded data includes m segments. The encoded data of the 0th segment is the matrix G N’ is obtained by encoding the 0-th segment of the information bit sequence based on the matrix G N’ and then performing an exclusive-OR operation on the coded data of the i-th segment and the coded data of the 0-th segment. The communication unit 901 is configured to transmit the coded data.

[0140] Arbitrarily, the number of information bits in m segments is k0,k1,...,k m-1 and 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 and i satisfies 0≦i≦m−1.

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

number

[0143] For the specific execution procedures of the communication unit 901 and the processing unit 902 in this implementation, please refer to the descriptions in the method embodiments corresponding to Figures 3 to 7. The details will not be described again here. In the data processing method implemented by the device, the information bit sequence to be coded is divided into m segments, and coding and information interleaving are performed in 2 n ×2 n This is performed for each segment by using a Polar generator matrix having a size of ∑ m ...

[0144] 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, where the encoded data is obtained by encoding an information bit sequence based on an encoding matrix G, where the encoding 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 according to 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 qth segment, where q is 2≦q≦m−1, perform an F operation on the marked data corresponding to the encoded data of the qth 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 qth segment after the F operation, perform polar code decoding on the marked data corresponding to the encoded data of the qth segment after the F operation, to obtain decoded data corresponding to the encoded data of the qth segment, and enhance the enhanced marked data corresponding to the encoded data of the 0th segment according to the marked data corresponding to the encoded data of the qth segment and the decoded data corresponding to the encoded data of the qth segment.

[0147] For specific execution procedures of the communication unit 901 and the processing unit 902 in this implementation, please refer to the descriptions in the method embodiments corresponding to Figures 3 to 7. The details will not be described again here. In the data processing method implemented by the device, decoding of a portion of information is supported in the decoding process after the portion of information is received, which can reduce the size of the decoder.

[0148] The following describes a device including multiple functional units shown in Fig. 9. The device of the present application includes multiple 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 may 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 receiving and transmitting functions. The communication interface 1001 is configured to communicate with other devices over a transmission medium, thereby allowing the device 1000 to communicate with other devices. The processor 1002 is configured to perform processing-related operations.

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

number

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

[0152] In another possible implementation, the processor 1002 may obtain an information bit sequence, the information bit sequence including m segments, and may further include each segment in a polar generator matrix G N’ to obtain m buffered data by using a matrix G N’ is size 2 n ×2 nwhere m is a polar generator matrix. The processor 1002 is further configured to obtain coded data based on the m buffered data. The coded data includes m segments, the coded data of the 0th segment is the (m-1)th buffered data, and the coded data of the i-th segment is obtained by performing an exclusive OR operation on the jth 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 coded data.

[0153] For the specific execution procedures of the communication interface 1001 and the processor 1002 in this implementation, please refer to the descriptions in the method embodiments corresponding to Figures 3 to 7. The details will not be described again here. In the data processing method implemented by the communication device, the information bit sequence to be coded is divided into m segments, and coding and information interleaving are performed in 2 n ×2 n This is performed for each segment by using a Polar generator matrix with size ∑ ∑ m ∑ ∑ m ∑ n ...

[0154] In another possible implementation, the processor 1002 may obtain an information bit sequence, the information bit sequence including m segments, and may further include each segment in a polar generator matrix G N’ to obtain the encoded data by using the matrix G N’ is size 2 n ×2 n is a polar generator matrix, and the encoded data includes m segments. The encoded data of the 0th segment is the matrix G N’ is obtained by encoding the 0-th segment of the information bit sequence based on the matrix G N’and then performing an exclusive-OR operation on the coded data of the i-th segment and the coded data of the 0-th segment. The communication interface 1001 is configured to transmit the coded data.

[0155] For the specific execution procedures of the communication interface 1001 and the processor 1002 in this implementation, please refer to the descriptions in the method embodiments corresponding to Figures 3 to 7. The details will not be described again here. In the data processing method implemented by the communication device, the information bit sequence to be coded is divided into m segments, and coding and information interleaving are performed in 2 n ×2 n This is performed for each segment by using a Polar generator matrix having a size of ∑ m ...

[0156] 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 being obtained by encoding an information bit sequence based on an encoding matrix G, where the encoding matrix G is

number

[0157] For specific execution procedures of the communication interface 1001 and the processor 1002 in this implementation, please refer to the descriptions in the method embodiments corresponding to Figures 3 to 7. The details will not be described again here. In the data processing method implemented by the communication device, decoding of a portion of information is supported in the decoding process after the portion of information is 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 an implementation, the memory is coupled to the processor. A 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 the 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] This application does not limit the specific communication medium between the communication interface, the processor, and the memory. For example, the memory, the processor, and the communication interface are connected by a bus. The bus 1004 is represented by a bold line in FIG. 10. The manner of connection between other components is merely an example for explanation and is not to be construed as limiting. The bus may be classified as an address bus, a data bus, a control bus, etc. For ease of representation, only one bold line is used to represent a bus in FIG. 10, and this does not mean that there is only one bus or one type of bus.

[0160] 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, capable of implementing or performing the methods, steps, and logic block diagrams disclosed herein. A general-purpose processor may be a microprocessor, any conventional processor, etc. The steps of the methods disclosed herein may be performed directly by a hardware processor, or may be performed 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 is any medium that can carry or store expected program code in the form of instruction structures or data structures and that is accessible by a computer, but is not limited to such. Alternatively, memory in this application may be a circuit or any other device capable of implementing a storage function and configured to store program instructions and / or data.

[0162] The present application provides a communication device. The communication device includes an input / output interface and a logic circuit. The input / output interface is configured to input or output data. The logic circuit processes the data according to the method of the embodiment corresponding to Figures 3 to 7 to obtain processed data. The present application provides a communication device. The communication device includes an input / output interface and a logic circuit. The input / output interface is configured to input or output data. The logic circuit processes the data according to the method of the embodiment corresponding to Figures 3 to 7 to obtain processed data.

[0163] The present application provides a communication system, which includes a terminal device and a network device in an embodiment corresponding to Figures 3 to 7.

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

[0165] The present application provides a computer program product, which includes instructions, which, when executed by a computer, enable the computer to perform the data processing methods in the embodiments corresponding to Figures 3 to 7.

[0166] 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 a line. The at least one processor is configured to execute computer programs or instructions to perform the data processing methods in the embodiments corresponding to Figures 3 to 7.

[0167] The interface within the chip may be an input / output interface, a pin, a circuit, or the like.

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

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

[0170] All or part of the technical solutions provided in this application may be implemented by using software, hardware, firmware, or any combination thereof. When software is used to implement the embodiments, all or part of the embodiments may be implemented 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 into a computer and executed, the procedures or functions according to this application are generated in whole or in part. The computer may 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 may be stored in a computer-readable storage medium or transmitted from a computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website, computer, server, or data center to another website, computer, server, or data center via a wired (e.g., coaxial cable, optical fiber, or digital subscriber line (DSL)) or wireless (e.g., infrared, radio wave, or microwave) transmission. The computer-readable storage medium may be any available medium accessible by a computer or a data storage device, such as a server or data center, incorporating one or more available media. The media available may be magnetic media (eg, floppy disk, hard disk, or magnetic tape), optical media (eg, digital video disc (DVD)), semiconductor media, and the like.

[0171] In this application, embodiments may be cross-referenced, provided that no logical contradiction exists. For example, methods and / or terms in method embodiments may be cross-referenced. For example, functions and / or terms in device embodiments may be cross-referenced. For example, functions and / or terms in device and method embodiments may be cross-referenced.

[0172] It is obvious that a person skilled in the art can make various modifications and variations to the present application without departing from the scope of the present application, and the present application intends to cover these modifications and variations, provided that they fall within the scope of protection defined by the following claims and their equivalents.

Claims

1. 1. A data processing method comprising: obtaining an information bit sequence; encoding the information bit sequence according to an encoding matrix G to obtain encoded data, wherein the encoding matrix G is [Equation 1] and G is a matrix of size (m×2 n ) × (m × 2 n ), where m and n are positive integers, and the matrix G N’ is size 2 n ×2 n The polar generator matrix is n ×2 n is an all-zero matrix such that transmitting the encoded data; A method having the following.

2. The information bit sequence includes m segments, and the Polar generator matrix of each segment is G N’ That is, The method of claim 1.

3. The number of information bits in the m segments is k 0 , k 1 , ..., k m-1 and k 0 Ha K m-1 is smaller than k 0 ≦k 1 ≦・・・≦k m-1 That is, The method of claim 2.

4. 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 2 or 3.

5. The encoding of the information bit sequence based on the encoding matrix G to obtain encoded data includes: obtaining m buffered data; The j-th buffered data is the matrix G N’ where 0≦j≦m−1; the encoded data includes m segments; The coded data of the 0th segment is the (m-1)th buffered data, The coded 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; The method of claim 4.

6. The step of transmitting the encoded data includes: transmitting the (m-1)th buffered data; subsequently transmitting the encoded data of the i-th segment; where i satisfies 0≦i≦m−1; 6. The method according to any one of claims 2 to 5.

7. The method comprises: performing a column-based transformation on the encoding matrix G, and the transformed encoding matrix G′ is [Equation 2] That is, encoding the information bit sequence based on the transformed encoding matrix G′ to obtain the encoded data; Further comprising: The method of claim 1.

8. The number of information bits in the m segments is k 0 , k 1 , ..., k m-1 and k 1 Ha K 0 is smaller than k 1 ≦・・・≦k m-1 ≦k 0 That is, The method according to claim 2 or 7.

9. the encoded data includes m segments; The coded data of the 0th segment is expressed as the matrix G N’ obtained by encoding the 0-th segment of the information bit sequence based on The coded data of the i-th segment is expressed as the matrix G N’ and then performing an exclusive-OR operation on the coded data of the i-th segment and the coded data of the 0-th segment, The method of claim 8.

10. 1. A data processing method comprising: receiving coded data, the coded data being obtained by encoding an information bit sequence based on a coding matrix G, the coding matrix G being [Equation 3] and the encoding matrix G has a size of (m×2 n ) × (m × 2 n ), where m and n are positive integers, and the matrix G N’ is size 2 n ×2 n The polar generator matrix is n ×2 n is an all-zero matrix such that decoding the encoded data to obtain decoded data; A method having the following.

11. The information bit sequence includes m segments, and the Polar generator matrix of each segment is G N’ That is, The method of claim 10.

12. The step of decoding the encoded data to obtain decoded data includes: Obtaining marked data corresponding to the coded data of the 0th segment and marked data corresponding to the coded data of the 1st segment; 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 to obtain the marked data corresponding to the encoded data of the 1st segment after the F operation; performing polar decoding on the marked data corresponding to the encoded data of the first segment after the F operation to obtain decoded data corresponding to the encoded data of the first segment; enhancing the marked data corresponding to the coded data of the 0th segment based on the marked data corresponding to the coded data of the 1st segment and the decoded data corresponding to the coded data of the 1st segment; Including, 12. The method according to claim 10 or 11.

13. The method comprises: Obtaining marked data corresponding to the coded data of the qth segment, where q is 2≦q≦m−1; performing an F operation on the marked data corresponding to the encoded data of the qth 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 qth segment after the F operation; performing polar code decoding on the marked data corresponding to the coded data of the qth segment after the F operation to obtain decoded data corresponding to the coded data of the qth segment; enhancing 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 qth segment and the decoded data corresponding to the encoded data of the qth segment; Further comprising: The method of claim 12.

14. 1. A data processing method comprising: obtaining an information bit sequence comprising m segments; Each segment is represented by the polar generator matrix G N’ to obtain m buffered data, and N’ is size 2 n ×2 n is a polar generator matrix, and Obtaining encoded data based on the m buffered data; transmitting the encoded data; The encoded data includes m segments, the encoded data of the 0th segment is the (m-1)th buffered data, and the encoded data of the ith segment is obtained by performing an exclusive OR operation on the jth buffered data and the (m-1)th buffered data, where i satisfies 1≦i≦m-1 and j satisfies 0≦j≦m-2; method.

15. The number of information bits in the m segments is k 0 , k 1 , ..., k m-1 and k 0 Ha K m-1 is smaller than k 0 ≦k 1 ≦・・・≦k m-1 That is, 15. The method of claim 14.

16. The number of information bits in the i-th segment is k i and i satisfies 0≦i≦m−1.

16. The method of claim 15.

17. The aforementioned obtaining of the encoded data includes: encoding matrix [Equation 4] to obtain the encoded data; G is the size (m x 2 n ) × (m × 2 n ), where m and n are positive integers, and the matrix G N’ is size 2 n ×2 n The polar generator matrix is n ×2 n is an all-zero matrix such that 17. The method according to any one of claims 14 to 16.

18. 1. A data processing method comprising: obtaining an information bit sequence comprising m segments; Each segment is represented by the polar generator matrix G N’ to obtain encoded data; transmitting the encoded data; The matrix G N’ is size 2 n ×2 n is a polar generator matrix, The encoded data includes m segments, and the encoded data of the 0th segment is N’ and the coded data of the i-th segment is obtained by encoding the 0-th segment of the information bit sequence based on the matrix G N’ and then performing an exclusive-OR operation on the coded data of the i-th segment and the coded data of the 0-th segment, method.

19. The number of information bits in the m segments is k 0 , k 1 , ..., k m-1 and k 1 Ha K 0 is smaller than k 1 ≦・・・≦k m-1 ≦k 0 That is, 20. The method of claim 18.

20. The aforementioned obtaining of the encoded data includes: encoding matrix [Equation 5] to obtain the encoded data; G' is a square whose size is (m x 2 n ) × (m × 2 n ), where m and n are positive integers, and the matrix G N’ is size 2 n ×2 n The polar generator matrix is n ×2 n is an all-zero matrix such that 20. The method of claim 18 or 19.

21. 21. Data processing apparatus comprising a unit or module adapted to carry out a method according to any one of claims 1 to 20.

22. a memory and a processor; the memory is configured to store instructions; The processor is configured to execute the instructions to cause the method of any one of claims 1 to 20 to be performed. Communication devices.

23. a transmitting end configured to perform a method according to any one of claims 1 to 9, 14 to 17 or 18 to 20; a receiving end configured to perform the method of any one of claims 10 to 13; A communication system having:

24. a processor and an interface; The processor is configured to read instructions to perform the method of any one of claims 1 to 20. Tips.

25. having an input / output interface and a logic circuit, the input / output interface is configured to input or output data; the logic circuitry processes data in accordance with a method according to any one of claims 1 to 9, 14 to 17, or 18 to 20 to produce processed data; Communication equipment.

26. having an input / output interface and a logic circuit, the input / output interface is configured to input or output data; The logic circuit processes data in accordance with a method according to any one of claims 10 to 13 to produce processed data. Communication equipment.

27. Contains programs or instructions, When the program or the instructions are executed on a computer, the method according to any one of claims 1 to 20 is carried out. A computer-readable storage medium.

Citation Information

Patent Citations

  • Apparatus and method for constructing Polar codes

    JP2020504508A

  • Combined Coding Design For Efficient Codeblock Extension

    US20180076923A1