A data processing method and apparatus
By dividing the sequence to be encoded into a first segment of equal length and a second segment of less than the maximum mother code length, and performing polar coding and rate matching respectively, the problem of code block mismatch with physical channel is solved, the rate matching process is simplified, the system complexity is reduced and the performance is improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2024-12-17
- Publication Date
- 2026-06-19
Smart Images

Figure CN122247434A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communications, and more particularly to a data processing method and apparatus in the field of communications. Background Technology
[0002] Channel coding is an important technique in communication technology, which can improve the reliability of signal transmission and enhance the transmission quality of communication systems. Polar codes are a new type of forward error-correcting code with superior error-correcting performance. Their construction principle involves channel polarization, which at the coding end makes each sub-channel exhibit different reliability levels. As the code length continuously increases, the capacity of some channels tends towards 1, while the capacity of others tends towards 0. Information is directly transmitted on channels with capacities approaching 1 to approximate the channel capacity.
[0003] Channel encoders and decoders can only support a limited maximum codeword length. Taking the encoder as an example, when the size of the transport block (TB) to be transmitted exceeds the maximum codeword length supported by the encoder, the TB to be transmitted needs to be segmented to obtain multiple code blocks (CBs). Each code block in these multiple code blocks is polar-coded separately, and the size of each code block does not exceed the maximum codeword length supported by the encoder.
[0004] Currently, in wireless communication, when the TB to be transmitted is segmented into multiple code blocks, the size of each code block may not match the carrying capacity of the physical channel. For example, when the size of the code block to be transmitted exceeds the carrying capacity of the physical channel, the encoding end needs to determine whether to punch holes or shorten the mother code according to the code rate in order to adapt to the carrying capacity of the physical channel, which is quite complex. Summary of the Invention
[0005] This application provides a data processing method and apparatus to reduce system complexity.
[0006] In a first aspect, this application provides a data processing method that can be executed by a second communication device. The second communication device may be a radio access network (RAN) device or a terminal device, or a component (such as a chip, chip system, processor, etc.) configured in the RAN device or terminal device, or a logic module or software capable of realizing all or part of the functions of the second communication device. This application does not limit the scope of the method.
[0007] The second communication device can be regarded as the encoding end of information, or the sending end of information.
[0008] For example, the method includes: segmenting the sequence to be encoded according to the number of X first segments, the maximum mother code length, and the length of the second segment, to obtain X first segments to be encoded and one second segment to be encoded, wherein the length of the first segment is equal to the maximum mother code length, the length of the second segment is less than the maximum mother code length, and the length of the second segment is a non-mother code length, where X is an integer greater than or equal to 0, the first segments are used to carry the first segments to be encoded, and the second segments are used to carry the second segments to be encoded; polar coding is performed on the X first segments to be encoded and the second segments to be encoded respectively to obtain X first encoded segments and one second encoded segment, and rate matching is performed on the second encoded segment to obtain a rate-matched second encoded segment; and the X first encoded segments and the rate-matched second encoded segment are output.
[0009] In the above scheme, when performing rate matching for the second coding segment, it is not necessary to consider the code rate corresponding to the second segment to determine the rate matching method. That is, regardless of the code rate corresponding to the second segment, there is only one rate matching method, which helps to reduce the overall system complexity. In addition, the length of each of the above X first segments is equal to the maximum mother code length. Therefore, the X first coding segments corresponding to these X first segments do not need to be rate matched. As a result, the number of coding segments that need to be rate matched is greatly reduced, which helps to simplify the rate matching process and reduce the overall system complexity.
[0010] In some possible implementations of the first aspect, the above-mentioned rate matching of the second coding segment to obtain the rate-matched second coding segment includes: punching holes in the second segment to obtain the punched second coding segment.
[0011] In the above scheme, the rate of the second coding segment is matched by puncturing instead of shortening, which simplifies the construction of polar codes. Furthermore, this implementation also reduces the complexity of implementing incremental redundancy (IR)-hybrid automatic repeat request (HARQ) retransmissions.
[0012] In some possible implementations of the first aspect, the above-mentioned rate matching of the second coding segment to obtain a rate-matched second coding segment includes: shortening the second segment to obtain a shortened second coding segment.
[0013] In the above scheme, the rate of the second coding segment is matched by shortening instead of puncturing. This helps to reduce the decoding complexity at the decoder. For example, the decoder does not need to recover the punctured codeword from the existing codeword.
[0014] In some possible implementations of the first aspect, the length L of the first segment to be encoded satisfies: L = Nmax × R, where N max R represents the maximum mother code length, R represents the code rate corresponding to the first segment; and / or, S represents the length of the second segment to be encoded. 1+X Satisfy: S 1+X =E 1+X ×R 1+X E 1+X R represents the length of the second segment. 1+X This indicates the bitrate corresponding to the second segment.
[0015] In other words, based on the length of the first segment and its corresponding bitrate, the length of the first segment to be encoded can be determined. Similarly, based on the length of the second segment and its corresponding bitrate, the length of the second segment to be encoded can be determined. The first and second segments can be considered as segments of transmission resources. Determining the length of the segment to be encoded based on the length of the transmission resource segment carrying the segment to be encoded and its corresponding bitrate helps avoid the problem of resources exceeding the allocated resources, thus improving system stability.
[0016] In some possible implementations of the first aspect, the size S of the TB corresponding to the sequence to be encoded satisfies: S = X × Nmax × R + E 1+X ×R 1+X -TB CRC , where N max R represents the maximum mother code length, R represents the code rate corresponding to the first segment, and E represents the maximum mother code length. 1+X R represents the length of the second segment. 1+X This indicates the bitrate corresponding to the second segment, in TB. CRC This indicates the size of the cyclic redundancy check (CRC) code corresponding to the aforementioned transport block.
[0017] The above TB CRC This represents the size of the CRC code corresponding to the transport block, which can be understood as the aforementioned TB. CRC This indicates the number of bits used for CRC in TB, such as 16, 24, 32, etc. This application does not limit this; when TB does not require CRC, TB... CRC It can also be equal to 0.
[0018] The size of the TB corresponding to the sequence to be encoded can be regarded as the size of the data payload before CRC is performed. In this application, the CRC code also needs to be encoded; therefore, the sequence to be encoded may include both the CRC code and the data payload.
[0019] In the above scheme, there is no need to determine how to reasonably allocate the size of the CRC code corresponding to TB to each CB corresponding to the segment to be encoded. That is, there is no need to determine the size of the CRC code of the CB corresponding to the segment to be encoded, which simplifies the processing and helps to reduce the overall complexity of the system.
[0020] Secondly, this application provides a data processing method that can be executed by a third communication device. The third communication device can be a RAN device or a terminal device, or a component (such as a chip, chip system, processor, etc.) configured in the RAN device or terminal device, or a logic module or software capable of realizing all or part of the functions of the third communication device. This application does not limit the scope of the third communication device.
[0021] The third communication device can be viewed as the receiving end of information, or the decoding end of information.
[0022] For example, the method includes: receiving a sequence to be decoded; segmenting the sequence to be decoded according to the number of X first segments, the maximum mother code length, and the length of the second segment, to obtain X first segments to be decoded and one second segment to be decoded, wherein the length of the first segment is equal to the maximum mother code length, the length of the second segment is less than the maximum mother code length, and the length of the second segment is a non-mother code length, X is an integer greater than or equal to 0, the first segments are used to carry the first segments to be decoded, and the second segment is used to carry the second segment to be decoded; decoding the X first segments to be decoded and the second segment to be decoded respectively to obtain X first decoded segments and one second decoded segment, and performing de-rate matching on the second decoded segment.
[0023] In the above scheme, the second decoding segment needs to undergo rate matching. Correspondingly, the encoder needs to perform rate matching on the second coding segment. When performing rate matching on the second coding segment, the encoder does not need to consider the code rate corresponding to the second segment to select the rate matching method. That is, regardless of the code rate corresponding to the second segment, there is only one rate matching method, which helps to reduce the overall system complexity. In addition, the length of each of the X first segments is equal to the maximum mother code length. Therefore, the X first decoding segments corresponding to these X first segments do not need to undergo rate matching. As a result, the number of decoding segments that need rate matching is greatly reduced, thus simplifying the rate matching process and reducing the overall system complexity. Rate matching can be regarded as the inverse process of rate matching, or as the process by which the decoder restores the decoding segment to the corresponding mother code length.
[0024] In some possible implementations of the second aspect, the length L of the first segment to be decoded satisfies: L = Nmax × R, where N max R represents the maximum mother code length, R represents the code rate corresponding to the first segment, and / or, S represents the length of the second segment to be decoded. 1+X Satisfy: S 1+X =E 1+X ×R 1+X E 1+X R represents the length of the second segment. 1+X This indicates the bitrate corresponding to the second segment.
[0025] In other words, based on the length of the first segment and the code rate corresponding to the first segment, the length of the first segment to be decoded can be determined. Similarly, based on the length of the second segment and the code rate corresponding to the second segment, the length of the second segment to be decoded can be determined, which makes it easier for the decoder to segment the sequence to be decoded based on the length of the segments to be decoded.
[0026] In some possible implementations of the first or second aspect, the code rate corresponding to the second segment is related to at least one of the following: the code rate corresponding to the first segment, or the ratio of the length of the second segment to the maximum mother code length.
[0027] The bitrate of the second segment is related to the bitrate of the first segment. One possible design is that when the bitrate of the first segment is low, such as when the bitrate of the first segment is less than or equal to a first threshold, the bitrate of the second segment can be the same as the bitrate of the first segment. However, if the bitrate of the first segment is low, reducing the bitrate of the second segment (i.e., making the bitrate of the second segment lower than the bitrate of the first segment) results in very little performance gain and actually reduces system efficiency. Therefore, when the bitrate of the first segment is low, the bitrates of the first and second segments can be the same.
[0028] The code rate corresponding to the second segment is related to the ratio of the second segment length to the maximum mother code length. One possible design is that when the difference between the length of the second segment and the maximum mother code length is small, such as when the ratio of the length of the second segment to the maximum mother code length is greater than or equal to a second threshold, the code rate can remain unchanged. This is because when the length of the second segment is close to the maximum mother code length, the error correction performance is similar, and reducing the code rate would actually reduce system efficiency. When the difference between the length of the second segment and the maximum mother code length is large, such as when the ratio of the length of the second segment to the maximum mother code length is less than the second threshold, the code rate can be reduced. That is, the code rate corresponding to the second segment can be less than the code rate corresponding to the first segment, which is beneficial to improving the error correction performance of the system.
[0029] In some possible implementations of the first or second aspect, the bitrate corresponding to the second segment is less than the bitrate corresponding to the first segment.
[0030] The bit rate corresponding to the first segment can be obtained based on the modulation and coding scheme (MCS) table, and this application does not limit it in this regard.
[0031] By reducing the bit rate of the second segment, the performance of the second segment can be improved, so that the second segment does not become a performance bottleneck in the entire transmission.
[0032] In some possible implementations of the first or second aspect, X satisfies the following formula: Where G represents the length of the bit sequence corresponding to the transmission resource, and N max Indicates the maximum mother code length. This indicates rounding down to the nearest integer.
[0033] Determining the number of first segments with a length equal to the maximum mother code length based on the above formula helps obtain as many segments as possible with the maximum mother code length. Since longer codewords typically have better error correction performance, this method improves decoding performance. Furthermore, it simplifies the segmentation process and reduces the overall system complexity.
[0034] Thirdly, this application provides a communication device that can implement the method described in the first aspect and any possible implementation thereof; or, can implement the method described in the second aspect and any possible implementation thereof. The device includes corresponding modules for performing the above-described methods. The modules included in the device can be implemented in software and / or hardware.
[0035] The communication device may be a second communication device for implementing the method described in the first aspect and any possible implementation of the first aspect.
[0036] In one possible implementation, the communication device may include modules or units that perform the methods / operations / steps / actions described in the first aspect and any possible implementation of the first aspect. These modules or units may be hardware circuits, software, or a combination of hardware circuits and software.
[0037] The communication device may also be a third communication device for implementing the methods described in the second aspect and any possible implementation of the second aspect. In one possible implementation, the communication device may include modules or units that perform the methods / operations / steps / actions described in the second aspect and any possible implementation of the second aspect. These modules or units may be hardware circuits, software, or a combination of hardware circuits and software.
[0038] Fourthly, this application provides a communication device including a processor, which can be used to implement the method described in the first aspect and any possible implementation of the first aspect, or to implement the method described in the second aspect and any possible implementation of the second aspect, by executing a computer program in memory and / or by logic circuitry.
[0039] In one possible implementation, the device further includes a communication interface. The communication interface is used to receive signals from other communication devices outside the device and transmit them to the processor, or to send signals from the processor to other communication devices outside the device. Exemplarily, the communication interface may be a transceiver, circuit, bus, module, pin, or other type of communication interface.
[0040] In one possible implementation, the device further includes a memory. The memory stores program instructions and data. The memory is coupled to the processor, which, when executing the instructions stored in the memory, can implement the methods described in the preceding aspects. Optionally, the memory and the processor can be integrated together; alternatively, the memory can be located outside the processor and exist independently.
[0041] Fifthly, this application provides a computer-readable storage medium storing a computer program (also referred to as code or instructions) that, when executed, implements the method described in the first aspect and any possible implementation thereof, or implements the method described in the second aspect and any possible implementation thereof.
[0042] In a sixth aspect, this application provides a computer program product comprising instructions (also referred to as code) that, when executed, implement the method described in the first aspect and any possible implementation thereof, or implement the method described in the second aspect and any possible implementation thereof.
[0043] In a seventh aspect, this application provides a chip system including at least one processor for supporting the implementation of the functions involved in the first aspect and any possible implementation of the first aspect, or for supporting the implementation of the functions involved in the second aspect and any possible implementation of the second aspect, such as receiving or processing data involved in the above methods.
[0044] In one possible design, the chip system also includes a memory for storing program instructions and data, which is located either inside or outside the processor.
[0045] The chip system can consist of chips or include chips and other discrete components.
[0046] Eighthly, this application provides a communication system comprising a second communication device and a third communication device, wherein the second communication device is used to implement the method described in the first aspect and any possible implementation thereof, and the third communication device is used to implement the method described in the second aspect and any possible implementation thereof.
[0047] It should be understood that the third to eighth aspects of this application correspond to the technical solutions of the first and second aspects of this application, and the beneficial effects achieved by each aspect and the corresponding feasible implementation are similar, and will not be repeated here. Attached Figure Description
[0048] Figure 1 This is a schematic diagram of the architecture of a communication system applicable to the methods provided in the embodiments of this application;
[0049] Figure 2 This is a schematic diagram of the polarization coding process provided in an embodiment of this application;
[0050] Figure 3 This is a schematic diagram of the information transmission process provided in an embodiment of this application;
[0051] Figure 4 This is a flowchart illustrating the data processing method provided in an embodiment of this application;
[0052] Figure 5 This is a schematic block diagram of the communication device provided in the embodiments of this application;
[0053] Figure 6 This is another schematic block diagram of the communication device provided in the embodiments of this application;
[0054] Figure 7 This is a schematic diagram applicable to the access network equipment provided in this application. Detailed Implementation
[0055] The technical solutions in this application will now be described with reference to the accompanying drawings.
[0056] Before introducing the methods provided in the embodiments of this application, the following points should be noted.
[0057] First, in this application, the terms "first" and "second" are used to distinguish identical or similar items with essentially the same function and effect. For example, "first threshold" and "second threshold" are merely used to distinguish different thresholds; similarly, "first segment" and "second segment" are merely used to distinguish different segments and do not limit their order. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and that "first" and "second" do not necessarily imply that they are different.
[0058] Second, in this application, "when," "under the circumstances," "if," "if," or similar expressions all refer to the device making a corresponding action under certain objective circumstances, and are not limited to a specific time, nor do they require the device to make a judgment action when it is implemented, nor do they imply any other limitations.
[0059] Third, in this application, the words "exemplarily" or "for example" are used to indicate that they are examples, illustrations, or descriptions. Any embodiment or design that is described as "exemplarily" or "for example" in this application should not be construed as being more preferred or advantageous than other embodiments or design options. Specifically, the use of the words "exemplarily" or "for example" is intended to present the relevant concepts in a specific manner.
[0060] Fourth, in this application, "send" and "receive" indicate the direction of signal transmission. For example, "send information to RAN equipment" can be understood as the destination of the information being the RAN equipment, which may include direct transmission via the air interface, or indirect transmission via the air interface by other devices, units, or modules. "Receive information from terminal equipment" can be understood as the source of the information being the terminal equipment, which may include direct reception from the terminal equipment via the air interface, or indirect reception from the terminal equipment via the air interface by other devices, units, or modules. "Send" can also be understood as the "output" of the chip interface, and "receive" can also be understood as the "input" of the chip interface.
[0061] In other words, sending and receiving can occur between devices, such as between RAN devices and terminal devices; or they can occur within a device, such as between components, modules, chips, software modules, or hardware modules within the device via buses, wiring, or interfaces.
[0062] It is understandable that information may undergo necessary processing, such as encoding and modulation, before being sent from the source to the destination. Similarly, the destination, upon receiving information from the source, can also perform corresponding processing, such as decoding and demodulation, to interpret the valid information from the source. Similar expressions in this application can be understood in a similar way and will not be elaborated further.
[0063] Fifth, in this application, the correspondence shown in each table can be configured or predefined. The values of the information in each table are merely examples and can be configured to other values; this application is not limiting. When configuring the correspondence between information and parameters, it is not necessarily required to configure all the correspondences shown in each table. For example, the correspondences shown in some rows of the tables in this application may not be configured. Furthermore, appropriate modifications and adjustments can be made based on the above tables, such as splitting, merging, etc. The names of the parameters shown in the headings of the above tables can also use other names that the communication device can understand, and the values or representations of the parameters can also be other values or representations that the communication device can understand. When implementing the above tables, other data structures can also be used, such as arrays, queues, containers, stacks, linear lists, pointers, linked lists, trees, graphs, structures, classes, heaps, hash tables, or hash tables, etc.
[0064] It should be noted that the term "predefined" in this application can be replaced with: definition, predefined, storage, pre-storage, pre-negotiation, configuration, or pre-configuration, etc.
[0065] Sixth, the method provided in this application can be applied to fourth-generation (4G) communication systems, such as long term evolution (LTE) communication systems, as well as fifth-generation (5G) communication systems, such as 5G new radio (NR) communication systems, and can also be applied to future communication systems, etc. This application does not limit it in this regard.
[0066] The following will combine Figure 1 The system architecture to which this application applies is described in detail.
[0067] Figure 1 This is a schematic diagram of the architecture of a communication system applicable to the methods provided in the embodiments of this application. Figure 1 The application scenarios applicable to this application are illustrated using the communication system architecture shown as an example. Figure 1 A possible, non-limiting system schematic diagram is shown. For example... Figure 1 As shown, the communication system includes RAN 100 and core network (CN) 200. Optionally, the communication system also includes Internet 300. RAN 100 includes at least one access network device (such as... Figure 1 110a and 110b (collectively referred to as 110) and at least one terminal device (such as Figure 1 RAN 100, denoted as RAN 120a-120j, is collectively referred to as RAN 120. RAN 100 may also include other RAN nodes, such as wireless relay equipment and / or wireless backhaul equipment. Figure 1 (Not shown in the image). Terminal device 120 is connected to access network device 110 wirelessly. Access network device 110 is connected to core network 200 wirelessly or via wired connection. The core network device in core network 200 and access network device 110 in RAN 100 can be different physical devices, or they can be the same physical device integrating core network logical functions and wireless access network logical functions.
[0068] RAN 100 can be a cellular system related to the 3rd Generation Partnership Project (3GPP), such as 4G, 5G mobile communication systems, or future communication systems. RAN 100 can also be an open access network (open RAN, O-RAN, or ORAN). RAN 100 can also be a cloud radioaccess network (CRAN), etc. RAN 100 can also be a communication system that integrates two or more of the above systems.
[0069] Understandable Figure 1 This application only illustrates one possible communication system architecture that can be applied to an embodiment of the present application. In other possible scenarios, the communication system architecture may also include other devices.
[0070] In the aforementioned communication system, access network device 110 assists terminal devices in achieving wireless access. Multiple access network devices 110 in this communication system can be nodes of the same type or different types. In some scenarios, the roles of access network device 110 and terminal device 120 are relative, for example... Figure 1Network element 120i can be a helicopter or a drone, and it can be configured as a mobile base station. For terminal devices 120j that access RAN 100 via network element 120i, network element 120i is a base station; however, for base station 110a, network element 120i is a terminal device. Access network device 110 and terminal device 120 are sometimes referred to as communication devices, for example... Figure 1 Network elements 110a and 110b can be understood as communication devices with base station functions, while network elements 120a-120j can be understood as communication devices with terminal functions.
[0071] In one possible scenario, access network equipment can be a base station, an evolved NodeB (eNodeB), a transmitting and receiving point (TRP), a transmitting point (TP), a next-generation NodeB (gNB), a base station in a future mobile communication system, a satellite, or an access point (AP) in a wireless fidelity (Wi-Fi) system, an integrated access and backhaul (IAB) node, or access network equipment in a mobile switching center non-terrestrial network (NTN) communication system; that is, it can be deployed on high-altitude platforms or satellites. Access network equipment can also be a macro base station (such as...). Figure 1 110a), micro base stations or indoor stations (such as Figure 1 Access network equipment can be 110b), relay nodes or donor nodes, or wireless controllers in CRAN scenarios. It can also function as a base station in device-to-device (D2D) communication, vehicle-to-everything (V2X) communication, drone communication, or machine-to-machine (M2M) communication. Optionally, access network equipment can also be servers, wearable devices, vehicles, or in-vehicle equipment. For example, in vehicle-to-everything (V2X) technology, the access network equipment can be a roadside unit (RSU).
[0072] In another possible scenario, multiple access network devices collaborate to assist terminals in achieving wireless access, with each device performing a portion of the base station's functions. For example, access network devices can be central units (CUs), distributed units (DUs), CU-control plane (CPs), CU-user plane (UPs), or radio units (RUs). CUs and DUs can be separate entities or included in the same network element, such as a baseband unit (BBU). RUs can be included in radio equipment or radio units, such as remote radio units (RRUs), active antenna units (AAUs), or remote radio heads (RRHs). It is understood that access network devices can be CU nodes, DU nodes, or devices comprising both CU and DU nodes. Furthermore, CUs can be classified as access network devices within the RAN (RAN) or the CN (CN), without limitation.
[0073] In this embodiment, the form of the access network device is not limited. The device used to implement the function of the access network device can be the access network device itself; or it can be a device that supports the access network device in implementing the function, such as a chip system. The device can be installed in the access network device or used in conjunction with the access network device.
[0074] In this application, the terminal device may also be referred to as a terminal, user equipment (UE), mobile station (MS), mobile terminal (MT), etc., or a device used to provide voice or data connectivity to a user, or an Internet of Things (IoT) device. For example, terminal devices include handheld devices with wireless connectivity, vehicle-mounted devices, etc. Currently, terminal devices can include, for example: mobile phones, tablets, laptops, PDAs, mobile internet devices (MIDs), wearable devices (such as smartwatches, smart bracelets, pedometers, smart glasses, etc.), in-vehicle devices (such as cars, bicycles, electric vehicles, airplanes, ships, trains, high-speed trains, etc.), satellite terminals, virtual reality (VR) devices, augmented reality (AR) devices, smart point-of-sale (POS) machines, customer-premises equipment (CPE), light user equipment (UE), reduced capability user equipment (REDCAP UE), wireless terminals in industrial control, smart home devices (such as refrigerators, televisions, air conditioners, electricity meters, etc.), smart robots, robotic arms, workshop equipment, wireless terminals in autonomous driving, wireless terminals in smart healthcare, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, or wireless terminals in smart homes, and flying equipment (such as smart robots, hot air balloons, drones, airplanes), etc. The terminal can also be a vehicle device, such as a vehicle unit, vehicle module, vehicle chip, on-board unit (OBU), or telematics box (T-BOX). The terminal device can also be other devices with terminal functions. For example, the terminal device can also be a device that plays the role of a terminal in D2D communication.
[0075] This application does not limit the form of the terminal device. The device used to implement the terminal's functions can be a terminal device itself, or it can be a device that supports the terminal in implementing those functions, such as a chip system. This device can be installed in the terminal or used in conjunction with the terminal. In this application, the chip system can be composed of chips, or it can include chips and other discrete components.
[0076] To facilitate understanding of the embodiments of this application, the technical terms involved in the following embodiments will be briefly explained first.
[0077] I. Polar codes: These are forward error-correcting codes used for signal transmission. The core of polar code construction is to make each sub-channel exhibit different reliability through channel polarization processing on the coding side. As the code length continues to increase, the capacity of some channels tends to 1, while the capacity of other channels tends to 0. Directly transmitting information on channels with a capacity tending to 1 to approximate the channel capacity is the only method that can be rigorously proven to reach the Shannon limit.
[0078] The construction process of polar codes will be explained below. In the following text, the unencoded sequence is referred to as the sequence to be encoded, and the encoded sequence is referred to as the encoded sequence. The sequence to be encoded may include information bits and frozen bits. The information bits carry information, while the frozen bits are set to fixed values (usually 0, or other known values). The frozen bits generally do not carry actual information.
[0079] The construction process of polar codes can also be understood as the selection process of information bits. In one possible implementation, rate matching is not considered, for example, in a scenario where the target code length is equal to the mother code length. Here, the target code length can be understood as the length of the bit sequence that the physical channel can carry. The construction process of polar codes includes: constructing a sequence Z[Q[i]] = i, where the value of i represents the reliability of the sub-channel. The larger the value of i, the higher the reliability of the corresponding sub-channel. Q[i] represents the position of the sub-channel, or in other words, the index / number of the sub-channel, etc. The length of the sequence Q is the length of the mother code N. It can be seen that in the sequence Z, the position index of the information bit or frozen bit is directly used as the value in the sequence Z, so that the values in the sequence Z conform to the natural order. In one possible implementation, the sequence Q is arranged in ascending order of reliability. The last K positions in the sequence Q are the K positions with the largest values in the sequence Z. In this case, the positions with values greater than or equal to (NK) are the positions of the information bits, where K is the number of information bits, K is an integer greater than or equal to 0, and K is less than or equal to N, N is the length of the mother code, and N is an integer greater than or equal to 0.
[0080] In another possible implementation, consider rate matching, for example, in scenarios where the target code length is not equal to the mother code length. Before detailing the polar code construction process in this scenario, rate matching will first be explained in detail below.
[0081] Rate matching refers to the puncturing, shortening, or repeating of certain bits to match the carrying capacity of the physical channel. Correspondingly, punctured bits are called punctured bits, shortened bits are called shortened bits, and repeated bits are called repeating bits. The carrying capacity of the physical channel can be understood as the length of the bit sequence that the physical channel can carry. When the number of bits in the input sequence (or the number of bits in the encoded sequence) exceeds the carrying capacity of the physical channel, the input sequence can be punctured or shortened. Puncture of a bit means that the encoder does not transmit that bit, and the decoder recovers the punctured bit based on the received bits. Shortening of a bit means that the encoder sets that bit to a fixed value and does not transmit it, and the decoder knows this fixed value. The similarity between puncturing and shortening lies in the fact that the encoding end does not transmit the bit. The difference is that in puncturing, the value of the untransmitted bit is affected by the information it carries; therefore, the decoding end needs to recover the bit's value based on the decoding method. In shortening, the encoding and decoding ends have agreed on the bit's value (i.e., the aforementioned fixed value), and the bit's value is unaffected by the information it carries; therefore, the decoding end does not need to recover the bit's value based on the decoding method. For example, when the decoding end uses the successive cancellation decoding (SC) algorithm, it sets the log likelihood ratio (LLR) corresponding to the punctured position to 0 and sets the LLR corresponding to the shortened position to infinity.
[0082] When the number of bits in the input sequence does not meet (or is less than) the carrying capacity of the physical channel, all or part of the input bits must be repeated.
[0083] It is understandable that when puncturing or shortening encoded bits exceeding the target code length to reach the target code length, rate matching needs to be de-matched during decoding to pad the received decoded sequence back to the original code length. In this application, rate matching de-matching can be viewed as the inverse process of rate matching, or as the process by which the decoder restores the decoded segments to the corresponding original code length.
[0084] In this application, the mother code length of the polar code can be represented by N, where N is a positive integer and is a power of 2. The target code length can be represented by E, where E is an integer greater than or equal to 0. When the target code length is not a power of 2, one approach is to... Calculate the corresponding mother code length. This indicates rounding up. It should be understood that the corresponding mother code length can also be calculated in other ways, and this application does not limit this.
[0085] When rate matching is considered (taking puncturing or shortening as an example), the construction process of polar codes is as follows:
[0086] 1. Determine the positions of the pre-frozen bits, or in other words, determine the pre-frozen bits. For example, the number of pre-frozen bits is P, where P is an integer greater than or equal to 0. For instance, P bits with lower reliability can be selected as pre-frozen bits.
[0087] 2. Based on the pre-frozen bits, determine the sequence Q'[i]. Sequence Q'[i] is sequence Q[i] with the pre-frozen bits removed. The K bits with higher reliability in sequence Q'[i] are information bits used to carry information, and the remaining (EPK) bits and P pre-frozen bits are frozen bits. Here, K is an integer greater than or equal to 0, and K is less than or equal to E, where E is the target code length and E is an integer greater than or equal to 0. The reliability of any one of the K bits used to place the K information bits is higher than the reliability of any one of the (EPK) bits used to place the frozen bits. The aforementioned K information bits also include, but are not limited to, one or more of the following check bits: CRC or parity check (PC).
[0088] 3. Determine the (NE) bits that need to be punctured or shortened. For example, the (NE) bits that need to be punctured or shortened can be determined based on a rate matching sequence, where the rate matching sequence indicates which bits are punctured or shortened. Another example is to determine the E bits after rate matching based on the rate matching method.
[0089] The following will combine Figure 2 An example of the polar coding process is given.
[0090] Figure 2 This is a schematic diagram of the polarization coding process provided in an embodiment of this application. Figure 2 In this context, assume the sequence to be encoded is {u0, u1, u2, ..., u7}.
[0091] like Figure 2 As shown, u3, u5, u6, and u7 are the four bits with the highest reliability; these four bits are information bits. u0, u1, u2, and u4 are the remaining four bits; these four bits are frozen bits. The reliability of a particular bit can be understood as the reliability of the polarization sub-channel carrying that bit.
[0092] First, the sequence to be encoded is encoded by the polarization channel layer. Assume that after polarization encoding by the polarization channel layer, the sequence to be encoded is obtained as v0 to v7. For example, v0 can be obtained by XORing u0 with u1, v1 can be obtained directly based on u1, v2 can be obtained by XORing u2 with u3, v3 can be obtained directly based on u3, v4 can be obtained by XORing u4 with u5, v5 can be obtained directly based on u5, v6 can be obtained by XORing u6 with u7, and v7 can be obtained directly based on u7.
[0093] Secondly, v0 to v7 are encoded through an intermediate polarization layer. The encoding process of v0 to v7 through the intermediate polarization layer is similar to the polarization encoding process of the sequence to be encoded through the polarization channel layer. For details of the encoded sequence, please refer to [link to documentation]. Figure 2 As shown, it will not be described in detail here.
[0094] Finally, the encoding end transmits the signal through the physical channel (in...) Figure 2 In this application, the physical channel transmits the coded sequence (represented by W). This coded sequence can be a coded sequence that has been punctured, shortened, or repeated, or it can be a coded sequence without rate matching; this application does not limit this.
[0095] The polarization encoding process at the encoding end has been explained in detail above. The decoding process at the decoding end will be described below. It is understood that in this application, the decoding end can also be called the decoding end; similarly, decoding can also be called decoding, and this application does not limit the terminology.
[0096] After receiving the encoded sequence, the decoding end decodes it.
[0097] Polar code decoding methods mainly include serial cancellation decoding algorithms. Serial cancellation decoding refers to a decoder progressively decoding the received codeword, using previously decoded bits to aid in decoding subsequent bits. For example, the decoder starts from the first bit and decodes each bit sequentially. For each bit, previously decoded bits are used as known information to improve the decoding accuracy of the current bit. Serial cancellation decoding algorithms include, but are not limited to: SC decoding, successive cancellation list (SCL) decoding, or CRC-aided successive cancellation list (CA-SCL) decoding. Among these, SC decoding has relatively poor performance, SCL decoding offers improved performance compared to SC decoding, and CA-SCL decoding can make polar codes perform better than low-density parity check codes (LDPC) and turbo codes (Turbo).
[0098] It is understandable that when polar codes are applied to data channels, they can be used not only for initial transmissions but also for retransmissions, such as HARQ retransmission. HARQ is a retransmission mechanism that combines forward error correction (FEC) and automatic repeat request (ARQ). In the HARQ mechanism, if the receiver fails to decode, it saves the received data and requests the sender to retransmit the data. The receiver then combines the retransmitted data with the previously received data before decoding, thereby generating diversity gain, reducing the number of retransmissions, and thus reducing latency.
[0099] HARQ retransmission can be divided into chase combine (CC) retransmission and incremental redundancy (IR) retransmission. CC retransmission refers to retransmitting part or all of the codewords from the initial transmission, and then decoding the received data after combining the multiple transmissions based on the consistent position of the data on the codewords. IR retransmission refers to incrementally transmitting the codewords that were not transmitted in the initial transmission.
[0100] When polar codes are applied to IR retransmission, the rate matching branches during retransmission are shown in Table 1. Here, NRV0 represents the length of the mother code during the initial transmission, ERV0 represents the length of the bit sequence that the physical channel can carry during the initial transmission, or the length of the coded sequence after rate matching, and ERV1 represents the length of the bit sequence that the physical channel can carry during retransmission, or the length of the coded sequence after rate matching.
[0101] Table 1
[0102]
[0103] As shown in Table 1, IR retransmission needs to consider rate matching during the initial transmission, and the rate matching method is relatively complex. The initial transmission uses NR (5G) rate matching: when NRV0 > ERV0, the first (NRV0-ERV0) length of bits is punctured according to the code rate, pre-freezing the corresponding uninterleaved positions; or the last (NRV0-ERV0) length of bits is shortened. In puncturing mode, based on NRV0 and ERV0, an additional portion of bits is pre-frozen to ensure that positions where reliability changes too much due to puncturing are not selected as information bits. The repeated branches during the initial transmission and the various branches of rate matching during IR retransmission can be found in Table 1, and will not be elaborated here.
[0104] The following will combine Figure 3This provides an example of the detailed process of information being encoded and sent at the encoding end, and received and decoded at the decoding end.
[0105] Figure 3 This is a schematic diagram of the information transmission process provided in the embodiments of this application.
[0106] like Figure 3 As shown, the information source is the origin of information and information sequences. The information source outputs an information sequence, which is converted into a binary (or multi-level) information sequence through source coding. Then, channel coding is performed on this information sequence to obtain the encoded information sequence, thereby improving the reliability of message transmission. Further, the encoded information sequence can be modulated and then transmitted through the channel. Correspondingly, after receiving the modulated information sequence, the receiving end demodulates it and then performs channel decoding using decoding techniques corresponding to the channel coding. Further source decoding is then performed to obtain the original information sequence. Here, the information sink is the object (or destination) of information transmission. The method provided in this application mainly involves channel coding and channel decoding. Furthermore, the channel coding in this application mainly involves polar coding.
[0107] Channel encoders and decoders have limited maximum codeword lengths. Taking the encoding end as an example, when the length of the sequence to be encoded exceeds the maximum codeword length supported by the encoder, the sequence needs to be segmented to ensure that the length of each segment does not exceed the maximum codeword length supported by the encoder. Then, each segment is encoded separately. The scheme described above can be considered as an implementation plan for polar coding and decoding of each segment.
[0108] Currently, in wireless communication, after the encoding end segments the sequence to be encoded, there may be a mismatch between the length of the segment to be encoded and the carrying capacity of the physical channel, or in other words, the carrying capacity of the physical channel and the corresponding mother code may not match. For example, the length of the mother code may exceed the carrying capacity of the physical channel. In this case, it is necessary to determine whether to punch holes or shorten the mother code based on the code rate, which is a relatively complicated process.
[0109] In view of this, this application provides a data processing method. The encoding end can segment the sequence to be encoded according to the number of X first segments, the maximum mother code length, and the length of the second segment, to obtain X first segments to be encoded and one second segment to be encoded. The second segment is used to carry the second segment to be encoded. The length of the second segment is not the mother code length. Therefore, the second encoded segment obtained after encoding the second segment to be encoded needs to be rate matched. In this application, it is not necessary to consider the code rate corresponding to the second segment to determine the rate matching method. That is, regardless of the code rate corresponding to the second segment, there is only one rate matching method to make the length of the second encoded segment match the carrying capacity of the second segment. For example, a shortened rate matching method can be used, or a punctured rate matching method can be used regardless of the code rate. For example, referring to Table 1, if there is only one rate matching method if the code rate is not considered, such as only punctured or only shortened, then the rate matching branches can be reduced during retransmission, simplifying the construction of polar codes.
[0110] In addition, in the above scheme, the length of each of the X first segments is equal to the length of the maximum mother code. Therefore, the X first coding segments corresponding to the X first segments do not need to be rate matched. As a result, compared with the segmentation method in which the length of each segment is not equal to the length of the mother code, the number of coding segments that need to be rate matched is reduced. Therefore, it is beneficial to simplify the rate matching process and reduce the overall system complexity.
[0111] The following is combined Figure 4 This application provides a detailed description of its data processing method. The method is illustrated below from the perspective of communication device interaction. This application does not limit the specific form or number of each communication device. The data processing method of this application's embodiments will be described in detail below using a second and a third communication device as examples. The methods described below can be applied, for example, to other applications. Figure 1 In the system shown, the second communication device may be, for example, Figure 1 The terminal device 120 in the system shown, and the third communication device, for example, could be... Figure 1 The access network device 110 in the system shown, or the second communication device, may be, for example, the second communication device. Figure 1 The access network device 110 in the system shown, and the third communication device, for example, could be... Figure 1 The terminal devices 120 in the system shown are not listed here individually.
[0112] It should be understood that the second communication device can be the terminal device or access network device itself, or it can be a chip, chip system, or processor that supports the terminal device or access network device in implementing data processing methods, or it can be a logic module or software that can implement all or part of the functions of the terminal device or access network device. This application does not specifically limit this. The third communication device can be the terminal device or access network device itself, or it can be a chip, chip system, or processor that supports the terminal device or access network device in implementing data processing methods, or it can be a logic module or software that can implement all or part of the functions of the terminal device or access network device. This application does not specifically limit this.
[0113] Figure 4 This is a flowchart illustrating the data processing method 400 provided in an embodiment of this application. The method 400 includes the following steps:
[0114] In step 410, the second communication device segments the sequence to be encoded according to the number of X first segments, the maximum mother code length, and the length of the second segment, to obtain X first segments to be encoded and one second segment to be encoded.
[0115] The second communication device can be considered as the information transmitter or the information encoder. The second communication device can be a terminal device (such as...). Figure 1 The terminal device 120 shown can also be an access network device (such as...). Figure 1 The access network device 110 shown in the figure is not limited in this application.
[0116] In the aforementioned X first segments, the length of each first segment is equal to the maximum mother code length, where X is an integer greater than or equal to 0. The maximum mother code length can be the maximum codeword length supported by the system (e.g., an encoder or decoder), and this maximum mother code length can be characterized by the number of bits. This maximum mother code length can be predefined, preconfigured, or configured; this application does not impose any limitations on it.
[0117] The aforementioned X first segments and the aforementioned X first segments to be encoded are in one-to-one correspondence. Each first segment corresponds to one first segment to be encoded. Each first segment can be used to carry the first segment to be encoded corresponding to the first segment, or in other words, to carry the first encoded segment corresponding to the first segment (the first encoded segment is obtained by polar coding of the first segment to be encoded).
[0118] The lengths of the aforementioned second segments are all less than the maximum mother code length, and the length of the second segment is not the mother code length. Here, "the length of the second segment is not the mother code length" can be understood as meaning that the length of the second segment is not an integer power of 2. It should be understood that the above understanding of the second segment being the mother code length is merely an example; for instance, it could be based on... In the scenario of calculating the corresponding mother code length, but this should not constitute any limitation on this application. When other methods are used to calculate the mother code length, the understanding that the second segment is the mother code length may also be different from the above understanding.
[0119] The second segment mentioned above corresponds to the second segment to be encoded mentioned above. The second segment can be used to carry the second segment to be encoded, or in other words, it can be used to carry the second encoded segment (which is obtained by polar coding the second segment to be encoded).
[0120] The aforementioned X first segments and one second segment can be viewed as segments of transmission resources allocated to the second communication device. These transmission resources may be allocated by the first communication device (such as RAN equipment). The aforementioned transmission resources can be understood as physical resources used to carry data, such as time-domain resources, frequency-domain resources, spatial-domain resources, etc. The length of each of the aforementioned X first segments can be viewed as the length of the bit sequence that the first segment can carry, or as the number of bits that the first segment can carry, or as the amount of data that the first segment can carry. Similarly, the length of the aforementioned second segment can be viewed as the length of the bit sequence that the second segment can carry, or as the number of bits that the second segment can carry, or as the amount of data that the second segment can carry.
[0121] In one possible implementation, the number of the aforementioned X first segments and the length of the second segment can be determined based on the transmission resources allocated to the second communication device.
[0122] One possible design is that the second communication device can determine the length of the bit sequence that the transmission resource can carry (or, in other words, the number of bits that the transmission resource can carry, or the amount of data that the transmission resource can carry) based on the transmission resource, and then determine the number of X first segments and the length of the second segment based on the length of the bit sequence that the transmission resource can carry. The following first presents a possible implementation of the second communication device determining the length of the bit sequence that the transmission resource can carry based on the transmission resource.
[0123] One implementation involves the second communication device determining the length of the bit sequence that the transmission resources can carry based on at least one of the following: resource quantity, code rate (which can be obtained based on an MCS table), modulation order, and stream number. The resource quantity can be characterized by the number of resource blocks (RBs) or resource elements (REs), and this application does not limit this to a specific number.
[0124] For example, the length of the bit sequence that a transmission resource can carry = number of resources * code rate * modulation order * number of streams. It should be noted that in practical applications, the length of the bit sequence that a transmission resource can carry can also be determined in other ways. For example, in a multiple-input multiple-output system, multiple streams may support different modulation schemes. In this case, the length of the bit sequence that a transmission resource can carry is calculated as the sum of the number of bits that each stream can transmit. A more detailed description of determining the length of the bit sequence that a transmission resource can carry can be found in existing standards (such as technical specifications (TS) 38.214, section 5.1.3.2). Furthermore, the length of the bit sequence that a transmission resource can carry can also be characterized by parameters other than the number of bits, such as bytes, which this application does not limit.
[0125] The second communication device, based on the transmission resources, determines the length of the bit sequence that the transmission resources can carry, and then determines the number of X first segments and the length of the second segment based on the length of the bit sequence that the transmission resources can carry.
[0126] In one possible implementation, X satisfies Formula 1: Where G represents the length of the bit sequence corresponding to the transmission resource, and N max Indicates the maximum mother code length. This indicates rounding down. The length of the bit sequence corresponding to the transmission resource can be understood as the length of the bit sequence that the transmission resource can carry, or the number of bits that the transmission resource can carry, or the amount of data that the transmission resource can carry.
[0127] Determining the number of first segments with a length equal to the maximum mother code length based on the above formula helps obtain as many segments as possible with the maximum mother code length. Since longer codewords typically have better error correction performance, this method improves decoding performance. Furthermore, it simplifies the segmentation process and reduces the overall system complexity.
[0128] For example, assuming the length of the bit sequence that the transmission resource can carry is 10000 and the maximum mother code length is 2048, the second communication device can determine the number of first segments with a length equal to the maximum mother code length based on the above formula one.
[0129] Based on the number of the aforementioned X first segments, the maximum mother code length, and the length of the bit sequence that the transmission resources can carry, the second communication device can determine the length of the second segment: Length of the second segment = GX * N max In other words, the length of each segment of the transmitted resource.
[0130]
[0131] For example, assuming the length of the bit sequence that the transmission resource can carry is 10000 and the maximum mother code length is 2048, the second communication device can determine the number of the first segments of the maximum mother code length based on Formula 1. Furthermore, the second communication device determines the length of the second segment as 10000 - 2048 * 4 = 1808.
[0132] Figure 4 In one possible implementation of method 400, the second communication device, after determining the number of X first segments, the maximum mother code length, and the length of the second segment, can calculate the size of the TB corresponding to the sequence to be encoded. As one possible implementation, the size S of the TB corresponding to the sequence to be encoded satisfies: S = X × Nmax × R + E 1+X ×R 1+X -TB CRC , where N max R represents the maximum mother code length, R represents the code rate corresponding to the first segment, and E represents the maximum mother code length. 1+X R represents the length of the second segment. 1+X This indicates the bitrate corresponding to the second segment, in TB. CRC This indicates the size of the CRC code corresponding to TB.
[0133] The above TB CRC This represents the size of the CRC code corresponding to the transport block, which can be understood as the aforementioned TB. CRC This indicates the number of bits used for CRC in TB, such as 16, 24, 32, etc. This application does not limit this; when TB does not require CRC, TB... CRC It can also be equal to 0.
[0134] The size of the TB corresponding to the sequence to be encoded can be regarded as the size of the data payload before CRC is performed. In this application, the CRC code also needs to be encoded; therefore, the sequence to be encoded may include the CRC code and the data payload.
[0135] In the above scheme, there is no need to determine how to reasonably allocate the size of the CRC code corresponding to TB to each CB corresponding to the segment to be encoded. That is, there is no need to determine the size of the CRC code of the CB corresponding to the segment to be encoded, which simplifies the processing and helps to reduce the overall complexity of the system.
[0136] For example, the second communication device determines the size of the TB corresponding to the sequence to be encoded based on the number of X first segments, the maximum mother code length, the code rate corresponding to the first segment, the length of the second segment, and the code rate corresponding to the second segment, and further reads the data payload to be transmitted. Then, the second communication device segments the sequence to be encoded (which includes the data payload to be transmitted and the CRC code) according to the number of X first segments, the maximum mother code length, and the length of the second segment, obtaining X first segments to be encoded and one second segment to be encoded.
[0137] In one possible implementation, the second communication device determines the length and number of the first segment to be encoded based on the number of X first segments and the maximum mother code length. For example, the length L of the first segment to be encoded satisfies: L = Nmax × R, where N... max R represents the maximum mother code length, and R represents the code rate corresponding to the first segment. The number of segments to be encoded is the same as the number of first segments. The second communication device determines the length of the second segment to be encoded based on the lengths of the Y second segments. For example, the length S of the second segment to be encoded is... 1+X Satisfy: S 1+X =E 1+X ×R 1+X E 1+X R represents the length of the second segment. 1+X This indicates the bitrate corresponding to the second segment.
[0138] The second communication device can segment the sequence to be encoded based on the length of the first segment to be encoded, the number of the first segments to be encoded, and the length of the second segment to be encoded, to obtain X first segments to be encoded and one second segment to be encoded.
[0139] It is understandable that since the number of the second segment to be encoded is 1, once the second communication device determines X first segments to be encoded, it can determine the remaining segments, which are the second segments to be encoded. For example, if the second communication device segments a sequence to be encoded with a length of 10000, and the number of the first segments to be encoded with a length of 2048 (the maximum mother code length) is 4, then the second communication device can divide the sequence to be encoded into 5 segments, of which 4 segments have a length of 2048, and the remaining segment is the second segment to be encoded. Therefore, the second communication device can segment the sequence to be encoded based on the length of the first segment to be encoded, the number of the first segments to be encoded, and the length of the second segment to be encoded. Alternatively, the second communication device can segment the sequence to be encoded based on the length of the first segment to be encoded and the number of the first segments to be encoded. Similarly, the second communication device can segment the sequence to be encoded based on the number of X first segments, the maximum mother code length, and the length of the second segment to obtain X first segments to be encoded and one second segment to be encoded. Alternatively, the second communication device can segment the sequence to be encoded based on the number of X first segments and the maximum mother code length to obtain X first segments to be encoded and one second segment to be encoded.
[0140] In step 420, the second communication device performs polar coding on the above-mentioned X first segments to be encoded and the second segments to be encoded, respectively, to obtain X first encoded segments and one second encoded segment, and performs rate matching on the second encoded segment to obtain the rate-matched second encoded segment.
[0141] After obtaining X first segments to be encoded and one second segment to be encoded, the second communication device performs polar coding on the X first segments to be encoded and the second segment to be encoded, respectively, to obtain X first encoded segments and one second encoded segment. The specific polar coding process can refer to existing technologies and will not be detailed here. Since the length of the second encoded segment is not matched with the carrying capacity of the second segment, or in other words, the length of the second encoded segment is greater than the length of the second segment, or the length of the second segment is less than the length of the corresponding mother code, the second communication device needs to perform rate matching on the second encoded segment. In one possible implementation, regardless of the code rate corresponding to the second segment, the second communication device uses a puncturing method, that is, the second communication device punctures the second encoded segment, or in other words, the second communication device punctures the encoded bits corresponding to the second segment, in order to adapt to the carrying capacity of the second segment.
[0142] For example, assuming the maximum mother code length is 2048, the number of X first segments is 4, and the length of the second segment is 1808, for the first encoded segment carried by each of the X first segments, since the length of the first segment is equal to the maximum mother code length, no rate matching is required; for the second encoded segment carried by the second segment, since the length of the second segment is not the mother code length, and the length of the second segment is less than the maximum mother code length, it is necessary to puncture the second encoded segment (or puncture the encoded bits corresponding to the second segment) so that the length of the second encoded segment is equal to the length of the second segment, that is, to adapt to the carrying capacity of the second segment.
[0143] In another possible implementation, regardless of the code rate corresponding to the second segment, the second communication device adopts a shortening method. That is, the second communication device shortens the second coding segment, or in other words, the second communication device shortens the coding bits corresponding to the second segment to adapt to the carrying capacity of the second segment.
[0144] In step 430, the second communication device outputs the aforementioned X first coded segments and the rate-matched second coded segments.
[0145] It is understandable that before sending the aforementioned X first coded segments and rate-matched second coded segments, the second communication device can also perform interleaving, concatenation, modulation, and other processing on them, and then send them as a data block to the third communication device.
[0146] In step 440, the third communication device receives the sequence to be decoded.
[0147] The third communication device can be viewed as an information receiver or an information decoder. The third communication device can be an access network device (such as...). Figure 1 The access network device 110 shown can also be a terminal device (such as...). Figure 1 The terminal device 120 shown in the figure is not limited in this application.
[0148] It is understood that the sequence sent by the second communication device and the sequence received by the third communication device are not necessarily completely identical. Therefore, in this application, the sequence received by the third communication device is denoted as the sequence to be decoded, but it is not limited to the sequence to be decoded being completely identical to the sequence sent by the second communication device.
[0149] In step 450, the third communication device segments the above-mentioned sequence to be decoded according to the number of X first segments, the maximum mother code length, and the length of the second segment, to obtain X first segments to be decoded and one second segment to be decoded.
[0150] After receiving the sequence to be decoded, the third communication device segments the sequence according to the number of X first segments, the maximum mother code length, and the length of the second segment, resulting in X first segments to be decoded and one second segment to be decoded. The process for determining the number of X first segments and the length of the second segment can be found in the explanation provided by the second communication device, and will not be repeated here.
[0151] In one possible implementation, the third communication device determines the length and number of the first segment to be decoded based on the number of X first segments and the maximum mother code length. For example, the length L of the first segment to be decoded satisfies: L = Nmax × R, where N... max R represents the maximum mother code length, and R represents the code rate corresponding to the first segment. The number of segments to be decoded is the same as the number of segments in the first segment. The third communication device determines the length of the second segment to be decoded based on the length of the second segment. For example, the length S of the second segment to be decoded is... 1+X Satisfy: S 1+X =E 1+X ×R 1+X E 1+X R represents the length of the second segment. 1+X This indicates the bitrate corresponding to the second segment.
[0152] The third communication device can segment the sequence to be decoded based on the length of the first segment to be decoded, the number of the first segments to be decoded, and the length of the second segment to be decoded, to obtain X first segments to be decoded and one second segment to be decoded.
[0153] It is understandable that since the number of the second segment to be decoded is 1, once the second communication device determines X first segments to be decoded, it can determine the remaining segments, which are the second segments to be decoded. For example, if the second communication device segments a sequence to be decoded with a length of 10000, and the number of the first segments to be decoded with a length of 2048 (the maximum mother code length) is 4, then the second communication device can divide the sequence to be decoded into 5 segments, of which 4 segments have a length of 2048, and the remaining segment is the second segment to be decoded. Therefore, the second communication device can segment the sequence to be decoded based on the length of the first segment to be decoded, the number of the first segments to be decoded, and the length of the second segment to be decoded. Alternatively, the second communication device can segment the sequence to be decoded based on the length of the first segment to be decoded and the number of the first segments to be decoded. Similarly, the second communication device can segment the sequence to be decoded based on the number of X first segments, the maximum mother code length, and the length of the second segment to obtain X first segments to be decoded and one second segment to be decoded. Alternatively, the second communication device can segment the sequence to be decoded based on the number of X first segments and the maximum mother code length to obtain X first segments to be decoded and one second segment to be decoded.
[0154] In step 460, the third communication device decodes the X first segments to be decoded and the second segments to be decoded, respectively, to obtain X first decoded segments and one second decoded segment, and performs rate matching on the second decoded segment.
[0155] One possible implementation is that the second communication device punches holes in the second encoded segment to obtain the punched second encoded segment. Then, after the third communication device obtains X first segments to be decoded and X second segments to be decoded, it decodes the X first segments to be decoded and the X second segments to be decoded to obtain X first decoded segments and one second decoded segment, and restores the punched bits corresponding to the second decoded segment.
[0156] Another possible implementation is that the second communication device shortens the second coded segment to obtain a shortened second coded segment. Then, after the third communication device obtains X first segments to be decoded and X second segments to be decoded, it decodes the X first segments to be decoded and the X second segments to be decoded to obtain X first decoded segments and one second decoded segment, and determines the value of the shortened bit corresponding to the second decoded segment.
[0157] Figure 4 In one possible implementation of the method 400 shown, the code rate corresponding to the second segment is related to at least one of the following: the code rate corresponding to the first segment, or the ratio of the length of the second segment to the maximum mother code length.
[0158] The bitrate of the second segment is related to the bitrate of the first segment. One possible design is that when the bitrate of the first segment is low, such as when the bitrate of the first segment is less than or equal to a first threshold, the bitrate of the second segment can be the same as the bitrate of the first segment. However, if the bitrate of the first segment is low, reducing the bitrate of the second segment (i.e., making the bitrate of the second segment lower than the bitrate of the first segment) results in very little performance gain and actually reduces system efficiency. Therefore, when the bitrate of the first segment is low, the bitrates of the first and second segments can be the same.
[0159] The code rate corresponding to the second segment is related to the ratio of the second segment length to the maximum mother code length. One possible design is that when the difference between the second segment length and the maximum mother code length is small, such as when the ratio is greater than or equal to a second threshold, the code rate can remain unchanged. This is because when the second segment length is close to the maximum mother code length, the error correction performance is similar, and reducing the code rate would actually decrease system efficiency. Conversely, when the difference between the second segment length and the maximum mother code length is large, such as when the ratio is less than the second threshold, the code rate can be reduced. That is, the code rate corresponding to the second segment can be less than the code rate corresponding to the first segment, which is beneficial for improving the system's error correction performance. For example, the aforementioned second threshold could be 1 / 2.
[0160] It should be understood that in this application, "greater than or equal to" and "greater than" are interchangeable, as are "less than or equal to" and "less than," meaning the position of the equals sign is not limited. For example, the statement that the code rate can be reduced when the ratio of the length of the second segment to the length of the maximum mother code is less than a second threshold can be replaced with the statement that the code rate can be reduced when the ratio of the length of the second segment to the length of the maximum mother code is less than or equal to the second threshold. Further examples are not listed here.
[0161] The code rate corresponding to the second segment is related to the code rate corresponding to the first segment and the ratio of the length of the second segment to the maximum mother code length. One possible design is that when the code rate corresponding to the first segment is less than or equal to a first threshold, the code rate corresponding to the second segment and the code rate corresponding to the first segment can be the same, regardless of whether the ratio of the length of the second segment to the maximum mother code length is greater than or equal to a second threshold. When the code rate corresponding to the first segment is greater than the first threshold, and the ratio of the length of the second segment to the maximum mother code length is greater than or equal to the second threshold, the code rate corresponding to the second segment is equal to the code rate corresponding to the first segment. When the code rate corresponding to the first segment is greater than the first threshold, and the ratio of the length of the second segment to the maximum mother code length is less than the second threshold, the code rate corresponding to the second segment is less than the code rate corresponding to the first segment.
[0162] It should be understood that the above example uses the ratio of the length of the second segment to the length of the maximum mother code, but this should not constitute any limitation on this application. For example, the difference between the length of the second segment and the length of the maximum mother code can also be considered to determine whether to reduce the code rate corresponding to the second segment. For example, when the difference between the length of the second segment and the length of the maximum mother code is less than or equal to half of the length of the maximum mother code, the code rate may not be reduced, because reducing the code rate would reduce system efficiency; when the difference between the length of the second segment and the length of the maximum mother code is greater than half of the length of the maximum mother code, since a large difference may affect system performance, the code rate can be reduced, that is, the code rate corresponding to the second segment is less than the code rate corresponding to the first segment, in order to improve system performance.
[0163] Figure 4 In one possible implementation of the method 400 shown, the code rate corresponding to each of the X first segments can be predefined, obtained from the MCS table, or configured by the RAN device; this application does not limit this.
[0164] The bit rate corresponding to the second segment can be lower than the bit rate corresponding to the first segment. By reducing the bit rate of the second segment, it is beneficial to improve its performance, so that the second segment does not become a performance bottleneck in the entire transmission.
[0165] One possible design is that the bitrate corresponding to the second segment = R * m, where R represents the bitrate corresponding to the first segment, m is greater than 0 and less than 1. For example, m = 1 / 2, that is, the bitrate corresponding to the second segment is equal to half the bitrate corresponding to the first segment.
[0166] It should be understood that the above examples should not constitute any limitation on this application. The relationship between the bitrate corresponding to the second segment and the bitrate corresponding to the first segment can also be represented by other formulas, such as the bitrate corresponding to the second segment = Rk, where R represents the bitrate corresponding to the first segment and k represents the reduced bitrate, such as k = 1 / 16. Another example is the bitrate corresponding to the second segment = R*(1-n), where R represents the bitrate corresponding to the first segment, and n is greater than 0 and less than 1. These are not all listed here.
[0167] In one possible implementation, when the length of the second segment is less than or equal to the third threshold, it indicates that the resources of the second segment are insufficient. If the code rate corresponding to the second segment is further reduced or the CRC corresponding to the second segment is added, the amount of data that can be carried is too small. Therefore, when the length of the second segment is less than or equal to the third threshold, the second communication device can adopt any of the following processing methods for the second segment. This helps to reduce the possibility that the amount of data that the third segment can carry is too small, thereby simplifying the entire encoding process:
[0168] Method 1: Discard the second segment, meaning that the resource transmission information of the second segment is not used in this transmission. This reduces the likelihood of continuing to use the second segment to transmit data when the amount of data it carries is small, which helps simplify the entire encoding process.
[0169] Method 2: Merge the resources of the second segment into any one of the X first segments mentioned above. For example, if the length of segment 1 is 2048 and the length of the second segment is 1808, after merging the resources of the second segment into segment 1, the length of segment 1 will be 2048 + 1808 = 3856.
[0170] Method 3: Merge the resources of the second segment evenly into the aforementioned X first segments. For example, if the length of segment 1 is 2048, the number of segments 1 is 4, and the length of the second segment is 1808, after merging the resources of the second segment evenly into the aforementioned 4 segments 1, the length of each segment 1 will be 2048 + 1808 ÷ 4 = 2500.
[0171] By merging the resources of the second segment into at least one of the X first segments, it is beneficial to reduce the situation where the second segment carries a small amount of data but continues to encode the corresponding segment to be encoded independently. On the one hand, it helps to simplify the overall encoding process; on the other hand, the amount of data that the second segment can carry is greatly increased, which helps to improve data transmission efficiency.
[0172] It should be understood that Method 1 and Method 3 are merely examples and should not constitute any limitation on this application. For example, the resources allocated to the second segment in each of the above X first segments may also be different.
[0173] It should also be understood that if the number of the first segment is 0, the second communication device can carry the information to be sent based on the resources of the second segment. In other words, methods one to three described above can be applied to scenarios where the number of the first segment is greater than or equal to 1.
[0174] If method two or method three is used, it may result in the length of a certain segment being greater than the maximum mother code length. When the length of the segment is greater than the mother code length, the code rate corresponding to the segment can be the same as the code rate corresponding to the segment with a length equal to the maximum mother code length.
[0175] It should be noted that the order of the methods listed above does not imply the order of execution. The execution order of each process should be determined by its function and internal logic.
[0176] The data processing method of the embodiments of this application has been described in detail above. The communication device of the embodiments of this application will be described in detail below. The communication device includes modules or units for executing each part of the above embodiments. The modules or units may be software, hardware, or a combination of software and hardware. The following only provides a brief illustrative example of the communication device; for details of the implementation, please refer to the description of the foregoing method embodiments, which will not be repeated below.
[0177] It should be understood that Figures 5 to 7 The device shown can be used to implement the functions of the second or third communication device in the above method embodiments, and thus can also achieve the beneficial effects of the above method embodiments.
[0178] Figure 5 This is a schematic block diagram of the communication device 500 provided in the embodiments of this application.
[0179] like Figure 5 As shown, the communication device 500 includes a processing module 510 and a transceiver module 520. The communication device 500 can be used to implement the above-described... Figure 4 The functions of the second or third communication device in the method embodiments shown.
[0180] The modules included in the communication device 500 can be implemented through software and / or hardware.
[0181] One possible implementation is that the communication device 500 can be used to implement... Figure 4 The steps performed by the second communication device in the method embodiment shown can be access network equipment or terminal equipment, or a component (e.g., a chip, chip system, or processor) in access network equipment or terminal equipment, or a device that can be used in conjunction with access network equipment or terminal equipment, or a logic module or software that can implement all or part of the functions of access network equipment or terminal equipment.
[0182] Another possible implementation is that the communication device 500 can be used to implement... Figure 4 The steps performed by the third communication device in the method embodiment shown can be access network equipment or terminal equipment, or a component (e.g., a chip, chip system, or processor) in access network equipment or terminal equipment, or a device that can be used in conjunction with access network equipment or terminal equipment, or a logic module or software that can implement all or part of the functions of access network equipment or terminal equipment.
[0183] For example, the communication device 500 may include the ability to perform... Figure 4 The modules or units corresponding to the methods / operations / steps / actions described in the illustrated method embodiments can be hardware circuits, software, or a combination of hardware circuits and software.
[0184] For example, when the communication device 500 is used to implement Figure 4In the method embodiment shown, when the second communication device functions, the processing module 510 is used to segment the sequence to be encoded according to the number of X first segments, the maximum mother code length, and the length of the second segment, to obtain X first segments to be encoded and one second segment to be encoded. The length of the first segment is equal to the maximum mother code length, the length of the second segment is less than the maximum mother code length, and the length of the second segment is not the mother code length. X is an integer greater than or equal to 0. The first segment is used to carry the first segment to be encoded, and the second segment is used to carry the second segment to be encoded. The processing module 510 is also used to perform polar coding on the X first segments to be encoded and the second segment to be encoded, respectively, to obtain X first encoded segments and one second encoded segment, and to perform rate matching on the second encoded segment to obtain a rate-matched second encoded segment. The transceiver module 520 is used to output the X first encoded segments and the rate-matched second encoded segment.
[0185] In one possible implementation, polar coding is performed on the aforementioned X first segments to be encoded and the second segments to be encoded respectively to obtain X first encoded segments and one second encoded segment, and rate matching is performed on the second encoded segment to obtain a rate-matched second encoded segment. This includes: polar coding is performed on the aforementioned X first segments to be encoded and the second segments to be encoded respectively to obtain X first encoded segments and one second encoded segment, and puncturing the second encoded segment to obtain a punctured second encoded segment.
[0186] In one possible implementation, the length L of the first segment to be encoded satisfies: L = Nmax × R, where N max R represents the maximum mother code length, R represents the code rate corresponding to the first segment; and / or, S represents the length of the second segment to be encoded. 1+X Satisfy: S 1+X =E1+X×R 1+X E 1+X R represents the length of the second segment. 1+X This indicates the bitrate corresponding to the second segment.
[0187] In one possible implementation, the size S of the TB corresponding to the sequence to be encoded satisfies: S = X × Nmax × R + E 1+X ×R 1+X -TB CRC , where N max R represents the maximum mother code length, R represents the code rate corresponding to the first segment, and E represents the maximum mother code length. 1+X R represents the length of the second segment. 1+X This indicates the bitrate corresponding to the second segment, in TB. CRC This indicates the size of the CRC code corresponding to the aforementioned transport block.
[0188] In one possible implementation, the code rate corresponding to the second segment is related to at least one of the following: the code rate corresponding to the first segment, or the ratio of the length of the second segment to the maximum mother code length.
[0189] In one possible implementation, X satisfies the following formula: Where G represents the length of the bit sequence corresponding to the transmission resource, and N max Indicates the maximum mother code length. This indicates rounding down to the nearest integer.
[0190] In one possible implementation, the bitrate corresponding to the second segment is less than the bitrate corresponding to the first segment.
[0191] For example, when the communication device 500 is used to implement Figure 4 In the method embodiment shown, the third communication device functions as follows: the transceiver module 520 receives the sequence to be decoded; the processing module 510 segments the sequence to be decoded according to the number of X first segments, the maximum mother code length, and the length of the second segment, resulting in X first segments to be decoded and one second segment to be decoded. The length of the first segment is equal to the maximum mother code length, the length of the second segment is less than the maximum mother code length, and the length of the second segment is not the mother code length. X is an integer greater than or equal to 0. The first segment carries the first segment to be decoded, and the second segment carries the second segment to be decoded. The processing module 510 also decodes the X first segments to be decoded and the second segment to be decoded respectively, resulting in X first decoded segments and one second decoded segment, and performs rate matching on the second decoded segment.
[0192] In one possible implementation, the length L of the first segment to be decoded satisfies: L = Nmax × R, where N max R represents the maximum mother code length, R represents the code rate corresponding to the first segment, and / or, S represents the length of the second segment to be decoded. 1+X Satisfy: S 1+X =E 1+X ×R 1+X E 1+X R represents the length of the second segment. 1+X This indicates the bitrate corresponding to the second segment.
[0193] In one possible implementation, the code rate corresponding to the second segment is related to at least one of the following: the code rate corresponding to the first segment, or the ratio of the length of the second segment to the maximum mother code length.
[0194] In one possible implementation, X satisfies the following formula: Where G represents the length of the bit sequence corresponding to the transmission resource, and N max Indicates the maximum mother code length. This indicates rounding down to the nearest integer.
[0195] In one possible implementation, the bitrate corresponding to the second segment is less than the bitrate corresponding to the first segment.
[0196] For a more detailed description of each of the above modules, please refer to [link / reference]. Figure 4 The relevant descriptions in the method embodiments shown are directly obtained and will not be repeated here.
[0197] It should be understood that the module division in the embodiments of this application is illustrative and only represents a logical functional division. In actual implementation, there may be other division methods. Furthermore, the functional modules in the various embodiments of this application can be integrated into a single processor, exist as separate physical entities, or be integrated into a single module. The integrated modules described above can be implemented in hardware or as software functional modules.
[0198] Figure 6 This is another schematic block diagram of the communication device 600 provided in the embodiments of this application.
[0199] The communication device 600 can be a chip system, or an apparatus configured with a chip system to implement the methods described in the above-described method embodiments. In the embodiments of this application, the chip system can be composed of chips, or it can include chips and other discrete devices.
[0200] like Figure 6 As shown, the communication device 600 may include a processor 610, which can be used to implement computer programs or instructions stored in memory through logic circuits and / or execution to achieve Figure 4 The steps performed by the second or third communication device in the illustrated embodiment.
[0201] In one possible implementation, the communication device 600 further includes a communication interface 620. The communication interface 620 can be used to communicate with other devices via a transmission medium, thereby enabling the communication device 600 to communicate with other devices. The communication interface 620 can be, for example, a transceiver, interface, pin, bus, circuit, or a device capable of transmitting and receiving functions. The processor 610 can utilize the communication interface 620 to input and output data and to implement... Figure 4 The steps performed by the second or third communication device in the illustrated embodiment.
[0202] In one possible implementation, the communication device 600 further includes at least one memory 630 for storing program instructions and / or data. The memory 630 is coupled to the processor 610. The coupling in this embodiment is an indirect coupling or communication connection between devices, units, or modules, and can be electrical, mechanical, or other forms, for information exchange between devices, units, or modules. The processor 610 may operate in conjunction with the memory 630. The processor 610 may execute program instructions stored in the memory 630. At least one of the at least one memory may be included in the processor.
[0203] In one possible implementation, the processor 610 can be a logic circuit for executing the various possible methods described above, and the communication interface 620 can be an input and / or output interface for inputting and / or outputting signals.
[0204] It should be understood that the coupling in the embodiments of this application is an indirect coupling or communication connection between devices, units, or modules, which can be electrical, mechanical, or other forms, used for information interaction between devices, units, or modules. The processor 610 may operate in conjunction with the memory 630. The embodiments of this application do not limit the specific connection medium between the processor 610, communication interface 620, and memory 630. Optionally, the processor 610, communication interface 620, and memory 630 are connected via a bus 640. The bus 640 is in... Figure 6 The connections between other components are shown in bold lines only and are not intended to be limiting. The bus can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, Figure 6 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0205] In one possible implementation, the communication device 600 is a system-on-a-chip (SoC). Alternatively, the processor 610 is an SoC.
[0206] Figure 7 This is a schematic diagram applicable to the access network equipment provided in this application. For example... Figure 7 As shown, the access network equipment includes one or more CUs, one or more DUs, and one or more RUs. For clarity, Figure 7Only one CU, DU, and RU are shown. The CU is used to connect to the core network and one or more DUs. Optionally, the CU may have some of the functions of the core network. The CU may include CU-CP and CU-UP.
[0207] The CU and DU can be configured according to the protocol layer functions of the wireless network they implement: for example, the CU can be configured to implement the functions of the Packet Data Convergence Protocol (PDCP) layer and above (such as the Radio Resource Control (RRC) layer and / or the Service Data Adaptation Protocol (SDAP) layer); the DU can be configured to implement the functions of the protocol layers below the PDCP layer (such as the Radio Link Control (RLC) layer, the Medium Access Control (MAC) layer, and / or the Physical (PHY) layer). Alternatively, the CU can be configured to implement the functions of the protocol layers above the PDCP layer (such as the RRC and / or SDAP layers), and the DU can be configured to implement the functions of the protocol layers below the PDCP layer (such as the RLC, MAC, and / or PHY layers).
[0208] When a CU includes CU-CP and CU-UP, CU-CP is used to implement the control plane functions of the CU, and CU-UP is used to implement the user plane functions of the CU. For example, when a CU is configured to implement the functions of the PDCP layer, RRC layer, and SDAP layer, CU-CP is used to implement the RRC layer functions and the control plane functions of the PDCP layer, and CU-UP is used to implement the SDAP layer functions and the user plane functions of the PDCP layer.
[0209] The CU-CP can interact with network elements in the core network used to implement control plane functions. These network elements can be access and mobility function (AMF) network elements, such as the AMF network element in a 5G system. The AMF network element is responsible for mobility management in the mobile network, such as terminal device location updates, terminal device registration with the network, and terminal device handover.
[0210] CU-UP can interact with network elements in the core network used to implement user plane functions. These network elements, such as the user plane function (UPF) element in a 5G system, are responsible for forwarding and receiving data in terminal devices.
[0211] The above CU and DU configurations are merely examples; the functions of the CU and DU can be configured as needed. For instance, the CU or DU can be configured to have more protocol layer functions, or only some protocol layer processing functions. For example, some RLC layer functions and protocol layer functions above the RLC layer can be placed in the CU, while the remaining RLC layer functions and protocol layer functions below the RLC layer can be placed in the DU. Furthermore, the functions of the CU or DU can be divided according to service type or other system requirements, such as by latency. Functions that require low latency can be placed in the DU, while functions that do not require low latency can be placed in the CU.
[0212] DU and RU can cooperate to implement the functions of the PHY layer. A DU can be connected to one or more RUs. The functions of DU and RU can be configured in various ways depending on the design. For example, a DU can be configured to implement baseband functions, and an RU can be configured to implement mid-RF functions. Another example is that a DU can be configured to implement higher-level functions in the PHY layer, and an RU can be configured to implement lower-level functions in the PHY layer, or to implement both lower-level and RF functions. Higher-level functions in the physical layer can include a portion of the physical layer's functions that are closer to the MAC layer, while lower-level functions in the physical layer can include another portion of the physical layer's functions that are closer to the mid-RF side.
[0213] In different systems, CU (or CU-CP and CU-UP), DU, or RU may have different names, but those skilled in the art will understand their meaning. For example, in an ORAN system, CU can also be called an open-CU (open-CU, O-CU), DU can also be called an open-DU (open-DU, O-DU), CU-CP can also be called an open-CU-CP (open-CU-CP, O-CU-CP), CU-UP can also be called an open-CU-UP (open-CU-UP, O-CU-UP), and RU can also be called an open-RU (open-RU, O-RU). For ease of description, this application uses CU, CU-CP, CU-UP, DU, and RU as examples. Any of the units among CU (or CU-CP, CU-UP), DU, and RU in this application can be implemented through software modules, hardware modules, or a combination of software and hardware modules.
[0214] exist Figure 4In the illustrated embodiment, when the second communication device is an access network device, step 410 can be implemented as follows: the DU corresponding to the access network device segments the sequence to be encoded according to the number of X first segments, the maximum mother code length, and the length of the second segment, to obtain X first segments to be encoded and one second segment to be encoded. In the O-RAN system, step 410 can be implemented as follows: the O-DU corresponding to the access network device segments the sequence to be encoded according to the number of X first segments, the maximum mother code length, and the length of the second segment, to obtain X first segments to be encoded and one second segment to be encoded.
[0215] Step 420 can be implemented as follows: The DU corresponding to the access network device performs polar coding on the aforementioned X first segments to be coded and the second segments to be coded, respectively, to obtain X first coded segments and one second coded segment, and performs rate matching on the second coded segment to obtain a rate-matched second coded segment. In the O-RAN system, step 420 can be implemented as follows: The O-DU corresponding to the access network device performs polar coding on the aforementioned X first segments to be coded and the second segments to be coded, respectively, to obtain X first coded segments and one second coded segment, and performs rate matching on the second coded segment to obtain a rate-matched second coded segment.
[0216] Step 430 can be specifically implemented as follows: the DU corresponding to the access network device outputs the aforementioned X first coding segments and the rate-matched second coding segment. In the O-RAN system, step 430 can be specifically implemented as follows: the O-DU corresponding to the access network device outputs the aforementioned X first coding segments and the rate-matched second coding segment.
[0217] Step 440 can be implemented as follows: the DU corresponding to the access network device sends a coding sequence through the RU. This coding sequence is obtained by processing X first coding segments and one second coding segment. In the O-RAN system, step 440 can be implemented as follows: the O-DU corresponding to the access network device sends a coding sequence through the O-RU.
[0218] When the third communication device is an access network device, step 440 can be implemented as follows: the DU corresponding to the access network device receives the sequence to be decoded through the RU. In the O-RAN system, step 440 can be implemented as follows: the O-DU corresponding to the access network device receives the sequence to be decoded through the O-RU.
[0219] Step 450 can be implemented as follows: The DU corresponding to the access network device segments the above-mentioned sequence to be decoded according to the number of X first segments, the maximum mother code length, and the length of the second segment, to obtain X first segments to be decoded and one second segment to be decoded. In the O-RAN system, step 450 can be implemented as follows: The O-DU corresponding to the access network device segments the above-mentioned sequence to be decoded according to the number of X first segments, the maximum mother code length, and the length of the second segment, to obtain X first segments to be decoded and one second segment to be decoded.
[0220] Step 460 can be implemented as follows: the DU corresponding to the access network device decodes the aforementioned X first segments to be decoded and the second segments to be decoded, respectively, to obtain X first decoded segments and one second decoded segment, and performs rate matching on the second decoded segment. In the O-RAN system, step 460 can be implemented as follows: the O-DU corresponding to the access network device decodes the aforementioned X first segments to be decoded and the second segments to be decoded, respectively, to obtain X first decoded segments and one second decoded segment, and performs rate matching on the second decoded segment.
[0221] This application also provides a computer program product, which includes: a computer program (also referred to as code or instructions), which, when run, can achieve... Figure 4 The steps performed by the second or third communication device in the illustrated embodiment.
[0222] This application also provides a computer-readable storage medium storing a computer program (also referred to as code or instructions). When the computer program is executed, it can achieve... Figure 4 The steps performed by the second or third communication device in the illustrated embodiment.
[0223] It should be understood that the processor in the embodiments of this application can be an integrated circuit chip with signal processing capabilities. In implementation, each step of the above method embodiments can be completed by the integrated logic circuits in the processor's hardware or by instructions in software form. The processor can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a microprocessor unit (MPU), a microcontroller unit (MCU), a graphics processing unit (GPU), an artificial intelligence processor (AI processor) or a neural processing unit (NPU), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or a combination of one or more discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software module can reside in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. This storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method.
[0224] It should also be understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be a cache, random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM). It should be noted that the memory used in the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0225] The terms "unit," "module," etc., used in this specification can be used to refer to computer-related entities, hardware, firmware, combinations of hardware and software, software, or software in execution. In the embodiments of this application, "unit" and "module" have the same meaning and can be used interchangeably.
[0226] Those skilled in the art will recognize that the various illustrative logical blocks and steps described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application. In the several embodiments provided in this application, it should be understood that the disclosed apparatus, devices, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the shown or discussed mutual couplings or direct couplings or communication connections may be through some interfaces; indirect couplings or communication connections between devices or units may be electrical, mechanical, or other forms.
[0227] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0228] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0229] In the above embodiments, the functions of each functional unit can be implemented entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions (programs). When the computer program instructions (programs) are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., digital video discs, DVDs), or semiconductor media (e.g., solid-state drives, SSDs), etc.
[0230] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the technology, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.
[0231] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A data processing method, characterized in that, include: Based on the number of X first segments, the maximum mother code length, and the length of the second segment, the sequence to be encoded is segmented to obtain X first segments to be encoded and one second segment to be encoded. The length of the first segment is equal to the maximum mother code length, the length of the second segment is less than the maximum mother code length, and the length of the second segment is not the mother code length. X is an integer greater than or equal to 0. The first segment is used to carry the first segment to be encoded, and the second segment is used to carry the second segment to be encoded. Polar coding is performed on the X first segments to be encoded and the second segments to be encoded, respectively, to obtain X first encoded segments and one second encoded segment. Rate matching is then performed on the second encoded segment to obtain a rate-matched second encoded segment. Output the X first coded segments and the rate-matched second coded segments.
2. The method as described in claim 1, characterized in that, The length L of the first segment to be encoded satisfies: L = Nmax × R, where N max R represents the maximum mother code length, and R represents the code rate corresponding to the first segment; and / or, The length S of the second segment to be encoded 1+X Satisfy: S 1+X =E 1+X ×R 1+X E 1+X R represents the length corresponding to the second segment. 1+X This indicates the bitrate corresponding to the second segment.
3. The method as described in claim 1 or 2, characterized in that, The size S of the transport block corresponding to the sequence to be encoded satisfies: S = X × Nmax × R + E 1+X ×R 1+X -TB CRC , where N max R represents the maximum mother code length, R represents the code rate corresponding to the first segment, and E represents the maximum mother code length. 1+X R represents the length corresponding to the second segment. 1+X This represents the bitrate corresponding to the second segment, in TB. CRC This indicates the size of the cyclic redundancy check code corresponding to the transport block.
4. The method according to any one of claims 1 to 3, characterized in that, The step of performing polar coding on the X first segments to be encoded and the second segments to be encoded respectively to obtain X first encoded segments and one second encoded segment, and performing rate matching on the second encoded segment to obtain a rate-matched second encoded segment, includes: The X first segments to be encoded and the second segments to be encoded are polar encoded to obtain X first encoded segments and one second encoded segment. The second encoded segment is then punctured to obtain a punctured second encoded segment.
5. A data processing method, characterized in that, include: Receive the sequence to be decoded; Based on the number of X first segments, the maximum mother code length, and the length of the second segment, the sequence to be decoded is segmented to obtain X first segments to be decoded and one second segment to be decoded. The length of the first segment is equal to the maximum mother code length, the length of the second segment is less than the maximum mother code length, and the length of the second segment is not the mother code length. X is an integer greater than or equal to 0. The first segment is used to carry the first segment to be decoded, and the second segment is used to carry the second segment to be decoded. The X first decoded segments and the second decoded segments are decoded respectively to obtain X first decoded segments and one second decoded segment, and the second decoded segment is de-rate matched.
6. The method as described in claim 5, characterized in that, The length L of the first segment to be decoded satisfies: L = Nmax × R, where N max R represents the maximum mother code length, and R represents the code rate corresponding to the first segment; and / or, The length S of the second segment to be decoded 1+X Satisfy: S 1+X =E 1+X ×R 1+X E 1+X R represents the length corresponding to the second segment. 1+X This indicates the bitrate corresponding to the second segment.
7. The method according to any one of claims 1 to 6, characterized in that, The code rate corresponding to the second segment is related to at least one of the following: the code rate corresponding to the first segment, or the ratio of the length of the second segment to the maximum mother code length.
8. The method as described in claim 7, characterized in that, The bitrate corresponding to the second segment is less than the bitrate corresponding to the first segment.
9. The method according to any one of claims 1 to 8, characterized in that, X satisfies the following formula: Where G represents the length of the bit sequence corresponding to the transmission resource, and N max This indicates the maximum mother code length. This indicates rounding down to the nearest integer.
10. A communication device, characterized in that, Includes modules for implementing the method as described in any one of claims 1 to 9.
11. A communication device, characterized in that, Includes a processor configured to perform the method of any one of claims 1 to 9 by means of logic circuits and / or by executing a computer program stored in a memory.
12. The communication device according to claim 11, characterized in that, The communication device also includes the memory.
13. The communication device according to claim 11 or 12, characterized in that, The communication device also includes a communication interface for inputting and / or outputting signals.
14. A computer-readable storage medium, characterized in that, The storage medium stores a computer program, and when the computer program is executed by a computer, the method as described in any one of claims 1 to 9 is implemented.
15. A computer program product, characterized in that, The computer program product includes instructions that, when executed by a computer, implement the method as described in any one of claims 1 to 9.